diff --git a/.codeclimate.yml b/.codeclimate.yml new file mode 100644 index 0000000000..264ffdcdce --- /dev/null +++ b/.codeclimate.yml @@ -0,0 +1,23 @@ +--- +engines: + csslint: + enabled: false + duplication: + enabled: false + config: + languages: + - javascript + eslint: + enabled: true + fixme: + enabled: true +ratings: + paths: + - "src/**.js" +exclude_paths: +- node_modules/**/* +- test/**/* +- tutorials/**/* +- components/**/* +- perf/**/* +- dist/**/* \ No newline at end of file diff --git a/.coveralls.yml b/.coveralls.yml new file mode 100644 index 0000000000..603860ae4f --- /dev/null +++ b/.coveralls.yml @@ -0,0 +1,2 @@ +service_name: travis-ci +repo_token: 7PbHs1UhR24n9sP01rhKsHLXHaU4rUCvU diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000000..9faa37508e --- /dev/null +++ b/.eslintrc @@ -0,0 +1,213 @@ +ecmaFeatures: + modules: true + jsx: true + +env: + amd: true + browser: true + es6: true + jquery: true + node: true + +# http://eslint.org/docs/rules/ +rules: + # Possible Errors + comma-dangle: [2, never] + no-cond-assign: 2 + no-console: 0 + no-constant-condition: 2 + no-control-regex: 2 + no-debugger: 2 + no-dupe-args: 2 + no-dupe-keys: 2 + no-duplicate-case: 2 + no-empty: 2 + no-empty-character-class: 2 + no-ex-assign: 2 + no-extra-boolean-cast: 2 + no-extra-parens: 0 + no-extra-semi: 2 + no-func-assign: 2 + no-inner-declarations: [2, functions] + no-invalid-regexp: 2 + no-irregular-whitespace: 2 + no-negated-in-lhs: 2 + no-obj-calls: 2 + no-regex-spaces: 2 + no-sparse-arrays: 2 + no-unexpected-multiline: 2 + no-unreachable: 2 + use-isnan: 2 + valid-jsdoc: 0 + valid-typeof: 2 + + # Best Practices + accessor-pairs: 2 + block-scoped-var: 0 + complexity: [2, 6] + consistent-return: 0 + curly: 0 + default-case: 0 + dot-location: 0 + dot-notation: 0 + eqeqeq: 2 + guard-for-in: 2 + no-alert: 2 + no-caller: 2 + no-case-declarations: 2 + no-div-regex: 2 + no-else-return: 0 + no-empty-label: 2 + no-empty-pattern: 2 + no-eq-null: 2 + no-eval: 2 + no-extend-native: 2 + no-extra-bind: 2 + no-fallthrough: 2 + no-floating-decimal: 0 + no-implicit-coercion: 0 + no-implied-eval: 2 + no-invalid-this: 0 + no-iterator: 2 + no-labels: 0 + no-lone-blocks: 2 + no-loop-func: 2 + no-magic-number: 0 + no-multi-spaces: 0 + no-multi-str: 0 + no-native-reassign: 2 + no-new-func: 2 + no-new-wrappers: 2 + no-new: 2 + no-octal-escape: 2 + no-octal: 2 + no-proto: 2 + no-redeclare: 2 + no-return-assign: 2 + no-script-url: 2 + no-self-compare: 2 + no-sequences: 0 + no-throw-literal: 0 + no-unused-expressions: 2 + no-useless-call: 2 + no-useless-concat: 2 + no-void: 2 + no-warning-comments: 0 + no-with: 2 + radix: 2 + vars-on-top: 0 + wrap-iife: 2 + yoda: 0 + + # Strict + strict: 0 + + # Variables + init-declarations: 0 + no-catch-shadow: 2 + no-delete-var: 2 + no-label-var: 2 + no-shadow-restricted-names: 2 + no-shadow: 0 + no-undef-init: 2 + no-undef: 0 + no-undefined: 0 + no-unused-vars: 0 + no-use-before-define: 0 + + # Node.js and CommonJS + callback-return: 2 + global-require: 2 + handle-callback-err: 2 + no-mixed-requires: 0 + no-new-require: 0 + no-path-concat: 2 + no-process-exit: 2 + no-restricted-modules: 0 + no-sync: 0 + + # Stylistic Issues + array-bracket-spacing: 0 + block-spacing: 0 + brace-style: 0 + camelcase: 0 + comma-spacing: 0 + comma-style: 0 + computed-property-spacing: 0 + consistent-this: 0 + eol-last: 0 + func-names: 0 + func-style: 0 + id-length: 0 + id-match: 0 + indent: 0 + jsx-quotes: 0 + key-spacing: 0 + linebreak-style: 0 + lines-around-comment: 0 + max-depth: 0 + max-len: 0 + max-nested-callbacks: 0 + max-params: 0 + max-statements: [2, 30] + new-cap: 0 + new-parens: 0 + newline-after-var: 0 + no-array-constructor: 0 + no-bitwise: 0 + no-continue: 0 + no-inline-comments: 0 + no-lonely-if: 0 + no-mixed-spaces-and-tabs: 0 + no-multiple-empty-lines: 0 + no-negated-condition: 0 + no-nested-ternary: 0 + no-new-object: 0 + no-plusplus: 0 + no-restricted-syntax: 0 + no-spaced-func: 0 + no-ternary: 0 + no-trailing-spaces: 0 + no-underscore-dangle: 0 + no-unneeded-ternary: 0 + object-curly-spacing: 0 + one-var: 0 + operator-assignment: 0 + operator-linebreak: 0 + padded-blocks: 0 + quote-props: 0 + quotes: 0 + require-jsdoc: 0 + semi-spacing: 0 + semi: 0 + sort-vars: 0 + space-after-keywords: 0 + space-before-blocks: 0 + space-before-function-paren: 0 + space-before-keywords: 0 + space-in-parens: 0 + space-infix-ops: 0 + space-return-throw-case: 0 + space-unary-ops: 0 + spaced-comment: 0 + wrap-regex: 0 + + # ECMAScript 6 + arrow-body-style: 0 + arrow-parens: 0 + arrow-spacing: 0 + constructor-super: 0 + generator-star-spacing: 0 + no-arrow-condition: 0 + no-class-assign: 0 + no-const-assign: 0 + no-dupe-class-members: 0 + no-this-before-super: 0 + no-var: 0 + object-shorthand: 0 + prefer-arrow-callback: 0 + prefer-const: 0 + prefer-reflect: 0 + prefer-spread: 0 + prefer-template: 0 + require-yield: 0 diff --git a/.gitignore b/.gitignore index f7381ffe4c..40b878db5b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1 @@ -node_modules/ -/.idea/ -#demo.js -#demo.css -.DS_Store +node_modules/ \ No newline at end of file diff --git a/.idea/fineui-future.iml b/.idea/fineui-future.iml new file mode 100644 index 0000000000..69ef67a424 --- /dev/null +++ b/.idea/fineui-future.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/markdown-navigator.xml b/.idea/markdown-navigator.xml new file mode 100644 index 0000000000..d81957000f --- /dev/null +++ b/.idea/markdown-navigator.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/markdown-navigator/profiles_settings.xml b/.idea/markdown-navigator/profiles_settings.xml new file mode 100644 index 0000000000..57927c5a72 --- /dev/null +++ b/.idea/markdown-navigator/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000..24eb271ab3 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000000..c659481b4d --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/preferred-vcs.xml b/.idea/preferred-vcs.xml new file mode 100644 index 0000000000..a45e7e051a --- /dev/null +++ b/.idea/preferred-vcs.xml @@ -0,0 +1,6 @@ + + + + Git + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000..94a25f7f4c --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/watcherTasks.xml b/.idea/watcherTasks.xml new file mode 100644 index 0000000000..9338ba685e --- /dev/null +++ b/.idea/watcherTasks.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000000..ef79d1e85c --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,2347 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + arthur + modelFactory + Object + new A + inTransaction + $hashcode + __array__ + out[ATTR_KEY] = true; + ATTR_KEY + + + + + + + + + + + + + true + + false + true + + + true + DEFINITION_ORDER + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + project + + + + + + + + + + + + + + + + project + + + true + + + + DIRECTORY + + false + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - \ No newline at end of file diff --git a/dist/polyfill.js b/dist/polyfill.js deleted file mode 100644 index f67d79a6ed..0000000000 --- a/dist/polyfill.js +++ /dev/null @@ -1,175 +0,0 @@ -// Production steps of ECMA-262, Edition 5, 15.4.4.14 -// Reference: http://es5.github.io/#x15.4.4.14 -if (!Array.prototype.indexOf) { - Array.prototype.indexOf = function (searchElement, fromIndex) { - - var k; - - // 1. Let o be the result of calling ToObject passing - // the this value as the argument. - if (this == null) { - throw new TypeError('"this" is null or not defined'); - } - - var o = Object(this); - - // 2. Let lenValue be the result of calling the Get - // internal method of o with the argument "length". - // 3. Let len be ToUint32(lenValue). - var len = o.length >>> 0; - - // 4. If len is 0, return -1. - if (len === 0) { - return -1; - } - - // 5. If argument fromIndex was passed let n be - // ToInteger(fromIndex); else let n be 0. - var n = fromIndex | 0; - - // 6. If n >= len, return -1. - if (n >= len) { - return -1; - } - - // 7. If n >= 0, then Let k be n. - // 8. Else, n<0, Let k be len - abs(n). - // If k is less than 0, then let k be 0. - k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); - - // 9. Repeat, while k < len - while (k < len) { - // a. Let Pk be ToString(k). - // This is implicit for LHS operands of the in operator - // b. Let kPresent be the result of calling the - // HasProperty internal method of o with argument Pk. - // This step can be combined with c - // c. If kPresent is true, then - // i. Let elementK be the result of calling the Get - // internal method of o with the argument ToString(k). - // ii. Let same be the result of applying the - // Strict Equality Comparison Algorithm to - // searchElement and elementK. - // iii. If same is true, return k. - if (k in o && o[k] === searchElement) { - return k; - } - k++; - } - return -1; - }; -} -if (!Array.prototype.lastIndexOf) { - Array.prototype.lastIndexOf = function (searchElement /*, fromIndex*/) { - 'use strict'; - - if (this === void 0 || this === null) { - throw new TypeError(); - } - - var n, k, - t = Object(this), - len = t.length >>> 0; - if (len === 0) { - return -1; - } - - n = len - 1; - if (arguments.length > 1) { - n = Number(arguments[1]); - if (n != n) { - n = 0; - } - else if (n != 0 && n != (1 / 0) && n != -(1 / 0)) { - n = (n > 0 || -1) * Math.floor(Math.abs(n)); - } - } - - for (k = n >= 0 - ? Math.min(n, len - 1) - : len - Math.abs(n); k >= 0; k--) { - if (k in t && t[k] === searchElement) { - return k; - } - } - return -1; - }; -} -/** - * 特殊情况 - * Created by wang on 15/6/23. - */ -//解决console未定义问题 guy -window.console = window.console || (function () { - var c = {}; - c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile - = c.clear = c.exception = c.trace = c.assert = function () { - }; - return c; - })(); -/* - * 前端缓存 - */ -window.localStorage || (window.localStorage = { - items: {}, - setItem: function (k, v) { - BI.Cache.addCookie(k, v); - }, - getItem: function (k) { - return BI.Cache.getCookie(k); - }, - removeItem: function (k) { - BI.Cache.deleteCookie(k); - }, - key: function () { - - }, - clear: function () { - this.items = {}; - } -});if (typeof Set !== 'undefined' && Set.toString().match(/native code/)) { - -} else { - Set = function () { - this.set = {} - }; - Set.prototype.has = function (key) { - return this.set[key] !== undefined; - }; - Set.prototype.add = function (key) { - this.set[key] = 1 - }; - Set.prototype.clear = function () { - this.set = {} - }; -}//修复ie9下sort方法的bug -;!function (window) { - var ua = window.navigator.userAgent.toLowerCase(), - reg = /msie|applewebkit.+safari/; - if (reg.test(ua)) { - var _sort = Array.prototype.sort; - Array.prototype.sort = function (fn) { - if (!!fn && typeof fn === 'function') { - if (this.length < 2) { - return this; - } - var i = 0, j = i + 1, l = this.length, tmp, r = false, t = 0; - for (; i < l; i++) { - for (j = i + 1; j < l; j++) { - t = fn.call(this, this[i], this[j]); - r = (typeof t === 'number' ? t : - !!t ? 1 : 0) > 0; - if (r === true) { - tmp = this[i]; - this[i] = this[j]; - this[j] = tmp; - } - } - } - return this; - } else { - return _sort.call(this); - } - }; - } -}(window); \ No newline at end of file diff --git a/dist/resource.css b/dist/resource.css deleted file mode 100644 index 408e2fca2b..0000000000 --- a/dist/resource.css +++ /dev/null @@ -1,2065 +0,0 @@ -html, -button, -input, -select, -textarea, -* { - font-family: "Microsoft YaHei", "Hiragino Sans GB W3"; -} -html { - height: 100%; - overflow: hidden; -} -body { - position: absolute; - width: 100%; - height: 100%; - margin: 0; - padding: 0; - top: 0; - left: 0; - background-repeat: repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - color: #666666; - font: normal 12px "Microsoft YaHei", "Hiragino Sans GB W3"; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - text-decoration: none; - -kthml-user-focus: normal; - -moz-user-focus: normal; - -moz-outline: 0 none; - outline: 0 none; -} -div::-webkit-scrollbar, -textarea::-webkit-scrollbar { - -webkit-appearance: none; - background-color: rgba(102, 102, 102, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0d666666,endColorstr=#0d666666); - width: 6px; - height: 6px; -} -div::-webkit-scrollbar-thumb, -textarea::-webkit-scrollbar-thumb { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - background-color: rgba(102, 102, 102, 0.3); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d666666,endColorstr=#4d666666); -} -div::-webkit-scrollbar-thumb:hover, -textarea::-webkit-scrollbar-thumb:hover { - background-color: rgba(102, 102, 102, 0.7); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b3666666,endColorstr=#b3666666); -} -.bi-theme-dark div::-webkit-scrollbar, -.bi-theme-dark textarea::-webkit-scrollbar { - -webkit-appearance: none; - background-color: rgba(204, 204, 204, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0dcccccc,endColorstr=#0dcccccc); - width: 6px; - height: 6px; -} -.bi-theme-dark div::-webkit-scrollbar-thumb, -.bi-theme-dark textarea::-webkit-scrollbar-thumb { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - background-color: rgba(204, 204, 204, 0.3); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4dcccccc,endColorstr=#4dcccccc); -} -.bi-theme-dark div::-webkit-scrollbar-thumb:hover, -.bi-theme-dark textarea::-webkit-scrollbar-thumb:hover { - background-color: rgba(204, 204, 204, 0.7); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b3cccccc,endColorstr=#b3cccccc); -} -.farbtastic .wheel { - background: url('images/1x/background/wheel.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/wheel.png'); - _background: none; -} -.farbtastic .overlay { - background: url('images/1x/background/mask.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/mask.png'); - _background: none; -} -.farbtastic .marker { - background: url('images/1x/background/marker.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/marker.png'); - _background: none; -} -.bi-display-tree .ztree li span.button.switch.center_open { - background: url('images/1x/icon/tree-vertical-line-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-3.png'); - _background: none; -} -.bi-display-tree .ztree li span.button.switch.roots_open { - background: url('images/1x/icon/tree-vertical-line-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-2.png'); - _background: none; -} -.bi-display-tree .ztree li span.button.switch.bottom_open { - background: url('images/1x/icon/tree-vertical-line-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-4.png'); - _background: none; -} -.ztree li ul.line { - background: url('images/1x/icon/tree-vertical-line-1.png') repeat-y 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-1.png'); - _background: none; -} -.bi-theme-dark .ztree li ul.line { - background: url('images/1x/icon/dark/tree-vertical-line-1.png') repeat-y 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-1.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_false_full { - background: url('images/1x/icon/check-box-normal.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-normal.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_false_full_focus { - background: url('images/1x/icon/check-box-normal.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-normal.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_false_part { - background: url('images/1x/icon/half_selected.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_false_part_focus { - background: url('images/1x/icon/half_selected.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_true_full { - background: url('images/1x/icon/check-box-active.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-active.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_true_full_focus { - background: url('images/1x/icon/check-box-active.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-active.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_true_part { - background: url('images/1x/icon/half_selected.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_true_part_focus { - background: url('images/1x/icon/half_selected.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); - _background: none; -} -.ztree li span.button.root_open { - background: url('images/1x/icon/tree-expand-1.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-1.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.root_open { - background: url('images/1x/icon/dark/tree-expand-1.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-1.png'); - _background: none; -} -.ztree li span.button.root_close { - background: url('images/1x/icon/tree-collapse-1.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-1.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.root_close { - background: url('images/1x/icon/dark/tree-collapse-1.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-1.png'); - _background: none; -} -.ztree li span.button.roots_open { - background: url('images/1x/icon/tree-expand-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-2.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.roots_open { - background: url('images/1x/icon/dark/tree-expand-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-2.png'); - _background: none; -} -.ztree li span.button.roots_close { - background: url('images/1x/icon/tree-collapse-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-2.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.roots_close { - background: url('images/1x/icon/dark/tree-collapse-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-2.png'); - _background: none; -} -.ztree li span.button.center_open { - background: url('images/1x/icon/tree-expand-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-3.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.center_open { - background: url('images/1x/icon/dark/tree-expand-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-3.png'); - _background: none; -} -.ztree li span.button.center_close { - background: url('images/1x/icon/tree-collapse-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-3.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.center_close { - background: url('images/1x/icon/dark/tree-collapse-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-3.png'); - _background: none; -} -.ztree li span.button.bottom_open { - background: url('images/1x/icon/tree-expand-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-4.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.bottom_open { - background: url('images/1x/icon/dark/tree-expand-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-4.png'); - _background: none; -} -.ztree li span.button.bottom_close { - background: url('images/1x/icon/tree-collapse-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-4.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.bottom_close { - background: url('images/1x/icon/dark/tree-collapse-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-4.png'); - _background: none; -} -.ztree li span.button.roots_docu { - background: url('images/1x/icon/tree-vertical-line-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-2.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.roots_docu { - background: url('images/1x/icon/dark/tree-vertical-line-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-2.png'); - _background: none; -} -.ztree li span.button.center_docu { - background: url('images/1x/icon/tree-vertical-line-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-3.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.center_docu { - background: url('images/1x/icon/dark/tree-vertical-line-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-3.png'); - _background: none; -} -.ztree li span.button.bottom_docu { - background: url('images/1x/icon/tree-vertical-line-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-4.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.bottom_docu { - background: url('images/1x/icon/dark/tree-vertical-line-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-4.png'); - _background: none; -} -.ztree li span.button.ico_loading { - background: url('images/1x/icon/loading.gif') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/loading.gif'); - _background: none; -} -.base-line-conn-background { - background: url('images/1x/icon/tree-vertical-line-1.png') repeat-y 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-1.png'); - _background: none; -} -.bi-theme-dark .base-line-conn-background { - background: url('images/1x/icon/dark/tree-vertical-line-1.png') repeat-y 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-1.png'); - _background: none; -} -.first-line-conn-background { - background: url('images/1x/icon/tree-vertical-line-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-2.png'); - _background: none; -} -.bi-theme-dark .first-line-conn-background { - background: url('images/1x/icon/dark/tree-vertical-line-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-2.png'); - _background: none; -} -.mid-line-conn-background { - background: url('images/1x/icon/tree-vertical-line-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-3.png'); - _background: none; -} -.bi-theme-dark .mid-line-conn-background { - background: url('images/1x/icon/dark/tree-vertical-line-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-3.png'); - _background: none; -} -.last-line-conn-background { - background: url('images/1x/icon/tree-vertical-line-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-4.png'); - _background: none; -} -.bi-theme-dark .last-line-conn-background { - background: url('images/1x/icon/dark/tree-vertical-line-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-4.png'); - _background: none; -} -.loading-background { - background: url('images/1x/icon/loading.gif') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/loading.gif'); - _background: none; -} -.auto-color-background { - background: url('images/1x/background/auto-color.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/auto-color.png'); - _background: none; -} -.trans-color-background { - background: url('images/1x/background/trans-color.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/trans-color.png'); - _background: none; -} -@font-face { - font-family: 'bi'; - src: url('font/iconfont.eot'), /* IE6-IE8 */ url('font/iconfont.woff') format('woff'), /* chrome、firefox */ url('font/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('font/iconfont.svg#svgFontName') format('svg'); - - /* iOS 4.1- */ -} -@font-face { - font-family: 'bi'; - src: url('font/iconfont.eot') /* IE6-IE8 */; -} -.b-font { - font-family: "bi"; - font-style: normal; - -webkit-font-smoothing: antialiased; - -webkit-text-stroke-width: 0.2px; - -moz-osx-font-smoothing: grayscale; -} -.close-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.close-font .b-font:before { - content: "\e600"; - color: inherit; -} -.close-font.native .b-font:before, -.close-font.disabled .b-font:before { - content: "\e600"; - color: inherit; -} -.close-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.close-h-font .b-font:before { - content: "\e600"; - color: inherit; -} -.close-h-font:hover .b-font:before, -.close-h-font:focus .b-font:before, -.close-h-font.hover .b-font:before { - content: "\e600"; - color: inherit; -} -.close-h-font.native .b-font:before, -.close-h-font.disabled .b-font:before { - content: "\e600"; - color: inherit; -} -.close-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.close-ha-font .b-font:before { - content: "\e600"; - color: inherit; -} -.close-ha-font:hover .b-font:before, -.close-ha-font:focus .b-font:before, -.close-ha-font.hover .b-font:before { - content: "\e600"; - color: inherit; -} -.close-ha-font:active .b-font:before, -.close-ha-font.active .b-font:before { - content: "\e600"; - color: #3f8ce8; -} -.close-ha-font.native .b-font:before, -.close-ha-font.disabled .b-font:before { - content: "\e600"; - color: inherit; -} -.search-close-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.search-close-h-font .b-font:before { - content: "\e600"; - color: inherit; -} -.search-close-h-font:hover .b-font:before, -.search-close-h-font:focus .b-font:before, -.search-close-h-font.hover .b-font:before { - content: "\e600"; - color: #e85050; -} -.search-close-h-font.native .b-font:before, -.search-close-h-font.disabled .b-font:before { - content: "\e600"; - color: inherit; -} -.pre-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pre-page-h-font .b-font:before { - content: "\e601"; - color: inherit; -} -.pre-page-h-font:hover .b-font:before, -.pre-page-h-font:focus .b-font:before, -.pre-page-h-font.hover .b-font:before { - content: "\e601"; - color: inherit; -} -.pre-page-h-font.native .b-font:before, -.pre-page-h-font.disabled .b-font:before { - content: "\e601"; - color: inherit; -} -.next-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.next-page-h-font .b-font:before { - content: "\e602"; - color: inherit; -} -.next-page-h-font:hover .b-font:before, -.next-page-h-font:focus .b-font:before, -.next-page-h-font.hover .b-font:before { - content: "\e602"; - color: inherit; -} -.next-page-h-font.native .b-font:before, -.next-page-h-font.disabled .b-font:before { - content: "\e602"; - color: inherit; -} -.search-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.search-font .b-font:before { - content: "\e604"; - color: inherit; -} -.search-font.native .b-font:before, -.search-font.disabled .b-font:before { - content: "\e604"; - color: inherit; -} -.date-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.date-font .b-font:before { - content: "\e61b"; - color: inherit; -} -.date-font.native .b-font:before, -.date-font.disabled .b-font:before { - content: "\e61b"; - color: inherit; -} -.date-change-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.date-change-h-font .b-font:before { - content: "\e660"; - color: inherit; -} -.date-change-h-font:hover .b-font:before, -.date-change-h-font:focus .b-font:before, -.date-change-h-font.hover .b-font:before { - content: "\e660"; - color: inherit; -} -.date-change-h-font.native .b-font:before, -.date-change-h-font.disabled .b-font:before { - content: "\e660"; - color: inherit; -} -.dot-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.dot-font .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-font.native .b-font:before, -.dot-font.disabled .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.dot-h-font .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-h-font:hover .b-font:before, -.dot-h-font:focus .b-font:before, -.dot-h-font.hover .b-font:before { - content: "\e606"; - color: inherit; -} -.dot-h-font.native .b-font:before, -.dot-h-font.disabled .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.dot-ha-font .b-font:before { - content: "\e606"; - color: #ffffff; -} -.dot-ha-font:hover .b-font:before, -.dot-ha-font:focus .b-font:before, -.dot-ha-font.hover .b-font:before { - content: "\e606"; - color: #999999; -} -.dot-ha-font:active .b-font:before, -.dot-ha-font.active .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-ha-font.native .b-font:before, -.dot-ha-font.disabled .b-font:before { - content: "\e606"; - color: #ffffff; -} -.dot-e-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.dot-e-font .b-font:before { - content: "\e606"; - color: #ffffff; -} -.dot-e-font:hover .b-font:before, -.dot-e-font:focus .b-font:before, -.dot-e-font.hover .b-font:before { - content: "\e606"; - color: #999999; -} -.dot-e-font.active .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-e-font:active .b-font:before { - content: "\e606"; - color: #3f8ce8; -} -.dot-e-font.native .b-font:before, -.dot-e-font.disabled .b-font:before { - content: "\e606"; - color: #ffffff; -} -.pull-right-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-right-font .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-font.native .b-font:before, -.pull-right-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-right-h-font .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-h-font:hover .b-font:before, -.pull-right-h-font:focus .b-font:before, -.pull-right-h-font.hover .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-h-font.native .b-font:before, -.pull-right-h-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-right-ha-font .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-ha-font:hover .b-font:before, -.pull-right-ha-font:focus .b-font:before, -.pull-right-ha-font.hover .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-ha-font:active .b-font:before, -.pull-right-ha-font.active .b-font:before { - content: "\e607"; - color: #3f8ce8; -} -.pull-right-ha-font.native .b-font:before, -.pull-right-ha-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-e-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-right-e-font .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-e-font:hover .b-font:before, -.pull-right-e-font:focus .b-font:before, -.pull-right-e-font.hover .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-e-font.active .b-font:before { - content: "\e607"; - color: #3f8ce8; -} -.pull-right-e-font:active .b-font:before { - content: "\e607"; - color: #3f8ce8; -} -.pull-right-e-font.native .b-font:before, -.pull-right-e-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.copy-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.copy-font .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-font.native .b-font:before, -.copy-font.disabled .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.copy-h-font .b-font:before { - content: "\e610"; - color: #1a1a1a; -} -.copy-h-font:hover .b-font:before, -.copy-h-font:focus .b-font:before, -.copy-h-font.hover .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-h-font.native .b-font:before, -.copy-h-font.disabled .b-font:before { - content: "\e610"; - color: #1a1a1a; -} -.copy-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.copy-ha-font .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-ha-font:hover .b-font:before, -.copy-ha-font:focus .b-font:before, -.copy-ha-font.hover .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-ha-font:active .b-font:before, -.copy-ha-font.active .b-font:before { - content: "\e610"; - color: #3f8ce8; -} -.copy-ha-font.native .b-font:before, -.copy-ha-font.disabled .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-e-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.copy-e-font .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-e-font:hover .b-font:before, -.copy-e-font:focus .b-font:before, -.copy-e-font.hover .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-e-font.active .b-font:before { - content: "\e610"; - color: #3f8ce8; -} -.copy-e-font:active .b-font:before { - content: "\e610"; - color: #3f8ce8; -} -.copy-e-font.native .b-font:before, -.copy-e-font.disabled .b-font:before { - content: "\e610"; - color: inherit; -} -.check-mark-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-mark-font .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-font.native .b-font:before, -.check-mark-font.disabled .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-mark-h-font .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-h-font:hover .b-font:before, -.check-mark-h-font:focus .b-font:before, -.check-mark-h-font.hover .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-h-font.native .b-font:before, -.check-mark-h-font.disabled .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-mark-ha-font .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-ha-font:hover .b-font:before, -.check-mark-ha-font:focus .b-font:before, -.check-mark-ha-font.hover .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-ha-font:active .b-font:before, -.check-mark-ha-font.active .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.check-mark-ha-font.native .b-font:before, -.check-mark-ha-font.disabled .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-e-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-mark-e-font .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-e-font:hover .b-font:before, -.check-mark-e-font:focus .b-font:before, -.check-mark-e-font.hover .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-e-font.active .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.check-mark-e-font:active .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.check-mark-e-font.native .b-font:before, -.check-mark-e-font.disabled .b-font:before { - content: "\e611"; - color: inherit; -} -/** dashboard组件/控件 下拉列表图标字体 ~end~**/ -.tree-node-triangle-expand-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.tree-node-triangle-expand-font .b-font:before { - content: "\e608"; - color: inherit; -} -.tree-node-triangle-expand-font.native .b-font:before, -.tree-node-triangle-expand-font.disabled .b-font:before { - content: "\e608"; - color: inherit; -} -.tree-node-triangle-collapse-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.tree-node-triangle-collapse-font .b-font:before { - content: "\e607"; - color: inherit; -} -.tree-node-triangle-collapse-font.native .b-font:before, -.tree-node-triangle-collapse-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.row-pre-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.row-pre-page-h-font .b-font:before { - content: "\e6be"; - color: inherit; -} -.row-pre-page-h-font:hover .b-font:before, -.row-pre-page-h-font:focus .b-font:before, -.row-pre-page-h-font.hover .b-font:before { - content: "\e6be"; - color: inherit; -} -.row-pre-page-h-font.native .b-font:before, -.row-pre-page-h-font.disabled .b-font:before { - content: "\e6be"; - color: inherit; -} -.row-next-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.row-next-page-h-font .b-font:before { - content: "\e6bd"; - color: inherit; -} -.row-next-page-h-font:hover .b-font:before, -.row-next-page-h-font:focus .b-font:before, -.row-next-page-h-font.hover .b-font:before { - content: "\e6bd"; - color: inherit; -} -.row-next-page-h-font.native .b-font:before, -.row-next-page-h-font.disabled .b-font:before { - content: "\e6bd"; - color: inherit; -} -.column-pre-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.column-pre-page-h-font .b-font:before { - content: "\e6bc"; - color: inherit; -} -.column-pre-page-h-font:hover .b-font:before, -.column-pre-page-h-font:focus .b-font:before, -.column-pre-page-h-font.hover .b-font:before { - content: "\e6bc"; - color: inherit; -} -.column-pre-page-h-font.native .b-font:before, -.column-pre-page-h-font.disabled .b-font:before { - content: "\e6bc"; - color: inherit; -} -.column-next-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.column-next-page-h-font .b-font:before { - content: "\e6bb"; - color: inherit; -} -.column-next-page-h-font:hover .b-font:before, -.column-next-page-h-font:focus .b-font:before, -.column-next-page-h-font.hover .b-font:before { - content: "\e6bb"; - color: inherit; -} -.column-next-page-h-font.native .b-font:before, -.column-next-page-h-font.disabled .b-font:before { - content: "\e6bb"; - color: inherit; -} -.trigger-triangle-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.trigger-triangle-font .b-font:before { - content: "\e66a"; - color: #999999; -} -.trigger-triangle-font:hover .b-font:before, -.trigger-triangle-font:focus .b-font:before, -.trigger-triangle-font.hover .b-font:before { - content: "\e66a"; - color: #999999; -} -.trigger-triangle-font:active .b-font:before, -.trigger-triangle-font.active .b-font:before { - content: "\e66a"; - color: #3f8ce8; -} -.trigger-triangle-font.native .b-font:before, -.trigger-triangle-font.disabled .b-font:before { - content: "\e66a"; - color: #999999; -} -.pull-down-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-down-font .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-font.native .b-font:before, -.pull-down-font.disabled .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-down-h-font .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-h-font:hover .b-font:before, -.pull-down-h-font:focus .b-font:before, -.pull-down-h-font.hover .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-h-font.native .b-font:before, -.pull-down-h-font.disabled .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-down-ha-font .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-ha-font:hover .b-font:before, -.pull-down-ha-font:focus .b-font:before, -.pull-down-ha-font.hover .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-ha-font:active .b-font:before, -.pull-down-ha-font.active .b-font:before { - content: "\e608"; - color: #3f8ce8; -} -.pull-down-ha-font.native .b-font:before, -.pull-down-ha-font.disabled .b-font:before { - content: "\e608"; - color: inherit; -} -.check-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-font .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.check-font.native .b-font:before, -.check-font.disabled .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.item-check-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.item-check-font .b-font:before { - content: "\e611"; - color: #ffffff; -} -.item-check-font:hover .b-font:before, -.item-check-font:focus .b-font:before, -.item-check-font.hover .b-font:before { - content: "\e611"; - color: #999999; -} -.item-check-font:active .b-font:before, -.item-check-font.active .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.item-check-font.native .b-font:before, -.item-check-font.disabled .b-font:before { - content: "\e611"; - color: #ffffff; -} -.primary-key-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ';'); -} -.primary-key-font .b-font:before { - content: "\e67d;"; - color: inherit; -} -.primary-key-font:hover .b-font:before, -.primary-key-font:focus .b-font:before, -.primary-key-font.hover .b-font:before { - content: "\e67d;"; - color: inherit; -} -.primary-key-font.native .b-font:before, -.primary-key-font.disabled .b-font:before { - content: "\e67d;"; - color: inherit; -} -.drag-tag-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.drag-tag-font .b-font:before { - content: "\e600"; - color: #f07d0a; -} -.drag-tag-font.native .b-font:before, -.drag-tag-font.disabled .b-font:before { - content: "\e600"; - color: #f07d0a; -} -.less-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.less-font .b-font:before { - content: "\e633"; - color: inherit; -} -.less-font:hover .b-font:before, -.less-font:focus .b-font:before, -.less-font.hover .b-font:before { - content: "\e633"; - color: inherit; -} -.less-font:active .b-font:before, -.less-font.active .b-font:before { - content: "\e633"; - color: #3f8ce8; -} -.less-font.native .b-font:before, -.less-font.disabled .b-font:before { - content: "\e633"; - color: inherit; -} -.less-equal-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.less-equal-font .b-font:before { - content: "\e636"; - color: inherit; -} -.less-equal-font:hover .b-font:before, -.less-equal-font:focus .b-font:before, -.less-equal-font.hover .b-font:before { - content: "\e636"; - color: inherit; -} -.less-equal-font:active .b-font:before, -.less-equal-font.active .b-font:before { - content: "\e636"; - color: #3f8ce8; -} -.less-equal-font.native .b-font:before, -.less-equal-font.disabled .b-font:before { - content: "\e636"; - color: inherit; -} -.text-bold-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-bold-font .b-font:before { - content: "\e64d"; - color: inherit; -} -.text-bold-font.native .b-font:before, -.text-bold-font.disabled .b-font:before { - content: "\e64d"; - color: inherit; -} -.text-italic-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-italic-font .b-font:before { - content: "\e656"; - color: inherit; -} -.text-italic-font.native .b-font:before, -.text-italic-font.disabled .b-font:before { - content: "\e656"; - color: inherit; -} -.text-underline-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-underline-font .b-font:before { - content: "\e650"; - color: inherit; -} -.text-underline-font.native .b-font:before, -.text-underline-font.disabled .b-font:before { - content: "\e650"; - color: inherit; -} -.text-color-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-color-font .b-font:before { - content: "\e69c"; - color: inherit; -} -.text-color-font.native .b-font:before, -.text-color-font.disabled .b-font:before { - content: "\e69c"; - color: inherit; -} -.text-background-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-background-font .b-font:before { - content: "\e696"; - color: inherit; -} -.text-background-font.native .b-font:before, -.text-background-font.disabled .b-font:before { - content: "\e696"; - color: inherit; -} -.text-color-underline-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-color-underline-font .b-font:before { - content: "\e69d"; - color: inherit; -} -.text-color-underline-font.native .b-font:before, -.text-color-underline-font.disabled .b-font:before { - content: "\e69d"; - color: inherit; -} -.text-align-left-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-align-left-font .b-font:before { - content: "\e654"; - color: inherit; -} -.text-align-left-font.native .b-font:before, -.text-align-left-font.disabled .b-font:before { - content: "\e654"; - color: inherit; -} -.text-align-center-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-align-center-font .b-font:before { - content: "\e64f"; - color: inherit; -} -.text-align-center-font.native .b-font:before, -.text-align-center-font.disabled .b-font:before { - content: "\e64f"; - color: inherit; -} -.text-align-right-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-align-right-font .b-font:before { - content: "\e651"; - color: inherit; -} -.text-align-right-font.native .b-font:before, -.text-align-right-font.disabled .b-font:before { - content: "\e651"; - color: inherit; -} -.tree-collapse-icon-type1 .x-icon, -.tree-collapse-icon-type1:hover .x-icon, -.tree-collapse-icon-type1:active .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-1.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type1 .x-icon.hack, -.tree-collapse-icon-type1:hover .x-icon.hack, -.tree-collapse-icon-type1:active .x-icon.hack { - background: url('images/1x/icon/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-1.png'); - _background: none; -} -.tree-collapse-icon-type1.native .x-icon, -.tree-collapse-icon-type1.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-1.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type1.native .x-icon.hack, -.tree-collapse-icon-type1.disabled .x-icon.hack { - background: url('images/1x/icon/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-1.png'); - _background: none; -} -.tree-collapse-icon-type2 .x-icon, -.tree-collapse-icon-type2:hover .x-icon, -.tree-collapse-icon-type2:active .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-2.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type2 .x-icon.hack, -.tree-collapse-icon-type2:hover .x-icon.hack, -.tree-collapse-icon-type2:active .x-icon.hack { - background: url('images/1x/icon/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-2.png'); - _background: none; -} -.tree-collapse-icon-type2.native .x-icon, -.tree-collapse-icon-type2.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-2.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type2.native .x-icon.hack, -.tree-collapse-icon-type2.disabled .x-icon.hack { - background: url('images/1x/icon/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-2.png'); - _background: none; -} -.tree-collapse-icon-type3 .x-icon, -.tree-collapse-icon-type3:hover .x-icon, -.tree-collapse-icon-type3:active .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-3.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type3 .x-icon.hack, -.tree-collapse-icon-type3:hover .x-icon.hack, -.tree-collapse-icon-type3:active .x-icon.hack { - background: url('images/1x/icon/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-3.png'); - _background: none; -} -.tree-collapse-icon-type3.native .x-icon, -.tree-collapse-icon-type3.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-3.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type3.native .x-icon.hack, -.tree-collapse-icon-type3.disabled .x-icon.hack { - background: url('images/1x/icon/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-3.png'); - _background: none; -} -.tree-collapse-icon-type4 .x-icon, -.tree-collapse-icon-type4:hover .x-icon, -.tree-collapse-icon-type4:active .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-4.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type4 .x-icon.hack, -.tree-collapse-icon-type4:hover .x-icon.hack, -.tree-collapse-icon-type4:active .x-icon.hack { - background: url('images/1x/icon/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-4.png'); - _background: none; -} -.tree-collapse-icon-type4.native .x-icon, -.tree-collapse-icon-type4.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-4.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type4.native .x-icon.hack, -.tree-collapse-icon-type4.disabled .x-icon.hack { - background: url('images/1x/icon/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-4.png'); - _background: none; -} -.tree-expand-icon-type1 .x-icon, -.tree-expand-icon-type1:hover .x-icon, -.tree-expand-icon-type1:active .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-1.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type1 .x-icon.hack, -.tree-expand-icon-type1:hover .x-icon.hack, -.tree-expand-icon-type1:active .x-icon.hack { - background: url('images/1x/icon/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-1.png'); - _background: none; -} -.tree-expand-icon-type1.native .x-icon, -.tree-expand-icon-type1.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-1.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type1.native .x-icon.hack, -.tree-expand-icon-type1.disabled .x-icon.hack { - background: url('images/1x/icon/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-1.png'); - _background: none; -} -.tree-expand-icon-type2 .x-icon, -.tree-expand-icon-type2:hover .x-icon, -.tree-expand-icon-type2:active .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-2.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type2 .x-icon.hack, -.tree-expand-icon-type2:hover .x-icon.hack, -.tree-expand-icon-type2:active .x-icon.hack { - background: url('images/1x/icon/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-2.png'); - _background: none; -} -.tree-expand-icon-type2.native .x-icon, -.tree-expand-icon-type2.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-2.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type2.native .x-icon.hack, -.tree-expand-icon-type2.disabled .x-icon.hack { - background: url('images/1x/icon/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-2.png'); - _background: none; -} -.tree-expand-icon-type3 .x-icon, -.tree-expand-icon-type3:hover .x-icon, -.tree-expand-icon-type3:active .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-3.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type3 .x-icon.hack, -.tree-expand-icon-type3:hover .x-icon.hack, -.tree-expand-icon-type3:active .x-icon.hack { - background: url('images/1x/icon/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-3.png'); - _background: none; -} -.tree-expand-icon-type3.native .x-icon, -.tree-expand-icon-type3.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-3.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type3.native .x-icon.hack, -.tree-expand-icon-type3.disabled .x-icon.hack { - background: url('images/1x/icon/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-3.png'); - _background: none; -} -.tree-expand-icon-type4 .x-icon, -.tree-expand-icon-type4:hover .x-icon, -.tree-expand-icon-type4:active .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-4.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type4 .x-icon.hack, -.tree-expand-icon-type4:hover .x-icon.hack, -.tree-expand-icon-type4:active .x-icon.hack { - background: url('images/1x/icon/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-4.png'); - _background: none; -} -.tree-expand-icon-type4.native .x-icon, -.tree-expand-icon-type4.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-4.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type4.native .x-icon.hack, -.tree-expand-icon-type4.disabled .x-icon.hack { - background: url('images/1x/icon/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-4.png'); - _background: none; -} -.tree-vertical-line-type2 .x-icon, -.tree-vertical-line-type2:hover .x-icon, -.tree-vertical-line-type2:active .x-icon { - display: block; - background: url('images/2x/icon/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-vertical-line-2.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type2 .x-icon.hack, -.tree-vertical-line-type2:hover .x-icon.hack, -.tree-vertical-line-type2:active .x-icon.hack { - background: url('images/1x/icon/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-2.png'); - _background: none; -} -.tree-vertical-line-type2.native .x-icon, -.tree-vertical-line-type2.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-vertical-line-2.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type2.native .x-icon.hack, -.tree-vertical-line-type2.disabled .x-icon.hack { - background: url('images/1x/icon/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-2.png'); - _background: none; -} -.tree-vertical-line-type3 .x-icon, -.tree-vertical-line-type3:hover .x-icon, -.tree-vertical-line-type3:active .x-icon { - display: block; - background: url('images/2x/icon/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-vertical-line-3.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type3 .x-icon.hack, -.tree-vertical-line-type3:hover .x-icon.hack, -.tree-vertical-line-type3:active .x-icon.hack { - background: url('images/1x/icon/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-3.png'); - _background: none; -} -.tree-vertical-line-type3.native .x-icon, -.tree-vertical-line-type3.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-vertical-line-3.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type3.native .x-icon.hack, -.tree-vertical-line-type3.disabled .x-icon.hack { - background: url('images/1x/icon/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-3.png'); - _background: none; -} -.tree-vertical-line-type4 .x-icon, -.tree-vertical-line-type4:hover .x-icon, -.tree-vertical-line-type4:active .x-icon { - display: block; - background: url('images/2x/icon/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-vertical-line-4.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type4 .x-icon.hack, -.tree-vertical-line-type4:hover .x-icon.hack, -.tree-vertical-line-type4:active .x-icon.hack { - background: url('images/1x/icon/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-4.png'); - _background: none; -} -.tree-vertical-line-type4.native .x-icon, -.tree-vertical-line-type4.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-vertical-line-4.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type4.native .x-icon.hack, -.tree-vertical-line-type4.disabled .x-icon.hack { - background: url('images/1x/icon/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-4.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type1 .x-icon, -.bi-theme-dark .tree-collapse-icon-type1:hover .x-icon, -.bi-theme-dark .tree-collapse-icon-type1:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-1.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type1 .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type1:hover .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type1:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-1.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type1.native .x-icon, -.bi-theme-dark .tree-collapse-icon-type1.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-1.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type1.native .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type1.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-1.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type2 .x-icon, -.bi-theme-dark .tree-collapse-icon-type2:hover .x-icon, -.bi-theme-dark .tree-collapse-icon-type2:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type2 .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type2:hover .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type2:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-2.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type2.native .x-icon, -.bi-theme-dark .tree-collapse-icon-type2.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type2.native .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type2.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-2.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type3 .x-icon, -.bi-theme-dark .tree-collapse-icon-type3:hover .x-icon, -.bi-theme-dark .tree-collapse-icon-type3:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type3 .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type3:hover .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type3:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-3.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type3.native .x-icon, -.bi-theme-dark .tree-collapse-icon-type3.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type3.native .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type3.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-3.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type4 .x-icon, -.bi-theme-dark .tree-collapse-icon-type4:hover .x-icon, -.bi-theme-dark .tree-collapse-icon-type4:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type4 .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type4:hover .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type4:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-4.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type4.native .x-icon, -.bi-theme-dark .tree-collapse-icon-type4.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type4.native .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type4.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-4.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type1 .x-icon, -.bi-theme-dark .tree-expand-icon-type1:hover .x-icon, -.bi-theme-dark .tree-expand-icon-type1:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-1.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type1 .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type1:hover .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type1:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-1.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type1.native .x-icon, -.bi-theme-dark .tree-expand-icon-type1.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-1.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type1.native .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type1.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-1.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type2 .x-icon, -.bi-theme-dark .tree-expand-icon-type2:hover .x-icon, -.bi-theme-dark .tree-expand-icon-type2:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type2 .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type2:hover .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type2:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-2.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type2.native .x-icon, -.bi-theme-dark .tree-expand-icon-type2.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type2.native .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type2.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-2.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type3 .x-icon, -.bi-theme-dark .tree-expand-icon-type3:hover .x-icon, -.bi-theme-dark .tree-expand-icon-type3:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type3 .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type3:hover .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type3:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-3.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type3.native .x-icon, -.bi-theme-dark .tree-expand-icon-type3.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type3.native .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type3.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-3.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type4 .x-icon, -.bi-theme-dark .tree-expand-icon-type4:hover .x-icon, -.bi-theme-dark .tree-expand-icon-type4:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type4 .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type4:hover .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type4:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-4.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type4.native .x-icon, -.bi-theme-dark .tree-expand-icon-type4.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type4.native .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type4.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-4.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type2 .x-icon, -.bi-theme-dark .tree-vertical-line-type2:hover .x-icon, -.bi-theme-dark .tree-vertical-line-type2:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-vertical-line-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type2 .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type2:hover .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type2:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-2.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type2.native .x-icon, -.bi-theme-dark .tree-vertical-line-type2.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-vertical-line-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type2.native .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type2.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-2.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type3 .x-icon, -.bi-theme-dark .tree-vertical-line-type3:hover .x-icon, -.bi-theme-dark .tree-vertical-line-type3:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-vertical-line-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type3 .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type3:hover .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type3:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-3.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type3.native .x-icon, -.bi-theme-dark .tree-vertical-line-type3.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-vertical-line-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type3.native .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type3.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-3.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type4 .x-icon, -.bi-theme-dark .tree-vertical-line-type4:hover .x-icon, -.bi-theme-dark .tree-vertical-line-type4:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-vertical-line-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type4 .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type4:hover .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type4:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-4.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type4.native .x-icon, -.bi-theme-dark .tree-vertical-line-type4.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-vertical-line-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type4.native .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type4.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-4.png'); - _background: none; -} -.check-box-icon .x-icon { - display: block; - background: url('images/2x/icon/check-box-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check-box-normal.png'); - background-size: contain; - _background: none; -} -.check-box-icon .x-icon.hack { - background: url('images/1x/icon/check-box-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-normal.png'); - _background: none; -} -.check-box-icon:hover .x-icon, -.check-box-icon:focus .x-icon, -.check-box-icon.hover .x-icon { - display: block; - background: url('images/2x/icon/check-box-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check-box-normal.png'); - background-size: contain; - _background: none; -} -.check-box-icon:hover .x-icon.hack, -.check-box-icon:focus .x-icon.hack, -.check-box-icon.hover .x-icon.hack { - background: url('images/1x/icon/check-box-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-normal.png'); - _background: none; -} -.check-box-icon:active .x-icon, -.check-box-icon.active .x-icon { - display: block; - background: url('images/2x/icon/check-box-active.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check-box-active.png'); - background-size: contain; - _background: none; -} -.check-box-icon:active .x-icon.hack, -.check-box-icon.active .x-icon.hack { - background: url('images/1x/icon/check-box-active.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-active.png'); - _background: none; -} -.check-box-icon.native .x-icon, -.check-box-icon.disabled .x-icon { - display: block; - background: url('images/2x/icon/check-box-disable.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check-box-disable.png'); - background-size: contain; - _background: none; -} -.check-box-icon.native .x-icon.hack, -.check-box-icon.disabled .x-icon.hack { - background: url('images/1x/icon/check-box-disable.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-disable.png'); - _background: none; -} -.check-box-icon.native .x-icon, -.check-box-icon.disabled.active .x-icon { - display: block; - background: url('images/2x/icon/check-box-disable2.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check-box-disable2.png'); - background-size: contain; - _background: none; -} -.check-box-icon.native .x-icon.hack, -.check-box-icon.disabled.active .x-icon.hack { - background: url('images/1x/icon/check-box-disable2.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-disable2.png'); - _background: none; -} -.radio-icon .x-icon { - display: block; - background: url('images/2x/icon/radio-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/radio-normal.png'); - background-size: contain; - _background: none; -} -.radio-icon .x-icon.hack { - background: url('images/1x/icon/radio-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio-normal.png'); - _background: none; -} -.radio-icon:hover .x-icon, -.radio-icon:focus .x-icon, -.radio-icon.hover .x-icon { - display: block; - background: url('images/2x/icon/radio-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/radio-normal.png'); - background-size: contain; - _background: none; -} -.radio-icon:hover .x-icon.hack, -.radio-icon:focus .x-icon.hack, -.radio-icon.hover .x-icon.hack { - background: url('images/1x/icon/radio-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio-normal.png'); - _background: none; -} -.radio-icon:active .x-icon, -.radio-icon.active .x-icon { - display: block; - background: url('images/2x/icon/radio-active.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/radio-active.png'); - background-size: contain; - _background: none; -} -.radio-icon:active .x-icon.hack, -.radio-icon.active .x-icon.hack { - background: url('images/1x/icon/radio-active.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio-active.png'); - _background: none; -} -.radio-icon.native .x-icon, -.radio-icon.disabled .x-icon { - display: block; - background: url('images/2x/icon/radio-disable.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/radio-disable.png'); - background-size: contain; - _background: none; -} -.radio-icon.native .x-icon.hack, -.radio-icon.disabled .x-icon.hack { - background: url('images/1x/icon/radio-disable.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio-disable.png'); - _background: none; -} -.radio-icon.native .x-icon, -.radio-icon.disabled.active .x-icon { - display: block; - background: url('images/2x/icon/radio-disable2.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/radio-disable2.png'); - background-size: contain; - _background: none; -} -.radio-icon.native .x-icon.hack, -.radio-icon.disabled.active .x-icon.hack { - background: url('images/1x/icon/radio-disable2.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio-disable2.png'); - _background: none; -} -.check-half-select-icon .x-icon, -.check-half-select-icon:hover .x-icon, -.check-half-select-icon:active .x-icon { - display: block; - background: url('images/2x/icon/half_selected.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/half_selected.png'); - background-size: contain; - _background: none; -} -.check-half-select-icon .x-icon.hack, -.check-half-select-icon:hover .x-icon.hack, -.check-half-select-icon:active .x-icon.hack { - background: url('images/1x/icon/half_selected.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); - _background: none; -} -.check-half-select-icon.native .x-icon, -.check-half-select-icon.disabled .x-icon { - display: block; - background: url('images/2x/icon/half_selected.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/half_selected.png'); - background-size: contain; - _background: none; -} -.check-half-select-icon.native .x-icon.hack, -.check-half-select-icon.disabled .x-icon.hack { - background: url('images/1x/icon/half_selected.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); - _background: none; -} -.slider-icon .x-icon { - display: block; - background: url('images/2x/icon/slider-normal-small.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/slider-normal-small.png'); - background-size: contain; - _background: none; -} -.slider-icon .x-icon.hack { - background: url('images/1x/icon/slider-normal-small.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/slider-normal-small.png'); - _background: none; -} -.slider-icon:hover .x-icon, -.slider-icon:focus .x-icon, -.slider-icon.hover .x-icon { - display: block; - background: url('images/2x/icon/slider-active-small.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/slider-active-small.png'); - background-size: contain; - _background: none; -} -.slider-icon:hover .x-icon.hack, -.slider-icon:focus .x-icon.hack, -.slider-icon.hover .x-icon.hack { - background: url('images/1x/icon/slider-active-small.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/slider-active-small.png'); - _background: none; -} -.slider-icon.native .x-icon, -.slider-icon.disabled .x-icon { - display: block; -} diff --git a/dist/resource/ZeroClipboard.swf b/dist/resource/ZeroClipboard.swf deleted file mode 100644 index 13bf8e3962..0000000000 Binary files a/dist/resource/ZeroClipboard.swf and /dev/null differ diff --git a/dist/widget.css b/dist/widget.css deleted file mode 100644 index 6bf7469601..0000000000 --- a/dist/widget.css +++ /dev/null @@ -1,374 +0,0 @@ -.bi-arrangement .arrangement-helper { - background: #3f8ce8; - z-index: 1000000000; -} -.bi-arrangement .arrangement-block { - z-index: 1000000000; -} -.bi-arrangement .arrangement-drop-container { - z-index: 1000000000; -} -.bi-arrangement .arrangement-drop-container .arrangement-drop-region { - overflow: hidden; -} -.bi-arrangement .arrangement-drop-container .drop-devider { - z-index: 1000000001; - background: #3f8ce8; -} -.bi-arrangement .arrangement-drop-container .top-left, -.bi-arrangement .arrangement-drop-container .top-right, -.bi-arrangement .arrangement-drop-container .bottom-left, -.bi-arrangement .arrangement-drop-container .bottom-right, -.bi-arrangement .arrangement-drop-container .top-left-second, -.bi-arrangement .arrangement-drop-container .top-right-second, -.bi-arrangement .arrangement-drop-container .bottom-left-second, -.bi-arrangement .arrangement-drop-container .bottom-right-second, -.bi-arrangement .arrangement-drop-container .top-center, -.bi-arrangement .arrangement-drop-container .bottom-center, -.bi-arrangement .arrangement-drop-container .left-center, -.bi-arrangement .arrangement-drop-container .right-center, -.bi-arrangement .arrangement-drop-container .top-center-second, -.bi-arrangement .arrangement-drop-container .bottom-center-second, -.bi-arrangement .arrangement-drop-container .left-center-second, -.bi-arrangement .arrangement-drop-container .right-center-second { - z-index: 1000000001; - background: #3f8ce8; -} -.bi-arrangement-droppable { - z-index: 100000; -} -.bi-date-trigger { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} -.bi-down-list-popup .list-group-item-text { - max-width: 203px; -} -.bi-down-list-popup .bi-down-list-item .list-item-text { - max-width: 203px; -} -.bi-excel-table > div.bottom-right > div > div > table { - border-right: 1px solid #d4dadd; -} -.bi-theme-dark .bi-excel-table > div.bottom-right > div > div > table { - border-right: 1px solid #525466; -} -.bi-excel-table-header-cell { - font-weight: bold; -} -.bi-file-manager-nav-button .file-manager-nav-button-text { - max-width: 200px; -} -.bi-file-manager-nav-button .file-manager-nav-button-text.active { - background-color: #eff1f4; - color: #999999; -} -.bi-file-manager-nav-button .file-manager-nav-button-triangle { - z-index: 1; -} -.bi-theme-dark .bi-file-manager-nav-button .file-manager-nav-button-text.active { - background-color: #191b2b; - color: #999999; -} -.bi-interactive-arrangement .interactive-arrangement-dragtag-line { - z-index: 1000000000; - background-color: #f07d0a; -} -.bi-interactive-arrangement .interactive-arrangement-dragtag-icon { - z-index: 1000000000; -} -.bi-interval-slider { - min-height: 70px; -} -.bi-interval-slider-label { - min-height: 50px; -} -.bi-month-trigger { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} -.bi-multidate-combo { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} -.bi-multidate-popup .multidate-popup-label { - color: #3f8ce8; - font-size: 14px; -} -.bi-multidate-popup .multidate-popup-item:active, -.bi-multidate-popup .multidate-popup-item.active { - background-color: #3f8ce8; - color: #ffffff; - -webkit-border-radius: 2px 2px 0 0; - -moz-border-radius: 2px 2px 0 0; - border-radius: 2px 2px 0 0; -} -.bi-multidate-popup .multidate-popup-button { - color: #3f8ce8; - font-size: 14px; -} -.bi-multidate-segment .bi-multidate-editor { - font-size: 14px; -} -.bi-multi-select-check-pane .multi-select-check-selected { - text-decoration: underline; -} -.bi-multi-select-combo .multi-select-trigger-icon-button { - font-size: 16px; -} -.bi-multi-select-insert-combo .multi-select-trigger-icon-button { - font-size: 16px; -} -.bi-multi-select-trigger { - -webkit-border-radius: 2px 2px 2px 2px; - -moz-border-radius: 2px 2px 2px 2px; - border-radius: 2px 2px 2px 2px; -} -.bi-multi-select-search-pane .multi-select-toolbar { - color: #e85050; -} -.bi-multi-select-check-selected-button { - z-index: 1; -} -.bi-multi-tree-check-pane .multi-tree-check-selected { - color: #3f8ce8; -} -.bi-multi-tree-combo .multi-select-trigger-icon-button { - font-size: 16px; -} -.bi-multi-tree-popup .popup-view-tree { - min-height: 170px; -} -.bi-multi-tree-check-selected-button .trigger-check-selected { - color: #3f8ce8; - z-index: 1; -} -.bi-number-editor { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} -.bi-number-interval .number-interval-small-editor { - -moz-border-radius-topleft: 2px; - -webkit-border-top-left-radius: 2px; - -moz-border-radius-bottomleft: 2px; - -webkit-border-bottom-left-radius: 2px; - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.bi-number-interval .number-interval-big-editor { - -moz-border-radius-topright: 2px; - -webkit-border-top-right-radius: 2px; - -moz-border-radius-bottomright: 2px; - -webkit-border-bottom-right-radius: 2px; - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.bi-number-interval .number-interval-big-combo { - -moz-border-radius-topleft: 2px; - -webkit-border-top-left-radius: 2px; - -moz-border-radius-bottomleft: 2px; - -webkit-border-bottom-left-radius: 2px; - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.bi-number-interval .number-interval-big-combo .bi-icon-combo-trigger .icon-combo-trigger-icon { - font-size: 14px; -} -.bi-number-interval .number-interval-small-combo { - -moz-border-radius-topright: 2px; - -webkit-border-top-right-radius: 2px; - -moz-border-radius-bottomright: 2px; - -webkit-border-bottom-right-radius: 2px; - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.bi-number-interval .number-interval-small-combo .bi-icon-combo-trigger .icon-combo-trigger-icon { - font-size: 14px; -} -.bi-number-interval.number-error .bi-input { - color: #e85050 !important; -} -.bi-page-table-cell { - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -.bi-path-chooser .path-chooser-radio { - z-index: 1; -} -.bi-path-region .path-region-label { - z-index: 1; -} -.bi-preview-table-cell { - min-height: 25px; - min-width: 80px; - max-width: 220px; -} -.bi-preview-table { - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -.bi-preview-table > div > table > thead > tr.odd, -.bi-preview-table > div > div > div > table > thead > tr.odd { - background-color: #eff1f4; -} -.bi-theme-dark .bi-preview-table > div > table > thead > tr.odd, -.bi-theme-dark .bi-preview-table > div > div > div > table > thead > tr.odd { - background-color: #191b2b; -} -.bi-preview-table-header-cell { - font-weight: bold; - min-height: 25px; - min-width: 80px; - max-width: 220px; -} -.bi-quarter-trigger { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} -.bi-relation-view-region .relation-view-region-container { - z-index: 1; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} -.bi-relation-view-region .relation-view-region-container.other-package { - border-style: dashed; -} -.bi-sequence-table-dynamic-number .sequence-table-title-cell { - overflow: hidden; - overflow-x: hidden; - overflow-y: hidden; - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} -.bi-sequence-table-dynamic-number .sequence-table-number-cell { - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} -.bi-sequence-table-list-number .sequence-table-title-cell { - overflow: hidden; - overflow-x: hidden; - overflow-y: hidden; - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} -.bi-sequence-table-list-number .sequence-table-number-cell { - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} -.bi-sequence-table-tree-number .sequence-table-title-cell { - overflow: hidden; - overflow-x: hidden; - overflow-y: hidden; - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} -.bi-sequence-table-tree-number .sequence-table-number-cell { - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} -.bi-single-slider-label { - min-height: 50px; -} -.bi-single-slider-normal { - min-height: 30px; -} -.bi-single-slider { - min-height: 50px; -} -.bi-single-slider-button .slider-button { - cursor: ew-resize; - -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); - -webkit-border-radius: 7px; - -moz-border-radius: 7px; - border-radius: 7px; -} -.bi-slider-track .gray-track { - background-color: rgba(153, 153, 153, 0.3); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d999999,endColorstr=#4d999999); - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} -.bi-slider-track .blue-track { - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} -.bi-param-time-interval.time-error .bi-input { - color: #e85050; -} -.bi-param-time-interval.time-error .sign-editor-text { - color: #e85050; -} -.bi-year-popup .year-popup-navigation { - line-height: 30px; -} -.bi-year-popup .year-popup-navigation > .center-element { - border-left: 1px solid #d4dadd; -} -.bi-year-popup .year-popup-navigation > .first-element { - border-left: none; -} -.bi-theme-dark .bi-year-popup .year-popup-navigation > .center-element { - border-left: 1px solid #525466; -} -.bi-theme-dark .bi-year-popup .year-popup-navigation > .first-element { - border-left: none; -} -.bi-year-trigger { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} diff --git a/dist/widget.js b/dist/widget.js deleted file mode 100644 index 13f2f0e844..0000000000 --- a/dist/widget.js +++ /dev/null @@ -1,20257 +0,0 @@ -/** - * - * Created by GUY on 2016/5/26. - * @class BI.SequenceTableTreeNumber - * @extends BI.Widget - */ -BI.SequenceTableTreeNumber = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SequenceTableTreeNumber.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-sequence-table-tree-number", - isNeedFreeze: false, - startSequence: 1,//开始的序号 - scrollTop: 0, - headerRowSize: 25, - rowSize: 25, - - sequenceHeaderCreator: null, - - header: [], - items: [], //二维数组 - - //交叉表头 - crossHeader: [], - crossItems: [] - }); - }, - - _init: function () { - BI.SequenceTableTreeNumber.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.vCurr = 1; - this.hCurr = 1; - this.tasks = []; - this.renderedCells = []; - this.renderedKeys = []; - - this.container = BI.createWidget({ - type: "bi.absolute", - width: 60, - scrollable: false - }); - - this.scrollContainer = BI.createWidget({ - type: "bi.vertical", - scrollable: false, - scrolly: false, - items: [this.container] - }); - - this.headerContainer = BI.createWidget({ - type: "bi.absolute", - cls: "bi-border", - width: 58, - scrollable: false - }); - - this.layout = BI.createWidget({ - type: "bi.vtape", - element: this, - items: [{ - el: this.headerContainer, - height: this._getHeaderHeight() - 2 - }, {el: {type: "bi.layout"}, height: 2}, { - el: this.scrollContainer - }] - }); - //缓存第一行对应的序号 - this.start = this.options.startSequence; - this.cache = {}; - this._nextState(); - - this._populate(); - }, - - _getNextSequence: function (nodes) { - var self = this; - var start = this.start; - var cnt = this.start; - - function track(node) { - //如果已经有缓存了就不改计数了,复杂表会出现这种情况 - self.cache[node.text || node.value] || (self.cache[node.text || node.value] = cnt); - cnt++; - } - - BI.each(nodes, function (i, node) { - if (BI.isNotEmptyArray(node.children)) { - BI.each(node.children, function (index, child) { - if (index === 0) { - if (self.cache[child.text || child.value]) { - start = cnt = self.cache[child.text || child.value]; - } - } - track(child) - }); - } - }); - this.start = cnt; - return start; - }, - - _getStart: function (nodes) { - var self = this; - var start = this.start; - BI.some(nodes, function (i, node) { - if (BI.isNotEmptyArray(node.children)) { - return BI.some(node.children, function (index, child) { - if (index === 0) { - if (self.cache[child.text || child.value]) { - start = self.cache[child.text || child.value]; - return true; - } - } - }); - } - }); - return start; - }, - - _formatNumber: function (nodes) { - var self = this, o = this.options; - var result = []; - var count = this._getStart(nodes); - - function getLeafCount(node) { - var cnt = 0; - if (BI.isNotEmptyArray(node.children)) { - BI.each(node.children, function (index, child) { - cnt += getLeafCount(child); - }); - if (/**node.children.length > 1 && **/BI.isNotEmptyArray(node.values)) { - cnt++; - } - } else { - cnt++; - } - return cnt; - } - - var start = 0, top = 0; - BI.each(nodes, function (i, node) { - if (BI.isArray(node.children)) { - BI.each(node.children, function (index, child) { - var cnt = getLeafCount(child); - result.push({ - text: count++, - start: start, - top: top, - cnt: cnt, - index: index, - height: cnt * o.rowSize - }); - start += cnt; - top += cnt * o.rowSize; - }); - if (BI.isNotEmptyArray(node.values)) { - result.push({ - text: BI.i18nText("BI-Summary_Values"), - start: start++, - top: top, - cnt: 1, - isSummary: true, - height: o.rowSize - }); - top += o.rowSize; - } - } - }); - return result; - }, - - _layout: function () { - var self = this, o = this.options; - var headerHeight = this._getHeaderHeight() - 2; - var items = this.layout.attr("items"); - if (o.isNeedFreeze === false) { - items[0].height = 0; - items[1].height = 0; - } else if (o.isNeedFreeze === true) { - items[0].height = headerHeight; - items[1].height = 2; - } - this.layout.attr("items", items); - this.layout.resize(); - try { - this.scrollContainer.element.scrollTop(o.scrollTop); - } catch (e) { - - } - }, - - _getHeaderHeight: function () { - var o = this.options; - return o.headerRowSize * (o.crossHeader.length + (o.header.length > 0 ? 1 : 0)); - }, - - _nextState: function () { - var o = this.options; - this._getNextSequence(o.items); - }, - - _prevState: function () { - var self = this, o = this.options; - var firstChild; - BI.some(o.items, function (i, node) { - if (BI.isNotEmptyArray(node.children)) { - return BI.some(node.children, function (j, child) { - firstChild = child; - return true; - }); - } - }); - if (firstChild && BI.isNotEmptyObject(this.cache)) { - this.start = this.cache[firstChild.text || firstChild.value]; - } else { - this.start = 1; - } - this._nextState(); - }, - - _getMaxScrollTop: function (numbers) { - var cnt = 0; - BI.each(numbers, function (i, number) { - cnt += number.cnt; - }); - return Math.max(0, cnt * this.options.rowSize - (this.options.height - this._getHeaderHeight()) + BI.DOM.getScrollWidth()); - }, - - _createHeader: function () { - var o = this.options; - BI.createWidget({ - type: "bi.absolute", - element: this.headerContainer, - items: [{ - el: o.sequenceHeaderCreator || { - type: "bi.table_style_cell", - cls: "sequence-table-title-cell", - styleGetter: o.headerCellStyleGetter, - text: BI.i18nText("BI-Number_Index") - }, - left: 0, - top: 0, - right: 0, - bottom: 0 - }] - }); - }, - - _calculateChildrenToRender: function () { - var self = this, o = this.options; - - var renderedCells = [], renderedKeys = []; - var numbers = this._formatNumber(o.items); - var intervalTree = BI.PrefixIntervalTree.uniform(numbers.length, 0); - BI.each(numbers, function (i, number) { - intervalTree.set(i, number.height); - }); - var scrollTop = BI.clamp(o.scrollTop, 0, this._getMaxScrollTop(numbers)); - var index = intervalTree.greatestLowerBound(scrollTop); - var offsetTop = -(scrollTop - (index > 0 ? intervalTree.sumTo(index - 1) : 0)); - var height = offsetTop; - var bodyHeight = o.height - this._getHeaderHeight(); - while (height < bodyHeight && index < numbers.length) { - renderedKeys.push(index); - offsetTop += numbers[index].height; - height += numbers[index].height; - index++; - } - - BI.each(renderedKeys, function (i, key) { - var index = BI.deepIndexOf(self.renderedKeys, key); - if (index > -1) { - if (numbers[key].height !== self.renderedCells[index]._height) { - self.renderedCells[index]._height = numbers[key].height; - self.renderedCells[index].el.setHeight(numbers[key].height); - } - if (numbers[key].top !== self.renderedCells[index].top) { - self.renderedCells[index].top = numbers[key].top; - self.renderedCells[index].el.element.css("top", numbers[key].top + "px"); - } - renderedCells.push(self.renderedCells[index]); - } else { - var child = BI.createWidget(BI.extend({ - type: "bi.table_style_cell", - cls: "sequence-table-number-cell bi-border-left bi-border-right bi-border-bottom", - width: 60, - styleGetter: numbers[key].isSummary === true ? function () { - return o.summaryCellStyleGetter(true); - } : function (key) { - return function () { - return o.sequenceCellStyleGetter(key); - } - }(numbers[key].index) - }, numbers[key])); - renderedCells.push({ - el: child, - left: 0, - top: numbers[key].top, - _height: numbers[key].height - }); - } - }); - - //已存在的, 需要添加的和需要删除的 - var existSet = {}, addSet = {}, deleteArray = []; - BI.each(renderedKeys, function (i, key) { - if (BI.deepContains(self.renderedKeys, key)) { - existSet[i] = key; - } else { - addSet[i] = key; - } - }); - BI.each(this.renderedKeys, function (i, key) { - if (BI.deepContains(existSet, key)) { - return; - } - if (BI.deepContains(addSet, key)) { - return; - } - deleteArray.push(i); - }); - BI.each(deleteArray, function (i, index) { - self.renderedCells[index].el.destroy(); - }); - var addedItems = []; - BI.each(addSet, function (index) { - addedItems.push(renderedCells[index]) - }); - BI.createWidget({ - type: "bi.absolute", - element: this.container, - items: addedItems - }); - this.renderedCells = renderedCells; - this.renderedKeys = renderedKeys; - - this.container.setHeight(intervalTree.sumUntil(numbers.length)); - }, - - _restore: function () { - BI.each(this.renderedCells, function (i, cell) { - cell.el.destroy(); - }); - this.renderedCells = []; - this.renderedKeys = []; - }, - - _populate: function () { - var self = this; - BI.each(this.tasks, function (i, task) { - task.apply(self); - }); - this.tasks = []; - this.headerContainer.empty(); - this._createHeader(); - this._layout(); - this._calculateChildrenToRender(); - }, - - setVerticalScroll: function (scrollTop) { - if (this.options.scrollTop !== scrollTop) { - this.options.scrollTop = scrollTop; - try { - this.scrollContainer.element.scrollTop(scrollTop); - } catch (e) { - - } - } - }, - - getVerticalScroll: function () { - return this.options.scrollTop; - }, - - setVPage: function (v) { - if (v <= 1) { - this.cache = {}; - this.start = this.options.startSequence; - this._restore(); - this.tasks.push(this._nextState); - } else if (v === this.vCurr + 1) { - this.tasks.push(this._nextState); - } else if (v === this.vCurr - 1) { - this.tasks.push(this._prevState); - } - this.vCurr = v; - }, - - setHPage: function (v) { - if (v !== this.hCurr) { - this.tasks.push(this._prevState); - } - this.hCurr = v; - }, - - restore: function () { - this._restore(); - }, - - populate: function (items, header, crossItems, crossHeader) { - var o = this.options; - if (items && items !== this.options.items) { - o.items = items; - this._restore(); - this.tasks.push(this._prevState); - } - if (header && header !== this.options.header) { - o.header = header; - } - if (crossItems && crossItems !== this.options.crossItems) { - o.crossItems = crossItems; - } - if (crossHeader && crossHeader !== this.options.crossHeader) { - o.crossHeader = crossHeader; - } - this._populate(); - } -}); -BI.shortcut('bi.sequence_table_tree_number', BI.SequenceTableTreeNumber);/** - * 自适应布局 - * - * 1、resize - * 2、吸附 - * 3、当前组件在最上方 - * 4、可以撤销 - * 5、上下之间插入组件 - * - * Created by GUY on 2016/2/23. - * @class BI.AdaptiveArrangement - * @extends BI.Widget - */ -BI.AdaptiveArrangement = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.AdaptiveArrangement.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-adaptive-arrangement", - resizable: true, - layoutType: BI.Arrangement.LAYOUT_TYPE.FREE, - items: [] - }); - }, - - _init: function () { - BI.AdaptiveArrangement.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.arrangement = BI.createWidget({ - type: "bi.arrangement", - element: this, - layoutType: o.layoutType, - items: o.items - }); - this.arrangement.on(BI.Arrangement.EVENT_SCROLL, function () { - self.fireEvent(BI.AdaptiveArrangement.EVENT_SCROLL, arguments); - }); - this.zIndex = 0; - BI.each(o.items, function (i, item) { - self._initResizable(item.el); - }); - - $(document).mousedown(function (e) { - BI.each(self.getAllRegions(), function (i, region) { - if (region.el.element.find(e.target).length === 0) { - region.el.element.removeClass("selected"); - } - }); - }); - BI.ResizeDetector.addResizeListener(this, function () { - self.arrangement.resize(); - self.fireEvent(BI.AdaptiveArrangement.EVENT_RESIZE); - }); - }, - - _isEqual: function () { - return this.arrangement._isEqual.apply(this.arrangement, arguments); - }, - - _setSelect: function (item) { - if (!item.element.hasClass("selected")) { - item.element.css("zIndex", ++this.zIndex); - BI.each(this.getAllRegions(), function (i, region) { - region.el.element.removeClass("selected"); - }); - item.element.addClass("selected"); - } - }, - - _initResizable: function (item) { - var self = this, o = this.options; - item.element.css("zIndex", ++this.zIndex); - item.element.mousedown(function () { - self._setSelect(item) - }); - }, - - _getScrollOffset: function () { - return this.arrangement._getScrollOffset(); - }, - - getClientWidth: function () { - return this.arrangement.getClientWidth(); - }, - - getClientHeight: function () { - return this.arrangement.getClientHeight(); - }, - - addRegion: function (region, position) { - this._initResizable(region.el); - this._setSelect(region.el); - var self = this, flag; - var old = this.arrangement.getAllRegions(); - if (flag = this.arrangement.addRegion(region, position)) { - this._old = old; - } - return flag; - }, - - deleteRegion: function (name) { - var flag; - var old = this.getAllRegions(); - if (flag = this.arrangement.deleteRegion(name)) { - this._old = old; - } else { - this._old = this.getAllRegions(); - this.relayout(); - } - return flag; - }, - - setRegionSize: function (name, size) { - var flag; - var old = this.getAllRegions(); - if (flag = this.arrangement.setRegionSize(name, size)) { - this._old = old; - } - return flag; - }, - - setPosition: function (position, size) { - var self = this; - return this.arrangement.setPosition(position, size); - }, - - setRegionPosition: function (name, position) { - var region = this.getRegionByName(name); - return this.arrangement.setRegionPosition(name, position); - }, - - setDropPosition: function (position, size) { - return this.arrangement.setDropPosition(position, size); - }, - - scrollInterval: function (e, isBorderScroll, isOverflowScroll, cb) { - // var self = this; - // var map = { - // top: [-1, 0], - // bottom: [1, 0], - // left: [0, -1], - // right: [0, 1] - // }; - // var clientWidth = this.arrangement.getClientWidth(); - // var clientHeight = this.arrangement.getClientHeight(); - // - // function scrollTo(direction, callback) { - // if (direction === "") { - // self.lastActiveRegion = ""; - // if (self._scrollInterval) { - // clearInterval(self._scrollInterval); - // self._scrollInterval = null; - // } - // return; - // } - // if (self.lastActiveRegion !== direction) { - // self.lastActiveRegion = direction; - // if (self._scrollInterval) { - // clearInterval(self._scrollInterval); - // self._scrollInterval = null; - // } - // var count = 0; - // self._scrollInterval = setInterval(function () { - // count++; - // if (count <= 3) { - // return; - // } - // var offset = self._getScrollOffset(); - // var t = offset.top + map[direction][0] * 40; - // var l = offset.left + map[direction][1] * 40; - // if (t < 0 || l < 0) { - // return; - // } - // callback({ - // offsetX: map[direction][1] * 40, - // offsetY: map[direction][0] * 40 - // }); - // self.scrollTo({ - // top: t, - // left: l - // }); - // }, 300); - // } - // } - - cb({ - offsetX: 0, - offsetY: 0 - }); - // var offset = this.element.offset(); - // var p = { - // left: e.pageX - offset.left, - // top: e.pageY - offset.top - // }; - // //向上滚 - // if (isBorderScroll && p.top >= 0 && p.top <= 30) { - // scrollTo("top", cb) - // } - // //向下滚 - // else if (isBorderScroll && p.top >= clientHeight - 30 && p.top <= clientHeight) { - // scrollTo("bottom", cb) - // } - // //向左滚 - // else if (isBorderScroll && p.left >= 0 && p.left <= 30) { - // scrollTo("left", cb) - // } - // //向右滚 - // else if (isBorderScroll && p.left >= clientWidth - 30 && p.left <= clientWidth) { - // scrollTo("right", cb) - // } else { - // if (isOverflowScroll === true) { - // if (p.top < 0) { - // scrollTo("top", cb); - // } - // else if (p.top > clientHeight) { - // scrollTo("bottom", cb); - // } - // else if (p.left < 0) { - // scrollTo("left", cb); - // } - // else if (p.left > clientWidth) { - // scrollTo("right", cb); - // } else { - // scrollTo("", cb); - // } - // } else { - // scrollTo("", cb); - // } - // } - }, - - scrollEnd: function () { - this.lastActiveRegion = ""; - if (this._scrollInterval) { - clearInterval(this._scrollInterval); - this._scrollInterval = null; - } - }, - - scrollTo: function (scroll) { - this.arrangement.scrollTo(scroll); - }, - - zoom: function (ratio) { - this.arrangement.zoom(ratio); - }, - - resize: function () { - this.arrangement.resize(); - }, - - relayout: function () { - return this.arrangement.relayout(); - }, - - setLayoutType: function (type) { - var self = this; - this.arrangement.setLayoutType(type); - }, - - getLayoutType: function () { - return this.arrangement.getLayoutType(); - }, - - getLayoutRatio: function () { - return this.arrangement.getLayoutRatio(); - }, - - getHelper: function () { - return this.arrangement.getHelper(); - }, - - getRegionByName: function (name) { - return this.arrangement.getRegionByName(name); - }, - - getAllRegions: function () { - return this.arrangement.getAllRegions(); - }, - - revoke: function () { - if (this._old) { - this.populate(BI.toArray(this._old)); - } - }, - - populate: function (items) { - var self = this; - BI.each(items, function (i, item) { - self._initResizable(item.el); - }); - this.arrangement.populate(items); - } -}); -BI.AdaptiveArrangement.EVENT_ELEMENT_START_RESIZE = "AdaptiveArrangement.EVENT_ELEMENT_START_RESIZE"; -BI.AdaptiveArrangement.EVENT_ELEMENT_RESIZE = "AdaptiveArrangement.EVENT_ELEMENT_RESIZE"; -BI.AdaptiveArrangement.EVENT_ELEMENT_STOP_RESIZE = "AdaptiveArrangement.EVENT_ELEMENT_STOP_RESIZE"; -BI.AdaptiveArrangement.EVENT_RESIZE = "AdaptiveArrangement.EVENT_RESIZE"; -BI.AdaptiveArrangement.EVENT_SCROLL = "AdaptiveArrangement.EVENT_SCROLL"; -BI.shortcut('bi.adaptive_arrangement', BI.AdaptiveArrangement);/** - * Arrangement的block面板 - * - * Created by GUY on 2016/3/1. - * @class BI.ArrangementBlock - * @extends BI.Widget - */ -BI.ArrangementBlock = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.ArrangementBlock.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-arrangement-block bi-mask" - }); - } -}); -BI.shortcut('bi.arrangement_block', BI.ArrangementBlock);/** - * Arrangement的drop面板 - * - * Created by GUY on 2016/3/1. - * @class BI.ArrangementDroppable - * @extends BI.Widget - */ -BI.ArrangementDroppable = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.ArrangementDroppable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-arrangement-droppable bi-resizer" - }); - } -}); -BI.shortcut('bi.arrangement_droppable', BI.ArrangementDroppable);/** - * 布局 - * - * Created by GUY on 2016/2/23. - * @class BI.Arrangement - * @extends BI.Widget - */ -BI.Arrangement = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.Arrangement.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-arrangement", - layoutType: BI.Arrangement.LAYOUT_TYPE.GRID, - items: [] - }); - }, - - _init: function () { - BI.Arrangement.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.arrangement = BI.createWidget({ - type: "bi.arrangement_droppable", - cls: "arrangement-block", - invisible: true - }); - this.block = BI.createWidget({ - type: "bi.arrangement_block", - invisible: true - }); - this.container = BI.createWidget({ - type: "bi.absolute", - scrollable: true, - cls: "arrangement-container", - items: o.items.concat([this.block, this.arrangement]) - }); - - this.container.element.scroll(function () { - self.fireEvent(BI.Arrangement.EVENT_SCROLL, { - scrollLeft: self.container.element.scrollLeft(), - scrollTop: self.container.element.scrollTop(), - clientWidth: self.container.element[0].clientWidth, - clientHeight: self.container.element[0].clientHeight - }); - }); - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.container, - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - this.regions = {}; - if (o.items.length > 0) { - BI.nextTick(function () { - self.populate(o.items); - }); - } - }, - - ////初始化操作//// - _calculateRegions: function (items) { - var self = this, o = this.options; - this.regions = {}; - BI.each(items, function (i, item) { - var region = self._createOneRegion(item); - self.regions[region.id] = region; - }); - }, - - _isEqual: function (num1, num2) { - return Math.abs(num1 - num2) < 2; - }, - - _isLessThan: function (num1, num2) { - return num1 < num2 && !this._isEqual(num1, num2); - }, - - _isMoreThan: function (num1, num2) { - return num1 > num2 && !this._isEqual(num1, num2); - }, - - _isLessThanEqual: function (num1, num2) { - return num1 <= num2 || this._isEqual(num1, num2); - }, - - _isMoreThanEqual: function (num1, num2) { - return num1 >= num2 || this._isEqual(num1, num2); - }, - - //获取占有的最大Region - _getRegionOccupied: function (regions) { - var self = this, o = this.options; - if (BI.size(regions || this.regions) <= 0) { - return { - left: 0, - top: 0, - width: 0, - height: 0 - } - } - var minLeft = BI.MAX, maxLeft = BI.MIN, minTop = BI.MAX, maxTop = BI.MIN; - BI.each(regions || this.regions, function (id, region) { - minLeft = Math.min(minLeft, region.left); - maxLeft = Math.max(maxLeft, region.left + region.width); - minTop = Math.min(minTop, region.top); - maxTop = Math.max(maxTop, region.top + region.height); - }); - return { - left: minLeft, - top: minTop, - width: maxLeft - minLeft, - height: maxTop - minTop - } - }, - - //两个区域的交叉面积 - _getCrossArea: function (region1, region2) { - if (region1.left <= region2.left) { - if (region1.top <= region2.top) { - if (region1.top + region1.height > region2.top && region1.left + region1.width > region2.left) { - if (this._isEqual(region1.top + region1.height, region2.top) || this._isEqual(region1.left + region1.width, region2.left)) { - return 0; - } - return (region1.top + region1.height - region2.top) * (region1.left + region1.width - region2.left); - } - } else { - if (region2.top + region2.height > region1.top && region1.left + region1.width > region2.left) { - if (this._isEqual(region2.top + region2.height, region1.top) || this._isEqual(region1.left + region1.width, region2.left)) { - return 0; - } - return (region2.top + region2.height - region1.top) * (region1.left + region1.width - region2.left); - } - } - } else { - if (region1.top <= region2.top) { - if (region1.top + region1.height > region2.top && region2.left + region2.width > region1.left) { - if (this._isEqual(region1.top + region1.height, region2.top) || this._isEqual(region2.left + region2.width, region1.left)) { - return 0; - } - return (region1.top + region1.height - region2.top) * (region2.left + region2.width - region1.left); - } - } else { - if (region2.top + region2.height > region1.top && region2.left + region2.width > region1.left) { - if (this._isEqual(region2.top + region2.height, region1.top) || this._isEqual(region2.left + region2.width, region1.left)) { - return 0; - } - return (region2.top + region2.height - region1.top) * (region2.left + region2.width - region1.left); - } - } - } - return 0; - }, - - //是否有覆盖的组件 - _isRegionOverlay: function (regions) { - var reg = []; - BI.each(regions || this.regions, function (id, region) { - reg.push(new BI.Region(region.left, region.top, region.width, region.height)); - }); - for (var i = 0, len = reg.length; i < len; i++) { - for (var j = i + 1; j < len; j++) { - var area1 = { - left: reg[i].x, - top: reg[i].y, - width: reg[i].w, - height: reg[i].h - }; - var area2 = { - left: reg[j].x, - top: reg[j].y, - width: reg[j].w, - height: reg[j].h - }; - if (reg[i].isIntersects(reg[j]) && this._getCrossArea(area1, area2) > 1) { - return true; - } - } - } - return false; - }, - - //布局是否是优良的 - _isArrangeFine: function (regions) { - switch (this.options.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - return true; - case BI.Arrangement.LAYOUT_TYPE.GRID: - // if (this._isRegionOverlay()) { - // return false; - // } - } - return true; - }, - - _getRegionNames: function (regions) { - var names = []; - BI.each(regions || this.regions, function (i, region) { - names.push(region.id || region.attr("id")); - }); - return names; - }, - - _getRegionsByNames: function (names, regions) { - names = BI.isArray(names) ? names : [names]; - regions = regions || this.regions; - if (BI.isArray(regions)) { - var result = []; - BI.each(regions, function (i, region) { - if (names.contains(region.id || region.attr("id"))) { - result.push(region); - } - }); - } else { - var result = {}; - BI.each(names, function (i, name) { - result[name] = regions[name]; - }); - } - return result; - }, - - _cloneRegion: function (regions) { - var clone = {}; - BI.each(regions || this.regions, function (id, region) { - clone[id] = {}; - clone[id].el = region.el; - clone[id].id = region.id; - clone[id].left = region.left; - clone[id].top = region.top; - clone[id].width = region.width; - clone[id].height = region.height; - }); - return clone; - }, - - //测试合法性 - _test: function (regions) { - var self = this; - return !BI.any(regions || this.regions, function (i, region) { - if (BI.isNaN(region.width) || BI.isNaN(region.height) || region.width <= 21 || region.height <= 21) { - return true; - } - }) - }, - - _getScrollOffset: function () { - return { - left: this.container.element[0].scrollLeft, - top: this.container.element[0].scrollTop - } - }, - - ////操作//// - _createOneRegion: function (item) { - var el = BI.createWidget(item.el); - el.setVisible(true); - return { - id: el.attr("id"), - left: item.left, - top: item.top, - width: item.width, - height: item.height, - el: el - } - }, - - _applyRegion: function (regions) { - var self = this, o = this.options; - BI.each(regions || this.regions, function (i, region) { - region.el.element.css({ - left: region.left, - top: region.top, - width: region.width, - height: region.height - }); - }); - this._applyContainer(); - this.ratio = this.getLayoutRatio(); - }, - - _renderRegion: function () { - var items = BI.toArray(this.regions); - BI.each(items, function (i, item) { - if (BI.isNotNull(item.el)) { - item.el.options.key = item.id; - } else { - item.key = item.id; - } - }); - if (BI.isNull(this.wrapper)) { - this.wrapper = BI.createWidget({ - type: "bi.absolute", - element: this.container - }); - } - this.wrapper.populate(items); - }, - - getClientWidth: function () { - return this.container.element[0].clientWidth; - }, - - getClientHeight: function () { - return this.container.element[0].clientHeight; - }, - - _applyContainer: function () { - var occupied = this._getRegionOccupied(); - return occupied; - }, - - _modifyRegion: function (regions) { - BI.each(this.regions, function (id, region) { - if (regions[id]) { - region.left = regions[id].left; - region.top = regions[id].top; - region.width = regions[id].width; - region.height = regions[id].height; - } - }); - }, - - _addRegion: function (item) { - var region = this._createOneRegion(item); - this.regions[region.id] = region; - BI.createWidget({ - type: "bi.absolute", - element: this.container, - items: [region] - }); - }, - - _deleteRegionByName: function (name) { - this.regions[name].el.setVisible(false); - delete this.regions[name]; - }, - - _setArrangeSize: function (size) { - this.arrangement.element.css({ - left: size.left, - top: size.top, - width: size.width, - height: size.height - }) - }, - - //Grid - _getOneWidthPortion: function () { - return this.getClientWidth() / BI.Arrangement.PORTION; - }, - _getOneHeightPortion: function () { - return this.getClientHeight() / BI.Arrangement.H_PORTION; - }, - - _getGridPositionAndSize: function (position) { - var perWidth = this._getOneWidthPortion(); - var perHeight = this._getOneHeightPortion(); - var widthPortion = Math.round(position.width / perWidth); - var leftPortion = Math.round(position.left / perWidth); - var topPortion = Math.round(position.top / perHeight); - var heightPortion = Math.round(position.height / perHeight); - // if (leftPortion > BI.Arrangement.PORTION) { - // leftPortion = BI.Arrangement.PORTION; - // } - // if (widthPortion > BI.Arrangement.PORTION) { - // widthPortion = BI.Arrangement.PORTION; - // } - // if (leftPortion + widthPortion > BI.Arrangement.PORTION) { - // leftPortion = BI.Arrangement.PORTION - widthPortion; - // } - if (widthPortion === 0) { - widthPortion = 1; - } - if (heightPortion === 0) { - heightPortion = 1; - } - return { - x: leftPortion, - y: topPortion, - w: widthPortion, - h: heightPortion - } - }, - - _getBlockPositionAndSize: function (position) { - var perWidth = this._getOneWidthPortion(); - var perHeight = this._getOneHeightPortion(); - return { - left: position.x * perWidth, - top: position.y * perHeight, - width: position.w * perWidth, - height: position.h * perHeight - }; - }, - - _getLayoutsByRegions: function (regions) { - var self = this; - var result = []; - BI.each(regions || this.regions, function (id, region) { - result.push(BI.extend(self._getGridPositionAndSize(region), { - i: region.id - })) - }); - return result; - }, - - _getLayoutIndexByName: function (layout, name) { - return BI.findIndex(layout, function (i, l) { - return l.i === name; - }); - }, - - _setBlockPositionAndSize: function (size) { - this.block.element.css({ - left: size.left, - top: size.top, - width: size.width, - height: size.height - }); - }, - - _getRegionsByLayout: function (layout) { - var self = this; - var regions = {}; - BI.each(layout, function (i, ly) { - regions[ly.i] = BI.extend(self._getBlockPositionAndSize(ly), { - id: ly.i - }); - }); - return regions; - }, - - _setRegionsByLayout: function (regions, layout) { - var self = this; - regions || (regions = this.regions); - BI.each(layout, function (i, ly) { - if (regions[ly.i]) { - BI.extend(regions[ly.i], self._getBlockPositionAndSize(ly)); - } - }); - return regions; - }, - - _moveElement: function (layout, l, x, y, isUserAction) { - var self = this; - if (l._static) { - return layout; - } - - if (l.y === y && l.x === x) { - return layout; - } - - var movingUp = y && l.y > y; - if (typeof x === 'number') { - l.x = x; - } - if (typeof y === 'number') { - l.y = y; - } - l.moved = true; - - var sorted = this._sortLayoutItemsByRowCol(layout); - if (movingUp) { - sorted = sorted.reverse(); - } - var collisions = getAllCollisions(sorted, l); - - for (var i = 0, len = collisions.length; i < len; i++) { - var collision = collisions[i]; - if (collision.moved) { - continue; - } - - if (l.y > collision.y && l.y - collision.y > collision.h / 4) { - continue; - } - - if (collision._static) { - layout = this._moveElementAwayFromCollision(layout, collision, l, isUserAction); - } else { - layout = this._moveElementAwayFromCollision(layout, l, collision, isUserAction); - } - } - - return layout; - - function getAllCollisions(layout, layoutItem) { - return BI.filter(layout, function (i, l) { - return self._collides(l, layoutItem); - }); - } - }, - - _sortLayoutItemsByRowCol: function (layout) { - return [].concat(layout).sort(function (a, b) { - if (a.y > b.y || (a.y === b.y && a.x > b.x)) { - return 1; - } - return -1; - }); - }, - - _collides: function (l1, l2) { - if (l1 === l2) { - return false; - } // same element - if (l1.x + l1.w <= l2.x) { - return false; - } // l1 is left of l2 - if (l1.x >= l2.x + l2.w) { - return false; - } // l1 is right of l2 - if (l1.y + l1.h <= l2.y) { - return false; - } // l1 is above l2 - if (l1.y >= l2.y + l2.h) { - return false; - } // l1 is below l2 - return true; // boxes overlap - }, - - _getFirstCollision: function (layout, layoutItem) { - for (var i = 0, len = layout.length; i < len; i++) { - if (this._collides(layout[i], layoutItem)) { - return layout[i]; - } - } - }, - - _moveElementAwayFromCollision: function (layout, collidesWith, - itemToMove, isUserAction) { - if (isUserAction) { - var fakeItem = { - x: itemToMove.x, - y: itemToMove.y, - w: itemToMove.w, - h: itemToMove.h, - i: '-1' - }; - fakeItem.y = Math.max(collidesWith.y - itemToMove.h, 0); - if (!this._getFirstCollision(layout, fakeItem)) { - return this._moveElement(layout, itemToMove, undefined, fakeItem.y); - } - } - - return this._moveElement(layout, itemToMove, undefined, itemToMove.y + 1); - }, - - _compactItem: function (compareWith, l, verticalCompact) { - if (verticalCompact) { - while (l.y > 0 && !this._getFirstCollision(compareWith, l)) { - l.y--; - } - } - - var collides; - while ((collides = this._getFirstCollision(compareWith, l))) { - l.y = collides.y + collides.h; - } - return l; - }, - - compact: function (layout, verticalCompact) { - var compareWith = getStatics(layout); - var sorted = this._sortLayoutItemsByRowCol(layout); - var out = []; - - for (var i = 0, len = sorted.length; i < len; i++) { - var l = sorted[i]; - - if (!l._static) { - l = this._compactItem(compareWith, l, verticalCompact); - - compareWith.push(l); - } - - out[layout.indexOf(l)] = l; - - l.moved = false; - } - - return out; - - function getStatics(layout) { - return BI.filter(layout, function (i, l) { - return l._static; - }); - } - }, - - ////公有方法//// - getRegionByName: function (name) { - var obj = {}; - obj[name] = this.regions[name]; - return this._cloneRegion(obj)[name]; - }, - - getAllRegions: function () { - return BI.toArray(this._cloneRegion()); - }, - - getHelper: function () { - var helper = BI.createWidget({ - type: "bi.layout", - width: 18, - height: 18, - cls: "arrangement-helper bi-border" - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [helper] - }); - return helper; - }, - - _start: function () { - if (this.options.layoutType === BI.Arrangement.LAYOUT_TYPE.GRID) { - this.block.setVisible(true); - } else { - this.arrangement.setVisible(true); - } - }, - - _stop: function () { - this.arrangement.setVisible(false); - this.block.setVisible(false); - }, - - ////公有操作//// - setLayoutType: function (type) { - var self = this, o = this.options; - if (type !== o.layoutType) { - o.layoutType = type; - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - this.relayout(); - break; - } - } - }, - - getLayoutType: function () { - return this.options.layoutType; - }, - - getLayoutRatio: function () { - var occupied = this._getRegionOccupied(); - var width = this.getClientWidth(), height = this.getClientHeight(); - return { - x: BI.parseFloat(BI.contentFormat((occupied.left + occupied.width) / width, "#.##;-#.##")), - y: BI.parseFloat(BI.contentFormat((occupied.top + occupied.height) / height, "#.##;-#.##")) - } - }, - - addRegion: function (region, position) { - if (position) { - this.setPosition(position, region); - } - var self = this, o = this.options; - if (!this.position) { - return false; - } - var test = this._cloneRegion(); - BI.each(this.position.regions, function (i, region) { - test[region.id].left = region.left; - test[region.id].top = region.top; - test[region.id].width = region.width; - test[region.id].height = region.height; - - }); - var item = BI.extend({}, region, { - left: this.position.insert.left, - top: this.position.insert.top, - width: this.position.insert.width, - height: this.position.insert.height - }); - var added = this._createOneRegion(item); - test[added.id] = added; - if (this._test(test)) { - delete test[added.id]; - this._modifyRegion(test); - this._addRegion(item); - this._populate(this.getAllRegions()); - return true; - } - return false; - }, - - deleteRegion: function (name) { - if (!this.regions[name]) { - return false; - } - var self = this, o = this.options; - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - this._deleteRegionByName(name); - this._populate(this.getAllRegions()); - return true; - case BI.Arrangement.LAYOUT_TYPE.GRID: - this._deleteRegionByName(name); - this._populate(this.getAllRegions()); - this.resize(); - return true; - } - return false; - }, - - setRegionSize: function (name, size) { - var self = this, o = this.options; - var flag = false; - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - var clone = this._cloneRegion(); - BI.extend(clone[name], { - width: size.width, - height: size.height - }); - if (this._test(clone)) { - this._modifyRegion(clone); - flag = true; - } - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - var clone = this._cloneRegion(); - BI.extend(clone[name], { - width: size.width, - height: size.height - }); - if (this._test(clone)) { - var layout = this._getLayoutsByRegions(clone); - layout = this.compact(layout, true); - var regions = this._getRegionsByLayout(layout); - this._modifyRegion(regions); - flag = true; - } - break; - } - this._applyRegion(); - return flag; - }, - - setPosition: function (position, size) { - var self = this, o = this.options; - var insert, regions = [], cur; - if (position.left < 0 || position.top < 0) { - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - this.resize(); - break; - } - this._stop(); - this.position = null; - return null; - } - var offset = this._getScrollOffset(); - position = { - left: position.left + offset.left, - top: position.top + offset.top - }; - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - var insert = { - top: position.top < 0 ? 0 : position.top, - left: position.left < 0 ? 0 : position.left, - width: size.width, - height: size.height - }; - this.position = { - insert: insert - }; - this._setArrangeSize(insert); - this._start(); - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - var p = { - top: position.top < 0 ? 0 : position.top, - left: position.left < 0 ? 0 : position.left, - width: size.width, - height: size.height - }; - this._setArrangeSize(p); - var cur = this._getGridPositionAndSize(p); - var layout = [{ - x: 0, y: BI.MAX, w: cur.w, h: cur.h, i: cur.i - }].concat(this._getLayoutsByRegions()); - layout = this._moveElement(layout, layout[0], cur.x, cur.y, true); - layout = this.compact(layout, true); - var regions = this._setRegionsByLayout(this._cloneRegion(), layout); - var insert = this._getBlockPositionAndSize(layout[0]); - this.position = { - insert: insert, - regions: regions - }; - this._applyRegion(regions); - this._setBlockPositionAndSize(insert); - this._start(); - break; - } - return this.position; - }, - - setRegionPosition: function (name, position) { - var self = this, o = this.options; - var offset = this._getScrollOffset(); - position = BI.extend(position, { - left: position.left + offset.left, - top: position.top + offset.top - }); - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - BI.extend(this.regions[name], { - left: position.left < 0 ? 0 : position.left, - top: position.top < 0 ? 0 : position.top - }); - this._applyRegion(); - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - if (!position.stop) { - BI.extend(this.regions[name], { - left: position.left < 0 ? 0 : position.left, - top: position.top < 0 ? 0 : position.top - }); - var cloned = this._cloneRegion(); - var cur = this._getGridPositionAndSize(BI.extend(cloned[name], { - left: position.left < 0 ? 0 : position.left, - top: position.top < 0 ? 0 : position.top - })); - var x = cur.x, y = cur.y; - cur = BI.extend(cur, { - x: 0, y: BI.MAX, i: -1 - }); - delete cloned[name]; - var layout = this._getLayoutsByRegions(cloned); - layout = this._moveElement([cur].concat(layout), cur, x, y, true); - layout = this.compact(layout, true); - var regions = this._getRegionsByLayout(layout); - this._modifyRegion(regions); - this._applyRegion(); - - this._setBlockPositionAndSize(this._getBlockPositionAndSize(cur)); - this.block.setVisible(true); - } else { - BI.extend(this.regions[name], { - left: position.left < 0 ? 0 : position.left, - top: position.top < 0 ? 0 : position.top - }); - var cloned = this._cloneRegion(); - var layout = this._getLayoutsByRegions(cloned); - layout = this.compact(layout, true); - var regions = this._getRegionsByLayout(layout); - this._modifyRegion(regions); - this._applyRegion(); - this.block.setVisible(false); - } - break; - } - }, - - setDropPosition: function (position, size) { - var self = this; - this.arrangement.setVisible(true); - var offset = this._getScrollOffset(); - this._setArrangeSize(BI.extend({}, size, { - left: position.left + offset.left, - top: position.top + offset.top - })); - return function () { - self.arrangement.setVisible(false); - } - }, - - scrollTo: function (scroll) { - this.container.element.scrollTop(scroll.top); - this.container.element.scrollLeft(scroll.left); - }, - - zoom: function (ratio) { - var self = this, o = this.options; - if (!ratio) { - return; - } - var occupied = this._applyContainer(); - switch (this.getLayoutType()) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - if (this._isArrangeFine()) { - var width = this.getClientWidth(); - var xRatio = (ratio.x || 1) * width / (occupied.left + occupied.width); - //var yRatio = ratio.y * height / (occupied.top + occupied.height); - var regions = this._cloneRegion(); - BI.each(regions, function (i, region) { - region.left = region.left * xRatio; - //region.top = region.top * yRatio; - region.width = region.width * xRatio; - //region.height = region.height * yRatio; - }); - if (this._test(regions)) { - this._modifyRegion(regions); - this._applyRegion(); - } - this.resize(); - // } else { - this.relayout(); - } - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - if (this._isArrangeFine()) { - var width = this.getClientWidth(), height = this.getClientHeight(); - var xRatio = (ratio.x || 1) * width / (occupied.left + occupied.width); - var yRatio = (ratio.y || 1) * height / (occupied.top + occupied.height); - var regions = this._cloneRegion(); - BI.each(regions, function (i, region) { - region.left = region.left * xRatio; - region.width = region.width * xRatio; - region.top = region.top * yRatio; - region.height = region.height * yRatio; - //做一下自适应布局到网格布局的兼容 - var perWidth = self._getOneWidthPortion(); - var widthPortion = Math.round(region.width / perWidth); - var leftPortion = Math.round(region.left / perWidth); - var comparePortion = Math.round((region.width + region.left) / perWidth); - if (leftPortion + widthPortion !== comparePortion) { - region.left = leftPortion * perWidth; - region.width = comparePortion * perWidth - region.left; - } - }); - if (this._test(regions)) { - var layout = this._getLayoutsByRegions(regions); - layout = this.compact(layout, true); - regions = this._getRegionsByLayout(layout); - this._modifyRegion(regions); - this._applyRegion(); - } - } else { - this.relayout(); - } - break; - } - }, - - resize: function () { - var self = this, o = this.options; - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - this.zoom(this.ratio); - var regions = this._cloneRegion(); - var layout = this._getLayoutsByRegions(regions); - layout = this.compact(layout, true); - regions = this._getRegionsByLayout(layout); - this._modifyRegion(regions); - this._applyRegion(); - break; - } - }, - - relayout: function () { - var self = this, o = this.options; - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - if (!this._isArrangeFine()) { - var perHeight = this._getOneHeightPortion(); - var width = this.getClientWidth(), height = this.getClientHeight(); - var regions = this._cloneRegion(); - var clone = BI.toArray(regions); - clone.sort(function (r1, r2) { - if (self._isEqual(r1.top, r2.top)) { - return r1.left - r2.left; - } - return r1.top - r2.top; - }); - var count = clone.length; - var cols = 4, rows = Math.floor((count - 1) / 4 + 1); - var w = width / cols, h = height / rows; - var store = {}; - BI.each(clone, function (i, region) { - var row = Math.floor(i / 4), col = i % 4; - BI.extend(region, { - top: row * perHeight * 6, - left: col * w, - width: w, - height: perHeight * 6 - }); - if (!store[row]) { - store[row] = {}; - } - store[row][col] = region; - }); - //非4的倍数 - // if (count % 4 !== 0) { - // var lasts = store[rows - 1]; - // var perWidth = width / (count % 4); - // BI.each(lasts, function (i, region) { - // BI.extend(region, { - // left: BI.parseInt(i) * perWidth, - // width: perWidth - // }); - // }); - // } - if (this._test(clone)) { - var layout = this._getLayoutsByRegions(regions); - layout = this.compact(layout, true); - regions = this._getRegionsByLayout(layout); - this._modifyRegion(regions); - this._populate(clone); - } - } else { - this.resize(); - } - break; - } - }, - - _populate: function (items) { - this._stop(); - this._calculateRegions(items); - this._applyRegion(); - }, - - populate: function (items) { - this.regions = {}; - this._populate(items); - this._renderRegion(); - } -}); -BI.Arrangement.EVENT_SCROLL = "EVENT_SCROLL"; -BI.extend(BI.Arrangement, { - PORTION: 36, - H_PORTION: 18, - LAYOUT_TYPE: { - GRID: 0, - FREE: 1 - } -}); -BI.shortcut('bi.arrangement', BI.Arrangement);/** - * 日期控件中的月份下拉框 - * - * Created by GUY on 2015/9/7. - * @class BI.MonthDateCombo - * @extends BI.Trigger - */ -BI.MonthDateCombo = BI.inherit(BI.Trigger, { - _defaultConfig: function() { - return BI.extend( BI.MonthDateCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-month-combo", - height: 25 - }); - }, - _init: function() { - BI.MonthDateCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.date_triangle_trigger" - }); - - this.popup = BI.createWidget({ - type: "bi.month_popup" - }); - - this.popup.on(BI.YearPopup.EVENT_CHANGE, function(){ - self.setValue(self.popup.getValue()); - }) - - - this.combo = BI.createWidget({ - type: "bi.combo", - offsetStyle: "center", - element: this, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - popup: { - minWidth: 85, - stopPropagation: false, - el: this.popup - } - }) - this.combo.on(BI.Combo.EVENT_CHANGE, function(){ - self.combo.hideView(); - self.fireEvent(BI.MonthDateCombo.EVENT_CHANGE); - }); - }, - - setValue: function(v){ - this.trigger.setValue(v + 1); - this.popup.setValue(v); - }, - - getValue: function(){ - return this.popup.getValue(); - } -}); -BI.MonthDateCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.month_date_combo', BI.MonthDateCombo);/** - * 年份下拉框 - * - * Created by GUY on 2015/9/7. - * @class BI.YearDateCombo - * @extends BI.Trigger - */ -BI.YearDateCombo = BI.inherit(BI.Trigger, { - _defaultConfig: function() { - return BI.extend( BI.YearDateCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-year-combo", - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - height: 25 - }); - }, - _init: function() { - BI.YearDateCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.date_triangle_trigger" - }); - - this.popup = BI.createWidget({ - type: "bi.year_popup", - min: o.min, - max: o.max - }); - - this.popup.on(BI.YearPopup.EVENT_CHANGE, function(){ - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.YearDateCombo.EVENT_CHANGE); - }) - - - this.combo = BI.createWidget({ - type: "bi.combo", - offsetStyle: "center", - element: this, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - popup: { - minWidth: 85, - stopPropagation: false, - el: this.popup - } - }) - this.combo.on(BI.Combo.EVENT_CHANGE, function(){ - self.fireEvent(BI.YearDateCombo.EVENT_CHANGE); - }) - }, - - setValue: function(v){ - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function(){ - return this.popup.getValue(); - } -}); -BI.YearDateCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.year_date_combo', BI.YearDateCombo);/** - * Created by GUY on 2015/9/7. - * @class BI.DatePicker - * @extends BI.Widget - */ -BI.DatePicker = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.DatePicker.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-date-picker bi-background", - height: 25, - min: '1900-01-01', //最小日期 - max: '2099-12-31' //最大日期 - }) - }, - - _init: function () { - BI.DatePicker.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this._year = new Date().getFullYear(); - this._month = new Date().getMonth(); - this.left = BI.createWidget({ - type: "bi.icon_button", - cls: "pre-page-h-font", - width: 25, - height: 25 - }); - this.left.on(BI.IconButton.EVENT_CHANGE, function () { - if (self._month === 0) { - self.setValue({ - year: self.year.getValue() - 1, - month: 11 - }) - } else { - self.setValue({ - year: self.year.getValue(), - month: self.month.getValue() - 1 - }) - } - self.fireEvent(BI.DatePicker.EVENT_CHANGE); - self._checkLeftValid(); - self._checkRightValid(); - }); - - this.right = BI.createWidget({ - type: "bi.icon_button", - cls: "next-page-h-font", - width: 25, - height: 25 - }); - - this.right.on(BI.IconButton.EVENT_CHANGE, function () { - if (self._month === 11) { - self.setValue({ - year: self.year.getValue() + 1, - month: 0 - }) - } else { - self.setValue({ - year: self.year.getValue(), - month: self.month.getValue() + 1 - }) - } - self.fireEvent(BI.DatePicker.EVENT_CHANGE); - self._checkLeftValid(); - self._checkRightValid(); - }); - - this.year = BI.createWidget({ - type: "bi.year_date_combo", - min: o.min, - max: o.max - }); - this.year.on(BI.YearDateCombo.EVENT_CHANGE, function () { - self.setValue({ - year: self.year.getValue(), - month: self.month.getValue() - }); - self.fireEvent(BI.DatePicker.EVENT_CHANGE); - }) - this.month = BI.createWidget({ - type: "bi.month_date_combo" - }); - this.month.on(BI.MonthDateCombo.EVENT_CHANGE, function () { - self.setValue({ - year: self.year.getValue(), - month: self.month.getValue() - }); - self.fireEvent(BI.DatePicker.EVENT_CHANGE); - }); - - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - el: this.left, - width: 25 - }, { - type: "bi.center_adapt", - items: [{ - type: "bi.horizontal", - width: 100, - items: [this.year, this.month] - }] - }, { - el: this.right, - width: 25 - }] - }) - this.setValue({ - year: this._year, - month: this._month - }) - }, - - _checkLeftValid: function () { - var o = this.options; - var valid = !(this._month === 0 && this._year === Date.parseDateTime(o.min, "%Y-%X-%d").getFullYear()); - this.left.setEnable(valid); - return valid; - }, - - _checkRightValid: function () { - var o = this.options; - var valid = !(this._month === 11 && this._year === Date.parseDateTime(o.max, "%Y-%X-%d").getFullYear()); - this.right.setEnable(valid); - return valid; - }, - - - - setValue: function (ob) { - this._year = ob.year; - this._month = ob.month; - this.year.setValue(ob.year); - this.month.setValue(ob.month); - this._checkLeftValid(); - this._checkRightValid(); - }, - - getValue: function () { - return { - year: this.year.getValue(), - month: this.month.getValue() - } - } -}); -BI.DatePicker.EVENT_CHANGE = "EVENT_CHANGE" -BI.shortcut("bi.date_picker", BI.DatePicker);/** - * Created by GUY on 2015/9/7. - * @class BI.DateCalendarPopup - * @extends BI.Widget - */ -BI.DateCalendarPopup = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.DateCalendarPopup.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-date-calendar-popup", - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - selectedTime: null - }) - }, - - _createNav: function (v) { - var date = BI.Calendar.getDateJSONByPage(v); - var calendar = BI.createWidget({ - type: "bi.calendar", - logic: { - dynamic: true - }, - min: this.options.min, - max: this.options.max, - year: date.year, - month: date.month, - day: this.selectedTime.day - }); - return calendar - }, - - _init: function () { - BI.DateCalendarPopup.superclass._init.apply(this, arguments); - var self = this, - o = this.options; - this.today = new Date(); - this._year = this.today.getFullYear(); - this._month = this.today.getMonth(); - this._day = this.today.getDate(); - - this.selectedTime = o.selectedTime || { - year: this._year, - month: this._month, - day: this._day - }; - this.datePicker = BI.createWidget({ - type: "bi.date_picker", - min: o.min, - max: o.max - }); - - this.calendar = BI.createWidget({ - direction: "top", - element: this, - logic: { - dynamic: true - }, - type: "bi.navigation", - tab: this.datePicker, - cardCreator: BI.bind(this._createNav, this), - - afterCardCreated: function () { - - }, - - afterCardShow: function () { - this.setValue(self.selectedTime); - } - }); - - this.datePicker.on(BI.DatePicker.EVENT_CHANGE, function () { - self.selectedTime = self.datePicker.getValue(); - self.selectedTime.day = 1; - self.calendar.setSelect(BI.Calendar.getPageByDateJSON(self.selectedTime)); - }); - - this.calendar.on(BI.Navigation.EVENT_CHANGE, function () { - self.selectedTime = self.calendar.getValue(); - self.setValue(self.selectedTime); - self.fireEvent(BI.DateCalendarPopup.EVENT_CHANGE); - }); - }, - - setValue: function (timeOb) { - this.datePicker.setValue(timeOb); - this.calendar.setSelect(BI.Calendar.getPageByDateJSON(timeOb)); - this.calendar.setValue(timeOb); - this.selectedTime = timeOb; - }, - - getValue: function () { - return this.selectedTime; - } -}); -BI.DateCalendarPopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.date_calendar_popup", BI.DateCalendarPopup);/** - * 日期控件中的年份或月份trigger - * - * Created by GUY on 2015/9/7. - * @class BI.DateTriangleTrigger - * @extends BI.Trigger - */ -BI.DateTriangleTrigger = BI.inherit(BI.Trigger, { - _const: { - height: 25, - iconWidth: 16, - iconHeight: 13 - }, - - _defaultConfig: function() { - return BI.extend( BI.DateTriangleTrigger.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-date-triangle-trigger pull-down-ha-font cursor-pointer", - height: 25 - }); - }, - _init: function() { - BI.DateTriangleTrigger.superclass._init.apply(this, arguments); - var o = this.options, c = this._const; - this.text = BI.createWidget({ - type: "bi.label", - cls: "list-item-text", - textAlign: "right", - text: o.text, - value: o.value, - height: c.height - }) - this.icon = BI.createWidget({ - type: "bi.icon", - width: c.iconWidth, - height: c.iconHeight - }); - - BI.createWidget({ - type: "bi.center_adapt", - element: this, - items: [{ - type: "bi.center_adapt", - width: 50, - height: c.height, - items: [this.text, this.icon] - }] - }) - }, - - setValue: function(v){ - this.text.setValue(v); - }, - - getValue: function(){ - return this.text.getValue(); - }, - - setText: function(v){ - this.text.setText(v); - }, - - getText: function(){ - return this.item.getText(); - }, - - getKey: function(){ - - } -}); -BI.shortcut('bi.date_triangle_trigger', BI.DateTriangleTrigger);/** - * 日期下拉框 - * - * Created by GUY on 2015/9/7. - * @class BI.DateCombo - * @extends BI.Widget - */ -BI.DateCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.DateCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-date-combo bi-border", - height: 25 - }); - }, - _init: function () { - BI.DateCombo.superclass._init.apply(this, arguments); - var self = this, - o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.date_trigger" - }); - - this.trigger.on(BI.DateTrigger.EVENT_TRIGGER_CLICK, function () { - self.combo.toggle(); - }); - - this.popup = BI.createWidget({ - type: "bi.date_calendar_popup" - }); - - this.popup.on(BI.DateCalendarPopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - toggle: false, - element: this, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - popup: { - width: 270, - el: this.popup, - stopPropagation: false - } - }) - }, - - setValue: function (v) { - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function () { - return this.popup.getValue(); - } -}); -BI.shortcut('bi.date_combo', BI.DateCombo);BI.DateTrigger = BI.inherit(BI.Trigger, { - _const: { - hgap: 4, - vgap: 2, - yearLength: 4, - yearMonthLength: 7 - }, - - _defaultConfig: function () { - return BI.extend(BI.DateTrigger.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-date-trigger", - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - height: 24 - }); - }, - _init: function () { - BI.DateTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.editor = BI.createWidget({ - type: "bi.sign_editor", - height: o.height, - validationChecker: function (v) { - var date = v.match(/\d+/g); - self._autoAppend(v, date); - return self._dateCheck(v) && Date.checkLegal(v) && self._checkVoid({ - year: date[0], - month: date[1], - day: date[2] - }); - }, - quitChecker: function () { - return false; - }, - hgap: c.hgap, - vgap: c.vgap, - allowBlank: true, - watermark: BI.i18nText("BI-Basic_Unrestricted"), - errorText: function () { - if (self.editor.isEditing()) { - return BI.i18nText("BI-Date_Trigger_Error_Text"); - } - return BI.i18nText("BI-Year_Trigger_Invalid_Text"); - } - }); - this.editor.on(BI.SignEditor.EVENT_KEY_DOWN, function () { - self.fireEvent(BI.DateTrigger.EVENT_KEY_DOWN) - }); - this.editor.on(BI.SignEditor.EVENT_FOCUS, function () { - self.fireEvent(BI.DateTrigger.EVENT_FOCUS); - }); - this.editor.on(BI.SignEditor.EVENT_STOP, function () { - self.fireEvent(BI.DateTrigger.EVENT_STOP); - }); - this.editor.on(BI.SignEditor.EVENT_VALID, function () { - self.fireEvent(BI.DateTrigger.EVENT_VALID); - }); - this.editor.on(BI.SignEditor.EVENT_ERROR, function () { - self.fireEvent(BI.DateTrigger.EVENT_ERROR); - }); - this.editor.on(BI.SignEditor.EVENT_CONFIRM, function () { - var value = self.editor.getValue(); - if (BI.isNotNull(value)) { - self.editor.setState(value); - } - - if (BI.isNotEmptyString(value)) { - var date = value.split("-"); - self.store_value = { - type: BI.DateTrigger.MULTI_DATE_CALENDAR, - value:{ - year: date[0] | 0, - month: date[1] - 1, - day: date[2] | 0 - } - }; - } - self.fireEvent(BI.DateTrigger.EVENT_CONFIRM); - }); - this.editor.on(BI.SignEditor.EVENT_SPACE, function () { - if (self.editor.isValid()) { - self.editor.blur(); - } - }); - this.editor.on(BI.SignEditor.EVENT_START, function () { - self.fireEvent(BI.DateTrigger.EVENT_START); - }); - this.editor.on(BI.SignEditor.EVENT_CHANGE, function () { - self.fireEvent(BI.DateTrigger.EVENT_CHANGE); - }); - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - el: BI.createWidget(), - width: 30 - }, { - el: this.editor - }] - }) - }, - _dateCheck: function (date) { - return Date.parseDateTime(date, "%Y-%x-%d").print("%Y-%x-%d") == date || Date.parseDateTime(date, "%Y-%X-%d").print("%Y-%X-%d") == date || Date.parseDateTime(date, "%Y-%x-%e").print("%Y-%x-%e") == date || Date.parseDateTime(date, "%Y-%X-%e").print("%Y-%X-%e") == date; - }, - _checkVoid: function (obj) { - return !Date.checkVoid(obj.year, obj.month, obj.day, this.options.min, this.options.max)[0]; - }, - _autoAppend: function (v, dateObj) { - var self = this; - var date = Date.parseDateTime(v, "%Y-%X-%d").print("%Y-%X-%d"); - var yearCheck = function (v) { - return Date.parseDateTime(v, "%Y").print("%Y") == v && date >= self.options.min && date <= self.options.max; - }; - var monthCheck = function (v) { - return Date.parseDateTime(v, "%Y-%X").print("%Y-%X") == v && date >= self.options.min && date <= self.options.max; - }; - if (BI.isNotNull(dateObj) && Date.checkLegal(v)) { - switch (v.length) { - case this._const.yearLength: - if (yearCheck(v)) { - this.editor.setValue(v + "-"); - } - break; - case this._const.yearMonthLength: - if (monthCheck(v)) { - this.editor.setValue(v + "-"); - } - break; - } - } - }, - - setValue: function (v) { - var type, value, self = this; - var date = new Date(); - this.store_value = v; - if (BI.isNotNull(v)) { - type = v.type || BI.DateTrigger.MULTI_DATE_CALENDAR; value = v.value; - if(BI.isNull(value)){ - value = v; - } - } - var _setInnerValue = function (date, text) { - var dateStr = date.print("%Y-%x-%e"); - self.editor.setState(dateStr); - self.editor.setValue(dateStr); - self.setTitle(text + ":" + dateStr); - }; - switch (type) { - case BI.DateTrigger.MULTI_DATE_YEAR_PREV: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_PREV]; - date = new Date((date.getFullYear() - 1 * value), date.getMonth(), date.getDate()); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_YEAR_AFTER: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_AFTER]; - date = new Date((date.getFullYear() + 1 * value), date.getMonth(), date.getDate()); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_YEAR_BEGIN: - var text = BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_BEGIN]; - date = new Date(date.getFullYear(), 0, 1); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_YEAR_END: - var text = BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_END]; - date = new Date(date.getFullYear(), 11, 31); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_QUARTER_PREV: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_PREV]; - date = new Date().getBeforeMulQuarter(value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_QUARTER_AFTER: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_AFTER]; - date = new Date().getAfterMulQuarter(value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_QUARTER_BEGIN: - var text = BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_BEGIN]; - date = new Date().getQuarterStartDate(); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_QUARTER_END: - var text = BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_END]; - date = new Date().getQuarterEndDate(); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_MONTH_PREV: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_PREV]; - date = new Date().getBeforeMultiMonth(value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_MONTH_AFTER: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_AFTER]; - date = new Date().getAfterMultiMonth(value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_MONTH_BEGIN: - var text = BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_BEGIN]; - date = new Date(date.getFullYear(), date.getMonth(), 1); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_MONTH_END: - var text = BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_END]; - date = new Date(date.getFullYear(), date.getMonth(), (date.getLastDateOfMonth()).getDate()); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_WEEK_PREV: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_WEEK_PREV]; - date = date.getOffsetDate(-7 * value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_WEEK_AFTER: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_WEEK_AFTER]; - date = date.getOffsetDate(7 * value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_DAY_PREV: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_DAY_PREV]; - date = date.getOffsetDate(-1 * value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_DAY_AFTER: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_DAY_AFTER]; - date = date.getOffsetDate(1 * value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_DAY_TODAY: - var text = BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_DAY_TODAY]; - date = new Date(); - _setInnerValue(date, text); - break; - default: - if (BI.isNull(value) || BI.isNull(value.day)) { - this.editor.setState(""); - this.editor.setValue(""); - this.setTitle(""); - } else { - var dateStr = value.year + "-" + (value.month + 1) + "-" + value.day; - this.editor.setState(dateStr); - this.editor.setValue(dateStr); - this.setTitle(dateStr); - } - break; - } - }, - - getKey: function () { - return this.editor.getValue(); - }, - getValue: function () { - return this.store_value; - } - -}); - -BI.DateTrigger.MULTI_DATE_YEAR_PREV = 1; -BI.DateTrigger.MULTI_DATE_YEAR_AFTER = 2; -BI.DateTrigger.MULTI_DATE_YEAR_BEGIN = 3; -BI.DateTrigger.MULTI_DATE_YEAR_END = 4; - -BI.DateTrigger.MULTI_DATE_MONTH_PREV = 5; -BI.DateTrigger.MULTI_DATE_MONTH_AFTER = 6; -BI.DateTrigger.MULTI_DATE_MONTH_BEGIN = 7; -BI.DateTrigger.MULTI_DATE_MONTH_END = 8; - -BI.DateTrigger.MULTI_DATE_QUARTER_PREV = 9; -BI.DateTrigger.MULTI_DATE_QUARTER_AFTER = 10; -BI.DateTrigger.MULTI_DATE_QUARTER_BEGIN = 11; -BI.DateTrigger.MULTI_DATE_QUARTER_END = 12; - -BI.DateTrigger.MULTI_DATE_WEEK_PREV = 13; -BI.DateTrigger.MULTI_DATE_WEEK_AFTER = 14; - -BI.DateTrigger.MULTI_DATE_DAY_PREV = 15; -BI.DateTrigger.MULTI_DATE_DAY_AFTER = 16; -BI.DateTrigger.MULTI_DATE_DAY_TODAY = 17; - -BI.DateTrigger.MULTI_DATE_PARAM = 18; -BI.DateTrigger.MULTI_DATE_CALENDAR = 19; - -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM = {}; -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_PREV] = BI.i18nText("BI-Multi_Date_Year_Prev"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_AFTER] = BI.i18nText("BI-Multi_Date_Year_Next"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_BEGIN] = BI.i18nText("BI-Multi_Date_Year_Begin"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_END] = BI.i18nText("BI-Multi_Date_Year_End"); - -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_PREV] = BI.i18nText("BI-Multi_Date_Quarter_Prev"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_AFTER] = BI.i18nText("BI-Multi_Date_Quarter_Next"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_BEGIN] = BI.i18nText("BI-Multi_Date_Quarter_Begin"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_END] = BI.i18nText("BI-Multi_Date_Quarter_End"); - -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_PREV] = BI.i18nText("BI-Multi_Date_Month_Prev"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_AFTER] = BI.i18nText("BI-Multi_Date_Month_Next"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_BEGIN] = BI.i18nText("BI-Multi_Date_Month_Begin"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_END] = BI.i18nText("BI-Multi_Date_Month_End"); - -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_WEEK_PREV] = BI.i18nText("BI-Multi_Date_Week_Prev"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_WEEK_AFTER] = BI.i18nText("BI-Multi_Date_Week_Next"); - -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_DAY_PREV] = BI.i18nText("BI-Multi_Date_Day_Prev"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_DAY_AFTER] = BI.i18nText("BI-Multi_Date_Day_Next"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_DAY_TODAY] = BI.i18nText("BI-Multi_Date_Today"); - -BI.DateTrigger.EVENT_FOCUS = "EVENT_FOCUS"; -BI.DateTrigger.EVENT_START = "EVENT_START"; -BI.DateTrigger.EVENT_STOP = "EVENT_STOP"; -BI.DateTrigger.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.DateTrigger.EVENT_CHANGE = "EVENT_CHANGE"; -BI.DateTrigger.EVENT_VALID = "EVENT_VALID"; -BI.DateTrigger.EVENT_ERROR = "EVENT_ERROR"; -BI.DateTrigger.EVENT_TRIGGER_CLICK = "EVENT_TRIGGER_CLICK"; -BI.DateTrigger.EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; -BI.shortcut("bi.date_trigger", BI.DateTrigger);/** - * Created by zcf on 2017/2/20. - */ -BI.DatePaneWidget = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.DatePaneWidget.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-date-pane", - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - selectedTime: null - }) - }, - _init: function () { - BI.DatePaneWidget.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.today = new Date(); - this._year = this.today.getFullYear(); - this._month = this.today.getMonth(); - - this.selectedTime = o.selectedTime || { - year: this._year, - month: this._month - }; - - this.datePicker = BI.createWidget({ - type: "bi.date_picker", - min: o.min, - max: o.max - }); - this.datePicker.on(BI.DatePicker.EVENT_CHANGE, function () { - self.selectedTime = self.datePicker.getValue(); - // self.selectedTime.day = 1; - self.calendar.setSelect(BI.Calendar.getPageByDateJSON(self.selectedTime)); - }); - - this.calendar = BI.createWidget({ - direction: "top", - element: this, - logic: { - dynamic: false - }, - type: "bi.navigation", - tab: this.datePicker, - cardCreator: BI.bind(this._createNav, this) - - // afterCardCreated: function () { - // - // }, - // - // afterCardShow: function () { - // // this.setValue(self.selectedTime); - // } - }); - this.calendar.on(BI.Navigation.EVENT_CHANGE, function () { - self.selectedTime = self.calendar.getValue(); - self.calendar.empty(); - self.setValue(self.selectedTime); - self.fireEvent(BI.DateCalendarPopup.EVENT_CHANGE); - }); - - }, - - _createNav: function (v) { - var date = BI.Calendar.getDateJSONByPage(v); - var calendar = BI.createWidget({ - type: "bi.calendar", - logic: { - dynamic: false - }, - min: this.options.min, - max: this.options.max, - year: date.year, - month: date.month, - day: this.selectedTime.day - }); - return calendar; - }, - - _getNewCurrentDate: function () { - var today = new Date(); - return { - year: today.getFullYear(), - month: today.getMonth() - } - }, - - _setCalenderValue: function (date) { - this.calendar.setSelect(BI.Calendar.getPageByDateJSON(date)); - this.calendar.setValue(date); - this.selectedTime = date; - }, - - _setDatePicker: function (timeOb) { - if (BI.isNull(timeOb) || BI.isNull(timeOb.year) || BI.isNull(timeOb.month)) { - this.datePicker.setValue(this._getNewCurrentDate()); - } else { - this.datePicker.setValue(timeOb); - } - }, - - _setCalendar: function (timeOb) { - if (BI.isNull(timeOb) || BI.isNull(timeOb.day)) { - this.calendar.empty(); - this._setCalenderValue(this._getNewCurrentDate()); - } else { - this._setCalenderValue(timeOb) - } - }, - - setValue: function (timeOb) { - this._setDatePicker(timeOb); - this._setCalendar(timeOb); - }, - - getValue: function () { - return this.selectedTime; - } - -}); -BI.shortcut("bi.date_pane", BI.DatePaneWidget);/** - * Created by Urthur on 2017/7/14. - */ -BI.DateTimeCombo = BI.inherit(BI.Single, { - constants: { - popupHeight: 290, - popupWidth: 270, - comboAdjustHeight: 1, - border: 1, - DATE_MIN_VALUE: "1900-01-01", - DATE_MAX_VALUE: "2099-12-31" - }, - _defaultConfig: function () { - return BI.extend(BI.DateTimeCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-date-time-combo bi-border', - width: 200, - height: 24 - }); - }, - _init: function () { - BI.DateTimeCombo.superclass._init.apply(this, arguments); - var self = this, opts = this.options; - var date = new Date(); - this.storeValue = { - year: date.getFullYear(), - month: date.getMonth(), - day: date.getDate(), - hour: date.getHours(), - minute: date.getMinutes(), - second: date.getSeconds() - }; - this.trigger = BI.createWidget({ - type: 'bi.date_time_trigger', - min: this.constants.DATE_MIN_VALUE, - max: this.constants.DATE_MAX_VALUE - }); - - this.popup = BI.createWidget({ - type: "bi.date_time_popup", - min: this.constants.DATE_MIN_VALUE, - max: this.constants.DATE_MAX_VALUE - }); - self.setValue(this.storeValue); - - this.popup.on(BI.DateTimePopup.BUTTON_CANCEL_EVENT_CHANGE, function () { - self.setValue(self.storeValue); - self.hidePopupView(); - self.fireEvent(BI.DateTimeCombo.EVENT_CANCEL); - }); - this.popup.on(BI.DateTimePopup.BUTTON_OK_EVENT_CHANGE, function () { - self.storeValue = self.popup.getValue(); - self.setValue(self.storeValue); - self.hidePopupView(); - self.fireEvent(BI.DateTimeCombo.EVENT_CONFIRM); - }); - this.popup.on(BI.DateTimePopup.CALENDAR_EVENT_CHANGE, function () { - self.trigger.setValue(self.popup.getValue()); - self.fireEvent(BI.DateTimeCombo.EVENT_CHANGE); - }); - this.combo = BI.createWidget({ - type: 'bi.combo', - toggle: false, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - adjustLength: this.constants.comboAdjustHeight, - popup: { - el: this.popup, - maxHeight: this.constants.popupHeight, - width: this.constants.popupWidth, - stopPropagation: false - } - }); - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - self.popup.setValue(self.storeValue); - self.fireEvent(BI.DateTimeCombo.EVENT_BEFORE_POPUPVIEW); - }); - - var triggerBtn = BI.createWidget({ - type: "bi.icon_button", - cls: "bi-trigger-icon-button date-font bi-border-right", - width: 24, - height: 24 - }); - triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE, function () { - if (self.combo.isViewVisible()) { - self.combo.hideView(); - } else { - self.combo.showView(); - } - }); - - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - type: "bi.absolute", - items: [{ - el: this.combo, - top: 0, - left: 0, - right: 0, - bottom: 0 - }, { - el: triggerBtn, - top: 0, - left: 0 - }] - }] - }) - }, - - setValue: function (v) { - this.storeValue = v; - this.popup.setValue(v); - this.trigger.setValue(v); - }, - getValue: function () { - return this.storeValue; - }, - - hidePopupView: function () { - this.combo.hideView(); - } -}); - -BI.DateTimeCombo.EVENT_CANCEL = "EVENT_CANCEL"; -BI.DateTimeCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.DateTimeCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.DateTimeCombo.EVENT_BEFORE_POPUPVIEW = "BI.DateTimeCombo.EVENT_BEFORE_POPUPVIEW"; -BI.shortcut('bi.date_time_combo', BI.DateTimeCombo); -/** - * Created by Urthur on 2017/7/14. - */ -BI.DateTimePopup = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.DateTimePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-date-time-popup', - width: 268, - height: 290 - }); - }, - _init: function () { - BI.DateTimePopup.superclass._init.apply(this, arguments); - var self = this, opts = this.options; - this.cancelButton = BI.createWidget({ - type: 'bi.text_button', - forceCenter: true, - cls: 'multidate-popup-button bi-border-top bi-border-right', - shadow: true, - text: BI.i18nText("BI-Basic_Cancel") - }); - this.cancelButton.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.DateTimePopup.BUTTON_CANCEL_EVENT_CHANGE); - }); - - this.okButton = BI.createWidget({ - type: "bi.text_button", - forceCenter: true, - cls: 'multidate-popup-button bi-border-top', - shadow: true, - text: BI.i18nText("BI-Basic_OK") - }); - this.okButton.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.DateTimePopup.BUTTON_OK_EVENT_CHANGE); - }); - - this.dateCombo = BI.createWidget({ - type: "bi.date_calendar_popup", - min: self.options.min, - max: self.options.max - }); - self.dateCombo.on(BI.DateCalendarPopup.EVENT_CHANGE, function () { - self.fireEvent(BI.DateTimePopup.CALENDAR_EVENT_CHANGE); - }); - - this.dateSelect = BI.createWidget({ - type: "bi.vertical_adapt", - cls: "bi-border-top", - items: [{ - type: "bi.label", - text: BI.i18nText("BI-Basic_Time"), - width: 45 - }, { - type: "bi.date_time_select", - max: 23, - min: 0, - width: 60, - height: 30, - listeners: [{ - eventName: BI.DateTimeSelect.EVENT_CONFIRM, - action: function () { - self.fireEvent(BI.DateTimePopup.CALENDAR_EVENT_CHANGE); - } - }], - ref: function (_ref) { - self.hour = _ref; - } - }, { - type: "bi.label", - text: ":", - width: 15 - }, { - type: "bi.date_time_select", - max: 59, - min: 0, - width: 60, - height: 30, - listeners: [{ - eventName: BI.DateTimeSelect.EVENT_CONFIRM, - action: function () { - self.fireEvent(BI.DateTimePopup.CALENDAR_EVENT_CHANGE); - } - }], - ref: function (_ref) { - self.minute = _ref; - } - }, { - type: "bi.label", - text: ":", - width: 15 - }, { - type: "bi.date_time_select", - max: 59, - min: 0, - width: 60, - height: 30, - listeners: [{ - eventName: BI.DateTimeSelect.EVENT_CONFIRM, - action: function () { - self.fireEvent(BI.DateTimePopup.CALENDAR_EVENT_CHANGE); - } - }], - ref: function (_ref) { - self.second = _ref; - } - }] - }); - - var date = new Date(); - this.dateCombo.setValue({ - year: date.getFullYear(), - month: date.getMonth(), - day: date.getDate() - }); - this.hour.setValue(date.getHours()); - this.minute.setValue(date.getMinutes()); - this.second.setValue(date.getSeconds()); - - this.dateButton = BI.createWidget({ - type: "bi.grid", - items: [[this.cancelButton, this.okButton]] - }); - BI.createWidget({ - element: this, - type: "bi.vtape", - items: [{ - el: this.dateCombo - }, { - el: this.dateSelect, - height: 50 - }, { - el: this.dateButton, - height: 30 - }] - }); - }, - - setValue: function (v) { - var value = v, date; - if (BI.isNull(value)) { - date = new Date(); - this.dateCombo.setValue({ - year: date.getFullYear(), - month: date.getMonth(), - day: date.getDate() - }); - this.hour.setValue(date.getHours()); - this.minute.setValue(date.getMinutes()); - this.second.setValue(date.getSeconds()); - } else { - this.dateCombo.setValue({ - year: value.year, - month: value.month, - day: value.day - }); - this.hour.setValue(value.hour); - this.minute.setValue(value.minute); - this.second.setValue(value.second); - } - }, - - getValue: function () { - return { - year: this.dateCombo.getValue().year, - month: this.dateCombo.getValue().month, - day: this.dateCombo.getValue().day, - hour: this.hour.getValue(), - minute: this.minute.getValue(), - second: this.second.getValue() - } - } -}); -BI.DateTimePopup.BUTTON_OK_EVENT_CHANGE = "BUTTON_OK_EVENT_CHANGE"; -BI.DateTimePopup.BUTTON_CANCEL_EVENT_CHANGE = "BUTTON_CANCEL_EVENT_CHANGE"; -BI.DateTimePopup.CALENDAR_EVENT_CHANGE = "CALENDAR_EVENT_CHANGE"; -BI.shortcut('bi.date_time_popup', BI.DateTimePopup); -/** - * Created by Urthur on 2017/7/14. - */ -BI.DateTimeSelect = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.DateTimeSelect.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-date-time-select bi-border", - max: 23, - min: 0 - }) - }, - - _init: function () { - BI.DateTimeSelect.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: "bi.sign_editor", - value: this._alertInEditorValue(o.min), - allowBlank: false, - errorText: BI.i18nText("BI-Please_Input_Natural_Number"), - validationChecker: function(v){ - return BI.isNaturalNumber(v); - } - }); - this.editor.on(BI.TextEditor.EVENT_CONFIRM, function(){ - self._finetuning(0); - self.fireEvent(BI.DateTimeSelect.EVENT_CONFIRM); - }); - this.topBtn = BI.createWidget({ - type: "bi.icon_button", - cls: "column-pre-page-h-font top-button bi-border-left bi-border-bottom" - }); - this.topBtn.on(BI.IconButton.EVENT_CHANGE, function(){ - self._finetuning(1); - self.fireEvent(BI.DateTimeSelect.EVENT_CONFIRM); - }); - this.bottomBtn = BI.createWidget({ - type: "bi.icon_button", - cls: "column-next-page-h-font bottom-button bi-border-left" - }); - this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function(){ - self._finetuning(-1); - self.fireEvent(BI.DateTimeSelect.EVENT_CONFIRM); - }); - this._finetuning(0); - BI.createWidget({ - type: "bi.htape", - element: this, - items: [this.editor, { - el: { - type: "bi.grid", - columns: 1, - rows: 2, - items: [{ - column: 0, - row: 0, - el: this.topBtn - }, { - column: 0, - row: 1, - el: this.bottomBtn - }] - }, - width: 30 - }] - }); - }, - - _alertOutEditorValue: function(v){ - if (v > this.options.max){ - v = this.options.min; - } - if (v < this.options.min){ - v = this.options.max - } - return BI.parseInt(v); - }, - - _alertInEditorValue: function(v){ - if (v > this.options.max){ - v = this.options.min; - } - if (v < this.options.min){ - v = this.options.max; - } - v = v < 10 ? "0" + v : v; - return v; - }, - - _finetuning: function(add){ - var v = BI.parseInt(this._alertOutEditorValue(this.editor.getValue())); - this.editor.setValue(this._alertInEditorValue(v + add)); - }, - - getValue: function () { - var v = this.editor.getValue(); - return this._alertOutEditorValue(v); - }, - - setValue: function (v) { - this.editor.setValue(this._alertInEditorValue(v)); - this._finetuning(0); - } - -}); -BI.DateTimeSelect.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.shortcut("bi.date_time_select", BI.DateTimeSelect);/** - * Created by Urthur on 2017/7/14. - */ -BI.DateTimeTrigger = BI.inherit(BI.Trigger, { - _const: { - hgap: 4, - }, - - _defaultConfig: function () { - return BI.extend(BI.DateTimeTrigger.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-date-time-trigger", - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - height: 24, - width: 200 - }); - }, - _init: function () { - BI.DateTimeTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - height: o.height, - width: o.width, - hgap: c.hgap - }); - - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - el: BI.createWidget(), - width: o.height - }, { - el: this.text - }] - }) - }, - - _printTime: function (v) { - return v < 10 ? "0" + v : v; - }, - - setValue: function (v) { - var self = this; - var value = v, dateStr; - if(BI.isNull(value)){ - value = new Date(); - dateStr = value.print("%Y-%X-%d %H:%M:%S"); - } else { - var date = new Date(value.year,value.month,value.day,value.hour,value.minute,value.second); - dateStr = date.print("%Y-%X-%d %H:%M:%S"); - - } - this.text.setText(dateStr); - this.text.setTitle(dateStr); - } - -}); -BI.shortcut("bi.date_time_trigger", BI.DateTimeTrigger);/** - * 带有方向的pathchooser - * - * Created by GUY on 2016/4/21. - * @class BI.DirectionPathChooser - * @extends BI.Widget - */ -BI.DirectionPathChooser = BI.inherit(BI.Widget, { - - _const: { - lineColor: "#808080", - selectLineColor: "#009de3" - }, - - _defaultConfig: function () { - return BI.extend(BI.DirectionPathChooser.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-excel-table", - items: [] - }); - }, - - _init: function () { - BI.DirectionPathChooser.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.pathChooser = BI.createWidget({ - type: "bi.path_chooser", - element: this, - items: o.items - }); - this.pathChooser.on(BI.PathChooser.EVENT_CHANGE, function (start, index) { - //self._unselectAllArrows(); - self._setValue(start, index); - self.fireEvent(BI.DirectionPathChooser.EVENT_CHANGE); - }); - this._drawArrows(); - - }, - - _unselectAllArrows: function () { - var self = this, lineColor = this._const.lineColor; - BI.each(this.arrows, function (region, rs) { - BI.each(rs, function (idx, arrows) { - BI.each(arrows, function (i, arrow) { - arrow.attr({fill: lineColor, stroke: lineColor}); - }); - }); - }); - }, - - _drawOneArrow: function (dot, direction) { - //0,1,2,3 上右下左 - var lineColor = this._const.lineColor; - var selectLineColor = this._const.selectLineColor; - var svg = this.pathChooser.svg; - var path = ""; - switch (direction) { - case 0: - path = "M" + dot.x + "," + dot.y - + "L" + (dot.x - 3) + "," + (dot.y + 5) - + "L" + (dot.x + 3) + "," + (dot.y + 5) - + "L" + dot.x + "," + dot.y; - break; - case 1: - path = "M" + dot.x + "," + dot.y - + "L" + (dot.x - 5) + "," + (dot.y - 3) - + "L" + (dot.x - 5) + "," + (dot.y + 3) - + "L" + dot.x + "," + dot.y; - break; - case 2: - path = "M" + dot.x + "," + dot.y - + "L" + (dot.x - 3) + "," + (dot.y - 5) - + "L" + (dot.x + 3) + "," + (dot.y - 5) - + "L" + dot.x + "," + dot.y; - break; - case 3: - path = "M" + dot.x + "," + dot.y - + "L" + (dot.x + 5) + "," + (dot.y - 3) - + "L" + (dot.x + 5) + "," + (dot.y + 3) - + "L" + dot.x + "," + dot.y; - break; - } - return svg.path(path).attr({fill: lineColor, stroke: lineColor}); - }, - - _drawArrows: function () { - var self = this, o = this.options; - var routes = this.pathChooser.routes; - var pathes = this.pathChooser.pathes; - var cache = this.pathChooser.cache; - this.arrows = {}; - BI.each(routes, function (region, ps) { - self.arrows[region] = []; - BI.each(ps, function (idx, path) { - self.arrows[region][idx] = []; - var dots = pathes[region][idx]; - BI.each(dots, function (i, dot) { - if (i > 0 && i < dots.length - 1) { - var arrow; - if (dot.y === dots[i - 1].y) { - if (dots[i + 1].y != dot.y) { - if (cache[path[path.length - 2]].direction === -1) { - if (i - 1 > 0) { - arrow = self._drawOneArrow(dots[i - 1], 3); - } - } else { - arrow = self._drawOneArrow(dots[i], 1); - } - } - } else if (dot.x === dots[i - 1].x) { - if (dot.y > dots[i - 1].y) { - if (cache[BI.first(path)].direction === -1) { - arrow = self._drawOneArrow(dots[i - 1], 0); - } else { - arrow = self._drawOneArrow(dot, 2); - } - } else { - if (cache[path[path.length - 2]].direction === -1) { - arrow = self._drawOneArrow(dots[i - 1], 2); - } else { - arrow = self._drawOneArrow(dot, 0); - } - } - } - if (arrow) { - self.arrows[region][idx].push(arrow); - } - } - }); - BI.each(path, function (i, node) { - if (i !== 0) { - var arrow; - var from = path[i - 1]; - if (cache[from].direction === -1) { - var regionIndex = self.pathChooser.getRegionIndexById(from); - var x = getXoffsetByRegionIndex(regionIndex, -1); - var y = getYByXoffset(dots, x); - arrow = self._drawOneArrow({x: x, y: y}, 3); - } else { - var regionIndex = self.pathChooser.getRegionIndexById(node); - var x = getXoffsetByRegionIndex(regionIndex); - var y = getYByXoffset(dots, x); - arrow = self._drawOneArrow({x: x, y: y}, 1); - } - if (arrow) { - self.arrows[region][idx].push(arrow); - } - } - }); - }) - }); - - function getXoffsetByRegionIndex(regionIndex, diregion) { - if (diregion === -1) { - return 100 * (regionIndex + 1) - 20; - } - return 100 * regionIndex + 20; - } - - function getYByXoffset(dots, xoffset) { - var finded = BI.find(dots, function (i, dot) { - if (i > 0) { - if (dots[i - 1].x < xoffset && dots[i].x > xoffset) { - return true; - } - } - }); - return finded.y; - } - }, - - _setValue: function (start, index) { - var self = this; - var lineColor = this._const.lineColor; - var selectLineColor = this._const.selectLineColor; - var routes = this.pathChooser.routes; - var starts = this.pathChooser.start; - var each = [start]; - if (starts.contains(start)) { - each = starts; - } - BI.each(each, function (i, s) { - BI.each(self.arrows[s], function (j, arrows) { - BI.each(arrows, function (k, arrow) { - arrow.attr({fill: lineColor, stroke: lineColor}).toFront(); - }); - }); - }); - BI.each(this.arrows[start][index], function (i, arrow) { - arrow.attr({fill: selectLineColor, stroke: selectLineColor}).toFront(); - }); - var current = BI.last(routes[start][index]); - while (current && routes[current] && routes[current].length === 1) { - BI.each(self.arrows[current][0], function (i, arrow) { - arrow.attr({fill: selectLineColor, stroke: selectLineColor}).toFront(); - }); - current = BI.last(routes[current][0]); - } - }, - - setValue: function (v) { - this.pathChooser.setValue(v); - this._unselectAllArrows(); - var routes = this.pathChooser.routes; - var nodes = BI.keys(routes), self = this; - var result = [], array = []; - BI.each(v, function (i, val) { - if (BI.contains(nodes, val)) { - if (array.length > 0) { - array.push(val); - result.push(array); - array = []; - } - } - array.push(val); - }); - if (array.length > 0) { - result.push(array); - } - //画这n条路径 - BI.each(result, function (idx, path) { - var start = path[0]; - var index = BI.findIndex(routes[start], function (idx, p) { - if (BI.isEqual(path, p)) { - return true; - } - }); - if (index >= 0) { - self._setValue(start, index); - } - }); - }, - - getValue: function () { - return this.pathChooser.getValue(); - }, - - populate: function (items) { - this.pathChooser.populate(items); - this._drawArrows(); - } -}); -BI.DirectionPathChooser.EVENT_CHANGE = "DirectionPathChooser.EVENT_CHANGE"; -BI.shortcut('bi.direction_path_chooser', BI.DirectionPathChooser);/** - * Created by roy on 15/8/14. - */ -BI.DownListCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.DownListCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-down-list-combo", - invalid: false, - height: 25, - items: [], - adjustLength: 0, - direction: "bottom", - trigger: "click", - container: null, - el: {} - }) - }, - - _init: function () { - BI.DownListCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.popupview = BI.createWidget({ - type: "bi.down_list_popup", - items: o.items, - chooseType: o.chooseType - }); - - this.popupview.on(BI.DownListPopup.EVENT_CHANGE, function (value) { - self.fireEvent(BI.DownListCombo.EVENT_CHANGE, value); - self.downlistcombo.hideView(); - }); - - this.popupview.on(BI.DownListPopup.EVENT_SON_VALUE_CHANGE, function (value, fatherValue) { - self.fireEvent(BI.DownListCombo.EVENT_SON_VALUE_CHANGE, value, fatherValue); - self.downlistcombo.hideView(); - }); - - - this.downlistcombo = BI.createWidget({ - element: this, - type: 'bi.combo', - trigger: o.trigger, - isNeedAdjustWidth: false, - container: o.container, - adjustLength: o.adjustLength, - direction: o.direction, - el: BI.createWidget(o.el, { - type: "bi.icon_trigger", - extraCls: o.iconCls ? o.iconCls : "pull-down-font", - width: o.width, - height: o.height - }), - popup: { - el: this.popupview, - stopPropagation: true, - maxHeight: 1000 - } - }); - - this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.DownListCombo.EVENT_BEFORE_POPUPVIEW); - }); - }, - - hideView: function () { - this.downlistcombo.hideView(); - }, - - showView: function () { - this.downlistcombo.showView(); - }, - - populate: function (items) { - this.popupview.populate(items); - }, - - setValue: function (v) { - this.popupview.setValue(v); - }, - getValue: function () { - return this.popupview.getValue() - } -}); -BI.DownListCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.DownListCombo.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE"; -BI.DownListCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; - -BI.shortcut("bi.down_list_combo", BI.DownListCombo);/** - * Created by roy on 15/9/6. - */ -BI.DownListGroup = BI.inherit(BI.Widget, { - constants: { - iconCls: "check-mark-ha-font" - }, - _defaultConfig: function () { - return BI.extend(BI.DownListGroup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-down-list-group", - items: [ - { - el: {} - } - ] - }) - }, - _init: function () { - BI.DownListGroup.superclass._init.apply(this, arguments); - var o = this.options, self = this; - - this.downlistgroup = BI.createWidget({ - element: this, - type: "bi.button_tree", - items: o.items, - chooseType: 0,//0单选,1多选 - layouts: [{ - type: "bi.vertical", - hgap: 0, - vgap: 0 - }] - }); - this.downlistgroup.on(BI.Controller.EVENT_CHANGE, function (type) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if(type === BI.Events.CLICK) { - self.fireEvent(BI.DownListGroup.EVENT_CHANGE, arguments); - } - }) - }, - getValue:function(){ - return this.downlistgroup.getValue(); - }, - setValue:function(v){ - this.downlistgroup.setValue(v); - } - - -}) -BI.DownListGroup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.down_list_group", BI.DownListGroup);BI.DownListItem = BI.inherit(BI.Single, { - _defaultConfig: function () { - var conf = BI.DownListItem.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-down-list-item bi-list-item-active", - cls: "", - height: 25, - logic: { - dynamic: true - }, - selected: false, - iconHeight: null, - iconWidth: null, - textHgap: 0, - textVgap: 0, - textLgap: 0, - textRgap: 0 - }) - }, - _init: function () { - BI.DownListItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.text = BI.createWidget({ - type: "bi.icon_text_item", - element: this, - height: o.height, - text: o.text, - value: o.value, - logic: o.logic, - selected: o.selected, - disabled: o.disabled, - iconHeight: o.iconHeight, - iconWidth: o.iconWidth, - textHgap: o.textHgap, - textVgap: o.textVgap, - textLgap: o.textLgap, - textRgap: o.textRgap, - father: o.father - }); - this.text.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.text.on(BI.IconTextItem.EVENT_CHANGE, function () { - self.fireEvent(BI.DownListItem.EVENT_CHANGE); - }); - // this.setSelected(o.selected); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - isSelected: function () { - return this.text.isSelected(); - }, - - setSelected: function (b) { - this.text.setSelected(b); - // if (b === true) { - // this.element.addClass("dot-e-font"); - // } else { - // this.element.removeClass("dot-e-font"); - // } - }, - - setValue: function (v) { - this.text.setValue(v); - }, - - getValue: function () { - return this.text.getValue(); - } -}); -BI.DownListItem.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.down_list_item", BI.DownListItem);BI.DownListGroupItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - var conf = BI.DownListGroupItem.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-down-list-group-item", - logic: { - dynamic: false - }, - // invalid: true, - iconCls1: "dot-e-font", - iconCls2: "pull-right-e-font" - }) - }, - _init: function () { - BI.DownListGroupItem.superclass._init.apply(this, arguments); - var o = this.options; - var self = this; - this.text = BI.createWidget({ - type: "bi.label", - cls: "list-group-item-text", - textAlign: "left", - text: o.text, - value: o.value, - height: o.height - }); - - this.icon1 = BI.createWidget({ - type: "bi.icon_button", - cls: o.iconCls1, - width: 25, - forceNotSelected: true - }); - - this.icon2 = BI.createWidget({ - type: "bi.icon_button", - cls: o.iconCls2, - width: 25, - forceNotSelected: true - }); - - var blank = BI.createWidget({ - type: "bi.layout", - width: 25 - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.icon2, - top: 0, - bottom: 0, - right: 0 - }] - }); - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic("horizontal", BI.extend(o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("left", this.icon1, this.text, blank) - })))); - - this.element.hover(function () { - if (self.isEnabled()) { - self.hover(); - } - }, function () { - if (self.isEnabled()) { - self.dishover() - } - }); - }, - - hover: function () { - BI.DownListGroupItem.superclass.hover.apply(this, arguments); - this.icon1.element.addClass("hover"); - this.icon2.element.addClass("hover"); - - }, - - dishover: function () { - BI.DownListGroupItem.superclass.dishover.apply(this, arguments); - this.icon1.element.removeClass("hover"); - this.icon2.element.removeClass("hover"); - }, - - doClick: function () { - BI.DownListGroupItem.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.DownListGroupItem.EVENT_CHANGE, this.getValue()); - } - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - setValue: function (v) { - var self = this, o = this.options; - v = BI.isArray(v) ? v : [v]; - BI.find(v, function (idx, value) { - if (BI.contains(o.childValues, value)) { - self.icon1.setSelected(true); - return true; - } else { - self.icon1.setSelected(false); - } - }) - } -}); -BI.DownListGroupItem.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.down_list_group_item", BI.DownListGroupItem);/** - * Created by roy on 15/9/8. - * 处理popup中的item分组样式 - * 一个item分组中的成员大于一时,该分组设置为单选,并且默认状态第一个成员设置为已选择项 - */ -BI.DownListPopup = BI.inherit(BI.Pane, { - constants: { - nextIcon: "pull-right-e-font", - height: 25, - iconHeight: 12, - iconWidth: 12, - hgap: 0, - vgap: 0, - border: 1 - }, - _defaultConfig: function () { - var conf = BI.DownListPopup.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-down-list-popup", - items: [], - chooseType: BI.Selection.Multi - }) - }, - _init: function () { - BI.DownListPopup.superclass._init.apply(this, arguments); - this.singleValues = []; - this.childValueMap = {}; - this.fatherValueMap = {}; - var self = this, o = this.options, children = this._createChildren(o.items); - this.popup = BI.createWidget({ - type: "bi.button_tree", - items: BI.createItems(children, - {}, { - adjustLength: -2 - } - ), - layouts: [{ - type: "bi.vertical", - hgap: this.constants.hgap, - vgap: this.constants.vgap - }], - chooseType: o.chooseType - }); - - this.popup.on(BI.ButtonTree.EVENT_CHANGE, function (value, object) { - var changedValue = value; - if (BI.isNotNull(self.childValueMap[value])) { - changedValue = self.childValueMap[value]; - self.fireEvent(BI.DownListPopup.EVENT_SON_VALUE_CHANGE, changedValue, self.fatherValueMap[value]) - } else { - self.fireEvent(BI.DownListPopup.EVENT_CHANGE, changedValue, object); - } - - - if (!self.singleValues.contains(changedValue)) { - var item = self.getValue(); - var result = []; - BI.each(item, function (i, valueObject) { - if (valueObject.value != changedValue) { - result.push(valueObject); - } - }); - self.setValue(result); - } - - }); - - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [this.popup] - }); - - }, - _createChildren: function (items) { - var self = this, result = []; - BI.each(items, function (i, it) { - var item_done = { - type: "bi.down_list_group", - items: [] - }; - - BI.each(it, function (i, item) { - if (BI.isNotEmptyArray(item.children) && !BI.isEmpty(item.el)) { - item.type = "bi.combo_group"; - item.cls = "down-list-group"; - item.trigger = "hover"; - item.isNeedAdjustWidth = false; - item.el.title = item.el.title || item.el.text; - item.el.type = "bi.down_list_group_item"; - item.el.logic = { - dynamic: true - }; - item.el.height = self.constants.height; - item.el.iconCls2 = self.constants.nextIcon; - item.popup = { - lgap: 4, - el: { - type: "bi.button_tree", - chooseType: 0, - layouts: [{ - type: "bi.vertical" - }] - - } - }; - item.el.childValues = []; - BI.each(item.children, function (i, child) { - var fatherValue = BI.deepClone(item.el.value); - var childValue = BI.deepClone(child.value); - self.singleValues.push(child.value); - child.type = "bi.down_list_item"; - child.extraCls = " child-down-list-item"; - child.title = child.title || child.text; - child.textRgap = 10; - child.isNeedAdjustWidth = false; - child.logic = { - dynamic: true - }; - child.father = fatherValue; - self.fatherValueMap[self._createChildValue(fatherValue, childValue)] = fatherValue; - self.childValueMap[self._createChildValue(fatherValue, childValue)] = childValue; - child.value = self._createChildValue(fatherValue, childValue); - item.el.childValues.push(child.value); - }) - } else { - item.type = "bi.down_list_item"; - item.title = item.title || item.text; - item.textRgap = 10; - item.isNeedAdjustWidth = false; - item.logic = { - dynamic: true - } - } - var el_done = {}; - el_done.el = item; - item_done.items.push(el_done); - }); - if (self._isGroup(item_done.items)) { - BI.each(item_done.items, function (i, item) { - self.singleValues.push(item.el.value); - }) - } - - result.push(item_done); - if (self._needSpliter(i, items.length)) { - var spliter_container = BI.createWidget({ - type: "bi.vertical", - items: [{ - el: { - type: "bi.layout", - cls: "bi-down-list-spliter bi-border-top cursor-pointer", - height: 0 - } - - }], - cls: "bi-down-list-spliter-container cursor-pointer", - lgap: 10, - rgap: 10 - }); - result.push(spliter_container); - } - }); - return result; - }, - - _isGroup: function (i) { - return i.length > 1; - }, - - _needSpliter: function (i, itemLength) { - return i < itemLength - 1; - }, - - _createChildValue: function (fatherValue, childValue) { - return fatherValue + "_" + childValue - }, - - populate: function (items) { - BI.DownListPopup.superclass.populate.apply(this, arguments); - var self = this; - self.childValueMap = {}; - self.fatherValueMap = {}; - self.singleValues = []; - var children = self._createChildren(items); - var popupItem = BI.createItems(children, - {}, { - adjustLength: -2 - } - ); - self.popup.populate(popupItem); - }, - - setValue: function (valueItem) { - var self = this; - var valueArray = []; - BI.each(valueItem, function (i, item) { - var value; - if (BI.isNotNull(item.childValue)) { - value = self._createChildValue(item.value, item.childValue); - } else { - value = item.value; - } - valueArray.push(value); - } - ); - this.popup.setValue(valueArray); - }, - - getValue: function () { - var self = this, result = []; - var values = this.popup.getValue(); - BI.each(values, function (i, value) { - var valueItem = {}; - if (BI.isNotNull(self.childValueMap[value])) { - var fartherValue = self.fatherValueMap[value]; - valueItem.childValue = self.childValueMap[value]; - valueItem.value = fartherValue; - } else { - valueItem.value = value; - } - result.push(valueItem); - }); - return result; - } - - -}); - -BI.DownListPopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.DownListPopup.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE"; -BI.shortcut("bi.down_list_popup", BI.DownListPopup);/** - * Created by roy on 15/9/14. - */ -BI.SearchEditor = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.SearchEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-search-editor bi-border", - height: 24, - errorText: "", - watermark: BI.i18nText("BI-Basic_Search"), - validationChecker: BI.emptyFn, - quitChecker: BI.emptyFn - }); - }, - _init: function () { - this.options.height -= 2; - BI.SearchEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: "bi.editor", - height: o.height, - watermark: o.watermark, - allowBlank: true, - errorText: o.errorText, - validationChecker: o.validationChecker, - quitChecker: o.quitChecker - }); - this.clear = BI.createWidget({ - type: "bi.icon_button", - stopEvent: true, - cls: "search-close-h-font" - }); - this.clear.on(BI.IconButton.EVENT_CHANGE, function () { - self.setValue(""); - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.STOPEDIT); - self.fireEvent(BI.SearchEditor.EVENT_CLEAR); - }); - BI.createWidget({ - element: this, - type: "bi.htape", - items: [ - { - el: { - type: "bi.center_adapt", - cls: "search-font", - items: [{ - el: { - type: "bi.icon" - } - }] - }, - width: 25 - }, - { - el: self.editor - }, - { - el: this.clear, - width: 25 - } - ] - }); - this.editor.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.editor.on(BI.Editor.EVENT_FOCUS, function () { - self.fireEvent(BI.SearchEditor.EVENT_FOCUS); - }); - this.editor.on(BI.Editor.EVENT_BLUR, function () { - self.fireEvent(BI.SearchEditor.EVENT_BLUR); - }); - this.editor.on(BI.Editor.EVENT_CLICK, function () { - self.fireEvent(BI.SearchEditor.EVENT_CLICK); - }); - this.editor.on(BI.Editor.EVENT_CHANGE, function () { - self._checkClear(); - self.fireEvent(BI.SearchEditor.EVENT_CHANGE); - }); - this.editor.on(BI.Editor.EVENT_KEY_DOWN, function (v) { - self.fireEvent(BI.SearchEditor.EVENT_KEY_DOWN, v); - }); - this.editor.on(BI.Editor.EVENT_SPACE, function () { - self.fireEvent(BI.SearchEditor.EVENT_SPACE) - }); - this.editor.on(BI.Editor.EVENT_BACKSPACE, function () { - self.fireEvent(BI.SearchEditor.EVENT_BACKSPACE) - }); - - - this.editor.on(BI.Editor.EVENT_VALID, function () { - self.fireEvent(BI.SearchEditor.EVENT_VALID) - }); - this.editor.on(BI.Editor.EVENT_ERROR, function () { - self.fireEvent(BI.SearchEditor.EVENT_ERROR) - }); - this.editor.on(BI.Editor.EVENT_ENTER, function () { - self.fireEvent(BI.SearchEditor.EVENT_ENTER); - }); - this.editor.on(BI.Editor.EVENT_RESTRICT, function () { - self.fireEvent(BI.SearchEditor.EVENT_RESTRICT) - }); - this.editor.on(BI.Editor.EVENT_EMPTY, function () { - self._checkClear(); - self.fireEvent(BI.SearchEditor.EVENT_EMPTY) - }); - this.editor.on(BI.Editor.EVENT_REMOVE, function () { - self.fireEvent(BI.SearchEditor.EVENT_REMOVE) - }); - this.editor.on(BI.Editor.EVENT_CONFIRM, function () { - self.fireEvent(BI.SearchEditor.EVENT_CONFIRM) - }); - this.editor.on(BI.Editor.EVENT_START, function () { - self.fireEvent(BI.SearchEditor.EVENT_START); - }); - this.editor.on(BI.Editor.EVENT_PAUSE, function () { - self.fireEvent(BI.SearchEditor.EVENT_PAUSE); - }); - this.editor.on(BI.Editor.EVENT_STOP, function () { - self.fireEvent(BI.SearchEditor.EVENT_STOP); - }); - - this.clear.invisible(); - }, - - _checkClear: function () { - if (!this.getValue()) { - this.clear.invisible(); - } else { - this.clear.visible(); - } - }, - - focus: function () { - this.editor.focus(); - }, - - blur: function () { - this.editor.blur(); - }, - - getValue: function () { - if (this.isValid()) { - var res = this.editor.getValue().match(/[\S]+/g); - return BI.isNull(res) ? "" : res[res.length - 1]; - } - }, - - getLastValidValue: function () { - return this.editor.getLastValidValue(); - }, - - setValue: function (v) { - this.editor.setValue(v); - if (BI.isKey(v)) { - this.clear.visible(); - } - }, - - isEditing: function () { - return this.editor.isEditing(); - }, - - isValid: function () { - return this.editor.isValid(); - } -}); -BI.SearchEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.SearchEditor.EVENT_FOCUS = "EVENT_FOCUS"; -BI.SearchEditor.EVENT_BLUR = "EVENT_BLUR"; -BI.SearchEditor.EVENT_CLICK = "EVENT_CLICK"; -BI.SearchEditor.EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; -BI.SearchEditor.EVENT_SPACE = "EVENT_SPACE"; -BI.SearchEditor.EVENT_BACKSPACE = "EVENT_BACKSPACE"; -BI.SearchEditor.EVENT_CLEAR = "EVENT_CLEAR"; - -BI.SearchEditor.EVENT_START = "EVENT_START"; -BI.SearchEditor.EVENT_PAUSE = "EVENT_PAUSE"; -BI.SearchEditor.EVENT_STOP = "EVENT_STOP"; -BI.SearchEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.SearchEditor.EVENT_VALID = "EVENT_VALID"; -BI.SearchEditor.EVENT_ERROR = "EVENT_ERROR"; -BI.SearchEditor.EVENT_ENTER = "EVENT_ENTER"; -BI.SearchEditor.EVENT_RESTRICT = "EVENT_RESTRICT"; -BI.SearchEditor.EVENT_REMOVE = "EVENT_REMOVE"; -BI.SearchEditor.EVENT_EMPTY = "EVENT_EMPTY"; -BI.shortcut("bi.search_editor", BI.SearchEditor);/** - * 小号搜索框 - * Created by GUY on 2015/9/29. - * @class BI.SmallSearchEditor - * @extends BI.SearchEditor - */ -BI.SmallSearchEditor = BI.inherit(BI.SearchEditor, { - _defaultConfig: function () { - var conf = BI.SmallSearchEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-small-search-editor", - height: 24 - }); - }, - - _init: function () { - BI.SmallSearchEditor.superclass._init.apply(this, arguments); - } -}); -BI.shortcut("bi.small_search_editor", BI.SmallSearchEditor);/** - * guy - * @class BI.TextEditor - * @extends BI.Single - */ -BI.TextEditor = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.TextEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-text-editor bi-border", - hgap: 4, - vgap: 2, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - validationChecker: BI.emptyFn, - quitChecker: BI.emptyFn, - allowBlank: false, - watermark: "", - errorText: "", - height: 24 - }) - }, - - _init: function () { - BI.TextEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (BI.isNumber(o.height)) { - this.element.css({height: o.height - 2}); - } - if (BI.isNumber(o.width)) { - this.element.css({width: o.width - 2}); - } - this.editor = BI.createWidget({ - type: "bi.editor", - height: o.height - 2, - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - value: o.value, - title: o.title, - tipType: o.tipType, - validationChecker: o.validationChecker, - quitChecker: o.quitChecker, - allowBlank: o.allowBlank, - watermark: o.watermark, - errorText: o.errorText - }); - this.editor.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.editor.on(BI.Editor.EVENT_FOCUS, function () { - self.fireEvent(BI.TextEditor.EVENT_FOCUS); - }); - this.editor.on(BI.Editor.EVENT_BLUR, function () { - self.fireEvent(BI.TextEditor.EVENT_BLUR); - }); - this.editor.on(BI.Editor.EVENT_CLICK, function () { - self.fireEvent(BI.TextEditor.EVENT_CLICK); - }); - this.editor.on(BI.Editor.EVENT_CHANGE, function () { - self.fireEvent(BI.TextEditor.EVENT_CHANGE); - }); - this.editor.on(BI.Editor.EVENT_KEY_DOWN, function (v) { - self.fireEvent(BI.TextEditor.EVENT_KEY_DOWN); - }); - this.editor.on(BI.Editor.EVENT_SPACE, function (v) { - self.fireEvent(BI.TextEditor.EVENT_SPACE); - }); - this.editor.on(BI.Editor.EVENT_BACKSPACE, function (v) { - self.fireEvent(BI.TextEditor.EVENT_BACKSPACE); - }); - - - this.editor.on(BI.Editor.EVENT_VALID, function () { - self.fireEvent(BI.TextEditor.EVENT_VALID); - }); - this.editor.on(BI.Editor.EVENT_CONFIRM, function () { - self.fireEvent(BI.TextEditor.EVENT_CONFIRM); - }); - this.editor.on(BI.Editor.EVENT_REMOVE, function (v) { - self.fireEvent(BI.TextEditor.EVENT_REMOVE); - }); - this.editor.on(BI.Editor.EVENT_START, function () { - self.fireEvent(BI.TextEditor.EVENT_START); - }); - this.editor.on(BI.Editor.EVENT_PAUSE, function () { - self.fireEvent(BI.TextEditor.EVENT_PAUSE); - }); - this.editor.on(BI.Editor.EVENT_STOP, function () { - self.fireEvent(BI.TextEditor.EVENT_STOP); - }); - this.editor.on(BI.Editor.EVENT_ERROR, function () { - self.fireEvent(BI.TextEditor.EVENT_ERROR, arguments); - }); - this.editor.on(BI.Editor.EVENT_ENTER, function () { - self.fireEvent(BI.TextEditor.EVENT_ENTER); - }); - this.editor.on(BI.Editor.EVENT_RESTRICT, function () { - self.fireEvent(BI.TextEditor.EVENT_RESTRICT); - }); - this.editor.on(BI.Editor.EVENT_EMPTY, function () { - self.fireEvent(BI.TextEditor.EVENT_EMPTY); - }); - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - element: this, - items: [this.editor] - }); - }, - - focus: function () { - this.editor.focus(); - }, - - blur: function () { - this.editor.blur(); - }, - - setErrorText: function (text) { - this.editor.setErrorText(text); - }, - - getErrorText: function () { - return this.editor.getErrorText(); - }, - - isValid: function () { - return this.editor.isValid(); - }, - - setValue: function (v) { - this.editor.setValue(v); - }, - - getValue: function () { - return this.editor.getValue(); - } -}); -BI.TextEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.TextEditor.EVENT_FOCUS = "EVENT_FOCUS"; -BI.TextEditor.EVENT_BLUR = "EVENT_BLUR"; -BI.TextEditor.EVENT_CLICK = "EVENT_CLICK"; -BI.TextEditor.EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; -BI.TextEditor.EVENT_SPACE = "EVENT_SPACE"; -BI.TextEditor.EVENT_BACKSPACE = "EVENT_BACKSPACE"; - -BI.TextEditor.EVENT_START = "EVENT_START"; -BI.TextEditor.EVENT_PAUSE = "EVENT_PAUSE"; -BI.TextEditor.EVENT_STOP = "EVENT_STOP"; -BI.TextEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.TextEditor.EVENT_VALID = "EVENT_VALID"; -BI.TextEditor.EVENT_ERROR = "EVENT_ERROR"; -BI.TextEditor.EVENT_ENTER = "EVENT_ENTER"; -BI.TextEditor.EVENT_RESTRICT = "EVENT_RESTRICT"; -BI.TextEditor.EVENT_REMOVE = "EVENT_REMOVE"; -BI.TextEditor.EVENT_EMPTY = "EVENT_EMPTY"; - -BI.shortcut("bi.text_editor", BI.TextEditor);/** - * 小号搜索框 - * Created by GUY on 2015/9/29. - * @class BI.SmallTextEditor - * @extends BI.SearchEditor - */ -BI.SmallTextEditor = BI.inherit(BI.TextEditor, { - _defaultConfig: function () { - var conf = BI.SmallTextEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-small-text-editor", - height: 25 - }); - }, - - _init: function () { - BI.SmallTextEditor.superclass._init.apply(this, arguments); - } -}); -BI.shortcut("bi.small_text_editor", BI.SmallTextEditor);/** - * 文件管理控件组 - * - * Created by GUY on 2015/12/11. - * @class BI.FileManagerButtonGroup - * @extends BI.Widget - */ -BI.FileManagerButtonGroup = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.FileManagerButtonGroup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-file-manager-button_group", - items: [] - }) - }, - - _init: function () { - BI.FileManagerButtonGroup.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.button_group = BI.createWidget({ - type: "bi.button_tree", - element: this, - chooseType: BI.Selection.Multi, - items: this._formatItems(o.items), - layouts: [{ - type: "bi.vertical" - }] - }); - this.button_group.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - }, - - _formatItems: function (items) { - var self = this, o = this.options; - BI.each(items, function (i, item) { - if (item.children && item.children.length > 0) { - item.type = "bi.file_manager_folder_item"; - } else { - item.type = "bi.file_manager_file_item"; - } - }); - return items; - }, - - setValue: function (v) { - this.button_group.setValue(v); - }, - - getValue: function () { - return this.button_group.getValue(); - }, - - getNotSelectedValue: function () { - return this.button_group.getNotSelectedValue(); - }, - - getAllLeaves: function () { - return this.button_group.getAllLeaves(); - }, - - getAllButtons: function () { - return this.button_group.getAllButtons(); - }, - - getSelectedButtons: function () { - return this.button_group.getSelectedButtons(); - }, - - getNotSelectedButtons: function () { - return this.button_group.getNotSelectedButtons(); - }, - - populate: function (items) { - this.button_group.populate(this._formatItems(items)); - } -}); -BI.FileManagerButtonGroup.EVENT_CHANGE = "FileManagerButtonGroup.EVENT_CHANGE"; -BI.shortcut("bi.file_manager_button_group", BI.FileManagerButtonGroup);/** - * 文件管理控件 - * - * Created by GUY on 2015/12/11. - * @class BI.FileManager - * @extends BI.Widget - */ -BI.FileManager = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.FileManager.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-file-manager", - el: {}, - items: [] - }) - }, - - _init: function () { - BI.FileManager.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.tree = new BI.Tree(); - var items = BI.Tree.transformToTreeFormat(o.items); - this.tree.initTree(items); - this.selectedValues = []; - this.nav = BI.createWidget({ - type: "bi.file_manager_nav", - items: BI.deepClone(items) - }); - this.nav.on(BI.FileManagerNav.EVENT_CHANGE, function (value, obj) { - if (value == "-1") {//根节点 - self.populate({children: self.tree.toJSON()}); - } else { - var node = self.tree.search(obj.attr("id")); - self.populate(BI.extend({id: node.id}, node.get("data"), {children: self.tree.toJSON(node)})); - } - self.setValue(self.selectedValues); - }); - this.list = BI.createWidget(o.el, { - type: "bi.file_manager_list", - items: items - }); - this.list.on(BI.Controller.EVENT_CHANGE, function (type, selected, obj) { - if (type === BI.Events.CHANGE) { - var node = self.tree.search(obj.attr("id")); - self.populate(BI.extend({id: node.id}, node.get("data"), {children: self.tree.toJSON(node)})); - } else if (type === BI.Events.CLICK) { - var values = []; - if (obj instanceof BI.MultiSelectBar) { - var t = self.list.getValue(); - selected = t.type === BI.Selection.All; - values = BI.concat(t.assist, t.value); - } else { - values = obj.getAllLeaves(); - } - BI.each(values, function (i, v) { - if (selected === true) { - self.selectedValues.pushDistinct(v); - } else { - self.selectedValues.remove(v); - } - }); - } - self.setValue(self.selectedValues); - }); - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.list, - left: 0, - right: 0, - top: 0, - bottom: 10 - }, { - el: this.nav, - left: 40, - right: 100, - top: 0 - }] - }); - }, - - setValue: function (value) { - this.selectedValues = value || []; - this.list.setValue(this.selectedValues); - }, - - getValue: function () { - var obj = this.list.getValue(); - var res = obj.type === BI.Selection.All ? obj.assist : obj.value; - res.pushDistinctArray(this.selectedValues); - return res; - }, - - _populate: function (items) { - this.list.populate(items); - }, - - getSelectedValue: function () { - return this.nav.getValue()[0]; - }, - - getSelectedId: function () { - return this.nav.getId()[0]; - }, - - populate: function (node) { - var clone = BI.deepClone(node); - this._populate(node.children); - this.nav.populate(clone); - } -}); -BI.FileManager.EVENT_CHANGE = "FileManager.EVENT_CHANGE"; -BI.shortcut("bi.file_manager", BI.FileManager);/** - * 文件管理控件 - * - * Created by GUY on 2015/12/11. - * @class BI.FileManagerFileItem - * @extends BI.Single - */ -BI.FileManagerFileItem = BI.inherit(BI.Single, { - - _defaultConfig: function () { - return BI.extend(BI.FileManagerFileItem.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-file-manager-file-item bi-list-item bi-border-bottom", - height: 30 - }) - }, - - _init: function () { - BI.FileManagerFileItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checked = BI.createWidget({ - type: "bi.multi_select_bar", - text: "", - width: 36, - height: o.height - }); - this.checked.on(BI.Controller.EVENT_CHANGE, function () { - arguments[2] = self; - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - el: this.checked, - width: 36 - }, { - el: { - type: "bi.icon_button", - cls: "create-by-me-file-font" - }, - width: 20 - }, { - el: { - type: "bi.label", - textAlign: "left", - height: o.height, - text: o.text, - value: o.value - } - }] - }) - }, - - getAllLeaves: function(){ - return [this.options.value]; - }, - - isSelected: function () { - return this.checked.isSelected(); - }, - - setSelected: function (v) { - this.checked.setSelected(v); - } -}); -BI.FileManagerFileItem.EVENT_CHANGE = "FileManagerFileItem.EVENT_CHANGE"; -BI.shortcut("bi.file_manager_file_item", BI.FileManagerFileItem);/** - * 文件管理控件 - * - * Created by GUY on 2015/12/11. - * @class BI.FileManagerFolderItem - * @extends BI.Single - */ -BI.FileManagerFolderItem = BI.inherit(BI.Single, { - - _defaultConfig: function () { - return BI.extend(BI.FileManagerFolderItem.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-file-manager-folder-item bi-list-item bi-border-bottom", - height: 30 - }) - }, - - _init: function () { - BI.FileManagerFolderItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checked = BI.createWidget({ - type: "bi.multi_select_bar", - text: "", - width: 36, - height: o.height - }); - this.checked.on(BI.Controller.EVENT_CHANGE, function () { - arguments[2] = self; - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.button = BI.createWidget({ - type: "bi.text_button", - textAlign: "left", - height: o.height, - text: o.text, - value: o.value - }); - this.button.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.CHANGE, o.value, self); - }); - - this.tree = new BI.Tree(); - this.tree.initTree([{ - id: o.id, - children: o.children - }]); - this.selectValue = []; - - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - el: this.checked, - width: 36 - }, { - el: { - type: "bi.icon_button", - cls: "create-by-me-folder-font" - }, - width: 20 - }, { - el: this.button - }] - }) - }, - - setAllSelected: function (v) { - this.checked.setSelected(v); - this.selectValue = []; - }, - - setHalfSelected: function (v) { - this.checked.setHalfSelected(v); - if(!v){ - this.selectValue = []; - } - }, - - setValue: function (v) { - var self = this, o = this.options; - var isHalf = false; - var selectValue = []; - this.tree.traverse(function (node) { - if (node.isLeaf()) { - if (BI.contains(v, node.get("data").value)) { - selectValue.push(node.get("data").value); - } else { - isHalf = true; - } - } - }); - this.setAllSelected(selectValue.length > 0 && !isHalf); - this.setHalfSelected(selectValue.length > 0 && isHalf); - if (this.checked.isHalfSelected()) { - this.selectValue = selectValue; - } - }, - - getAllButtons: function () { - return [this]; - }, - - getAllLeaves: function () { - var o = this.options; - var res = []; - this.tree.traverse(function (node) { - if (node.isLeaf()) { - res.push(node.get("data").value) - } - }); - return res; - }, - - getNotSelectedValue: function () { - var self = this, o = this.options; - var res = []; - var isAllSelected = this.checked.isSelected(); - if (isAllSelected === true) { - return res; - } - var isHalfSelected = this.checked.isHalfSelected(); - this.tree.traverse(function (node) { - if (node.isLeaf()) { - var v = node.get("data").value; - if (isHalfSelected === true) { - if (!BI.contains(self.selectValue, node.get("data").value)) { - res.push(v); - } - } else { - res.push(v); - } - } - }); - return res; - }, - - getValue: function () { - var res = []; - if (this.checked.isSelected()) { - this.tree.traverse(function (node) { - if (node.isLeaf()) { - res.push(node.get("data").value); - } - }); - return res; - } - if (this.checked.isHalfSelected()) { - return this.selectValue; - } - return []; - } -}); -BI.FileManagerFolderItem.EVENT_CHANGE = "FileManagerFolderItem.EVENT_CHANGE"; -BI.shortcut("bi.file_manager_folder_item", BI.FileManagerFolderItem);/** - * 文件管理控件列表 - * - * Created by GUY on 2015/12/11. - * @class BI.FileManagerList - * @extends BI.Widget - */ -BI.FileManagerList = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.FileManagerList.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-file-manager-list", - el: {}, - items: [] - }) - }, - - _init: function () { - BI.FileManagerList.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.list = BI.createWidget({ - type: "bi.select_list", - element: this, - items: o.items, - toolbar: { - type: "bi.multi_select_bar", - height: 40, - text: "" - }, - el: { - type: "bi.list_pane", - el: BI.isWidget(o.el) ? o.el : BI.extend({ - type: "bi.file_manager_button_group" - }, o.el) - } - }); - this.list.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - }, - - setValue: function (v) { - this.list.setValue({ - value: v - }); - }, - - getValue: function () { - return this.list.getValue(); - }, - - populate: function (items) { - this.list.populate(items); - this.list.setToolBarVisible(true); - } -}); -BI.FileManagerList.EVENT_CHANGE = "FileManagerList.EVENT_CHANGE"; -BI.shortcut("bi.file_manager_list", BI.FileManagerList);/** - * 文件管理导航按钮 - * - * Created by GUY on 2015/12/11. - * @class BI.FileManagerNavButton - * @extends BI.Widget - */ -BI.FileManagerNavButton = BI.inherit(BI.Widget, { - - _const: { - normal_color: "#ffffff", - select_color: "#eff1f4" - }, - _defaultConfig: function () { - return BI.extend(BI.FileManagerNavButton.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-file-manager-nav-button", - selected: false, - height: 40 - }) - }, - - _init: function () { - BI.FileManagerNavButton.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.button = BI.createWidget({ - type: "bi.text_button", - cls: "file-manager-nav-button-text bi-card", - once: true, - selected: o.selected, - text: o.text, - title: o.text, - value: o.value, - height: o.height, - lgap: 20, - rgap: 10 - }); - this.button.on(BI.Controller.EVENT_CHANGE, function () { - arguments[2] = self; - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - var svg = BI.createWidget({ - type: "bi.svg", - cls: "file-manager-nav-button-triangle", - width: 15, - height: o.height - }); - var path = svg.path("M0,0L15,20L0,40").attr({ - "stroke": c.select_color, - "fill": o.selected ? c.select_color : c.normal_color - }); - this.button.on(BI.TextButton.EVENT_CHANGE, function () { - if (this.isSelected()) { - path.attr("fill", c.select_color); - } else { - path.attr("fill", c.normal_color); - } - }); - BI.createWidget({ - type: "bi.default", - element: this, - items: [this.button] - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: svg, - right: -15, - top: 0, - bottom: 0 - }] - }) - }, - - isSelected: function () { - return this.button.isSelected(); - }, - - setValue: function (v) { - this.button.setValue(v); - }, - - getValue: function () { - return this.button.getValue(); - }, - - populate: function (items) { - - } -}); -BI.FileManagerNavButton.EVENT_CHANGE = "FileManagerNavButton.EVENT_CHANGE"; -BI.shortcut("bi.file_manager_nav_button", BI.FileManagerNavButton);/** - * 文件管理导航 - * - * Created by GUY on 2015/12/11. - * @class BI.FileManagerNav - * @extends BI.Widget - */ -BI.FileManagerNav = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.FileManagerNav.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-file-manager-nav bi-border-left", - height: 40, - items: [] - }) - }, - - _init: function () { - BI.FileManagerNav.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.tree = new BI.Tree(); - this.refreshTreeData(o.items); - this.tree.getRoot().set("data", { - text: BI.i18nText("BI-Created_By_Me"), - value: BI.FileManagerNav.ROOT_CREATE_BY_ME, - id: BI.FileManagerNav.ROOT_CREATE_BY_ME - }); - this.button_group = BI.createWidget({ - type: "bi.button_group", - element: this, - items: [{ - type: "bi.file_manager_nav_button", - text: BI.i18nText("BI-Created_By_Me"), - selected: true, - id: BI.FileManagerNav.ROOT_CREATE_BY_ME, - value: BI.FileManagerNav.ROOT_CREATE_BY_ME - }], - layouts: [{ - type: "bi.horizontal" - }] - }); - this.button_group.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.button_group.on(BI.ButtonGroup.EVENT_CHANGE, function (value, obj) { - self.fireEvent(BI.FileManagerNav.EVENT_CHANGE, arguments); - }); - }, - - _getAllParents: function (id) { - var node, res = []; - if (!id) { - node = this.tree.getRoot(); - } else { - node = this.tree.search(id); - } - while (node.parent) { - res.push(node); - node = node.parent; - } - res.push(node); - return res.reverse(); - }, - - _formatNodes: function (nodes) { - var res = []; - BI.each(nodes, function (i, node) { - res.push(BI.extend({ - type: "bi.file_manager_nav_button", - id: node.id - }, node.get("data"))); - }); - BI.last(res).selected = true; - return res; - }, - - getValue: function () { - return this.button_group.getValue(); - }, - - getId: function () { - var ids = []; - BI.each(this.button_group.getSelectedButtons(), function (i, btn) { - ids.push(btn.attr("id")); - }); - return ids; - }, - - refreshTreeData: function(items){ - this.tree.initTree(BI.Tree.transformToTreeFormat(items)); - this.tree.getRoot().set("data", { - text: BI.i18nText("BI-Created_By_Me"), - value: BI.FileManagerNav.ROOT_CREATE_BY_ME, - id: BI.FileManagerNav.ROOT_CREATE_BY_ME - }); - }, - - populate: function (node) { - var parents = BI.isNull(node) ? [this.tree.getRoot()] : this._getAllParents(node.id); - this.button_group.populate(this._formatNodes(parents)); - } -}); -BI.extend(BI.FileManagerNav, { - ROOT_CREATE_BY_ME: "-1" -}); -BI.FileManagerNav.EVENT_CHANGE = "FileManagerNav.EVENT_CHANGE"; -BI.shortcut("bi.file_manager_nav", BI.FileManagerNav);/** - * 交互行为布局 - * - * - * Created by GUY on 2016/7/23. - * @class BI.InteractiveArrangement - * @extends BI.Widget - */ -BI.InteractiveArrangement = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.InteractiveArrangement.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-interactive-arrangement", - resizable: true, - layoutType: BI.Arrangement.LAYOUT_TYPE.GRID, - items: [] - }); - }, - - _init: function () { - BI.InteractiveArrangement.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.arrangement = BI.createWidget({ - type: "bi.adaptive_arrangement", - element: this, - resizable: o.resizable, - layoutType: o.layoutType, - items: o.items - }); - this.arrangement.on(BI.AdaptiveArrangement.EVENT_SCROLL, function () { - self.fireEvent(BI.InteractiveArrangement.EVENT_SCROLL, arguments); - }); - this.arrangement.on(BI.AdaptiveArrangement.EVENT_RESIZE, function () { - self.fireEvent(BI.InteractiveArrangement.EVENT_RESIZE, arguments); - }); - - this.arrangement.on(BI.AdaptiveArrangement.EVENT_ELEMENT_RESIZE, function (id, size) { - var p = self._getRegionClientPosition(id); - self.draw({ - left: p.left, - top: p.top - }, size, id); - }); - this.arrangement.on(BI.AdaptiveArrangement.EVENT_ELEMENT_STOP_RESIZE, function (id, size) { - self.stopDraw(); - self.setRegionSize(id, size); - }); - - this.tags = []; - - }, - - _isEqual: function (num1, num2) { - return this.arrangement._isEqual(num1, num2); - }, - - _getScrollOffset: function () { - return this.arrangement._getScrollOffset(); - }, - - _positionAt: function (position, regions) { - var self = this; - regions = regions || this.getAllRegions(); - var left = [], center = [], right = [], top = [], middle = [], bottom = []; - BI.each(regions, function (i, region) { - var client = self._getRegionClientPosition(region.id); - if (Math.abs(client.left - position.left) <= 3) { - left.push(region); - } - if (Math.abs(client.left + client.width / 2 - position.left) <= 3) { - center.push(region); - } - if (Math.abs(client.left + client.width - position.left) <= 3) { - right.push(region); - } - if (Math.abs(client.top - position.top) <= 3) { - top.push(region); - } - if (Math.abs(client.top + client.height / 2 - position.top) <= 3) { - middle.push(region); - } - if (Math.abs(client.top + client.height - position.top) <= 3) { - bottom.push(region); - } - }); - return { - left: left, - center: center, - right: right, - top: top, - middle: middle, - bottom: bottom - } - }, - - _getRegionClientPosition: function (name) { - var region = this.getRegionByName(name); - var offset = this.arrangement._getScrollOffset(); - return { - top: region.top - offset.top, - left: region.left - offset.left, - width: region.width, - height: region.height, - id: region.id - } - }, - - _vAlign: function (position, regions) { - var self = this; - var vs = this._positionAt(position, regions); - var positions = []; - var l; - if (vs.left.length > 0) { - l = this._getRegionClientPosition(vs.left[0].id).left; - } else if (vs.right.length > 0) { - var temp = this._getRegionClientPosition(vs.right[0].id); - l = temp.left + temp.width; - } else if (vs.center.length > 0) { - var temp = this._getRegionClientPosition(vs.center[0].id); - l = temp.left + temp.width / 2; - } - var rs = vs.left.concat(vs.right).concat(vs.center); - BI.each(rs, function (i, region) { - var p = self._getRegionClientPosition(region.id); - if (self._isEqual(p.left, l) || self._isEqual(p.left + p.width, l) || self._isEqual(p.left + p.width / 2, l)) { - var topPoint = { - top: p.top + p.height / 2, - left: l - }; - positions.push({ - id: region.id, - start: topPoint, - end: { - left: l, - top: position.top - } - }); - } - }); - return positions; - }, - - _leftAlign: function (position, size, regions) { - var self = this; - return this._vAlign({ - left: position.left, - top: position.top + size.height / 2 - }, regions); - }, - - _rightAlign: function (position, size, regions) { - var self = this; - return this._vAlign({ - left: position.left + size.width, - top: position.top + size.height / 2 - }, regions); - }, - - _hAlign: function (position, regions) { - var self = this; - var hs = this._positionAt(position, regions); - var positions = []; - var t; - if (hs.top.length > 0) { - var temp = this._getRegionClientPosition(hs.top[0].id); - t = temp.top; - } else if (hs.bottom.length > 0) { - var temp = this._getRegionClientPosition(hs.bottom[0].id); - t = temp.top + temp.height; - } else if (hs.middle.length > 0) { - var temp = this._getRegionClientPosition(hs.middle[0].id); - t = temp.top + temp.height / 2; - } - var rs = hs.top.concat(hs.bottom).concat(hs.middle); - BI.each(rs, function (i, region) { - var p = self._getRegionClientPosition(region.id); - if (self._isEqual(p.top, t) || self._isEqual(p.top + p.height, t) || self._isEqual(p.top + p.height / 2, t)) { - var leftPoint = { - top: t, - left: p.left + p.width / 2 - }; - positions.push({ - id: p.id, - start: leftPoint, - end: { - left: position.left, - top: t - } - }); - } - }); - return positions; - }, - - _topAlign: function (position, size, regions) { - var self = this; - return this._hAlign({ - left: position.left + size.width / 2, - top: position.top - }, regions); - }, - - _bottomAlign: function (position, size, regions) { - var self = this; - return this._hAlign({ - left: position.left + size.width / 2, - top: position.top + size.height - }, regions); - }, - - _centerAlign: function (position, size, regions) { - var self = this; - return this._vAlign({ - left: position.left + size.width / 2, - top: position.top + size.height / 2 - }, regions); - }, - - _middleAlign: function (position, size, regions) { - var self = this; - return this._hAlign({ - left: position.left + size.width / 2, - top: position.top + size.height / 2 - }, regions); - }, - - - _drawOneTag: function (start, end) { - var s = BI.createWidget({ - type: "bi.icon_button", - //invisible: true, - width: 13, - height: 13, - cls: "drag-tag-font interactive-arrangement-dragtag-icon" - }); - var e = BI.createWidget({ - type: "bi.icon_button", - //invisible: true, - width: 13, - height: 13, - cls: "drag-tag-font interactive-arrangement-dragtag-icon" - }); - if (this._isEqual(start.left, end.left)) { - var line = BI.createWidget({ - type: "bi.layout", - //invisible: true, - cls: "interactive-arrangement-dragtag-line", - width: 1, - height: Math.abs(start.top - end.top) - }); - } else { - var line = BI.createWidget({ - type: "bi.layout", - //invisible: true, - cls: "interactive-arrangement-dragtag-line", - height: 1, - width: Math.abs(start.left - end.left) - }); - } - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: s, - left: start.left - 6, - top: start.top - 7 - }, { - el: e, - left: end.left - 6, - top: end.top - 7 - }, { - el: line, - left: Math.min(start.left, end.left), - top: Math.min(start.top, end.top) - }] - }); - this.tags.push(s); - this.tags.push(e); - this.tags.push(line); - }, - - stopDraw: function () { - BI.each(this.tags, function (i, w) { - w.destroy(); - }); - this.tags = []; - }, - - _getRegionExcept: function (name, regions) { - var other = []; - BI.each(regions || this.getAllRegions(), function (i, region) { - if (!(name && region.id === name)) { - other.push(region); - } - }); - return other; - }, - - getClientWidth: function () { - return this.arrangement.getClientWidth(); - }, - - getClientHeight: function () { - return this.arrangement.getClientHeight(); - }, - - getPosition: function (name, position, size) { - var regions = this.getAllRegions(); - var me; - if (name) { - me = this._getRegionClientPosition(name); - } - var other = this._getRegionExcept(name, regions); - position = position || { - left: me.left, - top: me.top - }; - size = size || { - width: me.width, - height: me.height - }; - var left = this._leftAlign(position, size, other); - var right = this._rightAlign(position, size, other); - var top = this._topAlign(position, size, other, other); - var bottom = this._bottomAlign(position, size, other); - var center = this._centerAlign(position, size, other); - var middle = this._middleAlign(position, size, other); - - BI.each(center, function (i, pos) { - position.left = pos.end.left - size.width / 2; - }); - BI.each(right, function (i, pos) { - position.left = pos.end.left - size.width; - }); - BI.each(left, function (i, pos) { - position.left = pos.end.left; - }); - BI.each(middle, function (i, pos) { - position.top = pos.end.top - size.height / 2; - }); - BI.each(bottom, function (i, pos) { - position.top = pos.end.top - size.height; - }); - BI.each(top, function (i, pos) { - position.top = pos.end.top; - }); - return position; - }, - - //position不动 变size - getSize: function (name, position, size) { - var regions = this.getAllRegions(); - var me; - if (name) { - me = this._getRegionClientPosition(name); - } - var other = this._getRegionExcept(name, regions); - position = position || { - left: me.left, - top: me.top - }; - size = size || { - width: me.width, - height: me.height - }; - var left = this._leftAlign(position, size, other); - var right = this._rightAlign(position, size, other); - var top = this._topAlign(position, size, other, other); - var bottom = this._bottomAlign(position, size, other); - var center = this._centerAlign(position, size, other); - var middle = this._middleAlign(position, size, other); - - BI.each(center, function (i, pos) { - size.width = (pos.end.left - position.left) * 2; - }); - BI.each(right, function (i, pos) { - size.width = pos.end.left - position.left; - }); - BI.each(left, function (i, pos) { - }); - BI.each(middle, function (i, pos) { - size.height = (pos.end.top - position.top) * 2; - }); - BI.each(bottom, function (i, pos) { - size.height = pos.end.top - position.top; - }); - BI.each(top, function (i, pos) { - }); - return size; - }, - - draw: function (position, size, name) { - var self = this; - this.stopDraw(); - switch (this.getLayoutType()) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - var other = this._getRegionExcept(name); - var left = this._leftAlign(position, size, other); - var right = this._rightAlign(position, size, other); - var top = this._topAlign(position, size, other); - var bottom = this._bottomAlign(position, size, other); - var center = this._centerAlign(position, size, other); - var middle = this._middleAlign(position, size, other); - - BI.each(center, function (i, pos) { - self._drawOneTag(pos.start, pos.end); - }); - BI.each(right, function (i, pos) { - self._drawOneTag(pos.start, pos.end); - }); - BI.each(left, function (i, pos) { - self._drawOneTag(pos.start, pos.end); - }); - BI.each(middle, function (i, pos) { - self._drawOneTag(pos.start, pos.end); - }); - BI.each(bottom, function (i, pos) { - self._drawOneTag(pos.start, pos.end); - }); - BI.each(top, function (i, pos) { - self._drawOneTag(pos.start, pos.end); - }); - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - break; - } - }, - - addRegion: function (region, position) { - this.stopDraw(); - return this.arrangement.addRegion(region, position); - }, - - deleteRegion: function (name) { - return this.arrangement.deleteRegion(name); - }, - - setRegionSize: function (name, size) { - size = this.getSize(name, null, size); - return this.arrangement.setRegionSize(name, size); - }, - - setPosition: function (position, size) { - var self = this; - this.stopDraw(); - if (position.left > 0 && position.top > 0) { - switch (this.getLayoutType()) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - position = this.getPosition(null, position, size); - this.draw(position, size); - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - break; - } - } - var at = this.arrangement.setPosition(position, size); - return at; - }, - - setRegionPosition: function (name, position) { - if (position.left > 0 && position.top > 0) { - switch (this.getLayoutType()) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - position = this.getPosition(name, position); - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - break; - } - } - return this.arrangement.setRegionPosition(name, position); - }, - - setDropPosition: function (position, size) { - var self = this; - this.stopDraw(); - if (position.left > 0 && position.top > 0) { - switch (this.getLayoutType()) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - position = this.getPosition(null, position, size); - this.draw(position, size); - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - break; - } - } - var callback = self.arrangement.setDropPosition(position, size); - return function () { - callback(); - self.stopDraw(); - } - }, - - scrollInterval: function () { - this.arrangement.scrollInterval.apply(this.arrangement, arguments); - }, - - scrollEnd: function () { - this.arrangement.scrollEnd.apply(this.arrangement, arguments); - }, - - scrollTo: function (scroll) { - this.arrangement.scrollTo(scroll); - }, - - zoom: function (ratio) { - this.arrangement.zoom(ratio); - }, - - resize: function () { - return this.arrangement.resize(); - }, - - relayout: function () { - return this.arrangement.relayout(); - }, - - setLayoutType: function (type) { - this.arrangement.setLayoutType(type); - }, - - getLayoutType: function () { - return this.arrangement.getLayoutType(); - }, - - getLayoutRatio: function () { - return this.arrangement.getLayoutRatio(); - }, - - getHelper: function () { - return this.arrangement.getHelper(); - }, - - getRegionByName: function (name) { - return this.arrangement.getRegionByName(name); - }, - - getAllRegions: function () { - return this.arrangement.getAllRegions(); - }, - - revoke: function () { - return this.arrangement.revoke(); - }, - - populate: function (items) { - var self = this; - this.arrangement.populate(items); - } -}); -BI.InteractiveArrangement.EVENT_RESIZE = "InteractiveArrangement.EVENT_RESIZE"; -BI.InteractiveArrangement.EVENT_SCROLL = "InteractiveArrangement.EVENT_SCROLL"; -BI.shortcut('bi.interactive_arrangement', BI.InteractiveArrangement);/** - * Created by zcf on 2016/9/26. - */ -BI.IntervalSlider = BI.inherit(BI.Widget, { - _constant: { - EDITOR_WIDTH: 58, - EDITOR_R_GAP: 60, - EDITOR_HEIGHT: 30, - SLIDER_WIDTH_HALF: 15, - SLIDER_WIDTH: 30, - SLIDER_HEIGHT: 30, - TRACK_HEIGHT: 24 - }, - - _defaultConfig: function () { - return BI.extend(BI.IntervalSlider.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-interval-slider bi-slider-track" - }) - }, - - _init: function () { - BI.IntervalSlider.superclass._init.apply(this, arguments); - - var self = this; - var c = this._constant; - this.enable = false; - this.valueOne = ""; - this.valueTwo = ""; - this.calculation = new BI.AccurateCalculationModel(); - - // this.backgroundTrack = BI.createWidget({ - // type: "bi.layout", - // cls: "background-track", - // height: c.TRACK_HEIGHT - // }); - this.grayTrack = BI.createWidget({ - type: "bi.layout", - cls: "gray-track", - height: 6 - }); - this.blueTrack = BI.createWidget({ - type: "bi.layout", - cls: "blue-track bi-high-light-background", - height: 6 - }); - this.track = this._createTrackWrapper(); - - this.labelOne = BI.createWidget({ - type: "bi.sign_editor", - cls: "slider-editor-button", - errorText: "", - allowBlank: false, - width: c.EDITOR_WIDTH, - validationChecker: function (v) { - return self._checkValidation(v); - } - }); - this.labelOne.element.hover(function () { - self.labelOne.element.removeClass("bi-border").addClass("bi-border"); - }, function () { - self.labelOne.element.removeClass("bi-border"); - }); - this.labelOne.on(BI.Editor.EVENT_CONFIRM, function () { - var v = BI.parseFloat(this.getValue()); - self.valueOne = v; - var percent = self._getPercentByValue(v); - var significantPercent = BI.parseFloat(percent.toFixed(1));//分成1000份 - self._setLabelOnePosition(significantPercent); - self._setSliderOnePosition(significantPercent); - self._setBlueTrack(); - self.fireEvent(BI.IntervalSlider.EVENT_CHANGE); - }); - - this.labelTwo = BI.createWidget({ - type: "bi.sign_editor", - cls: "slider-editor-button", - errorText: "", - allowBlank: false, - width: c.EDITOR_WIDTH, - validationChecker: function (v) { - return self._checkValidation(v); - } - }); - this.labelTwo.element.hover(function () { - self.labelTwo.element.removeClass("bi-border").addClass("bi-border"); - }, function () { - self.labelTwo.element.removeClass("bi-border"); - }); - this.labelTwo.on(BI.Editor.EVENT_CONFIRM, function () { - var v = BI.parseFloat(this.getValue()); - self.valueTwo = v; - var percent = self._getPercentByValue(v); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setLabelTwoPosition(significantPercent); - self._setSliderTwoPosition(significantPercent); - self._setBlueTrack(); - self.fireEvent(BI.IntervalSlider.EVENT_CHANGE); - }); - - this.sliderOne = BI.createWidget({ - type: "bi.single_slider_button" - }); - this.sliderTwo = BI.createWidget({ - type: "bi.single_slider_button" - }); - this._draggable(this.sliderOne, true); - this._draggable(this.sliderTwo, false); - this._setVisible(false); - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.track, - width: "100%", - height: c.TRACK_HEIGHT - }] - }], - hgap: 7, - height: c.TRACK_HEIGHT - }, - top: 23, - left: 0, - width: "100%" - }, - this._createLabelWrapper(), - this._createSliderWrapper() - ] - }) - }, - - _rePosBySizeAfterMove: function (size, isLeft) { - var percent = size * 100 / (this._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - var v = this._getValueByPercent(significantPercent); - v = this._assertValue(v); - if(isLeft){ - this._setLabelOnePosition(significantPercent); - this._setSliderOnePosition(significantPercent); - this.labelOne.setValue(v); - this.valueOne = v; - }else{ - this._setLabelTwoPosition(significantPercent); - this._setSliderTwoPosition(significantPercent); - this.labelTwo.setValue(v); - this.valueTwo = v; - } - this._setBlueTrack(); - }, - - _rePosBySizeAfterStop: function (size, isLeft) { - var percent = size * 100 / (this._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - isLeft ? this._setSliderOnePosition(significantPercent) : this._setSliderTwoPosition(significantPercent); - }, - - _draggable: function (widget, isLeft) { - var self = this, o = this.options; - var startDrag = false; - var size = 0, offset = 0, defaultSize = 0; - var mouseMoveTracker = new BI.MouseMoveTracker(function (deltaX) { - if (mouseMoveTracker.isDragging()) { - startDrag = true; - offset += deltaX; - size = optimizeSize(defaultSize + offset); - widget.element.addClass("dragging"); - self._rePosBySizeAfterMove(size, isLeft); - } - }, function () { - if (startDrag === true) { - size = optimizeSize(size); - self._rePosBySizeAfterStop(size, isLeft); - size = 0; - offset = 0; - defaultSize = size; - startDrag = false; - } - widget.element.removeClass("dragging"); - mouseMoveTracker.releaseMouseMoves(); - self.fireEvent(BI.IntervalSlider.EVENT_CHANGE); - }, document); - widget.element.on("mousedown", function (event) { - if(!widget.isEnabled()){ - return; - } - defaultSize = this.offsetLeft; - optimizeSize(defaultSize); - mouseMoveTracker.captureMouseMoves(event); - }); - - function optimizeSize(s) { - return BI.clamp(s, 0, o.width); - } - }, - - _createLabelWrapper: function () { - var c = this._constant; - return { - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.labelOne, - top: 0, - left: "0%" - }] - }, { - type: "bi.absolute", - items: [{ - el: this.labelTwo, - top: 0, - left: "100%" - }] - }], - rgap: c.EDITOR_R_GAP, - height: 70 - }, - top: 0, - left: 0, - width: "100%" - } - }, - - _createSliderWrapper: function () { - var c = this._constant; - return { - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.sliderOne, - top: 0, - left: "0%" - }] - }, { - type: "bi.absolute", - items: [{ - el: this.sliderTwo, - top: 0, - left: "100%" - }] - }], - hgap: c.SLIDER_WIDTH_HALF, - height: c.SLIDER_HEIGHT - }, - top: 20, - left: 0, - width: "100%" - } - }, - - _createTrackWrapper: function () { - return BI.createWidget({ - type: "bi.absolute", - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.grayTrack, - top: 0, - left: 0, - width: "100%" - }, { - el: this.blueTrack, - top: 0, - left: 0, - width: "0%" - }] - }], - hgap: 8, - height: 8 - }, - top: 8, - left: 0, - width: "100%" - }] - }) - }, - - _checkValidation: function (v) { - return BI.isNumeric(v) && !(BI.isNull(v) || v < this.min || v > this.max) - }, - - _checkOverlap: function () { - var labelOneLeft = this.labelOne.element[0].offsetLeft; - var labelTwoLeft = this.labelTwo.element[0].offsetLeft; - if (labelOneLeft <= labelTwoLeft) { - if ((labelTwoLeft - labelOneLeft) < 90) { - this.labelTwo.element.css({"top": 40}); - } else { - this.labelTwo.element.css({"top": 0}); - } - } else { - if ((labelOneLeft - labelTwoLeft) < 90) { - this.labelTwo.element.css({"top": 40}); - } else { - this.labelTwo.element.css({"top": 0}); - } - } - }, - - _setLabelOnePosition: function (percent) { - this.labelOne.element.css({"left": percent + "%"}); - this._checkOverlap(); - }, - - _setLabelTwoPosition: function (percent) { - this.labelTwo.element.css({"left": percent + "%"}); - this._checkOverlap(); - }, - - _setSliderOnePosition: function (percent) { - this.sliderOne.element.css({"left": percent + "%"}); - }, - - _setSliderTwoPosition: function (percent) { - this.sliderTwo.element.css({"left": percent + "%"}); - }, - - _setBlueTrackLeft: function (percent) { - this.blueTrack.element.css({"left": percent + "%"}); - }, - - _setBlueTrackWidth: function (percent) { - this.blueTrack.element.css({"width": percent + "%"}); - }, - - _setBlueTrack: function () { - var percentOne = this._getPercentByValue(this.labelOne.getValue()); - var percentTwo = this._getPercentByValue(this.labelTwo.getValue()); - if (percentOne <= percentTwo) { - this._setBlueTrackLeft(percentOne); - this._setBlueTrackWidth(percentTwo - percentOne); - } else { - this._setBlueTrackLeft(percentTwo); - this._setBlueTrackWidth(percentOne - percentTwo); - } - }, - - _setAllPosition: function (one, two) { - this._setSliderOnePosition(one); - this._setLabelOnePosition(one); - this._setSliderTwoPosition(two); - this._setLabelTwoPosition(two); - this._setBlueTrack(); - }, - - _setVisible: function (visible) { - this.sliderOne.setVisible(visible); - this.sliderTwo.setVisible(visible); - this.labelOne.setVisible(visible); - this.labelTwo.setVisible(visible); - }, - - _setErrorText: function () { - var errorText = BI.i18nText("BI-Please_Enter") + this.min + "-" + this.max + BI.i18nText("BI-Basic_De") + BI.i18nText("BI-Basic_Number"); - this.labelOne.setErrorText(errorText); - this.labelTwo.setErrorText(errorText); - }, - - _getGrayTrackLength: function () { - return this.grayTrack.element[0].scrollWidth - }, - - //其中取max-min后保留4为有效数字后的值的小数位数为最终value的精度 - _getValueByPercent: function (percent) {//return (((max-min)*percent)/100+min) - var sub = this.calculation.accurateSubtraction(this.max, this.min); - var mul = this.calculation.accurateMultiplication(sub, percent); - var div = this.calculation.accurateDivisionTenExponent(mul, 2); - if(this.precision < 0){ - var value = BI.parseFloat(this.calculation.accurateAddition(div, this.min)); - var reduceValue = Math.round(this.calculation.accurateDivisionTenExponent(value, -this.precision)); - return this.calculation.accurateMultiplication(reduceValue, Math.pow(10, -this.precision)); - }else{ - return BI.parseFloat(this.calculation.accurateAddition(div, this.min).toFixed(this.precision)); - } - }, - - _getPercentByValue: function (v) { - return (v - this.min) * 100 / (this.max - this.min); - }, - - _setDraggableEnable: function (enable) { - this.sliderOne.setEnable(enable); - this.sliderTwo.setEnable(enable); - }, - - _getPrecision: function () { - //计算每一份值的精度(最大值和最小值的差值保留4为有效数字后的精度) - //如果差值的整数位数大于4,toPrecision(4)得到的是科学计数法123456 => 1.235e+5 - //返回非负值: 保留的小数位数 - //返回负值: 保留的10^n精度中的n - var sub = this.calculation.accurateSubtraction(this.max, this.min); - var pre = sub.toPrecision(4); - //科学计数法 - var eIndex = pre.indexOf("e"); - var arr = []; - if(eIndex > -1){ - arr = pre.split("e"); - var decimalPartLength = BI.size(arr[0].split(".")[1]); - var sciencePartLength = BI.parseInt(arr[1].substring(1)); - return decimalPartLength - sciencePartLength; - }else{ - arr = pre.split("."); - return arr.length > 1 ? arr[1].length : 0; - } - }, - - _assertValue: function (value) { - if(value <= this.min){ - return this.min - } - if(value >= this.max){ - return this.max; - } - return value; - }, - - getValue: function () { - if (this.valueOne <= this.valueTwo) { - return {min: this.valueOne, max: this.valueTwo} - } else { - return {min: this.valueTwo, max: this.valueOne} - } - }, - - setMinAndMax: function (v) { - var minNumber = BI.parseFloat(v.min); - var maxNumber = BI.parseFloat(v.max); - if ((!isNaN(minNumber)) && (!isNaN(maxNumber)) && (maxNumber >= minNumber )) { - this.min = minNumber; - this.max = maxNumber; - this.valueOne = minNumber; - this.valueTwo = maxNumber; - this.precision = this._getPrecision(); - this._setDraggableEnable(true); - } - if (maxNumber === minNumber) { - this._setDraggableEnable(false); - } - }, - - setValue: function (v) { - var valueOne = BI.parseFloat(v.min); - var valueTwo = BI.parseFloat(v.max); - if (!isNaN(valueOne) && !isNaN(valueTwo)) { - if (this._checkValidation(valueOne)) { - this.valueOne = valueOne; - } - if (this._checkValidation(valueTwo)) { - this.valueTwo = valueTwo; - } - if (valueOne < this.min) { - this.valueOne = this.min; - } - if (valueTwo > this.max) { - this.valueTwo = this.max; - } - } - }, - - reset: function () { - this._setVisible(false); - this.enable = false; - this.valueOne = ""; - this.valueTwo = ""; - this.min = NaN; - this.max = NaN; - this._setBlueTrackWidth(0); - }, - - populate: function () { - if (!isNaN(this.min) && !isNaN(this.max)) { - this.enable = true; - this._setVisible(true); - this._setErrorText(); - if ((BI.isNumeric(this.valueOne) || BI.isNotEmptyString(this.valueOne)) && (BI.isNumeric(this.valueTwo) || BI.isNotEmptyString(this.valueTwo))) { - this.labelOne.setValue(this.valueOne); - this.labelTwo.setValue(this.valueTwo); - this._setAllPosition(this._getPercentByValue(this.valueOne), this._getPercentByValue(this.valueTwo)); - } else { - this.labelOne.setValue(this.min); - this.labelTwo.setValue(this.max); - this._setAllPosition(0, 100) - } - } - } -}); -BI.IntervalSlider.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.interval_slider", BI.IntervalSlider);/** - * Created by zcf on 2016/9/26. - */ -BI.IntervalSliderLabel = BI.inherit(BI.Widget, { - _constant: { - EDITOR_WIDTH: 58, - EDITOR_R_GAP: 60, - EDITOR_HEIGHT: 20, - HEIGHT: 20, - SLIDER_WIDTH_HALF: 15, - SLIDER_WIDTH: 30, - SLIDER_HEIGHT: 30, - TRACK_HEIGHT: 24 - }, - - _defaultConfig: function () { - return BI.extend(BI.IntervalSliderLabel.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-interval-slider-label bi-slider-track", - digit: false, - unit: "" - }) - }, - - _init: function () { - BI.IntervalSliderLabel.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - var c = this._constant; - this.enable = false; - this.valueOne = ""; - this.valueTwo = ""; - this.calculation = new BI.AccurateCalculationModel(); - - this.grayTrack = BI.createWidget({ - type: "bi.layout", - cls: "gray-track", - height: 6 - }); - this.blueTrack = BI.createWidget({ - type: "bi.layout", - cls: "blue-track bi-high-light-background", - height: 6 - }); - this.track = this._createTrackWrapper(); - - this.labelOne = BI.createWidget({ - type: "bi.label", - height: c.HEIGHT, - width: c.EDITOR_WIDTH - }); - - this.labelTwo = BI.createWidget({ - type: "bi.label", - height: c.HEIGHT, - width: c.EDITOR_WIDTH - }); - - this.sliderOne = BI.createWidget({ - type: "bi.single_slider_button" - }); - - this.sliderTwo = BI.createWidget({ - type: "bi.single_slider_button" - }); - this._draggable(this.sliderOne, true); - this._draggable(this.sliderTwo, false); - this._setVisible(false); - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.track, - width: "100%", - height: c.TRACK_HEIGHT - }] - }], - hgap: 7, - height: c.TRACK_HEIGHT - }, - top: 13, - left: 0, - width: "100%" - }, - this._createLabelWrapper(), - this._createSliderWrapper() - ] - }) - }, - - _rePosBySizeAfterMove: function (size, isLeft) { - var percent = size * 100 / (this._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - var v = this._getValueByPercent(significantPercent); - v = this._assertValue(v); - if(isLeft){ - this._setLabelOnePosition(significantPercent); - this._setSliderOnePosition(significantPercent); - this.labelOne.setValue(v); - this.valueOne = v; - }else{ - this._setLabelTwoPosition(significantPercent); - this._setSliderTwoPosition(significantPercent); - this.labelTwo.setValue(v); - this.valueTwo = v; - } - this._setBlueTrack(); - }, - - _rePosBySizeAfterStop: function (size, isLeft) { - var percent = size * 100 / (this._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - isLeft ? this._setSliderOnePosition(significantPercent) : this._setSliderTwoPosition(significantPercent); - }, - - _draggable: function (widget, isLeft) { - var self = this, o = this.options; - var startDrag = false; - var size = 0, offset = 0, defaultSize = 0; - var mouseMoveTracker = new BI.MouseMoveTracker(function (deltaX) { - if (mouseMoveTracker.isDragging()) { - startDrag = true; - offset += deltaX; - size = optimizeSize(defaultSize + offset); - widget.element.addClass("dragging"); - self._rePosBySizeAfterMove(size, isLeft); - } - }, function () { - if (startDrag === true) { - size = optimizeSize(size); - self._rePosBySizeAfterStop(size, isLeft); - size = 0; - offset = 0; - defaultSize = size; - startDrag = false; - } - widget.element.removeClass("dragging"); - mouseMoveTracker.releaseMouseMoves(); - self.fireEvent(BI.IntervalSliderLabel.EVENT_CHANGE); - }, document); - widget.element.on("mousedown", function (event) { - if(!widget.isEnabled()){ - return; - } - defaultSize = this.offsetLeft; - optimizeSize(defaultSize); - mouseMoveTracker.captureMouseMoves(event); - }); - - function optimizeSize(s) { - return BI.clamp(s, 0, o.width); - } - }, - - _createLabelWrapper: function () { - var c = this._constant; - return { - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.labelOne, - top: 0, - left: "0%" - }] - }, { - type: "bi.absolute", - items: [{ - el: this.labelTwo, - top: 0, - left: "100%" - }] - }], - rgap: c.EDITOR_R_GAP, - height: 50 - }, - top: 0, - left: 0, - width: "100%" - } - }, - - _createSliderWrapper: function () { - var c = this._constant; - return { - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.sliderOne, - top: 0, - left: "0%" - }] - }, { - type: "bi.absolute", - items: [{ - el: this.sliderTwo, - top: 0, - left: "100%" - }] - }], - hgap: c.SLIDER_WIDTH_HALF, - height: c.SLIDER_HEIGHT - }, - top: 10, - left: 0, - width: "100%" - } - }, - - _createTrackWrapper: function () { - return BI.createWidget({ - type: "bi.absolute", - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.grayTrack, - top: 0, - left: 0, - width: "100%" - }, { - el: this.blueTrack, - top: 0, - left: 0, - width: "0%" - }] - }], - hgap: 8, - height: 8 - }, - top: 8, - left: 0, - width: "100%" - }] - }) - }, - - _checkValidation: function (v) { - return BI.isNumeric(v) && !(BI.isNull(v) || v < this.min || v > this.max) - }, - - _checkOverlap: function () { - var labelOneLeft = this.labelOne.element[0].offsetLeft; - var labelTwoLeft = this.labelTwo.element[0].offsetLeft; - if (labelOneLeft <= labelTwoLeft) { - if ((labelTwoLeft - labelOneLeft) < 90) { - this.labelTwo.element.css({"top": 30}); - } else { - this.labelTwo.element.css({"top": 0}); - } - } else { - if ((labelOneLeft - labelTwoLeft) < 90) { - this.labelTwo.element.css({"top": 30}); - } else { - this.labelTwo.element.css({"top": 0}); - } - } - }, - - _setLabelOnePosition: function (percent) { - this.labelOne.element.css({"left": percent + "%"}); - this._checkOverlap(); - }, - - _setLabelTwoPosition: function (percent) { - this.labelTwo.element.css({"left": percent + "%"}); - this._checkOverlap(); - }, - - _setSliderOnePosition: function (percent) { - this.sliderOne.element.css({"left": percent + "%"}); - }, - - _setSliderTwoPosition: function (percent) { - this.sliderTwo.element.css({"left": percent + "%"}); - }, - - _setBlueTrackLeft: function (percent) { - this.blueTrack.element.css({"left": percent + "%"}); - }, - - _setBlueTrackWidth: function (percent) { - this.blueTrack.element.css({"width": percent + "%"}); - }, - - _setBlueTrack: function () { - var percentOne = this._getPercentByValue(this.labelOne.getValue()); - var percentTwo = this._getPercentByValue(this.labelTwo.getValue()); - if (percentOne <= percentTwo) { - this._setBlueTrackLeft(percentOne); - this._setBlueTrackWidth(percentTwo - percentOne); - } else { - this._setBlueTrackLeft(percentTwo); - this._setBlueTrackWidth(percentOne - percentTwo); - } - }, - - _setAllPosition: function (one, two) { - this._setSliderOnePosition(one); - this._setLabelOnePosition(one); - this._setSliderTwoPosition(two); - this._setLabelTwoPosition(two); - this._setBlueTrack(); - }, - - _setVisible: function (visible) { - this.sliderOne.setVisible(visible); - this.sliderTwo.setVisible(visible); - this.labelOne.setVisible(visible); - this.labelTwo.setVisible(visible); - }, - - _getGrayTrackLength: function () { - return this.grayTrack.element[0].scrollWidth - }, - - //其中取max-min后保留4为有效数字后的值的小数位数为最终value的精度 - _getValueByPercent: function (percent) {//return (((max-min)*percent)/100+min) - var sub = this.calculation.accurateSubtraction(this.max, this.min); - var mul = this.calculation.accurateMultiplication(sub, percent); - var div = this.calculation.accurateDivisionTenExponent(mul, 2); - if (this.precision < 0) { - var value = BI.parseFloat(this.calculation.accurateAddition(div, this.min)); - var reduceValue = Math.round(this.calculation.accurateDivisionTenExponent(value, -this.precision)); - return this.calculation.accurateMultiplication(reduceValue, Math.pow(10, -this.precision)); - } else { - return BI.parseFloat(this.calculation.accurateAddition(div, this.min).toFixed(this.precision)); - } - }, - - _getPercentByValue: function (v) { - return (v - this.min) * 100 / (this.max - this.min); - }, - - _setDraggableEnable: function (enable) { - this.sliderOne.setEnable(enable); - this.sliderTwo.setEnable(enable); - }, - - _getPrecision: function () { - //计算每一份值的精度(最大值和最小值的差值保留4为有效数字后的精度) - //如果差值的整数位数大于4,toPrecision(4)得到的是科学计数法123456 => 1.235e+5 - //返回非负值: 保留的小数位数 - //返回负值: 保留的10^n精度中的n - var sub = this.calculation.accurateSubtraction(this.max, this.min); - var pre = sub.toPrecision(4); - //科学计数法 - var eIndex = pre.indexOf("e"); - var arr = []; - if (eIndex > -1) { - arr = pre.split("e"); - var decimalPartLength = BI.size(arr[0].split(".")[1]); - var sciencePartLength = BI.parseInt(arr[1].substring(1)); - return decimalPartLength - sciencePartLength; - } else { - arr = pre.split("."); - return arr.length > 1 ? arr[1].length : 0; - } - }, - - _assertValue: function (value) { - if (value <= this.min) { - return this.min - } - if (value >= this.max) { - return this.max; - } - return value; - }, - - getValue: function () { - if (this.valueOne <= this.valueTwo) { - return {min: this.valueOne, max: this.valueTwo} - } else { - return {min: this.valueTwo, max: this.valueOne} - } - }, - - setMinAndMax: function (v) { - var minNumber = BI.parseFloat(v.min); - var maxNumber = BI.parseFloat(v.max); - if ((!isNaN(minNumber)) && (!isNaN(maxNumber)) && (maxNumber >= minNumber )) { - this.min = minNumber; - this.max = maxNumber; - this.valueOne = minNumber; - this.valueTwo = maxNumber; - this.precision = this._getPrecision(); - this._setDraggableEnable(true); - } - if (maxNumber === minNumber) { - this._setDraggableEnable(false); - } - }, - - setValue: function (v) { - var o = this.options; - var valueOne = BI.parseFloat(v.min); - var valueTwo = BI.parseFloat(v.max); - valueOne = o.digit === false ? valueOne : valueOne.toFixed(o.digit); - if (!isNaN(valueOne) && !isNaN(valueTwo)) { - if (this._checkValidation(valueOne)) { - this.valueOne = valueOne; - } - if (this._checkValidation(valueTwo)) { - this.valueTwo = valueTwo; - } - if (valueOne < this.min) { - this.valueOne = this.min; - } - if (valueTwo > this.max) { - this.valueTwo = this.max; - } - } - }, - - reset: function () { - this._setVisible(false); - this.enable = false; - this.valueOne = ""; - this.valueTwo = ""; - this.min = NaN; - this.max = NaN; - this._setBlueTrackWidth(0); - }, - - populate: function () { - var o = this.options; - if (!isNaN(this.min) && !isNaN(this.max)) { - this.enable = true; - this._setVisible(true); - if ((BI.isNumeric(this.valueOne) || BI.isNotEmptyString(this.valueOne)) && (BI.isNumeric(this.valueTwo) || BI.isNotEmptyString(this.valueTwo))) { - this.labelOne.setValue(this.valueOne); - this.labelTwo.setValue(this.valueTwo); - this.labelOne.setText(this.valueOne + o.unit); - this.labelTwo.setText(this.valueTwo + o.unit); - this._setAllPosition(this._getPercentByValue(this.valueOne), this._getPercentByValue(this.valueTwo)); - } else { - this.labelOne.setValue(this.min); - this.labelTwo.setValue(this.max); - this.labelOne.setText(this.min + o.unit); - this.labelTwo.setText(this.max + o.unit); - this._setAllPosition(0, 100) - } - } - } -}); -BI.IntervalSliderLabel.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.interval_slider_label", BI.IntervalSliderLabel);/** - * Created by zcf on 2017/3/1. - * 万恶的IEEE-754 - * 使用字符串精确计算含小数加法、减法、乘法和10的指数倍除法,支持负数 - */ -BI.AccurateCalculationModel = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.AccurateCalculationModel.superclass._defaultConfig.apply(this, arguments), { - baseCls: "" - }) - }, - - _init: function () { - BI.AccurateCalculationModel.superclass._init.apply(this, arguments); - }, - - _getMagnitude: function (n) { - var magnitude = "1"; - for (var i = 0; i < n; i++) { - magnitude += "0"; - } - return BI.parseInt(magnitude); - }, - - _formatDecimal: function (stringNumber1, stringNumber2) { - if (stringNumber1.numDecimalLength === stringNumber2.numDecimalLength) { - return; - } - var magnitudeDiff = stringNumber1.numDecimalLength - stringNumber2.numDecimalLength; - if (magnitudeDiff > 0) { - var needAddZero = stringNumber2 - } else { - var needAddZero = stringNumber1; - magnitudeDiff = (0 - magnitudeDiff); - } - for (var i = 0; i < magnitudeDiff; i++) { - if (needAddZero.numDecimal === "0" && i === 0) { - continue - } - needAddZero.numDecimal += "0" - } - }, - - _stringNumberFactory: function (num) { - var strNum = num.toString(); - var numStrArray = strNum.split("."); - var numInteger = numStrArray[0]; - if (numStrArray.length === 1) { - var numDecimal = "0"; - var numDecimalLength = 0; - } else { - var numDecimal = numStrArray[1]; - var numDecimalLength = numStrArray[1].length; - } - return { - "numInteger": numInteger, - "numDecimal": numDecimal, - "numDecimalLength": numDecimalLength - } - }, - - _accurateSubtraction: function (num1, num2) {//num1-num2 && num1>num2 - var stringNumber1 = this._stringNumberFactory(num1); - var stringNumber2 = this._stringNumberFactory(num2); - //整数部分计算 - var integerResult = BI.parseInt(stringNumber1.numInteger) - BI.parseInt(stringNumber2.numInteger); - //小数部分 - this._formatDecimal(stringNumber1, stringNumber2); - var decimalMaxLength = getDecimalMaxLength(stringNumber1, stringNumber2); - - if (BI.parseInt(stringNumber1.numDecimal) >= BI.parseInt(stringNumber2.numDecimal)) { - var decimalResultTemp = (BI.parseInt(stringNumber1.numDecimal) - BI.parseInt(stringNumber2.numDecimal)).toString(); - var decimalResult = addZero(decimalResultTemp, decimalMaxLength); - } else {//否则借位 - integerResult--; - var borrow = this._getMagnitude(decimalMaxLength); - var decimalResultTemp = (borrow + BI.parseInt(stringNumber1.numDecimal) - BI.parseInt(stringNumber2.numDecimal)).toString(); - var decimalResult = addZero(decimalResultTemp, decimalMaxLength); - } - var result = integerResult + "." + decimalResult; - return BI.parseFloat(result); - - function getDecimalMaxLength(num1, num2) { - if (num1.numDecimal.length >= num2.numDecimal.length) { - return num1.numDecimal.length - } - return num2.numDecimal.length - } - - function addZero(resultTemp, length) { - var diff = length - resultTemp.length; - for (var i = 0; i < diff; i++) { - resultTemp = "0" + resultTemp; - } - return resultTemp - } - }, - - _accurateAddition: function (num1, num2) {//加法结合律 - var stringNumber1 = this._stringNumberFactory(num1); - var stringNumber2 = this._stringNumberFactory(num2); - //整数部分计算 - var integerResult = BI.parseInt(stringNumber1.numInteger) + BI.parseInt(stringNumber2.numInteger); - //小数部分 - this._formatDecimal(stringNumber1, stringNumber2); - - var decimalResult = (BI.parseInt(stringNumber1.numDecimal) + BI.parseInt(stringNumber2.numDecimal)).toString(); - - if (decimalResult !== "0") { - if (decimalResult.length <= stringNumber1.numDecimal.length) { - decimalResult = addZero(decimalResult, stringNumber1.numDecimal.length) - } else { - integerResult++;//进一 - decimalResult = decimalResult.slice(1); - } - } - var result = integerResult + "." + decimalResult; - return BI.parseFloat(result); - - function addZero(resultTemp, length) { - var diff = length - resultTemp.length; - for (var i = 0; i < diff; i++) { - resultTemp = "0" + resultTemp; - } - return resultTemp - } - }, - - _accurateMultiplication: function (num1, num2) {//乘法分配律 - var stringNumber1 = this._stringNumberFactory(num1); - var stringNumber2 = this._stringNumberFactory(num2); - //整数部分计算 - var integerResult = BI.parseInt(stringNumber1.numInteger) * BI.parseInt(stringNumber2.numInteger); - //num1的小数和num2的整数 - var dec1Int2 = this._accurateDivisionTenExponent(BI.parseInt(stringNumber1.numDecimal) * BI.parseInt(stringNumber2.numInteger), stringNumber1.numDecimalLength); - //num1的整数和num2的小数 - var int1dec2 = this._accurateDivisionTenExponent(BI.parseInt(stringNumber1.numInteger) * BI.parseInt(stringNumber2.numDecimal), stringNumber2.numDecimalLength); - //小数*小数 - var dec1dec2 = this._accurateDivisionTenExponent(BI.parseInt(stringNumber1.numDecimal) * BI.parseInt(stringNumber2.numDecimal), (stringNumber1.numDecimalLength + stringNumber2.numDecimalLength)); - - return this._accurateAddition(this._accurateAddition(this._accurateAddition(integerResult, dec1Int2), int1dec2), dec1dec2); - }, - - _accurateDivisionTenExponent: function (num, n) {// num/10^n && n>0 - var stringNumber = this._stringNumberFactory(num); - if (stringNumber.numInteger.length > n) { - var integerResult = stringNumber.numInteger.slice(0, (stringNumber.numInteger.length - n)); - var partDecimalResult = stringNumber.numInteger.slice(-n); - } else { - var integerResult = "0"; - var partDecimalResult = addZero(stringNumber.numInteger, n); - } - var result = integerResult + "." + partDecimalResult + stringNumber.numDecimal; - return BI.parseFloat(result); - - function addZero(resultTemp, length) { - var diff = length - resultTemp.length; - for (var i = 0; i < diff; i++) { - resultTemp = "0" + resultTemp; - } - return resultTemp - } - }, - - accurateSubtraction: function (num1, num2) { - if (num1 >= 0 && num2 >= 0) { - if (num1 >= num2) { - return this._accurateSubtraction(num1, num2) - } - return -this._accurateSubtraction(num2, num1) - } - if (num1 >= 0 && num2 < 0) { - return this._accurateAddition(num1, -num2) - } - if (num1 < 0 && num2 >= 0) { - return -this._accurateAddition(-num1, num2) - } - if (num1 < 0 && num2 < 0) { - if (num1 >= num2) { - return this._accurateSubtraction(-num2, -num1) - } - return this._accurateSubtraction(-num1, -num2) - } - }, - - accurateAddition: function (num1, num2) { - if (num1 >= 0 && num2 >= 0) { - return this._accurateAddition(num1, num2) - } - if (num1 >= 0 && num2 < 0) { - return this.accurateSubtraction(num1, -num2) - } - if (num1 < 0 && num2 >= 0) { - return this.accurateSubtraction(num2, -num1) - } - if (num1 < 0 && num2 < 0) { - return -this._accurateAddition(-num1, -num2) - } - }, - - accurateMultiplication: function (num1, num2) { - if (num1 >= 0 && num2 >= 0) { - return this._accurateMultiplication(num1, num2) - } - if (num1 >= 0 && num2 < 0) { - return -this._accurateMultiplication(num1, -num2) - } - if (num1 < 0 && num2 >= 0) { - return -this._accurateMultiplication(-num1, num2) - } - if (num1 < 0 && num2 < 0) { - return this._accurateMultiplication(-num1, -num2) - } - }, - - accurateDivisionTenExponent: function (num1, n) { - if (num1 >= 0) { - return this._accurateDivisionTenExponent(num1, n); - } - return -this._accurateDivisionTenExponent(-num1, n); - } -});/** - * 月份下拉框 - * - * Created by GUY on 2015/8/28. - * @class BI.MonthCombo - * @extends BI.Trigger - */ -BI.MonthCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.MonthCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-month-combo", - behaviors: {}, - height: 25 - }); - }, - _init: function () { - BI.MonthCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.month_trigger" - }); - - this.trigger.on(BI.MonthTrigger.EVENT_CONFIRM, function (v) { - if (self.combo.isViewVisible()) { - return; - } - if (this.getKey() && this.getKey() !== self.storeValue) { - self.setValue(this.getValue()); - } else if (!this.getKey()) { - self.setValue(); - } - self.fireEvent(BI.MonthCombo.EVENT_CONFIRM); - }); - this.trigger.on(BI.MonthTrigger.EVENT_FOCUS, function () { - self.storeValue = this.getKey(); - }); - this.trigger.on(BI.MonthTrigger.EVENT_START, function () { - self.combo.hideView(); - }); - this.trigger.on(BI.MonthTrigger.EVENT_STOP, function () { - if (!self.combo.isViewVisible()) { - self.combo.showView(); - } - }); - - this.popup = BI.createWidget({ - type: "bi.month_popup", - behaviors: o.behaviors - }); - this.popup.on(BI.MonthPopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.MonthCombo.EVENT_CONFIRM); - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - popup: { - minWidth: 85, - el: this.popup - } - }); - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.MonthCombo.EVENT_BEFORE_POPUPVIEW); - }); - }, - - setValue: function (v) { - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function () { - return this.popup.getValue(); - } -}); - -BI.MonthCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.MonthCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.shortcut('bi.month_combo', BI.MonthCombo);/** - * 月份展示面板 - * - * Created by GUY on 2015/9/2. - * @class BI.MonthPopup - * @extends BI.Trigger - */ -BI.MonthPopup = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MonthPopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-month-popup", - behaviors: {} - }); - }, - - _init: function () { - BI.MonthPopup.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - //纵向排列月 - var month = [0, 6, 1, 7, 2, 8, 3, 9, 4, 10, 5, 11]; - var items = []; - items.push(month.slice(0, 2)); - items.push(month.slice(2, 4)); - items.push(month.slice(4, 6)); - items.push(month.slice(6, 8)); - items.push(month.slice(8, 10)); - items.push(month.slice(10, 12)); - items = BI.map(items, function (i, item) { - return BI.map(item, function (j, td) { - return { - type: "bi.text_item", - cls: "bi-list-item-active", - textAlign: "center", - whiteSpace: "nowrap", - once: false, - forceSelected: true, - height: 23, - width: 38, - value: td, - text: td + 1 - }; - }); - }); - - this.month = BI.createWidget({ - type: "bi.button_group", - element: this, - behaviors: o.behaviors, - items: BI.createItems(items, {}), - layouts: [BI.LogicFactory.createLogic("table", BI.extend({ - dynamic: true - }, { - columns: 2, - rows: 6, - columnSize: [1 / 2, 1 / 2], - rowSize: 25 - })), { - type: "bi.center_adapt", - vgap: 1, - hgap: 2 - }] - }); - - this.month.on(BI.Controller.EVENT_CHANGE, function (type) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.MonthPopup.EVENT_CHANGE); - } - }) - }, - - getValue: function () { - return this.month.getValue()[0]; - }, - - setValue: function (v) { - this.month.setValue([v]); - } -}); -BI.MonthPopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.month_popup", BI.MonthPopup);/** - * 月份trigger - * - * Created by GUY on 2015/8/21. - * @class BI.MonthTrigger - * @extends BI.Trigger - */ -BI.MonthTrigger = BI.inherit(BI.Trigger, { - _const: { - hgap: 4, - vgap: 2, - errorText: BI.i18nText("BI-Month_Trigger_Error_Text") - }, - - _defaultConfig: function () { - return BI.extend(BI.MonthTrigger.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-month-trigger bi-border", - height: 24 - }); - }, - _init: function () { - BI.MonthTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.editor = BI.createWidget({ - type: "bi.sign_editor", - height: o.height, - validationChecker: function (v) { - return v === "" || (BI.isPositiveInteger(v) && v >= 1 && v <= 12); - }, - quitChecker: function (v) { - return false; - }, - hgap: c.hgap, - vgap: c.vgap, - allowBlank: true, - errorText: c.errorText - }); - this.editor.on(BI.SignEditor.EVENT_FOCUS, function () { - self.fireEvent(BI.MonthTrigger.EVENT_FOCUS); - }); - this.editor.on(BI.SignEditor.EVENT_CHANGE, function () { - self.fireEvent(BI.MonthTrigger.EVENT_CHANGE); - }); - this.editor.on(BI.SignEditor.EVENT_CONFIRM, function () { - var value = self.editor.getValue(); - if (BI.isNotNull(value)) { - self.editor.setValue(value); - self.editor.setTitle(value); - } - self.fireEvent(BI.MonthTrigger.EVENT_CONFIRM); - }); - this.editor.on(BI.SignEditor.EVENT_SPACE, function () { - if (self.editor.isValid()) { - self.editor.blur(); - } - }); - this.editor.on(BI.SignEditor.EVENT_START, function () { - self.fireEvent(BI.MonthTrigger.EVENT_START); - }); - this.editor.on(BI.SignEditor.EVENT_STOP, function () { - self.fireEvent(BI.MonthTrigger.EVENT_STOP); - }); - BI.createWidget({ - element: this, - type: 'bi.htape', - items: [ - { - el: this.editor - }, { - el: { - type: "bi.text_button", - text: BI.i18nText("BI-Multi_Date_Month"), - baseCls: "bi-trigger-month-text", - width: o.height - }, - width: o.height - }, { - el: { - type: "bi.trigger_icon_button", - width: o.height - }, - width: o.height - } - ] - }); - }, - setValue: function (v) { - if(BI.isNotNull(v)){ - this.editor.setState(v + 1); - this.editor.setValue(v + 1); - this.editor.setTitle(v + 1); - return; - } - this.editor.setState(""); - this.editor.setValue(""); - this.editor.setTitle(""); - }, - getKey: function () { - return this.editor.getValue() | 0; - }, - getValue: function () { - return this.editor.getValue() - 1; - } -}); -BI.MonthTrigger.EVENT_FOCUS = "EVENT_FOCUS"; -BI.MonthTrigger.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.MonthTrigger.EVENT_START = "EVENT_START"; -BI.MonthTrigger.EVENT_STOP = "EVENT_STOP"; -BI.MonthTrigger.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.month_trigger", BI.MonthTrigger);/** - * 普通控件 - * - * @class BI.MultiDateCard - * @extends BI.Widget - * @abstract - */ -BI.MultiDateCard = BI.inherit(BI.Widget, { - - constants: { - lgap: 80, - itemHeight: 35, - defaultEditorValue: "1" - }, - - _defaultConfig: function () { - return $.extend(BI.MultiDateCard.superclass._defaultConfig.apply(this, arguments), {}); - }, - - dateConfig: function () { - - }, - - defaultSelectedItem: function () { - - }, - - _init: function () { - BI.MultiDateCard.superclass._init.apply(this, arguments); - var self = this, opts = this.options; - - this.label = BI.createWidget({ - type: 'bi.label', - height: this.constants.itemHeight, - textAlign: "left", - text: BI.i18nText("BI-Multi_Date_Relative_Current_Time"), - cls: 'bi-multidate-inner-label bi-tips' - }); - this.radioGroup = BI.createWidget({ - type: "bi.button_group", - chooseType: 0, - items: BI.createItems(this.dateConfig(), { - type: 'bi.multidate_segment', - height: this.constants.itemHeight - }), - layouts: [{ - type: "bi.vertical" - }] - }); - - this.radioGroup.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CONFIRM) { - self.fireEvent(BI.MultiDateCard.EVENT_CHANGE); - } - }); - this.radioGroup.on(BI.ButtonGroup.EVENT_CHANGE, function () { - self.setValue(self.getValue()); - self.fireEvent(BI.MultiDateCard.EVENT_CHANGE); - }); - BI.createWidget({ - element: this, - type: 'bi.center_adapt', - lgap: this.constants.lgap, - items: [{ - type: 'bi.vertical', - items: [this.label, this.radioGroup] - }] - }); - }, - - getValue: function () { - var button = this.radioGroup.getSelectedButtons()[0]; - var type = button.getValue(), value = button.getInputValue(); - return { - type: type, - value: value - } - }, - - _isTypeAvaliable: function (type) { - var res = false; - BI.find(this.dateConfig(), function (i, item) { - if (item.value === type) { - res = true; - return true; - } - }); - return res; - }, - - setValue: function (v) { - var self = this; - if (BI.isNotNull(v) && this._isTypeAvaliable(v.type)) { - this.radioGroup.setValue(v.type); - BI.each(this.radioGroup.getAllButtons(), function (i, button) { - if (button.isEditorExist() === true && button.isSelected()) { - button.setInputValue(v.value); - } else { - button.setInputValue(self.constants.defaultEditorValue); - } - }); - } else { - this.radioGroup.setValue(this.defaultSelectedItem()); - BI.each(this.radioGroup.getAllButtons(), function (i, button) { - button.setInputValue(self.constants.defaultEditorValue); - }); - } - }, - - getCalculationValue: function () { - var valueObject = this.getValue(); - var type = valueObject.type, value = valueObject.value; - switch (type) { - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_PREV: - return new Date().getOffsetDate(-1 * value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_AFTER: - return new Date().getOffsetDate(value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_TODAY: - return new Date(); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_PREV: - return new Date().getBeforeMultiMonth(value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_AFTER: - return new Date().getAfterMultiMonth(value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_BEGIN: - return new Date(new Date().getFullYear(), new Date().getMonth(), 1); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_END: - return new Date(new Date().getFullYear(), new Date().getMonth(), (new Date().getLastDateOfMonth()).getDate()); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_PREV: - return new Date().getBeforeMulQuarter(value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_AFTER: - return new Date().getAfterMulQuarter(value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_BEGIN: - return new Date().getQuarterStartDate(); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_END: - return new Date().getQuarterEndDate(); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_PREV: - return new Date().getOffsetDate(-7 * value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_AFTER: - return new Date().getOffsetDate(7 * value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_PREV: - return new Date((new Date().getFullYear() - 1 * value), new Date().getMonth(), new Date().getDate()); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_AFTER: - return new Date((new Date().getFullYear() + 1 * value), new Date().getMonth(), new Date().getDate()); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_BEGIN: - return new Date(new Date().getFullYear(), 0, 1); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_END: - return new Date(new Date().getFullYear(), 11, 31); - } - } -}); -BI.MultiDateCard.EVENT_CHANGE = "EVENT_CHANGE"; -/** - * 日期控件 - * @class BI.MultiDateCombo - * @extends BI.Widget - */ -BI.MultiDateCombo = BI.inherit(BI.Single, { - constants: { - popupHeight: 259, - popupWidth: 270, - comboAdjustHeight: 1, - border: 1, - DATE_MIN_VALUE: "1900-01-01", - DATE_MAX_VALUE: "2099-12-31" - }, - _defaultConfig: function () { - return BI.extend(BI.MultiDateCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-combo bi-border', - height: 24 - }); - }, - _init: function () { - BI.MultiDateCombo.superclass._init.apply(this, arguments); - var self = this, opts = this.options; - this.storeTriggerValue = ""; - var date = new Date(); - this.storeValue = null; - this.trigger = BI.createWidget({ - type: 'bi.date_trigger', - min: this.constants.DATE_MIN_VALUE, - max: this.constants.DATE_MAX_VALUE - }); - this.trigger.on(BI.DateTrigger.EVENT_KEY_DOWN, function () { - if (self.combo.isViewVisible()) { - self.combo.hideView(); - } - }); - this.trigger.on(BI.DateTrigger.EVENT_STOP, function () { - if (!self.combo.isViewVisible()) { - self.combo.showView(); - } - }); - this.trigger.on(BI.DateTrigger.EVENT_TRIGGER_CLICK, function () { - self.combo.toggle(); - }); - this.trigger.on(BI.DateTrigger.EVENT_FOCUS, function () { - self.storeTriggerValue = self.trigger.getKey(); - if (!self.combo.isViewVisible()) { - self.combo.showView(); - } - self.fireEvent(BI.MultiDateCombo.EVENT_FOCUS); - }); - this.trigger.on(BI.DateTrigger.EVENT_ERROR, function () { - self.storeValue = { - year: date.getFullYear(), - month: date.getMonth() - }; - self.popup.setValue(); - self.fireEvent(BI.MultiDateCombo.EVENT_ERROR); - }); - this.trigger.on(BI.DateTrigger.EVENT_VALID, function () { - self.fireEvent(BI.MultiDateCombo.EVENT_VALID); - }); - this.trigger.on(BI.DateTrigger.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiDateCombo.EVENT_CHANGE); - }); - this.trigger.on(BI.DateTrigger.EVENT_CONFIRM, function () { - if (self.combo.isViewVisible()) { - return; - } - var dateStore = self.storeTriggerValue; - var dateObj = self.trigger.getKey(); - if (BI.isNotEmptyString(dateObj) && !BI.isEqual(dateObj, dateStore)) { - self.storeValue = self.trigger.getValue(); - self.setValue(self.trigger.getValue()); - } else if (BI.isEmptyString(dateObj)) { - self.storeValue = null; - self.trigger.setValue(); - } - self.fireEvent(BI.MultiDateCombo.EVENT_CONFIRM); - }); - this.popup = BI.createWidget({ - type: "bi.multidate_popup", - min: this.constants.DATE_MIN_VALUE, - max: this.constants.DATE_MAX_VALUE - }); - this.popup.on(BI.MultiDatePopup.BUTTON_CLEAR_EVENT_CHANGE, function () { - self.setValue(); - self.combo.hideView(); - self.fireEvent(BI.MultiDateCombo.EVENT_CONFIRM); - }); - this.popup.on(BI.MultiDatePopup.BUTTON_lABEL_EVENT_CHANGE, function () { - var date = new Date(); - self.setValue({ - year: date.getFullYear(), - month: date.getMonth(), - day: date.getDate() - }); - self.combo.hideView(); - self.fireEvent(BI.MultiDateCombo.EVENT_CONFIRM); - }); - this.popup.on(BI.MultiDatePopup.BUTTON_OK_EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.MultiDateCombo.EVENT_CONFIRM); - }); - this.popup.on(BI.MultiDatePopup.CALENDAR_EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - //self.fireEvent(BI.MultiDateCombo.EVENT_CHANGE); - self.fireEvent(BI.MultiDateCombo.EVENT_CONFIRM); - }); - this.combo = BI.createWidget({ - type: 'bi.combo', - toggle: false, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - adjustLength: this.constants.comboAdjustHeight, - popup: { - el: this.popup, - maxHeight: this.constants.popupHeight, - width: this.constants.popupWidth, - stopPropagation: false - } - }); - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - self.popup.setValue(self.storeValue); - self.fireEvent(BI.MultiDateCombo.EVENT_BEFORE_POPUPVIEW); - }); - - var triggerBtn = BI.createWidget({ - type: "bi.icon_button", - cls: "bi-trigger-icon-button date-font", - width: 24, - height: 24 - }); - triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE, function () { - if (self.combo.isViewVisible()) { - self.combo.hideView(); - } else { - self.combo.showView(); - } - }); - this.changeIcon = BI.createWidget({ - type: "bi.icon_button", - cls: "bi-trigger-icon-button date-change-h-font", - width: 24, - height: 24 - }); - - - var leftPart = BI.createWidget({ - type: "bi.absolute", - items: [{ - el: this.combo, - top: 0, - left: 0, - right: 0, - bottom: 0 - }, { - el: triggerBtn, - top: 0, - left: 0 - }] - }); - - BI.createWidget({ - type: "bi.htape", - element: this, - items: [leftPart, { - el: this.changeIcon, - width: 30 - }], - ref: function (_ref) { - self.comboWrapper = _ref; - } - }) - }, - - _checkDynamicValue: function (v) { - var type = null; - if (BI.isNotNull(v)) { - type = v.type - } - switch (type) { - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_BEGIN: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_END: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_BEGIN: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_END: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_BEGIN: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_END: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_TODAY: - this.changeIcon.setVisible(true); - this.comboWrapper.attr("items")[1].width = 30; - this.comboWrapper.resize(); - break; - default: - this.comboWrapper.attr("items")[1].width = 0; - this.comboWrapper.resize(); - this.changeIcon.setVisible(false); - break; - } - }, - - setValue: function (v) { - this.storeValue = v; - this.popup.setValue(v); - this.trigger.setValue(v); - this._checkDynamicValue(v) - }, - getValue: function () { - return this.storeValue; - }, - getKey: function () { - return this.trigger.getKey(); - }, - hidePopupView: function () { - this.combo.hideView(); - } -}); -BI.shortcut('bi.multidate_combo', BI.MultiDateCombo); - -BI.MultiDateCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.MultiDateCombo.EVENT_FOCUS = "EVENT_FOCUS"; -BI.MultiDateCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.MultiDateCombo.EVENT_VALID = "EVENT_VALID"; -BI.MultiDateCombo.EVENT_ERROR = "EVENT_ERROR"; -BI.MultiDateCombo.EVENT_BEFORE_POPUPVIEW = "BI.MultiDateCombo.EVENT_BEFORE_POPUPVIEW"; - -BI.extend(BI.MultiDateCombo, { - MULTI_DATE_YMD_CARD: 1, - MULTI_DATE_YEAR_CARD: 2, - MULTI_DATE_QUARTER_CARD: 3, - MULTI_DATE_MONTH_CARD: 4, - MULTI_DATE_WEEK_CARD: 5, - MULTI_DATE_DAY_CARD: 6 -}); - -BI.extend(BI.MultiDateCombo, { - DATE_TYPE: { - MULTI_DATE_YEAR_PREV: 1, - MULTI_DATE_YEAR_AFTER: 2, - MULTI_DATE_YEAR_BEGIN: 3, - MULTI_DATE_YEAR_END: 4, - MULTI_DATE_MONTH_PREV: 5, - MULTI_DATE_MONTH_AFTER: 6, - MULTI_DATE_MONTH_BEGIN: 7, - MULTI_DATE_MONTH_END: 8, - MULTI_DATE_QUARTER_PREV: 9, - MULTI_DATE_QUARTER_AFTER: 10, - MULTI_DATE_QUARTER_BEGIN: 11, - MULTI_DATE_QUARTER_END: 12, - MULTI_DATE_WEEK_PREV: 13, - MULTI_DATE_WEEK_AFTER: 14, - MULTI_DATE_DAY_PREV: 15, - MULTI_DATE_DAY_AFTER: 16, - MULTI_DATE_DAY_TODAY: 17, - MULTI_DATE_PARAM: 18, - MULTI_DATE_CALENDAR: 19, - YEAR_QUARTER: 20, - YEAR_MONTH: 21, - YEAR_WEEK: 22, - YEAR_DAY: 23, - MONTH_WEEK: 24, - MONTH_DAY: 25, - YEAR: 26, - SAME_PERIOD: 27, - LAST_SAME_PERIOD: 28 - } -}); -/** - * 普通控件 - * - * @class BI.DayCard - * @extends BI.MultiDateCard - */ -BI.DayCard = BI.inherit(BI.MultiDateCard, { - - _defaultConfig: function () { - return $.extend(BI.DayCard.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-daycard' - }); - }, - - _init: function () { - BI.DayCard.superclass._init.apply(this, arguments); - }, - - dateConfig: function () { - return [{ - isEditorExist: true, - selected: true, - text: BI.i18nText("BI-Multi_Date_Day_Prev"), - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_PREV - }, - { - isEditorExist: true, - text: BI.i18nText("BI-Multi_Date_Day_Next"), - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_AFTER - }, - { - isEditorExist: false, - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_TODAY, - text: BI.i18nText("BI-Multi_Date_Today") - }]; - }, - - defaultSelectedItem: function () { - return BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_PREV - } -}); -BI.DayCard.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.daycard', BI.DayCard); -/** - * 普通控件 - * - * @class BI.MonthCard - * @extends BI.MultiDateCard - */ -BI.MonthCard = BI.inherit(BI.MultiDateCard, { - _defaultConfig: function () { - return $.extend(BI.MonthCard.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-monthcard' - }); - }, - - _init: function () { - BI.MonthCard.superclass._init.apply(this, arguments); - }, - - dateConfig: function () { - return [{ - selected: true, - isEditorExist: true, - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_PREV, - text: BI.i18nText("BI-Multi_Date_Month_Prev") - }, - { - isEditorExist: true, - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_AFTER, - text: BI.i18nText("BI-Multi_Date_Month_Next") - }, - { - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_BEGIN, - isEditorExist: false, - text: BI.i18nText("BI-Multi_Date_Month_Begin") - }, - { - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_END, - isEditorExist: false, - text: BI.i18nText("BI-Multi_Date_Month_End") - }]; - }, - - defaultSelectedItem: function () { - return BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_PREV; - } -}); -BI.MonthCard.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.monthcard', BI.MonthCard); -/** - * 日期控件 - * @class BI.MultiDatePopup - * @extends BI.Widget - */ -BI.MultiDatePopup = BI.inherit(BI.Widget, { - constants: { - tabHeight: 30, - tabWidth: 42, - titleHeight: 27, - itemHeight: 30, - triggerHeight: 24, - buttonWidth: 90, - buttonHeight: 25, - cardHeight: 229, - cardWidth: 270, - popupHeight: 259, - popupWidth: 270, - comboAdjustHeight: 1, - ymdWidth: 58, - lgap: 2, - border: 1 - }, - _defaultConfig: function () { - return BI.extend(BI.MultiDatePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-popup', - width: 268, - height: 260 - }); - }, - _init: function () { - BI.MultiDatePopup.superclass._init.apply(this, arguments); - var self = this, opts = this.options; - this.storeValue = ""; - this.textButton = BI.createWidget({ - type: 'bi.text_button', - forceCenter: true, - cls: 'bi-multidate-popup-label bi-border-left bi-border-right bi-border-top', - shadow: true, - text: BI.i18nText("BI-Multi_Date_Today") - }); - this.textButton.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiDatePopup.BUTTON_lABEL_EVENT_CHANGE); - }); - this.clearButton = BI.createWidget({ - type: "bi.text_button", - forceCenter: true, - cls: 'bi-multidate-popup-button bi-border-top', - shadow: true, - text: BI.i18nText("BI-Basic_Clear") - }); - this.clearButton.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiDatePopup.BUTTON_CLEAR_EVENT_CHANGE); - }); - this.okButton = BI.createWidget({ - type: "bi.text_button", - forceCenter: true, - cls: 'bi-multidate-popup-button bi-border-top', - shadow: true, - text: BI.i18nText("BI-Basic_OK") - }); - this.okButton.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiDatePopup.BUTTON_OK_EVENT_CHANGE); - }); - this.dateTab = BI.createWidget({ - type: 'bi.tab', - tab: { - cls: "bi-multidate-popup-tab bi-border-bottom", - height: this.constants.tabHeight, - items: BI.createItems([{ - text: BI.i18nText("BI-Multi_Date_YMD"), - value: BI.MultiDateCombo.MULTI_DATE_YMD_CARD, - width: this.constants.ymdWidth - }, { - text: BI.i18nText("BI-Multi_Date_Year"), - value: BI.MultiDateCombo.MULTI_DATE_YEAR_CARD - }, { - text: BI.i18nText("BI-Multi_Date_Quarter"), - value: BI.MultiDateCombo.MULTI_DATE_QUARTER_CARD - }, { - text: BI.i18nText("BI-Multi_Date_Month"), - value: BI.MultiDateCombo.MULTI_DATE_MONTH_CARD - }, { - text: BI.i18nText("BI-Multi_Date_Week"), - value: BI.MultiDateCombo.MULTI_DATE_WEEK_CARD - }, { - text: BI.i18nText("BI-Multi_Date_Day"), - value: BI.MultiDateCombo.MULTI_DATE_DAY_CARD - }], { - width: this.constants.tabWidth, - textAlign: "center", - height: this.constants.itemHeight, - cls: 'bi-multidate-popup-item bi-list-item-active' - }), - layouts: [{ - type: 'bi.left' - }] - }, - cardCreator: function (v) { - switch (v) { - case BI.MultiDateCombo.MULTI_DATE_YMD_CARD: - self.ymd = BI.createWidget({ - type: "bi.date_calendar_popup", - min: self.options.min, - max: self.options.max - }); - self.ymd.on(BI.DateCalendarPopup.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiDatePopup.CALENDAR_EVENT_CHANGE); - }); - return self.ymd; - case BI.MultiDateCombo.MULTI_DATE_YEAR_CARD: - self.year = BI.createWidget({ - type: "bi.yearcard" - }); - self.year.on(BI.MultiDateCard.EVENT_CHANGE, function (v) { - self._setInnerValue(self.year, v); - }); - return self.year; - case BI.MultiDateCombo.MULTI_DATE_QUARTER_CARD: - self.quarter = BI.createWidget({ - type: 'bi.quartercard' - }); - self.quarter.on(BI.MultiDateCard.EVENT_CHANGE, function (v) { - self._setInnerValue(self.quarter, v); - }); - return self.quarter; - case BI.MultiDateCombo.MULTI_DATE_MONTH_CARD: - self.month = BI.createWidget({ - type: 'bi.monthcard' - }); - self.month.on(BI.MultiDateCard.EVENT_CHANGE, function (v) { - self._setInnerValue(self.month, v); - }); - return self.month; - case BI.MultiDateCombo.MULTI_DATE_WEEK_CARD: - self.week = BI.createWidget({ - type: 'bi.weekcard' - }); - self.week.on(BI.MultiDateCard.EVENT_CHANGE, function (v) { - self._setInnerValue(self.week, v); - }); - return self.week; - case BI.MultiDateCombo.MULTI_DATE_DAY_CARD: - self.day = BI.createWidget({ - type: 'bi.daycard' - }); - self.day.on(BI.MultiDateCard.EVENT_CHANGE, function (v) { - self._setInnerValue(self.day, v); - }); - return self.day; - } - } - }); - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_YMD_CARD); - this.cur = BI.MultiDateCombo.MULTI_DATE_YMD_CARD; - this.dateTab.on(BI.Tab.EVENT_CHANGE, function () { - var v = self.dateTab.getSelect(); - switch (v) { - case BI.MultiDateCombo.MULTI_DATE_YMD_CARD: - var date = this.getTab(self.cur).getCalculationValue(); - self.ymd.setValue({ - year: date.getFullYear(), - month: date.getMonth(), - day: date.getDate() - }); - self._setInnerValue(self.ymd); - break; - case BI.MultiDateCombo.MULTI_DATE_YEAR_CARD: - self.year.setValue(self.storeValue); - self._setInnerValue(self.year); - break; - case BI.MultiDateCombo.MULTI_DATE_QUARTER_CARD: - self.quarter.setValue(self.storeValue); - self._setInnerValue(self.quarter); - break; - case BI.MultiDateCombo.MULTI_DATE_MONTH_CARD: - self.month.setValue(self.storeValue); - self._setInnerValue(self.month); - break; - case BI.MultiDateCombo.MULTI_DATE_WEEK_CARD: - self.week.setValue(self.storeValue); - self._setInnerValue(self.week); - break; - case BI.MultiDateCombo.MULTI_DATE_DAY_CARD: - self.day.setValue(self.storeValue); - self._setInnerValue(self.day); - break; - } - self.cur = v; - }); - this.dateButton = BI.createWidget({ - type: "bi.grid", - items: [[this.clearButton, this.textButton, this.okButton]] - }); - BI.createWidget({ - element: this, - type: "bi.vtape", - items: [{ - el: this.dateTab - }, { - el: this.dateButton, - height: 30 - }] - }); - }, - _setInnerValue: function (obj) { - if (this.dateTab.getSelect() === BI.MultiDateCombo.MULTI_DATE_YMD_CARD) { - this.textButton.setValue(BI.i18nText("BI-Multi_Date_Today")); - this.textButton.setEnable(true); - } else { - var date = obj.getCalculationValue(); - date = date.print("%Y-%x-%e"); - this.textButton.setValue(date); - this.textButton.setEnable(false); - } - }, - setValue: function (v) { - this.storeValue = v; - var self = this, date; - var type, value; - if (BI.isNotNull(v)) { - type = v.type || BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_CALENDAR; - value = v.value; - if (BI.isNull(value)) { - value = v; - } - } - switch (type) { - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_BEGIN: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_END: - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_YEAR_CARD); - this.year.setValue({type: type, value: value}); - this.cur = BI.MultiDateCombo.MULTI_DATE_YEAR_CARD; - self._setInnerValue(this.year); - break; - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_BEGIN: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_END: - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_QUARTER_CARD); - this.cur = BI.MultiDateCombo.MULTI_DATE_QUARTER_CARD; - this.quarter.setValue({type: type, value: value}); - self._setInnerValue(this.quarter); - break; - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_BEGIN: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_END: - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_MONTH_CARD); - this.cur = BI.MultiDateCombo.MULTI_DATE_MONTH_CARD; - this.month.setValue({type: type, value: value}); - self._setInnerValue(this.month); - break; - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_AFTER: - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_WEEK_CARD); - this.cur = BI.MultiDateCombo.MULTI_DATE_WEEK_CARD; - this.week.setValue({type: type, value: value}); - self._setInnerValue(this.week); - break; - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_TODAY: - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_DAY_CARD); - this.cur = BI.MultiDateCombo.MULTI_DATE_DAY_CARD; - this.day.setValue({type: type, value: value}); - self._setInnerValue(this.day); - break; - default: - if (BI.isNull(value) || BI.isEmptyObject(value)) { - var date = new Date(); - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_YMD_CARD); - this.ymd.setValue({ - year: date.getFullYear(), - month: date.getMonth(), - day: date.getDate() - }); - this.textButton.setValue(BI.i18nText("BI-Multi_Date_Today")); - } else { - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_YMD_CARD); - this.ymd.setValue(value); - this.textButton.setValue(BI.i18nText("BI-Multi_Date_Today")); - } - this.textButton.setEnable(true); - break; - } - }, - getValue: function () { - var tab = this.dateTab.getSelect(); - switch (tab) { - case BI.MultiDateCombo.MULTI_DATE_YMD_CARD: - return this.ymd.getValue(); - case BI.MultiDateCombo.MULTI_DATE_YEAR_CARD: - return this.year.getValue(); - case BI.MultiDateCombo.MULTI_DATE_QUARTER_CARD: - return this.quarter.getValue(); - case BI.MultiDateCombo.MULTI_DATE_MONTH_CARD: - return this.month.getValue(); - case BI.MultiDateCombo.MULTI_DATE_WEEK_CARD: - return this.week.getValue(); - case BI.MultiDateCombo.MULTI_DATE_DAY_CARD: - return this.day.getValue(); - } - } -}); -BI.MultiDatePopup.BUTTON_OK_EVENT_CHANGE = "BUTTON_OK_EVENT_CHANGE"; -BI.MultiDatePopup.BUTTON_lABEL_EVENT_CHANGE = "BUTTON_lABEL_EVENT_CHANGE"; -BI.MultiDatePopup.BUTTON_CLEAR_EVENT_CHANGE = "BUTTON_CLEAR_EVENT_CHANGE"; -BI.MultiDatePopup.CALENDAR_EVENT_CHANGE = "CALENDAR_EVENT_CHANGE"; -BI.shortcut('bi.multidate_popup', BI.MultiDatePopup); -/** - * 普通控件 - * - * @class BI.QuarterCard - * @extends BI.MultiDateCard - */ -BI.QuarterCard = BI.inherit(BI.MultiDateCard, { - - _defaultConfig: function () { - return $.extend(BI.QuarterCard.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-quartercard' - }); - }, - - _init: function () { - BI.QuarterCard.superclass._init.apply(this, arguments); - }, - - dateConfig: function () { - return [{ - selected: true, - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_PREV, - isEditorExist: true, - text: BI.i18nText("BI-Multi_Date_Quarter_Prev") - }, - { - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_AFTER, - isEditorExist: true, - text: BI.i18nText("BI-Multi_Date_Quarter_Next") - }, - { - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_BEGIN, - isEditorExist: false, - text: BI.i18nText("BI-Multi_Date_Quarter_Begin") - }, - { - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_END, - isEditorExist: false, - text: BI.i18nText("BI-Multi_Date_Quarter_End") - }] - }, - - defaultSelectedItem: function () { - return BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_PREV; - } -}); -BI.QuarterCard.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.quartercard', BI.QuarterCard); -/** - * 普通控件 - * - * @class BI.MultiDateSegment - * @extends BI.Single - */ -BI.MultiDateSegment = BI.inherit(BI.Single, { - constants: { - itemHeight: 24, - maxGap: 15, - minGap: 10, - textWidth: 30, - defaultEditorValue: "1" - }, - - _defaultConfig: function () { - return $.extend(BI.MultiDateSegment.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-segment', - text: "", - width: 130, - height: 30, - isEditorExist: true, - selected: false, - defaultEditorValue: "1" - }); - }, - - _init: function () { - BI.MultiDateSegment.superclass._init.apply(this, arguments); - var self = this, opts = this.options; - this.radio = BI.createWidget({ - type: "bi.radio", - selected: opts.selected - }); - this.radio.on(BI.Controller.EVENT_CHANGE, function (v) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.textEditor = BI.createWidget({ - type: 'bi.text_editor', - value: this.constants.defaultEditorValue, - title: function () { - return self.textEditor.getValue(); - }, - tipType: "success", - cls: 'bi-multidate-editor', - width: this.constants.textWidth, - height: this.constants.itemHeight - }); - this.textEditor.on(BI.Controller.EVENT_CHANGE, function (v) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - cls: 'bi-multidate-normal-label', - text: opts.text, - height: this.constants.itemHeight - }); - this._createSegment(); - }, - _createSegment: function () { - if (this.options.isEditorExist === true) { - return BI.createWidget({ - element: this, - type: 'bi.left', - items: [{ - el: { - type: "bi.center_adapt", - items: [this.radio], - height: this.constants.itemHeight - }, - lgap: 0 - }, - { - el: { - type: "bi.center_adapt", - items: [this.textEditor], - widgetName: 'textEditor' - }, - lgap: this.constants.maxGap - }, - { - el: this.text, - lgap: this.constants.minGap - }] - }); - } - return BI.createWidget({ - element: this, - type: 'bi.left', - items: [{ - el: { - type: "bi.center_adapt", - items: [this.radio], - height: this.constants.itemHeight - }, - lgap: 0 - }, - { - el: this.text, - lgap: this.constants.maxGap - }] - }) - }, - setSelected: function (v) { - if (BI.isNotNull(this.radio)) { - this.radio.setSelected(v); - this.textEditor.setEnable(v); - } - }, - isSelected: function () { - return this.radio.isSelected(); - }, - getValue: function () { - return this.options.value; - }, - getInputValue: function () { - return this.textEditor.getValue() | 0; - }, - setInputValue: function (v) { - this.textEditor.setValue(v); - }, - isEditorExist: function () { - return this.options.isEditorExist; - } -}); -BI.MultiDateSegment.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.multidate_segment', BI.MultiDateSegment);/** - * 普通控件 - * - * @class BI.WeekCard - * @extends BI.MultiDateCard - */ -BI.WeekCard = BI.inherit(BI.MultiDateCard, { - _defaultConfig: function () { - return $.extend(BI.WeekCard.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-weekcard' - }); - }, - - _init: function () { - BI.WeekCard.superclass._init.apply(this, arguments); - }, - - dateConfig: function () { - return [{ - selected: true, - isEditorExist: true, - text: BI.i18nText("BI-Multi_Date_Week_Prev"), - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_PREV - }, - { - isEditorExist: true, - text: BI.i18nText("BI-Multi_Date_Week_Next"), - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_AFTER - }]; - }, - - defaultSelectedItem: function () { - return BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_PREV; - } -}); -BI.WeekCard.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.weekcard', BI.WeekCard); -/** - * 普通控件 - * - * @class BI.YearCard - * @extends BI.MultiDateCard - */ -BI.YearCard = BI.inherit(BI.MultiDateCard, { - _defaultConfig: function () { - return $.extend(BI.YearCard.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-yearcard' - }); - }, - - _init: function () { - BI.YearCard.superclass._init.apply(this, arguments); - }, - - dateConfig: function () { - return [{ - selected: true, - isEditorExist: true, - text: BI.i18nText("BI-Multi_Date_Year_Prev"), - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_PREV - }, - { - isEditorExist: true, - text: BI.i18nText("BI-Multi_Date_Year_Next"), - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_AFTER - }, - { - isEditorExist: false, - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_BEGIN, - text: BI.i18nText("BI-Multi_Date_Year_Begin") - }, - { - isEditorExist: false, - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_END, - text: BI.i18nText("BI-Multi_Date_Year_End") - }] - }, - - defaultSelectedItem: function () { - return BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_PREV; - } -}); -BI.YearCard.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.yearcard', BI.YearCard); -/** - * @class BI.MultiLayerSelectTreeCombo - * @extends BI.Widget - */ -BI.MultiLayerSelectTreeCombo = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSelectTreeCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multilayer_select_tree-combo", - isDefaultInit: false, - height: 30, - text: "", - items: [] - }); - }, - - _init: function () { - BI.MultiLayerSelectTreeCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.single_tree_trigger", - text: o.text, - height: o.height, - items: o.items - }); - - this.popup = BI.createWidget({ - type: "bi.multilayer_select_tree_popup", - isDefaultInit: o.isDefaultInit, - items: o.items - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 2, - el: this.trigger, - popup: { - el: this.popup - } - }); - - this.combo.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.popup.on(BI.MultiLayerSelectTreePopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.MultiLayerSelectTreeCombo.EVENT_CHANGE); - }); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function () { - return this.popup.getValue(); - }, - - populate: function (items) { - this.combo.populate(items); - } -}); -BI.MultiLayerSelectTreeCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.multilayer_select_tree_combo", BI.MultiLayerSelectTreeCombo);/** - * guy - * 二级树 - * @class BI.MultiLayerSelectLevelTree - * @extends BI.Select - */ -BI.MultiLayerSelectLevelTree = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSelectLevelTree.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multilayer-select-level-tree", - isDefaultInit: false, - items: [], - itemsCreator: BI.emptyFn - }) - }, - - _init: function () { - BI.MultiLayerSelectLevelTree.superclass._init.apply(this, arguments); - - this.initTree(this.options.items); - }, - - _formatItems: function (nodes, layer) { - var self = this; - BI.each(nodes, function (i, node) { - var extend = {}; - node.layer = layer; - if (!BI.isKey(node.id)) { - node.id = BI.UUID(); - } - if (node.isParent === true || BI.isNotEmptyArray(node.children)) { - switch (i) { - case 0 : - extend.type = "bi.multilayer_select_tree_first_plus_group_node"; - break; - case nodes.length - 1 : - extend.type = "bi.multilayer_select_tree_last_plus_group_node"; - break; - default : - extend.type = "bi.multilayer_select_tree_mid_plus_group_node"; - break; - } - BI.defaults(node, extend); - - self._formatItems(node.children, layer + 1); - } else { - switch (i) { - case nodes.length - 1: - extend.type = "bi.multilayer_single_tree_last_tree_leaf_item"; - break; - default : - extend.type = "bi.multilayer_single_tree_mid_tree_leaf_item"; - } - BI.defaults(node, extend); - } - }); - return nodes; - }, - - _assertId: function (sNodes) { - BI.each(sNodes, function (i, node) { - node.id = node.id || BI.UUID(); - }); - }, - - //构造树结构, - initTree: function (nodes) { - var self = this, o = this.options; - this.empty(); - this._assertId(nodes); - this.tree = BI.createWidget({ - type: "bi.custom_tree", - element: this, - expander: { - type: "bi.select_tree_expander", - isDefaultInit: o.isDefaultInit, - el: {}, - popup: { - type: "bi.custom_tree" - } - }, - - items: this._formatItems(BI.Tree.transformToTreeFormat(nodes), 0), - itemsCreator: o.itemsCreator, - - el: { - type: "bi.button_tree", - chooseType: BI.Selection.Single, - layouts: [{ - type: "bi.vertical" - }] - } - }); - this.tree.on(BI.Controller.EVENT_CHANGE, function (type) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.MultiLayerSelectLevelTree.EVENT_CHANGE, arguments); - } - }) - }, - - populate: function (nodes) { - this.tree.populate(this._formatItems(BI.Tree.transformToTreeFormat(nodes), 0)); - }, - - setValue: function (v) { - this.tree.setValue(v); - }, - - getValue: function () { - return this.tree.getValue(); - }, - - getAllLeaves: function () { - return this.tree.getAllLeaves(); - }, - - getNodeById: function (id) { - return this.tree.getNodeById(id); - }, - - getNodeByValue: function (id) { - return this.tree.getNodeByValue(id); - } -}); -BI.MultiLayerSelectLevelTree.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.multilayer_select_level_tree", BI.MultiLayerSelectLevelTree);/** - * Created by GUY on 2016/1/26. - * - * @class BI.MultiLayerSelectTreePopup - * @extends BI.Pane - */ - -BI.MultiLayerSelectTreePopup = BI.inherit(BI.Pane, { - - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSelectTreePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multilayer-select-tree-popup", - tipText: BI.i18nText("BI-No_Selected_Item"), - isDefaultInit: false, - itemsCreator: BI.emptyFn, - items: [] - }); - }, - - _init: function () { - BI.MultiLayerSelectTreePopup.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - - this.tree = BI.createWidget({ - type: 'bi.multilayer_select_level_tree', - isDefaultInit: o.isDefaultInit, - items: o.items, - itemsCreator: o.itemsCreator - }); - - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - scrollable: true, - element: this, - items: [this.tree] - }); - - this.tree.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.tree.on(BI.MultiLayerSelectLevelTree.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiLayerSelectTreePopup.EVENT_CHANGE); - }); - - this.check(); - }, - - getValue: function () { - return this.tree.getValue(); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.tree.setValue(v); - }, - - populate: function (items) { - BI.MultiLayerSelectTreePopup.superclass.populate.apply(this, arguments); - this.tree.populate(items); - } -}); - -BI.MultiLayerSelectTreePopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.multilayer_select_tree_popup", BI.MultiLayerSelectTreePopup);/** - * 加号表示的组节点 - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSelectTreeFirstPlusGroupNode - * @extends BI.NodeButton - */ -BI.MultiLayerSelectTreeFirstPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.MultiLayerSelectTreeFirstPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-multilayer-select-tree-first-plus-group-node bi-list-item-active", - layer: 0,//第几层级 - id: "", - pId: "", - readonly: true, - open: false, - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSelectTreeFirstPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.node = BI.createWidget({ - type: "bi.select_tree_first_plus_group_node", - cls: "bi-list-item-none", - stopPropagation: true, - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - open: o.open, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.node.on(BI.Controller.EVENT_CHANGE, function (type) { - self.setSelected(self.isSelected()); - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.node); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - isOnce: function () { - return true; - }, - - doRedMark: function () { - this.node.doRedMark.apply(this.node, arguments); - }, - - unRedMark: function () { - this.node.unRedMark.apply(this.node, arguments); - }, - - isSelected: function () { - return this.node.isSelected(); - }, - - setSelected: function (b) { - BI.MultiLayerSelectTreeFirstPlusGroupNode.superclass.setSelected.apply(this, arguments); - this.node.setSelected(b); - }, - - doClick: function () { - BI.NodeButton.superclass.doClick.apply(this, arguments); - this.node.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.MultiLayerSelectTreeFirstPlusGroupNode.superclass.setOpened.apply(this, arguments); - this.node.setOpened(v); - } -}); - -BI.shortcut("bi.multilayer_select_tree_first_plus_group_node", BI.MultiLayerSelectTreeFirstPlusGroupNode);/** - * 加号表示的组节点 - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSelectTreeLastPlusGroupNode - * @extends BI.NodeButton - */ -BI.MultiLayerSelectTreeLastPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.MultiLayerSelectTreeLastPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-multilayer-select-tree-last-plus-group-node bi-list-item-active", - layer: 0,//第几层级 - id: "", - pId: "", - readonly: true, - open: false, - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSelectTreeLastPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.node = BI.createWidget({ - type: "bi.select_tree_last_plus_group_node", - cls: "bi-list-item-none", - stopPropagation: true, - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - open: o.open, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.node.on(BI.Controller.EVENT_CHANGE, function (type) { - self.setSelected(self.isSelected()); - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.node); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.node.doRedMark.apply(this.node, arguments); - }, - - unRedMark: function () { - this.node.unRedMark.apply(this.node, arguments); - }, - - isSelected: function () { - return this.node.isSelected(); - }, - - setSelected: function (b) { - BI.MultiLayerSelectTreeLastPlusGroupNode.superclass.setSelected.apply(this, arguments); - this.node.setSelected(b); - }, - - doClick: function () { - BI.MultiLayerSelectTreeLastPlusGroupNode.superclass.doClick.apply(this, arguments); - this.node.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.MultiLayerSelectTreeLastPlusGroupNode.superclass.setOpened.apply(this, arguments); - this.node.setOpened(v); - } -}); - -BI.shortcut("bi.multilayer_select_tree_last_plus_group_node", BI.MultiLayerSelectTreeLastPlusGroupNode);/** - * 加号表示的组节点 - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSelectTreeMidPlusGroupNode - * @extends BI.NodeButton - */ -BI.MultiLayerSelectTreeMidPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.MultiLayerSelectTreeMidPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-multilayer-select-tree-mid-plus-group-node bi-list-item-active", - layer: 0,//第几层级 - id: "", - pId: "", - readonly: true, - open: false, - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSelectTreeMidPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.node = BI.createWidget({ - type: "bi.select_tree_mid_plus_group_node", - cls: "bi-list-item-none", - stopPropagation: true, - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - open: o.open, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.node.on(BI.Controller.EVENT_CHANGE, function (type) { - self.setSelected(self.isSelected()); - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.node); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.node.doRedMark.apply(this.node, arguments); - }, - - unRedMark: function () { - this.node.unRedMark.apply(this.node, arguments); - }, - - isSelected: function () { - return this.node.isSelected(); - }, - - setSelected: function (b) { - BI.MultiLayerSelectTreeMidPlusGroupNode.superclass.setSelected.apply(this, arguments); - this.node.setSelected(b); - }, - - doClick: function () { - BI.MultiLayerSelectTreeMidPlusGroupNode.superclass.doClick.apply(this, arguments); - this.node.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.MultiLayerSelectTreeMidPlusGroupNode.superclass.setOpened.apply(this, arguments); - this.node.setOpened(v); - } -}); - -BI.shortcut("bi.multilayer_select_tree_mid_plus_group_node", BI.MultiLayerSelectTreeMidPlusGroupNode);/** - * 多层级下拉单选树 - * Created by GUY on 2016/1/26. - * - * @class BI.MultiLayerSingleTreeCombo - * @extends BI.Widget - */ -BI.MultiLayerSingleTreeCombo = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSingleTreeCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multilayer-singletree-combo", - isDefaultInit: false, - height: 30, - text: "", - itemsCreator: BI.emptyFn, - items: [] - }); - }, - - _init: function () { - BI.MultiLayerSingleTreeCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.single_tree_trigger", - text: o.text, - height: o.height, - items: o.items - }); - - this.popup = BI.createWidget({ - type: "bi.multilayer_single_tree_popup", - isDefaultInit: o.isDefaultInit, - items: o.items - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 2, - el: this.trigger, - popup: { - el: this.popup - } - }); - - this.combo.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.popup.on(BI.MultiLayerSingleTreePopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.MultiLayerSingleTreeCombo.EVENT_CHANGE); - }); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function () { - return this.popup.getValue(); - }, - - populate: function (items) { - this.combo.populate(items); - } -}); - -BI.MultiLayerSingleTreeCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.multilayer_single_tree_combo", BI.MultiLayerSingleTreeCombo);/** - * guy - * 二级树 - * @class BI.MultiLayerSingleLevelTree - * @extends BI.Single - */ -BI.MultiLayerSingleLevelTree = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSingleLevelTree.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multilayer-single-level-tree", - isDefaultInit: false, - items: [], - itemsCreator: BI.emptyFn - }) - }, - - _init: function () { - BI.MultiLayerSingleLevelTree.superclass._init.apply(this, arguments); - - this.initTree(this.options.items); - }, - - _formatItems: function (nodes, layer) { - var self = this; - BI.each(nodes, function (i, node) { - var extend = {}; - node.layer = layer; - if (!BI.isKey(node.id)) { - node.id = BI.UUID(); - } - if (node.isParent === true || BI.isNotEmptyArray(node.children)) { - switch (i) { - case 0 : - extend.type = "bi.multilayer_single_tree_first_plus_group_node"; - break; - case nodes.length - 1 : - extend.type = "bi.multilayer_single_tree_last_plus_group_node"; - break; - default : - extend.type = "bi.multilayer_single_tree_mid_plus_group_node"; - break; - } - BI.defaults(node, extend); - - self._formatItems(node.children, layer + 1); - } else { - switch (i) { - case nodes.length - 1: - extend.type = "bi.multilayer_single_tree_last_tree_leaf_item"; - break; - default : - extend.type = "bi.multilayer_single_tree_mid_tree_leaf_item"; - } - BI.defaults(node, extend); - } - }); - return nodes; - }, - - _assertId: function (sNodes) { - BI.each(sNodes, function (i, node) { - node.id = node.id || BI.UUID(); - }); - }, - - //构造树结构, - initTree: function (nodes) { - var self = this, o = this.options; - this.empty(); - this._assertId(nodes); - this.tree = BI.createWidget({ - type: "bi.custom_tree", - element: this, - expander: { - isDefaultInit: o.isDefaultInit, - el: {}, - popup: { - type: "bi.custom_tree" - } - }, - - items: this._formatItems(BI.Tree.transformToTreeFormat(nodes), 0), - itemsCreator: function (op, callback) { - o.itemsCreator(op, function (items) { - callback(BI.Tree.transformToTreeFormat(items), 0) - }) - }, - - el: { - type: "bi.button_tree", - chooseType: BI.Selection.Single, - layouts: [{ - type: "bi.vertical" - }] - } - }); - this.tree.on(BI.Controller.EVENT_CHANGE, function (type, v) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.MultiLayerSingleLevelTree.EVENT_CHANGE, v); - } - }) - }, - - populate: function (nodes) { - this.tree.populate(this._formatItems(BI.Tree.transformToTreeFormat(nodes), 0)); - }, - - setValue: function (v) { - this.tree.setValue(v); - }, - - getValue: function () { - return this.tree.getValue(); - }, - - getAllLeaves: function () { - return this.tree.getAllLeaves(); - }, - - getNodeById: function (id) { - return this.tree.getNodeById(id); - }, - - getNodeByValue: function (id) { - return this.tree.getNodeByValue(id); - } -}); -BI.MultiLayerSingleLevelTree.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.multilayer_single_level_tree", BI.MultiLayerSingleLevelTree); -/** - * Created by GUY on 2016/1/26. - * - * @class BI.MultiLayerSingleTreePopup - * @extends BI.Pane - */ - -BI.MultiLayerSingleTreePopup = BI.inherit(BI.Pane, { - - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSingleTreePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multilayer-singletree-popup", - tipText: BI.i18nText("BI-No_Selected_Item"), - isDefaultInit: false, - itemsCreator: BI.emptyFn, - items: [] - }); - }, - - _init: function () { - BI.MultiLayerSingleTreePopup.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - - this.tree = BI.createWidget({ - type: 'bi.multilayer_single_level_tree', - isDefaultInit: o.isDefaultInit, - items: o.items, - itemsCreator: o.itemsCreator - }); - - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - scrollable: true, - element: this, - items: [this.tree] - }); - - this.tree.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.tree.on(BI.MultiLayerSingleLevelTree.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiLayerSingleTreePopup.EVENT_CHANGE); - }); - - this.check(); - }, - - getValue: function () { - return this.tree.getValue(); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.tree.setValue(v); - }, - - populate: function (items) { - BI.MultiLayerSingleTreePopup.superclass.populate.apply(this, arguments); - this.tree.populate(items); - } -}); - -BI.MultiLayerSingleTreePopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.multilayer_single_tree_popup", BI.MultiLayerSingleTreePopup);/** - * 加号表示的组节点 - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSingleTreeFirstPlusGroupNode - * @extends BI.NodeButton - */ -BI.MultiLayerSingleTreeFirstPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.MultiLayerSingleTreeFirstPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-multilayer-single-tree-first-plus-group-node bi-list-item", - layer: 0,//第几层级 - id: "", - pId: "", - open: false, - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSingleTreeFirstPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.node = BI.createWidget({ - type: "bi.first_plus_group_node", - cls: "bi-list-item-none", - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - open: o.open, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.node.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) {//本身实现click功能 - return; - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.node); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.node.doRedMark.apply(this.node, arguments); - }, - - unRedMark: function () { - this.node.unRedMark.apply(this.node, arguments); - }, - - doClick: function () { - BI.MultiLayerSingleTreeFirstPlusGroupNode.superclass.doClick.apply(this, arguments); - this.node.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.MultiLayerSingleTreeFirstPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.node)) { - this.node.setOpened(v); - } - } -}); - -BI.shortcut("bi.multilayer_single_tree_first_plus_group_node", BI.MultiLayerSingleTreeFirstPlusGroupNode);/** - * 加号表示的组节点 - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSingleTreeLastPlusGroupNode - * @extends BI.NodeButton - */ -BI.MultiLayerSingleTreeLastPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.MultiLayerSingleTreeLastPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-multilayer-single-tree-last-plus-group-node bi-list-item", - layer: 0,//第几层级 - id: "", - pId: "", - open: false, - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSingleTreeLastPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.node = BI.createWidget({ - type: "bi.last_plus_group_node", - cls: "bi-list-item-none", - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - open: o.open, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.node.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) {//本身实现click功能 - return; - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.node); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.node.doRedMark.apply(this.node, arguments); - }, - - unRedMark: function () { - this.node.unRedMark.apply(this.node, arguments); - }, - - doClick: function () { - BI.MultiLayerSingleTreeLastPlusGroupNode.superclass.doClick.apply(this, arguments); - this.node.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.MultiLayerSingleTreeLastPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.node)) { - this.node.setOpened(v); - } - } -}); - -BI.shortcut("bi.multilayer_single_tree_last_plus_group_node", BI.MultiLayerSingleTreeLastPlusGroupNode);/** - * 加号表示的组节点 - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSingleTreeMidPlusGroupNode - * @extends BI.NodeButton - */ -BI.MultiLayerSingleTreeMidPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.MultiLayerSingleTreeMidPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-multilayer-single-tree-mid-plus-group-node bi-list-item", - layer: 0,//第几层级 - id: "", - pId: "", - open: false, - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSingleTreeMidPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.node = BI.createWidget({ - type: "bi.mid_plus_group_node", - cls: "bi-list-item-none", - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - open: o.open, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.node.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) {//本身实现click功能 - return; - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.node); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.node.doRedMark.apply(this.node, arguments); - }, - - unRedMark: function () { - this.node.unRedMark.apply(this.node, arguments); - }, - - doClick: function () { - BI.MultiLayerSingleTreeMidPlusGroupNode.superclass.doClick.apply(this, arguments); - this.node.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.MultiLayerSingleTreeMidPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.node)) { - this.node.setOpened(v); - } - } -}); - -BI.shortcut("bi.multilayer_single_tree_mid_plus_group_node", BI.MultiLayerSingleTreeMidPlusGroupNode);/** - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSingleTreeFirstTreeLeafItem - * @extends BI.BasicButton - */ -BI.MultiLayerSingleTreeFirstTreeLeafItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSingleTreeFirstTreeLeafItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-multilayer-single-tree-first-tree-leaf-item bi-list-item-active", - logic: { - dynamic: false - }, - layer: 0, - id: "", - pId: "", - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSingleTreeFirstTreeLeafItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.item = BI.createWidget({ - type: "bi.first_tree_leaf_item", - cls: "bi-list-item-none", - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.item.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) {//本身实现click功能 - return; - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.item); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.item.doRedMark.apply(this.item, arguments); - }, - - unRedMark: function () { - this.item.unRedMark.apply(this.item, arguments); - }, - - doHighLight: function () { - this.item.doHighLight.apply(this.item, arguments); - }, - - unHighLight: function () { - this.item.unHighLight.apply(this.item, arguments); - }, - - getId: function () { - return this.options.id; - }, - - getPId: function () { - return this.options.pId; - }, - - doClick: function () { - BI.MultiLayerSingleTreeFirstTreeLeafItem.superclass.doClick.apply(this, arguments); - this.item.setSelected(this.isSelected()); - }, - - setSelected: function (v) { - BI.MultiLayerSingleTreeFirstTreeLeafItem.superclass.setSelected.apply(this, arguments); - this.item.setSelected(v); - } -}); - -BI.shortcut("bi.multilayer_single_tree_first_tree_leaf_item", BI.MultiLayerSingleTreeFirstTreeLeafItem);/** - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSingleTreeLastTreeLeafItem - * @extends BI.BasicButton - */ -BI.MultiLayerSingleTreeLastTreeLeafItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSingleTreeLastTreeLeafItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-multilayer-single-tree-last-tree-leaf-item bi-list-item-active", - logic: { - dynamic: false - }, - layer: 0, - id: "", - pId: "", - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSingleTreeLastTreeLeafItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.item = BI.createWidget({ - type: "bi.last_tree_leaf_item", - cls: "bi-list-item-none", - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.item.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) {//本身实现click功能 - return; - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.item); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.item.doRedMark.apply(this.item, arguments); - }, - - unRedMark: function () { - this.item.unRedMark.apply(this.item, arguments); - }, - - doHighLight: function () { - this.item.doHighLight.apply(this.item, arguments); - }, - - unHighLight: function () { - this.item.unHighLight.apply(this.item, arguments); - }, - - getId: function () { - return this.options.id; - }, - - getPId: function () { - return this.options.pId; - }, - - doClick: function () { - BI.MultiLayerSingleTreeLastTreeLeafItem.superclass.doClick.apply(this, arguments); - this.item.setSelected(this.isSelected()); - }, - - setSelected: function (v) { - BI.MultiLayerSingleTreeLastTreeLeafItem.superclass.setSelected.apply(this, arguments); - this.item.setSelected(v); - } -}); - -BI.shortcut("bi.multilayer_single_tree_last_tree_leaf_item", BI.MultiLayerSingleTreeLastTreeLeafItem);/** - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSingleTreeMidTreeLeafItem - * @extends BI.BasicButton - */ -BI.MultiLayerSingleTreeMidTreeLeafItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSingleTreeMidTreeLeafItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-multilayer-single-tree-mid-tree-leaf-item bi-list-item-active", - logic: { - dynamic: false - }, - layer: 0, - id: "", - pId: "", - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSingleTreeMidTreeLeafItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.item = BI.createWidget({ - type: "bi.mid_tree_leaf_item", - cls: "bi-list-item-none", - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.item.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) {//本身实现click功能 - return; - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.item); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.item.doRedMark.apply(this.item, arguments); - }, - - unRedMark: function () { - this.item.unRedMark.apply(this.item, arguments); - }, - - doHighLight: function () { - this.item.doHighLight.apply(this.item, arguments); - }, - - unHighLight: function () { - this.item.unHighLight.apply(this.item, arguments); - }, - - getId: function () { - return this.options.id; - }, - - getPId: function () { - return this.options.pId; - }, - - doClick: function () { - BI.MultiLayerSingleTreeMidTreeLeafItem.superclass.doClick.apply(this, arguments); - this.item.setSelected(this.isSelected()); - }, - - setSelected: function (v) { - BI.MultiLayerSingleTreeMidTreeLeafItem.superclass.setSelected.apply(this, arguments); - this.item.setSelected(v); - } -}); - -BI.shortcut("bi.multilayer_single_tree_mid_tree_leaf_item", BI.MultiLayerSingleTreeMidTreeLeafItem);/** - * - * @class BI.MultiSelectCheckPane - * @extends BI.Widget - */ -BI.MultiSelectCheckPane = BI.inherit(BI.Widget, { - - constants: { - height: 25, - lgap: 10, - tgap: 5 - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectCheckPane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multi-select-check-pane bi-background", - items: [], - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn, - onClickContinueSelect: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiSelectCheckPane.superclass._init.apply(this, arguments); - - var self = this, opts = this.options; - - this.storeValue = {}; - this.display = BI.createWidget({ - type: 'bi.display_selected_list', - items: opts.items, - itemsCreator: function (op, callback) { - op = BI.extend(op || {}, { - selectedValues: self.storeValue.value - }); - if (self.storeValue.type === BI.Selection.Multi) { - callback({ - items: BI.map(self.storeValue.value, function (i, v) { - var txt = opts.valueFormatter(v) || v; - return { - text: txt, - value: v, - title: txt - } - }) - }); - return; - } - opts.itemsCreator(op, callback); - } - }); - - this.continueSelect = BI.createWidget({ - type: 'bi.text_button', - text: BI.i18nText('BI-Continue_Select'), - cls: 'multi-select-check-selected bi-high-light' - }); - - this.continueSelect.on(BI.TextButton.EVENT_CHANGE, function () { - opts.onClickContinueSelect(); - }); - - BI.createWidget({ - type: 'bi.vtape', - element: this, - items: [{ - height: this.constants.height, - el: { - type: 'bi.left', - cls: 'multi-select-continue-select', - items: [ - { - el: { - type: "bi.label", - text: BI.i18nText('BI-Selected_Data') - }, - lgap: this.constants.lgap, - tgap: this.constants.tgap - }, - { - el: this.continueSelect, - lgap: this.constants.lgap, - tgap: this.constants.tgap - }] - } - }, { - height: 'fill', - el: this.display - }] - }); - }, - - setValue: function (v) { - this.storeValue = v || {}; - }, - - empty: function () { - this.display.empty(); - }, - - populate: function () { - this.display.populate.apply(this.display, arguments); - } -}); - -BI.shortcut("bi.multi_select_check_pane", BI.MultiSelectCheckPane);/** - * - * - * 查看已选弹出层的展示面板 - * @class BI.DisplaySelectedList - * @extends BI.Widget - */ -BI.DisplaySelectedList = BI.inherit(BI.Pane, { - - constants: { - height: 25, - lgap: 10 - }, - - _defaultConfig: function () { - return BI.extend(BI.DisplaySelectedList.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-display-list", - itemsCreator: BI.emptyFn, - items: [] - }); - }, - - _init: function () { - BI.DisplaySelectedList.superclass._init.apply(this, arguments); - - var self = this, opts = this.options; - - this.hasNext = false; - - this.button_group = BI.createWidget({ - type: "bi.list_pane", - element: this, - el: { - type: "bi.loader", - isDefaultInit: false, - logic: { - dynamic: true, - scrolly: true - }, - items: this._createItems(opts.items), - chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI, - layouts: [{ - type: "bi.vertical", - lgap: 10 - }] - }, - itemsCreator: function (options, callback) { - - opts.itemsCreator(options, function (ob) { - self.hasNext = !!ob.hasNext; - callback(self._createItems(ob.items)); - }) - }, - hasNext: function () { - return self.hasNext; - } - }); - }, - - _createItems: function (items) { - return BI.createItems(items, { - type: 'bi.icon_text_item', - cls: 'cursor-default check-font display-list-item bi-tips', - once: true, - invalid: true, - selected: true, - height: this.constants.height, - logic: { - dynamic: true - } - }); - }, - - empty: function () { - this.button_group.empty(); - }, - - populate: function (items) { - if (arguments.length === 0) { - this.button_group.populate(); - } else { - this.button_group.populate(this._createItems(items)); - } - } -}); - -BI.shortcut('bi.display_selected_list', BI.DisplaySelectedList);/** - * - * @class BI.MultiSelectInsertCombo - * @extends BI.Single - */ -BI.MultiSelectInsertCombo = BI.inherit(BI.Single, { - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectInsertCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-insert-combo', - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn, - height: 28 - }); - }, - - _init: function () { - BI.MultiSelectInsertCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - var assertShowValue = function () { - BI.isKey(self._startValue) && self.storeValue.value[self.storeValue.type === BI.Selection.All ? "remove" : "pushDistinct"](self._startValue); - self.trigger.getSearcher().setState(self.storeValue); - self.trigger.getCounter().setButtonChecked(self.storeValue); - }; - this.storeValue = {}; - //标记正在请求数据 - this.requesting = false; - - this.trigger = BI.createWidget({ - type: "bi.multi_select_trigger", - height: o.height, - // adapter: this.popup, - masker: { - offset: { - left: 1, - top: 1, - right: 2, - bottom: 33 - } - }, - valueFormatter: o.valueFormatter, - itemsCreator: function (op, callback) { - o.itemsCreator(op, function (res) { - if (op.times === 1 && BI.isNotNull(op.keywords)) { - //预防trigger内部把当前的storeValue改掉 - self.trigger.setValue(BI.deepClone(self.getValue())); - } - callback.apply(self, arguments); - }); - } - }); - - this.trigger.on(BI.MultiSelectTrigger.EVENT_START, function () { - self._setStartValue(""); - this.getSearcher().setValue(self.storeValue); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_STOP, function () { - self._setStartValue(""); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_PAUSE, function () { - // if (this.getSearcher().hasMatched()) { - var keyword = this.getSearcher().getKeyword(); - self._join({ - type: BI.Selection.Multi, - value: [keyword] - }, function () { - //如果在不选的状态下直接把该值添加进来 - if (self.storeValue.type === BI.Selection.Multi) { - self.storeValue.value.pushDistinct(keyword); - } - self.combo.setValue(self.storeValue); - self._setStartValue(keyword); - assertShowValue(); - self.populate(); - self._setStartValue(""); - }) - // } - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_SEARCHING, function (keywords) { - var last = BI.last(keywords); - keywords = BI.initial(keywords || []); - if (keywords.length > 0) { - self._joinKeywords(keywords, function () { - if (BI.isEndWithBlank(last)) { - self.combo.setValue(self.storeValue); - assertShowValue(); - self.combo.populate(); - self._setStartValue(""); - } else { - self.combo.setValue(self.storeValue); - assertShowValue(); - } - }); - } - }); - - this.trigger.on(BI.MultiSelectTrigger.EVENT_CHANGE, function (value, obj) { - if (obj instanceof BI.MultiSelectBar) { - self._joinAll(this.getValue(), function () { - assertShowValue(); - }); - } else { - self._join(this.getValue(), function () { - assertShowValue(); - }); - } - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW, function () { - this.getCounter().setValue(self.storeValue); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_COUNTER_CLICK, function () { - if (!self.combo.isViewVisible()) { - self.combo.showView(); - } - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - toggle: false, - el: this.trigger, - adjustLength: 1, - popup: { - type: 'bi.multi_select_popup_view', - ref: function () { - self.popup = this; - self.trigger.setAdapter(this); - }, - listeners: [{ - eventName: BI.MultiSelectPopupView.EVENT_CHANGE, - action: function () { - self.storeValue = this.getValue(); - self._adjust(function () { - assertShowValue(); - }); - } - }, { - eventName: BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM, - action: function () { - self._defaultState(); - } - }, { - eventName: BI.MultiSelectPopupView.EVENT_CLICK_CLEAR, - action: function () { - self.setValue(); - self._defaultState(); - } - }], - itemsCreator: o.itemsCreator, - valueFormatter: o.valueFormatter, - onLoaded: function () { - BI.nextTick(function () { - self.combo.adjustWidth(); - self.combo.adjustHeight(); - self.trigger.getCounter().adjustView(); - self.trigger.getSearcher().adjustView(); - }); - } - }, - hideChecker: function (e) { - return triggerBtn.element.find(e.target).length === 0; - } - }); - - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - this.setValue(self.storeValue); - BI.nextTick(function () { - self.populate(); - }); - }); - //当退出的时候如果还在处理请求,则等请求结束后再对外发确定事件 - this.wants2Quit = false; - this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW, function () { - //important:关闭弹出时又可能没有退出编辑状态 - self.trigger.stopEditing(); - if (self.requesting === true) { - self.wants2Quit = true; - } else { - self.fireEvent(BI.MultiSelectInsertCombo.EVENT_CONFIRM); - } - }); - - var triggerBtn = BI.createWidget({ - type: "bi.trigger_icon_button", - width: o.height, - height: o.height, - cls: "multi-select-trigger-icon-button bi-border-left" - }); - triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE, function () { - self.trigger.getCounter().hideView(); - if (self.combo.isViewVisible()) { - self.combo.hideView(); - } else { - self.combo.showView(); - } - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.combo, - left: 0, - right: 0, - top: 0, - bottom: 0 - }, { - el: triggerBtn, - right: 0, - top: 0, - bottom: 0 - }] - }) - }, - - _defaultState: function () { - this.trigger.stopEditing(); - this.combo.hideView(); - }, - - _assertValue: function (val) { - val || (val = {}); - val.type || (val.type = BI.Selection.Multi); - val.value || (val.value = []); - }, - - _makeMap: function (values) { - return BI.makeObject(values || []); - }, - - _joinKeywords: function (keywords, callback) { - var self = this, o = this.options; - this._assertValue(this.storeValue); - this.requesting = true; - o.itemsCreator({ - type: BI.MultiSelectInsertCombo.REQ_GET_ALL_DATA, - keywords: keywords - }, function (ob) { - var values = BI.pluck(ob.items, "value"); - digest(values); - }); - - function digest(items) { - var selectedMap = self._makeMap(items); - BI.each(keywords, function (i, val) { - if (BI.isNotNull(selectedMap[val])) { - self.storeValue.value[self.storeValue.type === BI.Selection.Multi ? "pushDistinct" : "remove"](val); - } - }); - self._adjust(callback); - } - }, - - _joinAll: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - this.requesting = true; - o.itemsCreator({ - type: BI.MultiSelectInsertCombo.REQ_GET_ALL_DATA, - keywords: [this.trigger.getKey()] - }, function (ob) { - var items = BI.pluck(ob.items, "value"); - if (self.storeValue.type === res.type) { - var change = false; - var map = self._makeMap(self.storeValue.value); - BI.each(items, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (self.storeValue.value = BI.values(map)); - self._adjust(callback); - return; - } - var selectedMap = self._makeMap(self.storeValue.value); - var notSelectedMap = self._makeMap(res.value); - var newItems = []; - BI.each(items, function (i, item) { - if (BI.isNotNull(selectedMap[items[i]])) { - delete selectedMap[items[i]]; - } - if (BI.isNull(notSelectedMap[items[i]])) { - newItems.push(item); - } - }); - self.storeValue.value = newItems.concat(BI.values(selectedMap)); - self._adjust(callback); - }) - }, - - _adjust: function (callback) { - var self = this, o = this.options; - adjust(); - callback(); - function adjust() { - if (self.wants2Quit === true) { - self.fireEvent(BI.MultiSelectInsertCombo.EVENT_CONFIRM); - self.wants2Quit = false; - } - self.requesting = false; - } - }, - - _join: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - this._assertValue(this.storeValue); - if (this.storeValue.type === res.type) { - var map = this._makeMap(this.storeValue.value); - BI.each(res.value, function (i, v) { - if (!map[v]) { - self.storeValue.value.push(v); - map[v] = v; - } - }); - var change = false; - BI.each(res.assist, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (this.storeValue.value = BI.values(map)); - self._adjust(callback); - return; - } - this._joinAll(res, callback); - }, - - _setStartValue: function (value) { - this._startValue = value; - this.popup.setStartValue(value); - }, - - setValue: function (v) { - this.storeValue = v || {}; - this._assertValue(this.storeValue); - this.combo.setValue(this.storeValue); - }, - - getValue: function () { - return BI.deepClone(this.storeValue); - }, - - populate: function () { - this.combo.populate.apply(this.combo, arguments); - } -}); - -BI.extend(BI.MultiSelectInsertCombo, { - REQ_GET_DATA_LENGTH: 0, - REQ_GET_ALL_DATA: -1 -}); - -BI.MultiSelectInsertCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; - -BI.shortcut('bi.multi_select_insert_combo', BI.MultiSelectInsertCombo);/** - * - * @class BI.MultiSelectCombo - * @extends BI.Single - */ -BI.MultiSelectCombo = BI.inherit(BI.Single, { - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-combo', - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn, - height: 28 - }); - }, - - _init: function () { - BI.MultiSelectCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - var assertShowValue = function () { - BI.isKey(self._startValue) && self.storeValue.value[self.storeValue.type === BI.Selection.All ? "remove" : "pushDistinct"](self._startValue); - self.trigger.getSearcher().setState(self.storeValue); - self.trigger.getCounter().setButtonChecked(self.storeValue); - }; - this.storeValue = {}; - //标记正在请求数据 - this.requesting = false; - - this.trigger = BI.createWidget({ - type: "bi.multi_select_trigger", - height: o.height, - // adapter: this.popup, - masker: { - offset: { - left: 1, - top: 1, - right: 2, - bottom: 33 - } - }, - valueFormatter: o.valueFormatter, - itemsCreator: function (op, callback) { - o.itemsCreator(op, function (res) { - if (op.times === 1 && BI.isNotNull(op.keywords)) { - //预防trigger内部把当前的storeValue改掉 - self.trigger.setValue(BI.deepClone(self.getValue())); - } - callback.apply(self, arguments); - }); - } - }); - - this.trigger.on(BI.MultiSelectTrigger.EVENT_START, function () { - self._setStartValue(""); - this.getSearcher().setValue(self.storeValue); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_STOP, function () { - self._setStartValue(""); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_PAUSE, function () { - if (this.getSearcher().hasMatched()) { - var keyword = this.getSearcher().getKeyword(); - self._join({ - type: BI.Selection.Multi, - value: [keyword] - }, function () { - self.combo.setValue(self.storeValue); - self._setStartValue(keyword); - assertShowValue(); - self.populate(); - self._setStartValue(""); - }) - } - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_SEARCHING, function (keywords) { - var last = BI.last(keywords); - keywords = BI.initial(keywords || []); - if (keywords.length > 0) { - self._joinKeywords(keywords, function () { - if (BI.isEndWithBlank(last)) { - self.combo.setValue(self.storeValue); - assertShowValue(); - self.combo.populate(); - self._setStartValue(""); - } else { - self.combo.setValue(self.storeValue); - assertShowValue(); - } - }); - } - }); - - this.trigger.on(BI.MultiSelectTrigger.EVENT_CHANGE, function (value, obj) { - if (obj instanceof BI.MultiSelectBar) { - self._joinAll(this.getValue(), function () { - assertShowValue(); - }); - } else { - self._join(this.getValue(), function () { - assertShowValue(); - }); - } - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW, function () { - this.getCounter().setValue(self.storeValue); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_COUNTER_CLICK, function () { - if (!self.combo.isViewVisible()) { - self.combo.showView(); - } - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - toggle: false, - el: this.trigger, - adjustLength: 1, - popup: { - type: 'bi.multi_select_popup_view', - ref: function () { - self.popup = this; - self.trigger.setAdapter(this); - }, - listeners: [{ - eventName: BI.MultiSelectPopupView.EVENT_CHANGE, - action: function () { - self.storeValue = this.getValue(); - self._adjust(function () { - assertShowValue(); - }); - } - }, { - eventName: BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM, - action: function () { - self._defaultState(); - } - }, { - eventName: BI.MultiSelectPopupView.EVENT_CLICK_CLEAR, - action: function () { - self.setValue(); - self._defaultState(); - } - }], - itemsCreator: o.itemsCreator, - valueFormatter: o.valueFormatter, - onLoaded: function () { - BI.nextTick(function () { - self.combo.adjustWidth(); - self.combo.adjustHeight(); - self.trigger.getCounter().adjustView(); - self.trigger.getSearcher().adjustView(); - }); - } - }, - hideChecker: function (e) { - return triggerBtn.element.find(e.target).length === 0; - } - }); - - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - this.setValue(self.storeValue); - BI.nextTick(function () { - self.populate(); - }); - }); - //当退出的时候如果还在处理请求,则等请求结束后再对外发确定事件 - this.wants2Quit = false; - this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW, function () { - //important:关闭弹出时又可能没有退出编辑状态 - self.trigger.stopEditing(); - if (self.requesting === true) { - self.wants2Quit = true; - } else { - self.fireEvent(BI.MultiSelectCombo.EVENT_CONFIRM); - } - }); - - var triggerBtn = BI.createWidget({ - type: "bi.trigger_icon_button", - width: o.height, - height: o.height, - cls: "multi-select-trigger-icon-button bi-border-left" - }); - triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE, function () { - self.trigger.getCounter().hideView(); - if (self.combo.isViewVisible()) { - self.combo.hideView(); - } else { - self.combo.showView(); - } - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.combo, - left: 0, - right: 0, - top: 0, - bottom: 0 - }, { - el: triggerBtn, - right: 0, - top: 0, - bottom: 0 - }] - }) - }, - - _defaultState: function () { - this.trigger.stopEditing(); - this.combo.hideView(); - }, - - _assertValue: function (val) { - val || (val = {}); - val.type || (val.type = BI.Selection.Multi); - val.value || (val.value = []); - }, - - _makeMap: function (values) { - return BI.makeObject(values || []); - }, - - _joinKeywords: function (keywords, callback) { - var self = this, o = this.options; - this._assertValue(this.storeValue); - this.requesting = true; - o.itemsCreator({ - type: BI.MultiSelectCombo.REQ_GET_ALL_DATA, - keywords: keywords - }, function (ob) { - var values = BI.pluck(ob.items, "value"); - digest(values); - }); - - function digest(items) { - var selectedMap = self._makeMap(items); - BI.each(keywords, function (i, val) { - if (BI.isNotNull(selectedMap[val])) { - self.storeValue.value[self.storeValue.type === BI.Selection.Multi ? "pushDistinct" : "remove"](val); - } - }); - self._adjust(callback); - } - }, - - _joinAll: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - this.requesting = true; - o.itemsCreator({ - type: BI.MultiSelectCombo.REQ_GET_ALL_DATA, - keywords: [this.trigger.getKey()] - }, function (ob) { - var items = BI.pluck(ob.items, "value"); - if (self.storeValue.type === res.type) { - var change = false; - var map = self._makeMap(self.storeValue.value); - BI.each(items, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (self.storeValue.value = BI.values(map)); - self._adjust(callback); - return; - } - var selectedMap = self._makeMap(self.storeValue.value); - var notSelectedMap = self._makeMap(res.value); - var newItems = []; - BI.each(items, function (i, item) { - if (BI.isNotNull(selectedMap[items[i]])) { - delete selectedMap[items[i]]; - } - if (BI.isNull(notSelectedMap[items[i]])) { - newItems.push(item); - } - }); - self.storeValue.value = newItems.concat(BI.values(selectedMap)); - self._adjust(callback); - }) - }, - - _adjust: function (callback) { - var self = this, o = this.options; - if (!this._count) { - o.itemsCreator({ - type: BI.MultiSelectCombo.REQ_GET_DATA_LENGTH - }, function (res) { - self._count = res.count; - adjust(); - callback(); - }); - } else { - adjust(); - callback(); - - } - - function adjust() { - if (self.storeValue.type === BI.Selection.All && self.storeValue.value.length >= self._count) { - self.storeValue = { - type: BI.Selection.Multi, - value: [] - } - } else if (self.storeValue.type === BI.Selection.Multi && self.storeValue.value.length >= self._count) { - self.storeValue = { - type: BI.Selection.All, - value: [] - } - } - if (self.wants2Quit === true) { - self.fireEvent(BI.MultiSelectCombo.EVENT_CONFIRM); - self.wants2Quit = false; - } - self.requesting = false; - } - }, - - _join: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - this._assertValue(this.storeValue); - if (this.storeValue.type === res.type) { - var map = this._makeMap(this.storeValue.value); - BI.each(res.value, function (i, v) { - if (!map[v]) { - self.storeValue.value.push(v); - map[v] = v; - } - }); - var change = false; - BI.each(res.assist, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (this.storeValue.value = BI.values(map)); - self._adjust(callback); - return; - } - this._joinAll(res, callback); - }, - - _setStartValue: function (value) { - this._startValue = value; - this.popup.setStartValue(value); - }, - - setValue: function (v) { - this.storeValue = v || {}; - this._assertValue(this.storeValue); - this.combo.setValue(this.storeValue); - }, - - getValue: function () { - return BI.deepClone(this.storeValue); - }, - - populate: function () { - this._count = null; - this.combo.populate.apply(this.combo, arguments); - } -}); - -BI.extend(BI.MultiSelectCombo, { - REQ_GET_DATA_LENGTH: 0, - REQ_GET_ALL_DATA: -1 -}); - -BI.MultiSelectCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; - -BI.shortcut('bi.multi_select_combo', BI.MultiSelectCombo);/** - * 多选加载数据面板 - * Created by guy on 15/11/2. - * @class BI.MultiSelectLoader - * @extends Widget - */ -BI.MultiSelectLoader = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectLoader.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-loader', - logic: { - dynamic: true - }, - el: { - height: 400 - }, - valueFormatter: BI.emptyFn, - itemsCreator: BI.emptyFn, - onLoaded: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiSelectLoader.superclass._init.apply(this, arguments); - - var self = this, opts = this.options; - var hasNext = false; - - this.button_group = BI.createWidget({ - type: "bi.select_list", - element: this, - logic: opts.logic, - el: BI.extend({ - onLoaded: opts.onLoaded, - el: { - type: "bi.loader", - isDefaultInit: false, - logic: { - dynamic: true, - scrolly: true - }, - el: { - chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI, - behaviors: { - redmark: function () { - return true; - } - }, - layouts: [{ - type: "bi.vertical" - }] - } - } - }, opts.el), - itemsCreator: function (op, callback) { - var startValue = self._startValue; - self.storeValue && (op = BI.extend(op || {}, { - selectedValues: BI.isKey(startValue) && self.storeValue.type === BI.Selection.Multi - ? self.storeValue.value.concat(startValue) : self.storeValue.value - })); - opts.itemsCreator(op, function (ob) { - hasNext = ob.hasNext; - var firstItems = []; - if (op.times === 1 && self.storeValue) { - var json = BI.map(self.storeValue.value, function (i, v) { - var txt = opts.valueFormatter(v) || v; - return { - text: txt, - value: v, - title: txt, - selected: self.storeValue.type === BI.Selection.Multi - } - }); - if (BI.isKey(self._startValue) && !self.storeValue.value.contains(self._startValue)) { - var txt = opts.valueFormatter(startValue) || startValue; - json.unshift({ - text: txt, - value: startValue, - title: txt, - selected: true - }) - } - firstItems = self._createItems(json); - } - callback(firstItems.concat(self._createItems(ob.items)), ob.keyword || ""); - if (op.times === 1 && self.storeValue) { - BI.isKey(startValue) && self.storeValue.value[self.storeValue.type === BI.Selection.All ? "remove" : "pushDistinct"](startValue); - self.setValue(self.storeValue); - } - (op.times === 1) && self._scrollToTop(); - }); - }, - hasNext: function () { - return hasNext; - } - }); - this.button_group.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.button_group.on(BI.SelectList.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectLoader.EVENT_CHANGE, arguments); - }); - }, - - _createItems: function (items) { - return BI.createItems(items, { - type: "bi.multi_select_item", - logic: this.options.logic, - height: 25, - selected: this.isAllSelected() - }) - }, - - _scrollToTop: function () { - var self = this; - BI.delay(function () { - self.button_group.element.scrollTop(0); - }, 30); - }, - - isAllSelected: function () { - return this.button_group.isAllSelected(); - }, - - _assertValue: function (val) { - val || (val = {}); - val.type || (val.type = BI.Selection.Multi); - val.value || (val.value = []); - }, - - setStartValue: function (v) { - this._startValue = v; - }, - - setValue: function (v) { - this.storeValue = v || {}; - this._assertValue(this.storeValue); - this.button_group.setValue(this.storeValue); - }, - - getValue: function () { - return this.button_group.getValue(); - }, - - getAllButtons: function () { - return this.button_group.getAllButtons(); - }, - - empty: function () { - this.button_group.empty(); - }, - - populate: function (items) { - this.button_group.populate.apply(this.button_group, arguments); - }, - - resetHeight: function (h) { - this.button_group.resetHeight(h); - }, - - resetWidth: function (w) { - this.button_group.resetWidth(w); - } -}); - -BI.MultiSelectLoader.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.multi_select_loader', BI.MultiSelectLoader);/** - * 带加载的多选下拉面板 - * @class BI.MultiSelectPopupView - * @extends Widget - */ -BI.MultiSelectPopupView = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectPopupView.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-popup-view', - maxWidth: 'auto', - minWidth: 135, - maxHeight: 400, - valueFormatter: BI.emptyFn, - itemsCreator: BI.emptyFn, - onLoaded: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiSelectPopupView.superclass._init.apply(this, arguments); - var self = this, opts = this.options; - - this.loader = BI.createWidget({ - type: "bi.multi_select_loader", - itemsCreator: opts.itemsCreator, - valueFormatter: opts.valueFormatter, - onLoaded: opts.onLoaded - }); - - this.popupView = BI.createWidget({ - type: "bi.multi_popup_view", - stopPropagation: false, - maxWidth: opts.maxWidth, - minWidth: opts.minWidth, - maxHeight: opts.maxHeight, - element: this, - buttons: [BI.i18nText('BI-Basic_Clears'), BI.i18nText('BI-Basic_Sure')], - el: this.loader - }); - - this.popupView.on(BI.MultiPopupView.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectPopupView.EVENT_CHANGE); - }); - this.popupView.on(BI.MultiPopupView.EVENT_CLICK_TOOLBAR_BUTTON, function (index) { - switch (index) { - case 0: - self.fireEvent(BI.MultiSelectPopupView.EVENT_CLICK_CLEAR); - break; - case 1: - self.fireEvent(BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM); - break; - } - }); - }, - - isAllSelected: function () { - return this.loader.isAllSelected(); - }, - - setStartValue: function (v) { - this.loader.setStartValue(v); - }, - - setValue: function (v) { - this.popupView.setValue(v); - }, - - getValue: function () { - return this.popupView.getValue(); - }, - - populate: function (items) { - this.popupView.populate.apply(this.popupView, arguments); - }, - - resetHeight: function (h) { - this.popupView.resetHeight(h); - }, - - resetWidth: function (w) { - this.popupView.resetWidth(w); - } -}); - -BI.MultiSelectPopupView.EVENT_CHANGE = "EVENT_CHANGE"; -BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM = "EVENT_CLICK_CONFIRM"; -BI.MultiSelectPopupView.EVENT_CLICK_CLEAR = "EVENT_CLICK_CLEAR"; - - -BI.shortcut('bi.multi_select_popup_view', BI.MultiSelectPopupView);/** - * - * 复选下拉框 - * @class BI.MultiSelectTrigger - * @extends BI.Trigger - */ - -BI.MultiSelectTrigger = BI.inherit(BI.Trigger, { - - constants: { - height: 14, - rgap: 4, - lgap: 4 - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectTrigger.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multi-select-trigger bi-border", - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn, - searcher: {}, - switcher: {}, - - adapter: null, - masker: {} - }); - }, - - _init: function () { - BI.MultiSelectTrigger.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - if (o.height) { - this.setHeight(o.height - 2); - } - - this.searcher = BI.createWidget(o.searcher, { - type: "bi.multi_select_searcher", - height: o.height, - itemsCreator: o.itemsCreator, - valueFormatter: o.valueFormatter, - popup: {}, - adapter: o.adapter, - masker: o.masker - }); - this.searcher.on(BI.MultiSelectSearcher.EVENT_START, function () { - self.fireEvent(BI.MultiSelectTrigger.EVENT_START); - }); - this.searcher.on(BI.MultiSelectSearcher.EVENT_PAUSE, function () { - self.fireEvent(BI.MultiSelectTrigger.EVENT_PAUSE); - }); - this.searcher.on(BI.MultiSelectSearcher.EVENT_SEARCHING, function () { - self.fireEvent(BI.MultiSelectTrigger.EVENT_SEARCHING, arguments); - }); - this.searcher.on(BI.MultiSelectSearcher.EVENT_STOP, function () { - self.fireEvent(BI.MultiSelectTrigger.EVENT_STOP); - }); - this.searcher.on(BI.MultiSelectSearcher.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectTrigger.EVENT_CHANGE, arguments); - }); - this.numberCounter = BI.createWidget(o.switcher, { - type: 'bi.multi_select_check_selected_switcher', - valueFormatter: o.valueFormatter, - itemsCreator: o.itemsCreator, - adapter: o.adapter, - masker: o.masker - }); - this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE, function () { - self.fireEvent(BI.MultiSelectTrigger.EVENT_COUNTER_CLICK); - }); - this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW); - }); - - var wrapNumberCounter = BI.createWidget({ - type: 'bi.right_vertical_adapt', - hgap: 4, - items: [{ - el: this.numberCounter - }] - }); - - var wrapper = BI.createWidget({ - type: 'bi.htape', - element: this, - items: [ - { - el: this.searcher, - width: 'fill' - }, { - el: wrapNumberCounter, - width: 0 - }, { - el: BI.createWidget(), - width: 30 - }] - }); - - this.numberCounter.on(BI.Events.VIEW, function (b) { - BI.nextTick(function () {//自动调整宽度 - wrapper.attr("items")[1].width = (b === true ? self.numberCounter.element.outerWidth() + 8 : 0); - wrapper.resize(); - }); - }); - - this.element.click(function (e) { - if (self.element.__isMouseInBounds__(e) && !self.numberCounter.element.__isMouseInBounds__(e)) { - self.numberCounter.hideView(); - } - }); - }, - - getCounter: function () { - return this.numberCounter; - }, - - getSearcher: function () { - return this.searcher; - }, - - stopEditing: function () { - this.searcher.stopSearch(); - this.numberCounter.hideView(); - }, - - setAdapter: function (adapter) { - this.searcher.setAdapter(adapter); - this.numberCounter.setAdapter(adapter); - }, - - setValue: function (ob) { - this.searcher.setValue(ob); - this.numberCounter.setValue(ob); - }, - - getKey: function () { - return this.searcher.getKey(); - }, - - getValue: function () { - return this.searcher.getValue(); - } -}); - -BI.MultiSelectTrigger.EVENT_TRIGGER_CLICK = "EVENT_TRIGGER_CLICK"; -BI.MultiSelectTrigger.EVENT_COUNTER_CLICK = "EVENT_COUNTER_CLICK"; -BI.MultiSelectTrigger.EVENT_CHANGE = "EVENT_CHANGE"; -BI.MultiSelectTrigger.EVENT_START = "EVENT_START"; -BI.MultiSelectTrigger.EVENT_STOP = "EVENT_STOP"; -BI.MultiSelectTrigger.EVENT_PAUSE = "EVENT_PAUSE"; -BI.MultiSelectTrigger.EVENT_SEARCHING = "EVENT_SEARCHING"; -BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW = "EVENT_BEFORE_COUNTER_POPUPVIEW"; - -BI.shortcut('bi.multi_select_trigger', BI.MultiSelectTrigger);/** - * 多选加载数据搜索loader面板 - * Created by guy on 15/11/4. - * @class BI.MultiSelectSearchLoader - * @extends Widget - */ -BI.MultiSelectSearchLoader = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectSearchLoader.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-search-loader', - itemsCreator: BI.emptyFn, - keywordGetter: BI.emptyFn, - valueFormatter: BI.emptyFn, - }); - }, - - _init: function () { - BI.MultiSelectSearchLoader.superclass._init.apply(this, arguments); - - var self = this, opts = this.options; - var hasNext = false; - - this.button_group = BI.createWidget({ - type: "bi.select_list", - element: this, - logic: { - dynamic: false - }, - el: { - tipText: BI.i18nText("BI-No_Select"), - el: { - type: "bi.loader", - isDefaultInit: false, - logic: { - dynamic: true, - scrolly: true - }, - el: { - chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI, - behaviors: { - redmark: function () { - return true; - } - }, - layouts: [{ - type: "bi.vertical" - }] - } - } - }, - itemsCreator: function (op, callback) { - self.storeValue && (op = BI.extend(op || {}, { - selectedValues: self.storeValue.value - })); - opts.itemsCreator(op, function (ob) { - var keyword = ob.keyword = opts.keywordGetter(); - hasNext = ob.hasNext; - var firstItems = []; - if (op.times === 1 && self.storeValue) { - var json = self._filterValues(self.storeValue); - firstItems = self._createItems(json); - } - callback(firstItems.concat(self._createItems(ob.items)), keyword); - if (op.times === 1 && self.storeValue) { - self.setValue(self.storeValue); - } - }); - }, - hasNext: function () { - return hasNext; - } - }); - this.button_group.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.button_group.on(BI.SelectList.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectSearchLoader.EVENT_CHANGE, arguments); - }); - }, - - _createItems: function (items) { - return BI.createItems(items, { - type: "bi.multi_select_item", - logic: { - dynamic: false - }, - height: 25, - selected: this.isAllSelected() - }) - }, - - isAllSelected: function () { - return this.button_group.isAllSelected(); - }, - - _filterValues: function (src) { - var o = this.options; - var keyword = o.keywordGetter(); - var values = BI.deepClone(src.value) || []; - var newValues = BI.map(values, function (i, v) { - return { - text: o.valueFormatter(v) || v, - value: v - }; - }); - if (BI.isKey(keyword)) { - var search = BI.Func.getSearchResult(newValues, keyword); - values = search.matched.concat(search.finded); - } - return BI.map(values, function (i, v) { - return { - text: v.text, - title: v.text, - value: v.value, - selected: src.type === BI.Selection.All - } - }) - }, - - setValue: function (v) { - //暂存的值一定是新的值,不然v改掉后,storeValue也跟着改了 - this.storeValue = BI.deepClone(v); - this.button_group.setValue(v); - }, - - getValue: function () { - return this.button_group.getValue(); - }, - - getAllButtons: function () { - return this.button_group.getAllButtons(); - }, - - empty: function () { - this.button_group.empty(); - }, - - populate: function (items) { - this.button_group.populate.apply(this.button_group, arguments); - }, - - resetHeight: function (h) { - this.button_group.resetHeight(h); - }, - - resetWidth: function (w) { - this.button_group.resetWidth(w); - } -}); - -BI.MultiSelectSearchLoader.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.multi_select_search_loader', BI.MultiSelectSearchLoader);/** - * - * 在搜索框中输入文本弹出的面板 - * @class BI.MultiSelectSearchPane - * @extends Widget - */ - -BI.MultiSelectSearchPane = BI.inherit(BI.Widget, { - - constants: { - height: 25, - lgap: 10, - tgap: 5 - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectSearchPane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multi-select-search-pane bi-card", - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn, - keywordGetter: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiSelectSearchPane.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.tooltipClick = BI.createWidget({ - type: "bi.label", - invisible: true, - text: BI.i18nText('BI-Click_Blank_To_Select'), - cls: 'multi-select-toolbar', - height: this.constants.height - }); - - this.loader = BI.createWidget({ - type: "bi.multi_select_search_loader", - keywordGetter: o.keywordGetter, - valueFormatter: o.valueFormatter, - itemsCreator: function (op, callback) { - o.itemsCreator.apply(self, [op, function (res) { - callback(res); - self.setKeyword(o.keywordGetter()); - }]); - } - }); - this.loader.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.resizer = BI.createWidget({ - type: "bi.vtape", - element: this, - items: [{ - el: this.tooltipClick, - height: 0 - }, { - el: this.loader - }] - }); - this.tooltipClick.setVisible(false); - }, - - setKeyword: function (keyword) { - var btn; - var isVisible = this.loader.getAllButtons().length > 0 && (btn = this.loader.getAllButtons()[0]) && (keyword === btn.getValue()); - if (isVisible !== this.tooltipClick.isVisible()) { - this.tooltipClick.setVisible(isVisible); - this.resizer.attr("items")[0].height = (isVisible ? this.constants.height : 0); - this.resizer.resize(); - } - }, - - isAllSelected: function () { - return this.loader.isAllSelected(); - }, - - hasMatched: function () { - return this.tooltipClick.isVisible(); - }, - - setValue: function (v) { - this.loader.setValue(v); - }, - - getValue: function () { - return this.loader.getValue(); - }, - - empty: function () { - this.loader.empty(); - }, - - populate: function (items) { - this.loader.populate.apply(this.loader, arguments); - } -}); - -BI.MultiSelectSearchPane.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.multi_select_search_pane", BI.MultiSelectSearchPane);/** - * 查看已选按钮 - * Created by guy on 15/11/3. - * @class BI.MultiSelectCheckSelectedButton - * @extends BI.Single - */ -BI.MultiSelectCheckSelectedButton = BI.inherit(BI.Single, { - - _const: { - checkSelected: BI.i18nText('BI-Check_Selected') - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectCheckSelectedButton.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-check-selected-button bi-high-light', - itemsCreator: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiSelectCheckSelectedButton.superclass._init.apply(this, arguments); - var self = this; - this.numberCounter = BI.createWidget({ - type: 'bi.text_button', - element: this, - hgap: 4, - text: "0", - textAlign: 'center', - textHeight: 15 - }); - this.numberCounter.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.numberCounter.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectCheckSelectedButton.EVENT_CHANGE, arguments); - }); - - this.numberCounter.element.hover(function () { - self.numberCounter.setTag(self.numberCounter.getText()); - self.numberCounter.setText(self._const.checkSelected); - }, function () { - self.numberCounter.setText(self.numberCounter.getTag()); - }); - this.setVisible(false); - }, - - setValue: function (ob) { - var self = this, o = this.options; - ob || (ob = {}); - ob.type || (ob.type = BI.Selection.Multi); - ob.value || (ob.value = []); - if (ob.type === BI.Selection.All) { - o.itemsCreator({ - type: BI.MultiSelectCombo.REQ_GET_DATA_LENGTH - }, function (res) { - var length = res.count - ob.value.length; - BI.nextTick(function(){ - self.numberCounter.setText(length); - self.setVisible(length > 0); - }); - }); - return; - } - BI.nextTick(function(){ - self.numberCounter.setText(ob.value.length); - self.setVisible(ob.value.length > 0); - }) - }, - - getValue: function () { - - } -}); - -BI.MultiSelectCheckSelectedButton.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.multi_select_check_selected_button', BI.MultiSelectCheckSelectedButton);/** - * 多选输入框 - * Created by guy on 15/11/3. - * @class BI.MultiSelectEditor - * @extends Widget - */ -BI.MultiSelectEditor = BI.inherit(BI.Widget, { - - _const: { - checkSelected: BI.i18nText('BI-Check_Selected') - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectEditor.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-editor', - el: {} - }); - }, - - _init: function () { - BI.MultiSelectEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget(o.el, { - type: 'bi.state_editor', - element: this, - height: o.height, - watermark: BI.i18nText('BI-Basic_Search'), - allowBlank: true - }); - - this.editor.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.editor.on(BI.StateEditor.EVENT_PAUSE, function () { - self.fireEvent(BI.MultiSelectEditor.EVENT_PAUSE); - }); - this.editor.on(BI.StateEditor.EVENT_CLICK_LABEL, function () { - - }); - }, - - focus: function () { - this.editor.focus(); - }, - - blur: function () { - this.editor.blur(); - }, - - setState: function (state) { - this.editor.setState(state); - }, - - setValue: function (v) { - this.editor.setValue(v); - }, - - getValue: function () { - var v = this.editor.getState(); - if (BI.isArray(v) && v.length > 0) { - return v[v.length - 1]; - } else { - return ""; - } - }, - - getKeywords: function () { - var val = this.editor.getLastValidValue(); - var keywords = val.match(/[\S]+/g); - if (BI.isEndWithBlank(val)) { - return keywords.concat([' ']); - } - return keywords; - }, - - populate: function (items) { - - } -}); -BI.MultiSelectEditor.EVENT_PAUSE = "MultiSelectEditor.EVENT_PAUSE"; -BI.shortcut('bi.multi_select_editor', BI.MultiSelectEditor);/** - * searcher - * Created by guy on 15/11/3. - * @class BI.MultiSelectSearcher - * @extends Widget - */ -BI.MultiSelectSearcher = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectSearcher.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-searcher', - itemsCreator: BI.emptyFn, - el: {}, - popup: {}, - valueFormatter: BI.emptyFn, - adapter: null, - masker: {} - }); - }, - - _init: function () { - BI.MultiSelectSearcher.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget(o.el, { - type: 'bi.multi_select_editor', - height: o.height - }); - - this.searcher = BI.createWidget({ - type: "bi.searcher", - element: this, - height: o.height, - isAutoSearch: false, - isAutoSync: false, - onSearch: function (op, callback) { - callback(); - }, - el: this.editor, - - popup: BI.extend({ - type: "bi.multi_select_search_pane", - valueFormatter: o.valueFormatter, - keywordGetter: function () { - return self.editor.getValue(); - }, - itemsCreator: function (op, callback) { - op.keyword = self.editor.getValue(); - this.setKeyword(op.keyword); - o.itemsCreator(op, callback); - } - }, o.popup), - - adapter: o.adapter, - masker: o.masker - }); - this.searcher.on(BI.Searcher.EVENT_START, function () { - self.fireEvent(BI.MultiSelectSearcher.EVENT_START); - }); - this.searcher.on(BI.Searcher.EVENT_PAUSE, function () { - if (this.hasMatched()) { - - } - self.fireEvent(BI.MultiSelectSearcher.EVENT_PAUSE); - }); - this.searcher.on(BI.Searcher.EVENT_STOP, function () { - self.fireEvent(BI.MultiSelectSearcher.EVENT_STOP); - }); - this.searcher.on(BI.Searcher.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectSearcher.EVENT_CHANGE, arguments); - }); - this.searcher.on(BI.Searcher.EVENT_SEARCHING, function () { - var keywords = this.getKeywords(); - self.fireEvent(BI.MultiSelectSearcher.EVENT_SEARCHING, keywords); - }); - }, - - adjustView: function () { - this.searcher.adjustView(); - }, - - isSearching: function () { - return this.searcher.isSearching(); - }, - - stopSearch: function () { - this.searcher.stopSearch(); - }, - - getKeyword: function () { - return this.editor.getValue(); - }, - - hasMatched: function () { - return this.searcher.hasMatched(); - }, - - hasChecked: function () { - return this.searcher.getView() && this.searcher.getView().hasChecked(); - }, - - setAdapter: function (adapter) { - this.searcher.setAdapter(adapter); - }, - - setState: function (ob) { - var o = this.options; - ob || (ob = {}); - ob.value || (ob.value = []); - if (ob.type === BI.Selection.All) { - if (BI.size(ob.assist) === 1) { - this.editor.setState(o.valueFormatter(ob.assist[0] + "") || (ob.assist[0] + "")); - } else { - this.editor.setState(BI.size(ob.value) > 0 ? BI.Selection.Multi : BI.Selection.All); - } - } else { - if (BI.size(ob.value) === 1) { - this.editor.setState(o.valueFormatter(ob.value[0] + "") || (ob.value[0] + "")); - } else { - this.editor.setState(BI.size(ob.value) > 0 ? BI.Selection.Multi : BI.Selection.None); - } - } - }, - - setValue: function (ob) { - this.setState(ob); - this.searcher.setValue(ob); - }, - - getKey: function () { - return this.editor.getValue(); - }, - - getValue: function () { - return this.searcher.getValue(); - }, - - populate: function (items) { - this.searcher.populate.apply(this.searcher, arguments); - } -}); - -BI.MultiSelectSearcher.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.MultiSelectSearcher.EVENT_CHANGE = "EVENT_CHANGE"; -BI.MultiSelectSearcher.EVENT_START = "EVENT_START"; -BI.MultiSelectSearcher.EVENT_STOP = "EVENT_STOP"; -BI.MultiSelectSearcher.EVENT_PAUSE = "EVENT_PAUSE"; -BI.MultiSelectSearcher.EVENT_SEARCHING = "EVENT_SEARCHING"; -BI.shortcut('bi.multi_select_searcher', BI.MultiSelectSearcher);/** - * 查看已选switcher - * Created by guy on 15/11/3. - * @class BI.MultiSelectCheckSelectedSwitcher - * @extends Widget - */ -BI.MultiSelectCheckSelectedSwitcher = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectCheckSelectedSwitcher.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-check-selected-switcher', - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn, - el: {}, - popup: {}, - adapter: null, - masker: {} - }); - }, - - _init: function () { - BI.MultiSelectCheckSelectedSwitcher.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.button = BI.createWidget(o.el, { - type: "bi.multi_select_check_selected_button", - itemsCreator: o.itemsCreator - }); - this.button.on(BI.Events.VIEW, function () { - self.fireEvent(BI.Events.VIEW, arguments); - }); - this.switcher = BI.createWidget({ - type: "bi.switcher", - toggle: false, - element: this, - el: this.button, - popup: BI.extend({ - type: "bi.multi_select_check_pane", - valueFormatter: o.valueFormatter, - itemsCreator: o.itemsCreator, - onClickContinueSelect: function () { - self.switcher.hideView(); - } - }, o.popup), - adapter: o.adapter, - masker: o.masker - }); - this.switcher.on(BI.Switcher.EVENT_TRIGGER_CHANGE, function () { - self.fireEvent(BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE); - }); - this.switcher.on(BI.Switcher.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW); - }); - this.switcher.on(BI.Switcher.EVENT_AFTER_POPUPVIEW, function () { - var me = this; - BI.nextTick(function () { - me.populate(); - }); - }); - - this.switcher.element.click(function (e) { - e.stopPropagation(); - }); - }, - - adjustView: function () { - this.switcher.adjustView(); - }, - - hideView: function () { - this.switcher.empty(); - this.switcher.hideView(); - }, - - setAdapter: function (adapter) { - this.switcher.setAdapter(adapter); - }, - - setValue: function (v) { - this.switcher.setValue(v); - }, - - setButtonChecked: function (v) { - this.button.setValue(v) - }, - - getValue: function () { - - }, - - populate: function (items) { - this.switcher.populate.apply(this.switcher, arguments); - } -}); - -BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE = "MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE"; -BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW = "MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW"; -BI.shortcut('bi.multi_select_check_selected_switcher', BI.MultiSelectCheckSelectedSwitcher);/** - * Created by zcf_1 on 2017/5/2. - */ -BI.MultiSelectInsertList = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.MultiSelectInsertList.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-insert-list', - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn - }) - }, - _init: function () { - BI.MultiSelectInsertList.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - this.storeValue = {}; - - var assertShowValue = function () { - BI.isKey(self._startValue) && self.storeValue.value[self.storeValue.type === BI.Selection.All ? "remove" : "pushDistinct"](self._startValue); - // self.trigger.setValue(self.storeValue); - }; - - this.adapter = BI.createWidget({ - type: "bi.multi_select_loader", - cls: "popup-multi-select-list bi-border-left bi-border-right bi-border-bottom", - itemsCreator: o.itemsCreator, - valueFormatter: o.valueFormatter, - logic: { - dynamic: false - }, - // onLoaded: o.onLoaded, - el: {} - }); - this.adapter.on(BI.MultiSelectLoader.EVENT_CHANGE, function () { - self.storeValue = this.getValue(); - assertShowValue(); - self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE); - }); - - this.searcherPane = BI.createWidget({ - type: "bi.multi_select_search_pane", - cls: "bi-border-left bi-border-right bi-border-bottom", - valueFormatter: o.valueFormatter, - keywordGetter: function () { - return self.trigger.getKeyword(); - }, - itemsCreator: function (op, callback) { - op.keyword = self.trigger.getKeyword(); - this.setKeyword(op.keyword); - o.itemsCreator(op, callback); - } - }); - this.searcherPane.setVisible(false); - - this.trigger = BI.createWidget({ - type: "bi.searcher", - isAutoSearch: false, - isAutoSync: false, - onSearch: function (op, callback) { - callback(); - }, - adapter: this.adapter, - popup: this.searcherPane, - height: 200, - masker: false, - listeners: [{ - eventName: BI.Searcher.EVENT_START, - action: function () { - self._showSearcherPane(); - self._setStartValue(""); - this.setValue(BI.deepClone(self.storeValue)); - } - }, { - eventName: BI.Searcher.EVENT_STOP, - action: function () { - self._showAdapter(); - self._setStartValue(""); - self.adapter.setValue(self.storeValue); - //需要刷新回到初始界面,否则搜索的结果不能放在最前面 - self.adapter.populate(); - } - }, { - eventName: BI.Searcher.EVENT_PAUSE, - action: function () { - var keyword = this.getKeyword(); - if (this.hasMatched()) { - self._join({ - type: BI.Selection.Multi, - value: [keyword] - }, function () { - if (self.storeValue.type === BI.Selection.Multi) { - self.storeValue.value.pushDistinct(keyword) - } - self._showAdapter(); - self.adapter.setValue(self.storeValue); - self._setStartValue(keyword); - assertShowValue(); - self.adapter.populate(); - self._setStartValue(""); - self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE); - }) - } else { - if (self.storeValue.type === BI.Selection.Multi) { - self.storeValue.value.pushDistinct(keyword) - } - self._showAdapter(); - self.adapter.setValue(self.storeValue); - self.adapter.populate(); - if (self.storeValue.type === BI.Selection.Multi) { - self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE); - } - } - } - }, { - eventName: BI.Searcher.EVENT_SEARCHING, - action: function () { - var keywords = this.getKeyword(); - var last = BI.last(keywords); - keywords = BI.initial(keywords || []); - if (keywords.length > 0) { - self._joinKeywords(keywords, function () { - if (BI.isEndWithBlank(last)) { - self.adapter.setValue(self.storeValue); - assertShowValue(); - self.adapter.populate(); - self._setStartValue(""); - } else { - self.adapter.setValue(self.storeValue); - assertShowValue(); - } - }); - } - } - }, { - eventName: BI.Searcher.EVENT_CHANGE, - action: function (value, obj) { - if (obj instanceof BI.MultiSelectBar) { - self._joinAll(this.getValue(), function () { - assertShowValue(); - self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE); - }); - } else { - self._join(this.getValue(), function () { - assertShowValue(); - self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE); - }); - } - } - }] - }); - - BI.createWidget({ - type: "bi.vtape", - element: this, - items: [{ - el: this.trigger, - height: 30 - }, { - el: this.adapter, - height: "fill" - }] - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.searcherPane, - top: 30, - bottom: 0, - left: 0, - right: 0 - }] - }) - }, - - _showAdapter: function () { - this.adapter.setVisible(true); - this.searcherPane.setVisible(false); - }, - - _showSearcherPane: function () { - this.searcherPane.setVisible(true); - this.adapter.setVisible(false); - }, - - _defaultState: function () { - this.trigger.stopEditing(); - }, - - _assertValue: function (val) { - val || (val = {}); - val.type || (val.type = BI.Selection.Multi); - val.value || (val.value = []); - }, - - _makeMap: function (values) { - return BI.makeObject(values || []); - }, - - _joinKeywords: function (keywords, callback) { - var self = this, o = this.options; - this._assertValue(this.storeValue); - if (!this._allData) { - o.itemsCreator({ - type: BI.MultiSelectInsertList.REQ_GET_ALL_DATA - }, function (ob) { - self._allData = BI.pluck(ob.items, "value"); - digest(self._allData); - }) - } else { - digest(this._allData) - } - - function digest(items) { - var selectedMap = self._makeMap(items); - BI.each(keywords, function (i, val) { - if (BI.isNotNull(selectedMap[val])) { - self.storeValue.value[self.storeValue.type === BI.Selection.Multi ? "pushDistinct" : "remove"](val); - } - }); - callback(); - } - }, - - _joinAll: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - o.itemsCreator({ - type: BI.MultiSelectInsertList.REQ_GET_ALL_DATA, - keyword: self.trigger.getKeyword() - }, function (ob) { - var items = BI.pluck(ob.items, "value"); - if (self.storeValue.type === res.type) { - var change = false; - var map = self._makeMap(self.storeValue.value); - BI.each(items, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (self.storeValue.value = BI.values(map)); - callback(); - return; - } - var selectedMap = self._makeMap(self.storeValue.value); - var notSelectedMap = self._makeMap(res.value); - var newItems = []; - BI.each(items, function (i, item) { - if (BI.isNotNull(selectedMap[items[i]])) { - delete selectedMap[items[i]]; - } - if (BI.isNull(notSelectedMap[items[i]])) { - newItems.push(item); - } - }); - self.storeValue.value = newItems.concat(BI.values(selectedMap)); - callback(); - }) - }, - - _join: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - this._assertValue(this.storeValue); - if (this.storeValue.type === res.type) { - var map = this._makeMap(this.storeValue.value); - BI.each(res.value, function (i, v) { - if (!map[v]) { - self.storeValue.value.push(v); - map[v] = v; - } - }); - var change = false; - BI.each(res.assist, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (this.storeValue.value = BI.values(map)); - callback(); - return; - } - this._joinAll(res, callback); - }, - - _setStartValue: function (value) { - this._startValue = value; - this.adapter.setStartValue(value); - }, - - isAllSelected: function () { - return this.adapter.isAllSelected(); - }, - - resize: function () { - // this.trigger.getCounter().adjustView(); - // this.trigger.adjustView(); - }, - setValue: function (v) { - this.storeValue = v || {}; - this._assertValue(this.storeValue); - this.adapter.setValue(this.storeValue); - this.trigger.setValue(this.storeValue); - }, - - getValue: function () { - return BI.deepClone(this.storeValue); - }, - - populate: function () { - this._count = null; - this._allData = null; - this.adapter.populate.apply(this.adapter, arguments); - this.trigger.populate.apply(this.trigger, arguments); - } -}); - -BI.extend(BI.MultiSelectInsertList, { - REQ_GET_DATA_LENGTH: 0, - REQ_GET_ALL_DATA: -1 -}); - -BI.MultiSelectInsertList.EVENT_CHANGE = "BI.MultiSelectInsertList.EVENT_CHANGE"; -BI.shortcut("bi.multi_select_insert_list", BI.MultiSelectInsertList);/** - * Created by zcf_1 on 2017/5/2. - */ -BI.MultiSelectList = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.MultiSelectList.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-list', - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn - }) - }, - _init: function () { - BI.MultiSelectList.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - this.storeValue = {}; - - var assertShowValue = function () { - BI.isKey(self._startValue) && self.storeValue.value[self.storeValue.type === BI.Selection.All ? "remove" : "pushDistinct"](self._startValue); - // self.trigger.setValue(self.storeValue); - }; - - this.adapter = BI.createWidget({ - type: "bi.multi_select_loader", - cls: "popup-multi-select-list bi-border-left bi-border-right bi-border-bottom", - itemsCreator: o.itemsCreator, - valueFormatter: o.valueFormatter, - logic: { - dynamic: false - }, - // onLoaded: o.onLoaded, - el: {} - }); - this.adapter.on(BI.MultiSelectLoader.EVENT_CHANGE, function () { - self.storeValue = this.getValue(); - self._adjust(function () { - assertShowValue(); - self.fireEvent(BI.MultiSelectList.EVENT_CHANGE); - }); - }); - - this.searcherPane = BI.createWidget({ - type: "bi.multi_select_search_pane", - cls: "bi-border-left bi-border-right bi-border-bottom", - valueFormatter: o.valueFormatter, - keywordGetter: function () { - return self.trigger.getKeyword(); - }, - itemsCreator: function (op, callback) { - op.keyword = self.trigger.getKeyword(); - this.setKeyword(op.keyword); - o.itemsCreator(op, callback); - } - }); - this.searcherPane.setVisible(false); - - this.trigger = BI.createWidget({ - type: "bi.searcher", - isAutoSearch: false, - isAutoSync: false, - onSearch: function (op, callback) { - callback(); - }, - adapter: this.adapter, - popup: this.searcherPane, - height: 200, - masker: false, - listeners: [{ - eventName: BI.Searcher.EVENT_START, - action: function () { - self._showSearcherPane(); - self._setStartValue(""); - this.setValue(BI.deepClone(self.storeValue)); - } - }, { - eventName: BI.Searcher.EVENT_STOP, - action: function () { - self._showAdapter(); - self._setStartValue(""); - self.adapter.setValue(self.storeValue); - //需要刷新回到初始界面,否则搜索的结果不能放在最前面 - self.adapter.populate(); - } - }, { - eventName: BI.Searcher.EVENT_PAUSE, - action: function () { - var keyword = this.getKeyword(); - if (this.hasMatched()) { - self._join({ - type: BI.Selection.Multi, - value: [keyword] - }, function () { - self._showAdapter(); - self.adapter.setValue(self.storeValue); - self._setStartValue(keyword); - assertShowValue(); - self.adapter.populate(); - self._setStartValue(""); - self.fireEvent(BI.MultiSelectList.EVENT_CHANGE); - }) - } - } - }, { - eventName: BI.Searcher.EVENT_SEARCHING, - action: function () { - var keywords = this.getKeyword(); - var last = BI.last(keywords); - keywords = BI.initial(keywords || []); - if (keywords.length > 0) { - self._joinKeywords(keywords, function () { - if (BI.isEndWithBlank(last)) { - self.adapter.setValue(self.storeValue); - assertShowValue(); - self.adapter.populate(); - self._setStartValue(""); - } else { - self.adapter.setValue(self.storeValue); - assertShowValue(); - } - }); - } - } - }, { - eventName: BI.Searcher.EVENT_CHANGE, - action: function (value, obj) { - if (obj instanceof BI.MultiSelectBar) { - self._joinAll(this.getValue(), function () { - assertShowValue(); - self.fireEvent(BI.MultiSelectList.EVENT_CHANGE); - }); - } else { - self._join(this.getValue(), function () { - assertShowValue(); - self.fireEvent(BI.MultiSelectList.EVENT_CHANGE); - }); - } - } - }] - }); - - BI.createWidget({ - type: "bi.vtape", - element: this, - items: [{ - el: this.trigger, - height: 30 - }, { - el: this.adapter, - height: "fill" - }] - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.searcherPane, - top: 30, - bottom: 0, - left: 0, - right: 0 - }] - }) - }, - - _showAdapter: function () { - this.adapter.setVisible(true); - this.searcherPane.setVisible(false); - }, - - _showSearcherPane: function () { - this.searcherPane.setVisible(true); - this.adapter.setVisible(false); - }, - - _defaultState: function () { - this.trigger.stopEditing(); - }, - - _assertValue: function (val) { - val || (val = {}); - val.type || (val.type = BI.Selection.Multi); - val.value || (val.value = []); - }, - - _makeMap: function (values) { - return BI.makeObject(values || []); - }, - - _joinKeywords: function (keywords, callback) { - var self = this, o = this.options; - this._assertValue(this.storeValue); - if (!this._allData) { - o.itemsCreator({ - type: BI.MultiSelectList.REQ_GET_ALL_DATA - }, function (ob) { - self._allData = BI.pluck(ob.items, "value"); - digest(self._allData); - }) - } else { - digest(this._allData) - } - - function digest(items) { - var selectedMap = self._makeMap(items); - BI.each(keywords, function (i, val) { - if (BI.isNotNull(selectedMap[val])) { - self.storeValue.value[self.storeValue.type === BI.Selection.Multi ? "pushDistinct" : "remove"](val); - } - }); - self._adjust(callback); - } - }, - - _joinAll: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - o.itemsCreator({ - type: BI.MultiSelectList.REQ_GET_ALL_DATA, - keyword: self.trigger.getKeyword() - }, function (ob) { - var items = BI.pluck(ob.items, "value"); - if (self.storeValue.type === res.type) { - var change = false; - var map = self._makeMap(self.storeValue.value); - BI.each(items, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (self.storeValue.value = BI.values(map)); - self._adjust(callback); - return; - } - var selectedMap = self._makeMap(self.storeValue.value); - var notSelectedMap = self._makeMap(res.value); - var newItems = []; - BI.each(items, function (i, item) { - if (BI.isNotNull(selectedMap[items[i]])) { - delete selectedMap[items[i]]; - } - if (BI.isNull(notSelectedMap[items[i]])) { - newItems.push(item); - } - }); - self.storeValue.value = newItems.concat(BI.values(selectedMap)); - self._adjust(callback); - }) - }, - - _adjust: function (callback) { - var self = this, o = this.options; - if (!this._count) { - o.itemsCreator({ - type: BI.MultiSelectList.REQ_GET_DATA_LENGTH - }, function (res) { - self._count = res.count; - adjust(); - callback(); - }); - } else { - adjust(); - callback(); - } - - function adjust() { - if (self.storeValue.type === BI.Selection.All && self.storeValue.value.length >= self._count) { - self.storeValue = { - type: BI.Selection.Multi, - value: [] - } - } else if (self.storeValue.type === BI.Selection.Multi && self.storeValue.value.length >= self._count) { - self.storeValue = { - type: BI.Selection.All, - value: [] - } - } - } - }, - - _join: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - this._assertValue(this.storeValue); - if (this.storeValue.type === res.type) { - var map = this._makeMap(this.storeValue.value); - BI.each(res.value, function (i, v) { - if (!map[v]) { - self.storeValue.value.push(v); - map[v] = v; - } - }); - var change = false; - BI.each(res.assist, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (this.storeValue.value = BI.values(map)); - self._adjust(callback); - return; - } - this._joinAll(res, callback); - }, - - _setStartValue: function (value) { - this._startValue = value; - this.adapter.setStartValue(value); - }, - - isAllSelected: function () { - return this.adapter.isAllSelected(); - }, - - resize: function () { - // this.trigger.getCounter().adjustView(); - // this.trigger.adjustView(); - }, - setValue: function (v) { - this.storeValue = v || {}; - this._assertValue(this.storeValue); - this.adapter.setValue(this.storeValue); - this.trigger.setValue(this.storeValue); - }, - - getValue: function () { - return BI.deepClone(this.storeValue); - }, - - populate: function () { - this._count = null; - this._allData = null; - this.adapter.populate.apply(this.adapter, arguments); - this.trigger.populate.apply(this.trigger, arguments); - } -}); - -BI.extend(BI.MultiSelectList, { - REQ_GET_DATA_LENGTH: 0, - REQ_GET_ALL_DATA: -1 -}); - -BI.MultiSelectList.EVENT_CHANGE = "BI.MultiSelectList.EVENT_CHANGE"; -BI.shortcut("bi.multi_select_list", BI.MultiSelectList);/** - * Created by zcf_1 on 2017/5/11. - */ -BI.MultiSelectTree = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.MultiSelectTree.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-tree', - itemsCreator: BI.emptyFn - }) - }, - - _init: function () { - BI.MultiSelectTree.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.storeValue = {value: {}}; - - this.adapter = BI.createWidget({ - type: "bi.multi_select_tree_popup", - itemsCreator: o.itemsCreator - }); - this.adapter.on(BI.MultiSelectTreePopup.EVENT_CHANGE, function () { - if (self.searcher.isSearching()) { - self.storeValue = {value: self.searcherPane.getValue()}; - } else { - self.storeValue = {value: self.adapter.getValue()}; - } - self.setSelectedValue(self.storeValue.value); - self.fireEvent(BI.MultiSelectTree.EVENT_CHANGE); - }); - - //搜索中的时候用的是parttree,同adapter中的synctree不一样 - this.searcherPane = BI.createWidget({ - type: "bi.multi_tree_search_pane", - cls: "bi-border-left bi-border-right bi-border-bottom", - keywordGetter: function () { - return self.searcher.getKeyword(); - }, - itemsCreator: function (op, callback) { - op.keyword = self.searcher.getKeyword(); - o.itemsCreator(op, callback); - } - }); - this.searcherPane.setVisible(false); - - this.searcher = BI.createWidget({ - type: "bi.searcher", - isAutoSearch: false, - isAutoSync: false, - onSearch: function (op, callback) { - callback({ - keyword: self.searcher.getKeyword() - }); - }, - adapter: this.adapter, - popup: this.searcherPane, - masker: false, - listeners: [{ - eventName: BI.Searcher.EVENT_START, - action: function () { - self._showSearcherPane(); - // self.storeValue = {value: self.adapter.getValue()}; - // self.searcherPane.setSelectedValue(self.storeValue.value); - } - }, { - eventName: BI.Searcher.EVENT_STOP, - action: function () { - self._showAdapter(); - // self.storeValue = {value: self.searcherPane.getValue()}; - // self.adapter.setSelectedValue(self.storeValue.value); - BI.nextTick(function () { - self.adapter.populate(); - }); - } - }, { - eventName: BI.Searcher.EVENT_CHANGE, - action: function () { - if (self.searcher.isSearching()) { - self.storeValue = {value: self.searcherPane.getValue()}; - } else { - self.storeValue = {value: self.adapter.getValue()}; - } - self.setSelectedValue(self.storeValue.value); - self.fireEvent(BI.MultiSelectTree.EVENT_CHANGE); - } - }, { - eventName: BI.Searcher.EVENT_PAUSE, - action: function () { - self._showAdapter(); - } - }] - }); - - BI.createWidget({ - type: "bi.vtape", - element: this, - items: [{ - el: this.searcher, - height: 30 - }, { - el: this.adapter, - height: "fill" - }] - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.searcherPane, - top: 30, - bottom: 0, - left: 0, - right: 0 - }] - }) - - }, - - _showAdapter: function () { - this.adapter.setVisible(true); - this.searcherPane.setVisible(false); - }, - - _showSearcherPane: function () { - this.searcherPane.setVisible(true); - this.adapter.setVisible(false); - }, - - resize: function () { - - }, - - setSelectedValue: function (v) { - this.storeValue.value = v || {}; - this.adapter.setSelectedValue(v); - this.searcherPane.setSelectedValue(v); - this.searcher.setValue({ - value: v || {} - }); - }, - - setValue: function (v) { - this.adapter.setValue(v); - }, - - stopSearch: function () { - this.searcher.stopSearch(); - }, - - updateValue: function (v) { - this.adapter.updateValue(v); - }, - - getValue: function () { - return this.storeValue.value; - }, - - populate: function () { - this.searcher.populate.apply(this.searcher, arguments); - this.adapter.populate.apply(this.adapter, arguments); - } -}); -BI.MultiSelectTree.EVENT_CHANGE = "BI.MultiSelectTree.EVENT_CHANGE"; -BI.shortcut("bi.multi_select_tree", BI.MultiSelectTree);/** - * Created by zcf on 2016/12/21. - */ -BI.MultiSelectTreePopup = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.MultiSelectTreePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multi-select-tree-popup bi-border-left bi-border-right bi-border-bottom", - itemsCreator: BI.emptyFn - }); - }, - _init: function () { - BI.MultiSelectTreePopup.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.popup = BI.createWidget({ - type: "bi.async_tree", - element: this, - itemsCreator: o.itemsCreator - }); - this.popup.on(BI.TreeView.EVENT_AFTERINIT, function () { - self.fireEvent(BI.MultiSelectTreePopup.EVENT_AFTER_INIT) - }); - this.popup.on(BI.TreeView.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectTreePopup.EVENT_CHANGE) - }); - }, - - hasChecked: function () { - return this.popup.hasChecked(); - }, - - getValue: function () { - return this.popup.getValue(); - }, - - setValue: function (v) { - v || (v = {}); - this.popup.setValue(v); - }, - - setSelectedValue: function (v) { - v || (v = {}); - this.popup.setSelectedValue(v); - }, - - updateValue: function (v) { - this.popup.updateValue(v); - this.popup.refresh(); - }, - - populate: function (config) { - this.popup.stroke(config); - } - -}); -BI.MultiSelectTreePopup.EVENT_AFTER_INIT = "BI.MultiSelectTreePopup.EVENT_AFTER_INIT"; -BI.MultiSelectTreePopup.EVENT_CHANGE = "BI.MultiSelectTreePopup.EVENT_CHANGE"; -BI.shortcut("bi.multi_select_tree_popup", BI.MultiSelectTreePopup);/** - * - * @class BI.MultiTreeCheckPane - * @extends BI.Pane - */ -BI.MultiTreeCheckPane = BI.inherit(BI.Pane, { - - constants: { - height: 25, - lgap: 10, - tgap: 5 - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiTreeCheckPane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multi-tree-check-pane bi-background", - onClickContinueSelect: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiTreeCheckPane.superclass._init.apply(this, arguments); - - var self = this, opts = this.options; - - this.selectedValues = {}; - - var continueSelect = BI.createWidget({ - type: 'bi.text_button', - text: BI.i18nText('BI-Continue_Select'), - cls: 'multi-tree-check-selected' - }); - continueSelect.on(BI.TextButton.EVENT_CHANGE, function () { - opts.onClickContinueSelect(); - BI.nextTick(function () { - self.empty(); - }); - }); - - var backToPopup = BI.createWidget({ - type: 'bi.left', - cls: 'multi-tree-continue-select', - items: [ - { - el: { - type: "bi.label", - text: BI.i18nText('BI-Selected_Data') - }, - lgap: this.constants.lgap, - tgap: this.constants.tgap - }, - { - el: continueSelect, - lgap: this.constants.lgap, - tgap: this.constants.tgap - }] - }); - - this.display = BI.createWidget({ - type: "bi.display_tree", - cls: "bi-multi-tree-display", - itemsCreator: function (op, callback) { - op.type = BI.TreeView.REQ_TYPE_GET_SELECTED_DATA; - opts.itemsCreator(op, callback); - } - }); - - this.display.on(BI.Events.AFTERINIT, function () { - self.fireEvent(BI.Events.AFTERINIT); - }); - - this.display.on(BI.TreeView.EVENT_INIT, function () { - backToPopup.setVisible(false); - }); - - this.display.on(BI.TreeView.EVENT_AFTERINIT, function () { - backToPopup.setVisible(true); - }); - - BI.createWidget({ - type: 'bi.vtape', - element: this, - items: [{ - height: this.constants.height, - el: backToPopup - }, { - height: 'fill', - el: this.display - }] - }); - - }, - - empty: function () { - this.display.empty(); - }, - - populate: function (configs) { - this.display.stroke(configs); - }, - - setValue: function (v) { - v || (v = {}); - this.display.setSelectedValue(v.value); - }, - - getValue: function () { - - } -}); - -BI.MultiTreeCheckPane.EVENT_CONTINUE_CLICK = "EVENT_CONTINUE_CLICK"; - - -BI.shortcut("bi.multi_tree_check_pane", BI.MultiTreeCheckPane);/** - * - * @class BI.MultiTreeCombo - * @extends BI.Single - */ - -BI.MultiTreeCombo = BI.inherit(BI.Single, { - - constants: { - offset: { - top: 1, - left: 1, - right: 2, - bottom: 33 - } - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiTreeCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-tree-combo', - itemsCreator: BI.emptyFn, - height: 25 - }); - }, - - _init: function () { - BI.MultiTreeCombo.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - - var isInit = false; - var want2showCounter = false; - - this.trigger = BI.createWidget({ - type: "bi.multi_select_trigger", - height: o.height, - // adapter: this.popup, - masker: { - offset: this.constants.offset - }, - searcher: { - type: "bi.multi_tree_searcher", - itemsCreator: o.itemsCreator - }, - switcher: { - el: { - type: "bi.multi_tree_check_selected_button" - }, - popup: { - type: "bi.multi_tree_check_pane", - itemsCreator: o.itemsCreator - } - } - - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - toggle: false, - el: this.trigger, - adjustLength: 1, - popup: { - type: 'bi.multi_tree_popup_view', - ref: function () { - self.popup = this; - self.trigger.setAdapter(this); - }, - listeners: [{ - eventName: BI.MultiTreePopup.EVENT_AFTERINIT, - action: function () { - self.trigger.getCounter().adjustView(); - isInit = true; - if (want2showCounter === true) { - showCounter(); - } - } - }, { - eventName: BI.MultiTreePopup.EVENT_CHANGE, - action: function () { - change = true; - var val = { - type: BI.Selection.Multi, - value: this.hasChecked() ? {1: 1} : {} - }; - self.trigger.getSearcher().setState(val); - self.trigger.getCounter().setButtonChecked(val); - } - }, { - eventName: BI.MultiTreePopup.EVENT_CLICK_CONFIRM, - action: function () { - self.combo.hideView(); - } - }, { - eventName: BI.MultiTreePopup.EVENT_CLICK_CLEAR, - action: function () { - clear = true; - self.setValue(); - self._defaultState(); - } - }], - itemsCreator: o.itemsCreator, - onLoaded: function () { - BI.nextTick(function () { - self.trigger.getCounter().adjustView(); - self.trigger.getSearcher().adjustView(); - }); - } - }, - hideChecker: function (e) { - return triggerBtn.element.find(e.target).length === 0; - } - }); - - this.storeValue = {value: {}}; - var change = false; - var clear = false; //标识当前是否点击了清空 - - var isSearching = function () { - return self.trigger.getSearcher().isSearching(); - }; - - var isPopupView = function () { - return self.combo.isViewVisible(); - }; - - this.trigger.on(BI.MultiSelectTrigger.EVENT_START, function () { - self.storeValue = {value: self.combo.getValue()}; - this.setValue(self.storeValue); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_STOP, function () { - self.storeValue = {value: this.getValue()}; - self.combo.setValue(self.storeValue); - BI.nextTick(function () { - if (isPopupView()) { - self.combo.populate(); - } - }); - }); - function showCounter() { - if (isSearching()) { - self.storeValue = {value: self.trigger.getValue()}; - } else if (isPopupView()) { - self.storeValue = {value: self.combo.getValue()}; - } - self.trigger.setValue(self.storeValue); - } - - this.trigger.on(BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW, function () { - if (want2showCounter === false) { - want2showCounter = true; - } - if (isInit === true) { - want2showCounter = null; - showCounter(); - } - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_TRIGGER_CLICK, function () { - self.combo.toggle(); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_COUNTER_CLICK, function () { - if (!self.combo.isViewVisible()) { - self.combo.showView(); - } - }); - - this.trigger.on(BI.MultiSelectTrigger.EVENT_CHANGE, function () { - var val = { - type: BI.Selection.Multi, - value: this.getSearcher().hasChecked() ? {1: 1} : {} - }; - this.getSearcher().setState(val); - this.getCounter().setButtonChecked(val); - }); - - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - if (isSearching()) { - return; - } - if (change === true) { - self.storeValue = {value: self.combo.getValue()}; - change = false; - } - self.combo.setValue(self.storeValue); - self.populate(); - - }); - this.combo.on(BI.Combo.EVENT_BEFORE_HIDEVIEW, function () { - if (isSearching()) { - self.trigger.stopEditing(); - self.fireEvent(BI.MultiTreeCombo.EVENT_CONFIRM); - }else{ - if (isPopupView()) { - self.trigger.stopEditing(); - self.storeValue = {value: self.combo.getValue()}; - if (clear === true) { - self.storeValue = {value: {}}; - } - self.fireEvent(BI.MultiTreeCombo.EVENT_CONFIRM); - } - } - clear = false; - change = false; - }); - - var triggerBtn = BI.createWidget({ - type: "bi.trigger_icon_button", - width: o.height, - height: o.height, - cls: "multi-select-trigger-icon-button bi-border-left" - }); - triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE, function () { - self.trigger.getCounter().hideView(); - if (self.combo.isViewVisible()) { - self.combo.hideView(); - } else { - self.combo.showView(); - } - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.combo, - left: 0, - right: 0, - top: 0, - bottom: 0 - }, { - el: triggerBtn, - right: 0, - top: 0, - bottom: 0 - }] - }) - }, - - _defaultState: function () { - this.trigger.stopEditing(); - this.combo.hideView(); - }, - - setValue: function (v) { - this.storeValue.value = v || {}; - this.combo.setValue({ - value: v || {} - }); - }, - - getValue: function () { - return this.storeValue.value; - }, - - populate: function () { - this.combo.populate.apply(this.combo, arguments); - } -}); - -BI.MultiTreeCombo.EVENT_CONFIRM = "MultiTreeCombo.EVENT_CONFIRM"; - -BI.shortcut('bi.multi_tree_combo', BI.MultiTreeCombo);/** - * 带加载的多选下拉面板 - * @class BI.MultiTreePopup - * @extends BI.Pane - */ -BI.MultiTreePopup = BI.inherit(BI.Pane, { - - _defaultConfig: function () { - return BI.extend(BI.MultiTreePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-tree-popup', - maxWidth: 'auto', - minWidth: 100, - maxHeight: 400, - onLoaded: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiTreePopup.superclass._init.apply(this, arguments); - - var self = this, opts = this.options; - - this.selectedValues = {}; - - this.tree = BI.createWidget({ - type: "bi.async_tree", - height: 400, - cls:"popup-view-tree", - itemsCreator: opts.itemsCreator, - onLoaded: opts.onLoaded - }); - - this.popupView = BI.createWidget({ - type: "bi.multi_popup_view", - element: this, - stopPropagation: false, - maxWidth: opts.maxWidth, - minWidth: opts.minWidth, - maxHeight: opts.maxHeight, - buttons: [BI.i18nText('BI-Basic_Clears'), BI.i18nText('BI-Basic_Sure')], - el: this.tree - }); - - this.popupView.on(BI.MultiPopupView.EVENT_CLICK_TOOLBAR_BUTTON, function (index) { - switch (index) { - case 0: - self.fireEvent(BI.MultiTreePopup.EVENT_CLICK_CLEAR); - break; - case 1: - self.fireEvent(BI.MultiTreePopup.EVENT_CLICK_CONFIRM); - break; - } - }); - - this.tree.on(BI.TreeView.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiTreePopup.EVENT_CHANGE); - }); - - this.tree.on(BI.TreeView.EVENT_AFTERINIT, function () { - self.fireEvent(BI.MultiTreePopup.EVENT_AFTERINIT); - }); - - }, - - getValue: function () { - return this.tree.getValue(); - }, - - setValue: function (v) { - v || (v = {}); - this.tree.setSelectedValue(v.value); - }, - - populate: function (config) { - this.tree.stroke(config); - }, - - hasChecked: function () { - return this.tree.hasChecked(); - }, - - resetHeight: function (h) { - this.popupView.resetHeight(h); - }, - - resetWidth: function (w) { - this.popupView.resetWidth(w); - } -}); - -BI.MultiTreePopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.MultiTreePopup.EVENT_CLICK_CONFIRM = "EVENT_CLICK_CONFIRM"; -BI.MultiTreePopup.EVENT_CLICK_CLEAR = "EVENT_CLICK_CLEAR"; -BI.MultiTreePopup.EVENT_AFTERINIT = "EVENT_AFTERINIT"; - - -BI.shortcut('bi.multi_tree_popup_view', BI.MultiTreePopup);/** - * - * 在搜索框中输入文本弹出的面板 - * @class BI.MultiTreeSearchPane - * @extends BI.Pane - */ - -BI.MultiTreeSearchPane = BI.inherit(BI.Pane, { - - _defaultConfig: function () { - return BI.extend(BI.MultiTreeSearchPane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multi-tree-search-pane bi-card", - itemsCreator: BI.emptyFn, - keywordGetter: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiTreeSearchPane.superclass._init.apply(this, arguments); - - var self = this, opts = this.options; - - this.partTree = BI.createWidget({ - type: "bi.part_tree", - element: this, - tipText: BI.i18nText("BI-No_Select"), - itemsCreator: function (op, callback) { - op.keyword = opts.keywordGetter(); - opts.itemsCreator(op, callback); - } - }); - - this.partTree.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.partTree.on(BI.TreeView.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiTreeSearchPane.EVENT_CHANGE); - }); - }, - - hasChecked: function () { - return this.partTree.hasChecked(); - }, - - setValue: function (v) { - this.setSelectedValue(v.value); - }, - - setSelectedValue: function (v) { - v || (v = {}); - this.partTree.setSelectedValue(v); - }, - - getValue: function () { - return this.partTree.getValue(); - }, - - empty: function () { - this.partTree.empty(); - }, - - populate: function (op) { - this.partTree.stroke.apply(this.partTree, arguments); - } -}); - -BI.MultiTreeSearchPane.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.MultiTreeSearchPane.EVENT_CLICK_CONFIRM = "EVENT_CLICK_CONFIRM"; -BI.MultiTreeSearchPane.EVENT_CLICK_CLEAR = "EVENT_CLICK_CLEAR"; - -BI.shortcut("bi.multi_tree_search_pane", BI.MultiTreeSearchPane);/** - * 查看已选按钮 - * Created by guy on 15/11/3. - * @class BI.MultiTreeCheckSelectedButton - * @extends BI.Single - */ -BI.MultiTreeCheckSelectedButton = BI.inherit(BI.Single, { - - _const: { - checkSelected: BI.i18nText('BI-Check_Selected') - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiTreeCheckSelectedButton.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-tree-check-selected-button', - itemsCreator: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiTreeCheckSelectedButton.superclass._init.apply(this, arguments); - var self = this; - this.indicator = BI.createWidget({ - type: 'bi.icon_button', - cls: 'check-font trigger-check-selected', - width: 15, - height: 15, - stopPropagation: true - }); - - this.checkSelected = BI.createWidget({ - type: 'bi.text_button', - cls: "trigger-check-selected", - invisible: true, - hgap: 4, - text: this._const.checkSelected, - textAlign: 'center', - textHeight: 15 - }); - this.checkSelected.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.checkSelected.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectCheckSelectedButton.EVENT_CHANGE, arguments); - }); - - BI.createWidget({ - type: "bi.horizontal", - element: this, - items: [this.indicator, this.checkSelected] - }) - - this.element.hover(function () { - self.indicator.setVisible(false); - self.checkSelected.setVisible(true); - }, function () { - self.indicator.setVisible(true); - self.checkSelected.setVisible(false); - }); - this.setVisible(false); - }, - - setValue: function (v) { - v || (v = {}); - this.setVisible(BI.size(v.value) > 0); - } -}); - -BI.MultiTreeCheckSelectedButton.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.multi_tree_check_selected_button', BI.MultiTreeCheckSelectedButton);/** - * searcher - * Created by guy on 15/11/3. - * @class BI.MultiTreeSearcher - * @extends Widget - */ -BI.MultiTreeSearcher = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiTreeSearcher.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-tree-searcher', - itemsCreator: BI.emptyFn, - popup: {}, - - adapter: null, - masker: {} - }); - }, - - _init: function () { - BI.MultiTreeSearcher.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: 'bi.multi_select_editor', - height: o.height, - el: { - type: "bi.simple_state_editor", - height: o.height - } - }); - - this.searcher = BI.createWidget({ - type: "bi.searcher", - element: this, - isAutoSearch: false, - isAutoSync: false, - onSearch: function (op, callback) { - callback({ - keyword: self.editor.getValue() - }); - }, - el: this.editor, - - popup: BI.extend({ - type: "bi.multi_tree_search_pane", - keywordGetter: function () { - return self.editor.getValue(); - }, - itemsCreator: function (op, callback) { - op.keyword = self.editor.getValue(); - o.itemsCreator(op, callback); - } - }, o.popup), - - adapter: o.adapter, - masker: o.masker - }); - this.searcher.on(BI.Searcher.EVENT_START, function () { - self.fireEvent(BI.MultiTreeSearcher.EVENT_START); - }); - this.searcher.on(BI.Searcher.EVENT_PAUSE, function () { - if (this.hasMatched()) { - - } - self.fireEvent(BI.MultiTreeSearcher.EVENT_PAUSE); - }); - this.searcher.on(BI.Searcher.EVENT_STOP, function () { - self.fireEvent(BI.MultiTreeSearcher.EVENT_STOP); - }); - this.searcher.on(BI.Searcher.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiTreeSearcher.EVENT_CHANGE, arguments); - }); - }, - - adjustView: function () { - this.searcher.adjustView(); - }, - - setAdapter: function (adapter) { - this.searcher.setAdapter(adapter); - }, - - isSearching: function () { - return this.searcher.isSearching(); - }, - - stopSearch: function () { - this.searcher.stopSearch(); - }, - - getKeyword: function () { - return this.editor.getValue(); - }, - - hasMatched: function () { - return this.searcher.hasMatched(); - }, - - hasChecked: function () { - return this.searcher.getView() && this.searcher.getView().hasChecked(); - }, - - setState: function (ob) { - ob || (ob = {}); - ob.value || (ob.value = []); - if (ob.type === BI.Selection.All) { - this.editor.setState(BI.size(ob.value) > 0 ? BI.Selection.Multi : BI.Selection.All); - } else { - this.editor.setState(BI.size(ob.value) > 0 ? BI.Selection.Multi : BI.Selection.None); - } - }, - - setValue: function (ob) { - this.setState(ob); - this.searcher.setValue(ob); - }, - - getKey: function () { - return this.editor.getValue(); - }, - - getValue: function () { - return this.searcher.getValue(); - }, - - populate: function (items) { - this.searcher.populate.apply(this.searcher, arguments); - } -}); - -BI.MultiTreeSearcher.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.MultiTreeSearcher.EVENT_CHANGE = "EVENT_CHANGE"; -BI.MultiTreeSearcher.EVENT_START = "EVENT_START"; -BI.MultiTreeSearcher.EVENT_STOP = "EVENT_STOP"; -BI.MultiTreeSearcher.EVENT_PAUSE = "EVENT_PAUSE"; -BI.shortcut('bi.multi_tree_searcher', BI.MultiTreeSearcher);/** - * Created by windy on 2017/3/13. - * 数值微调器 - */ -BI.NumberEditor = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.NumberEditor.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-number-editor bi-border", - validationChecker: function () { - return true; - }, - valueFormatter: function (v) { - return v; - }, - value: 0, - allowBlank: false, - errorText: "", - step: 1 - }) - }, - - _init: function () { - BI.NumberEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: "bi.sign_editor", - height: o.height, - allowBlank: o.allowBlank, - value: o.valueFormatter(o.value), - validationChecker: o.validationChecker, - errorText: o.errorText - }); - this.editor.on(BI.TextEditor.EVENT_CHANGE, function () { - o.value = this.getValue(); - self.fireEvent(BI.NumberEditor.EVENT_CHANGE); - }); - this.editor.on(BI.TextEditor.EVENT_CONFIRM, function () { - self.fireEvent(BI.NumberEditor.EVENT_CONFIRM); - }); - this.topBtn = BI.createWidget({ - type: "bi.icon_button", - trigger: "lclick,", - cls: "column-pre-page-h-font top-button bi-border-left bi-border-bottom" - }); - this.topBtn.on(BI.IconButton.EVENT_CHANGE, function () { - self._finetuning(o.step); - self.fireEvent(BI.NumberEditor.EVENT_CHANGE); - self.fireEvent(BI.NumberEditor.EVENT_CONFIRM); - }); - this.bottomBtn = BI.createWidget({ - type: "bi.icon_button", - trigger: "lclick,", - cls: "column-next-page-h-font bottom-button bi-border-left bi-border-top" - }); - this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function () { - self._finetuning(-o.step); - self.fireEvent(BI.NumberEditor.EVENT_CHANGE); - self.fireEvent(BI.NumberEditor.EVENT_CONFIRM); - }); - BI.createWidget({ - type: "bi.htape", - element: this, - items: [this.editor, { - el: { - type: "bi.grid", - columns: 1, - rows: 2, - items: [{ - column: 0, - row: 0, - el: this.topBtn - }, { - column: 0, - row: 1, - el: this.bottomBtn - }] - }, - width: 23 - }] - }); - }, - - //微调 - _finetuning: function (add) { - var v = BI.parseFloat(this.getValue()); - this.setValue(v.add(add)); - }, - - setUpEnable: function (v) { - this.topBtn.setEnable(!!v); - }, - - setDownEnable: function (v) { - this.bottomBtn.setEnable(!!v); - }, - - getValue: function () { - return this.options.value; - }, - - setValue: function (v) { - var o = this.options; - o.value = v; - this.editor.setValue(o.valueFormatter(v)); - } - -}); -BI.NumberEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.NumberEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.number_editor", BI.NumberEditor);//小于号的值为:0,小于等于号的值为:1 -//closeMIn:最小值的符号,closeMax:最大值的符号 -/** - * Created by roy on 15/9/17. - * - */ -BI.NumberInterval = BI.inherit(BI.Single, { - constants: { - typeError: "typeBubble", - numberError: "numberBubble", - signalError: "signalBubble", - editorWidth: 114, - columns: 5, - width: 30, - rows: 1, - numberErrorCls: "number-error", - border: 1, - less: 0, - less_equal: 1, - numTip: "" - }, - _defaultConfig: function () { - var conf = BI.NumberInterval.superclass._defaultConfig.apply(this, arguments) - return BI.extend(conf, { - extraCls: "bi-number-interval", - height: 25, - validation: "valid" - }) - }, - _init: function () { - var self = this, c = this.constants, o = this.options; - BI.NumberInterval.superclass._init.apply(this, arguments) - this.smallEditor = BI.createWidget({ - type: "bi.editor", - height: o.height - 2, - watermark: BI.i18nText("BI-Basic_Unrestricted"), - allowBlank: true, - value: o.min, - level: "warning", - tipType: "warning", - quitChecker: function () { - return false; - }, - validationChecker: function (v) { - if (!BI.isNumeric(v)) { - self.smallEditorBubbleType = c.typeError; - return false; - } - return true; - }, - cls: "number-interval-small-editor bi-border-top bi-border-bottom bi-border-left" - }); - - this.smallTip = BI.createWidget({ - type: "bi.label", - text: o.numTip, - height: o.height - 2, - invisible: true - }); - BI.createWidget({ - type: "bi.absolute", - element: this.smallEditor.element, - items: [{ - el: this.smallTip, - top: 0, - right: 5 - }] - }); - - this.bigEditor = BI.createWidget({ - type: "bi.editor", - height: o.height - 2, - watermark: BI.i18nText("BI-Basic_Unrestricted"), - allowBlank: true, - value: o.max, - level: "warning", - tipType: "warning", - quitChecker: function () { - return false; - }, - validationChecker: function (v) { - if (!BI.isNumeric(v)) { - self.bigEditorBubbleType = c.typeError; - return false; - } - return true; - }, - cls: "number-interval-big-editor bi-border-top bi-border-bottom bi-border-right" - }); - - this.bigTip = BI.createWidget({ - type: "bi.label", - text: o.numTip, - height: o.height - 2, - invisible: true - }); - BI.createWidget({ - type: "bi.absolute", - element: this.bigEditor.element, - items: [{ - el: this.bigTip, - top: 0, - right: 5 - }] - }); - - //this.smallCombo = BI.createWidget({ - // type: "bi.number_interval_combo", - // cls: "number-interval-small-combo", - // height: o.height, - // value: o.closemin ? 1 : 0, - // offsetStyle: "left" - //}); - // - //this.bigCombo = BI.createWidget({ - // type: "bi.number_interval_combo", - // cls: "number-interval-big-combo", - // height: o.height, - // value: o.closemax ? 1 : 0, - // offsetStyle: "left" - //}); - this.smallCombo = BI.createWidget({ - type: "bi.icon_combo", - cls: "number-interval-small-combo bi-border", - height: o.height - 2, - items: [{ - text: "(" + BI.i18nText("BI-Less_Than") + ")", - iconClass: "less-font", - value: 0 - }, { - text: "(" + BI.i18nText("BI-Less_And_Equal") + ")", - value: 1, - iconClass: "less-equal-font" - }] - }); - if (o.closemin === true) { - this.smallCombo.setValue(1); - } else { - this.smallCombo.setValue(0); - } - this.bigCombo = BI.createWidget({ - type: "bi.icon_combo", - cls: "number-interval-big-combo bi-border", - height: o.height - 2, - items: [{ - text: "(" + BI.i18nText("BI-Less_Than") + ")", - iconClass: "less-font", - value: 0 - }, { - text: "(" + BI.i18nText("BI-Less_And_Equal") + ")", - value: 1, - iconClass: "less-equal-font" - }] - }); - if (o.closemax === true) { - this.bigCombo.setValue(1); - } else { - this.bigCombo.setValue(0); - } - this.label = BI.createWidget({ - type: "bi.label", - text: BI.i18nText("BI-Basic_Value"), - textHeight: o.height - c.border * 2, - width: c.width - c.border * 2, - height: o.height - c.border * 2, - level: "warning", - tipType: "warning" - }); - this.left = BI.createWidget({ - type: "bi.htape", - items: [{ - el: self.smallEditor - }, { - el: self.smallCombo, - width: c.width - c.border * 2 - }] - - }); - this.right = BI.createWidget({ - type: "bi.htape", - items: [{ - el: self.bigCombo, - width: c.width - c.border * 2 - }, { - el: self.bigEditor - }] - }); - - - BI.createWidget({ - element: self, - type: "bi.center", - hgap: 15, - height: o.height, - items: [ - { - type: "bi.absolute", - items: [{ - el: self.left, - left: -15, - right: 0, - top: 0, - bottom: 0 - }] - }, { - type: "bi.absolute", - items: [{ - el: self.right, - left: 0, - right: -15, - top: 0, - bottom: 0 - }] - } - ] - }); - - BI.createWidget({ - element: self, - type: "bi.horizontal_auto", - items: [ - self.label - ] - }); - - - self._setValidEvent(self.bigEditor, c.bigEditor); - self._setValidEvent(self.smallEditor, c.smallEditor); - self._setErrorEvent(self.bigEditor, c.bigEditor); - self._setErrorEvent(self.smallEditor, c.smallEditor); - self._setBlurEvent(self.bigEditor); - self._setBlurEvent(self.smallEditor); - self._setFocusEvent(self.bigEditor); - self._setFocusEvent(self.smallEditor); - self._setComboValueChangedEvent(self.bigCombo); - self._setComboValueChangedEvent(self.smallCombo); - self._setEditorValueChangedEvent(self.bigEditor); - self._setEditorValueChangedEvent(self.smallEditor); - }, - - _checkValidation: function () { - var self = this, c = this.constants, o = this.options; - self._setTitle(""); - BI.Bubbles.hide(c.typeError); - BI.Bubbles.hide(c.numberError); - BI.Bubbles.hide(c.signalError); - if (!self.smallEditor.isValid() || !self.bigEditor.isValid()) { - self.element.removeClass("number-error"); - o.validation = "invalid"; - return c.typeError; - } else { - if (BI.isEmptyString(self.smallEditor.getValue()) || BI.isEmptyString(self.bigEditor.getValue())) { - self.element.removeClass("number-error"); - o.validation = "valid"; - return ""; - } else { - var smallValue = parseFloat(self.smallEditor.getValue()), bigValue = parseFloat(self.bigEditor.getValue()), - bigComboValue = self.bigCombo.getValue(), smallComboValue = self.smallCombo.getValue(); - if (bigComboValue[0] === c.less_equal && smallComboValue[0] === c.less_equal) { - if (smallValue > bigValue) { - self.element.addClass("number-error"); - o.validation = "invalid"; - return c.numberError; - } else { - self.element.removeClass("number-error"); - o.validation = "valid"; - return ""; - } - } else { - if (smallValue > bigValue) { - self.element.addClass("number-error"); - o.validation = "invalid"; - return c.numberError; - } else if (smallValue === bigValue) { - self.element.addClass("number-error"); - o.validation = "invalid"; - return c.signalError; - } else { - self.element.removeClass("number-error"); - o.validation = "valid"; - return ""; - } - } - } - - } - }, - - _setTitle: function (v) { - var self = this; - self.bigEditor.setTitle(v); - self.smallEditor.setTitle(v); - self.label.setTitle(v); - }, - - _setFocusEvent: function (w) { - var self = this, c = this.constants; - w.on(BI.Editor.EVENT_FOCUS, function () { - self._setTitle(""); - switch (self._checkValidation()) { - case c.typeError: - BI.Bubbles.show(c.typeError, BI.i18nText("BI-Numerical_Interval_Input_Data"), self, { - offsetStyle: "center" - }); - break; - case c.numberError: - BI.Bubbles.show(c.numberError, BI.i18nText("BI-Numerical_Interval_Number_Value"), self, { - offsetStyle: "center" - }); - break; - case c.signalError: - BI.Bubbles.show(c.signalError, BI.i18nText("BI-Numerical_Interval_Signal_Value"), self, { - offsetStyle: "center" - }); - break; - default : - return - } - - }) - }, - _setBlurEvent: function (w) { - var c = this.constants, self = this; - w.on(BI.Editor.EVENT_BLUR, function () { - BI.Bubbles.hide(c.typeError); - BI.Bubbles.hide(c.numberError); - BI.Bubbles.hide(c.signalError); - switch (self._checkValidation()) { - case c.typeError: - self._setTitle(BI.i18nText("BI-Numerical_Interval_Input_Data")); - break; - case c.numberError: - self._setTitle(BI.i18nText("BI-Numerical_Interval_Number_Value")); - break; - case c.signalError: - self._setTitle(BI.i18nText("BI-Numerical_Interval_Signal_Value")); - break; - default: - self._setTitle(""); - } - }) - }, - - _setErrorEvent: function (w) { - var c = this.constants, self = this - w.on(BI.Editor.EVENT_ERROR, function () { - self._checkValidation(); - BI.Bubbles.show(c.typeError, BI.i18nText("BI-Numerical_Interval_Input_Data"), self, { - offsetStyle: "center" - }); - self.fireEvent(BI.NumberInterval.EVENT_ERROR); - }) - }, - - - _setValidEvent: function (w) { - var self = this, c = this.constants; - w.on(BI.Editor.EVENT_VALID, function () { - switch (self._checkValidation()) { - case c.numberError: - BI.Bubbles.show(c.numberError, BI.i18nText("BI-Numerical_Interval_Number_Value"), self, { - offsetStyle: "center" - }); - self.fireEvent(BI.NumberInterval.EVENT_ERROR); - break; - case c.signalError: - BI.Bubbles.show(c.signalError, BI.i18nText("BI-Numerical_Interval_Signal_Value"), self, { - offsetStyle: "center" - }); - self.fireEvent(BI.NumberInterval.EVENT_ERROR); - break; - default: - self.fireEvent(BI.NumberInterval.EVENT_VALID); - } - }) - }, - - - _setEditorValueChangedEvent: function (w) { - var self = this, c = this.constants; - w.on(BI.Editor.EVENT_CHANGE, function () { - switch (self._checkValidation()) { - case c.typeError: - BI.Bubbles.show(c.typeError, BI.i18nText("BI-Numerical_Interval_Input_Data"), self, { - offsetStyle: "center" - }); - break; - case c.numberError: - BI.Bubbles.show(c.numberError, BI.i18nText("BI-Numerical_Interval_Number_Value"), self, { - offsetStyle: "center" - }); - break; - case c.signalError: - BI.Bubbles.show(c.signalError, BI.i18nText("BI-Numerical_Interval_Signal_Value"), self, { - offsetStyle: "center" - }); - break; - default : - break; - } - self.fireEvent(BI.NumberInterval.EVENT_CHANGE); - }); - }, - - _setComboValueChangedEvent: function (w) { - var self = this, c = this.constants; - w.on(BI.IconCombo.EVENT_CHANGE, function () { - switch (self._checkValidation()) { - case c.typeError: - self._setTitle(BI.i18nText("BI-Numerical_Interval_Input_Data")); - self.fireEvent(BI.NumberInterval.EVENT_ERROR); - break; - case c.numberError: - self._setTitle(BI.i18nText("BI-Numerical_Interval_Number_Value")); - self.fireEvent(BI.NumberInterval.EVENT_ERROR); - break; - case c.signalError: - self._setTitle(BI.i18nText("BI-Numerical_Interval_Signal_Value")); - self.fireEvent(BI.NumberInterval.EVENT_ERROR); - break; - default : - self.fireEvent(BI.NumberInterval.EVENT_CHANGE); - self.fireEvent(BI.NumberInterval.EVENT_VALID); - } - }) - }, - - isStateValid: function () { - return this.options.validation === "valid"; - }, - - setMinEnable: function (b) { - this.smallEditor.setEnable(b); - }, - - setCloseMinEnable: function (b) { - this.smallCombo.setEnable(b); - }, - - setMaxEnable: function (b) { - this.bigEditor.setEnable(b); - }, - - setCloseMaxEnable: function (b) { - this.bigCombo.setEnable(b); - }, - - showNumTip: function () { - this.smallTip.setVisible(true); - this.bigTip.setVisible(true); - }, - - hideNumTip: function () { - this.smallTip.setVisible(false); - this.bigTip.setVisible(false); - }, - - setNumTip: function(numTip) { - this.smallTip.setText(numTip); - this.bigTip.setText(numTip); - }, - - getNumTip: function() { - return this.smallTip.getText(); - }, - - setValue: function (data) { - data = data || {}; - var self = this, combo_value; - if (BI.isNumeric(data.min) || BI.isEmptyString(data.min)) { - self.smallEditor.setValue(data.min); - } - - if (!BI.isNotNull(data.min)) { - self.smallEditor.setValue(""); - } - - if (BI.isNumeric(data.max) || BI.isEmptyString(data.max)) { - self.bigEditor.setValue(data.max); - } - - if (!BI.isNotNull(data.max)) { - self.bigEditor.setValue(""); - } - - if (!BI.isNull(data.closemin)) { - if (data.closemin === true) { - combo_value = 1 - } else { - combo_value = 0 - } - self.smallCombo.setValue(combo_value); - } - - if (!BI.isNull(data.closemax)) { - if (data.closemax === true) { - combo_value = 1 - } else { - combo_value = 0 - } - self.bigCombo.setValue(combo_value); - } - }, - - - getValue: function () { - var self = this, value = {}, minComboValue = self.smallCombo.getValue(), maxComboValue = self.bigCombo.getValue(); - value.min = self.smallEditor.getValue(); - value.max = self.bigEditor.getValue(); - if (minComboValue[0] === 0) { - value.closemin = false - } else { - value.closemin = true - } - - if (maxComboValue[0] === 0) { - value.closemax = false - } else { - value.closemax = true - } - return value; - } -}); -BI.NumberInterval.EVENT_CHANGE = "EVENT_CHANGE"; -BI.NumberInterval.EVENT_VALID = "EVENT_VALID"; -BI.NumberInterval.EVENT_ERROR = "EVENT_ERROR"; -BI.shortcut("bi.number_interval", BI.NumberInterval);/** - * - * 表格 - * - * Created by GUY on 2015/9/22. - * @class BI.PageTableCell - * @extends BI.Single - */ -BI.PageTableCell = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.PageTableCell.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-page-table-cell", - text: "", - title: "" - }) - }, - - _init: function () { - BI.PageTableCell.superclass._init.apply(this, arguments); - var label = BI.createWidget({ - type: "bi.label", - element: this, - textAlign: "left", - whiteSpace: "nowrap", - height: this.options.height, - text: this.options.text, - title: this.options.title, - value: this.options.value, - lgap: 5, - rgap: 5 - }); - - if (BI.isNotNull(this.options.styles) && BI.isObject(this.options.styles)) { - this.element.css(this.options.styles); - } - } -}); - -BI.shortcut("bi.page_table_cell", BI.PageTableCell);/** - * 分页表格 - * - * Created by GUY on 2016/2/15. - * @class BI.PageTable - * @extends BI.Widget - */ -BI.PageTable = BI.inherit(BI.Widget, { - - _const: { - scrollWidth: 18, - minScrollWidth: 100 - }, - - _defaultConfig: function () { - return BI.extend(BI.PageTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-page-table", - el: { - type: "bi.sequence_table" - }, - pager: { - horizontal: { - pages: false, //总页数 - curr: 1, //初始化当前页, pages为数字时可用 - - hasPrev: BI.emptyFn, - hasNext: BI.emptyFn, - firstPage: 1, - lastPage: BI.emptyFn - }, - vertical: { - pages: false, //总页数 - curr: 1, //初始化当前页, pages为数字时可用 - - hasPrev: BI.emptyFn, - hasNext: BI.emptyFn, - firstPage: 1, - lastPage: BI.emptyFn - } - }, - - itemsCreator: BI.emptyFn, - - isNeedFreeze: false,//是否需要冻结单元格 - freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为true时生效 - - isNeedMerge: false,//是否需要合并单元格 - mergeCols: [], //合并的单元格列号 - mergeRule: BI.emptyFn, - - columnSize: [], - minColumnSize: [], - maxColumnSize: [], - headerRowSize: 25, - rowSize: 25, - - regionColumnSize: [], - - headerCellStyleGetter: BI.emptyFn, - summaryCellStyleGetter: BI.emptyFn, - sequenceCellStyleGetter: BI.emptyFn, - - header: [], - items: [], //二维数组 - - //交叉表头 - crossHeader: [], - crossItems: [] - }); - }, - - _init: function () { - BI.PageTable.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.hCurr = 1; - this.vCurr = 1; - - this.table = BI.createWidget(o.el, { - type: "bi.sequence_table", - width: o.width, - height: o.height && o.height - 30, - - isNeedResize: true, - isResizeAdapt: false, - - isNeedFreeze: o.isNeedFreeze, - freezeCols: o.freezeCols, - - isNeedMerge: o.isNeedMerge, - mergeCols: o.mergeCols, - mergeRule: o.mergeRule, - - columnSize: o.columnSize, - minColumnSize: o.minColumnSize, - maxColumnSize: o.maxColumnSize, - headerRowSize: o.headerRowSize, - rowSize: o.rowSize, - - regionColumnSize: o.regionColumnSize, - - headerCellStyleGetter: o.headerCellStyleGetter, - summaryCellStyleGetter: o.summaryCellStyleGetter, - sequenceCellStyleGetter: o.sequenceCellStyleGetter, - - header: o.header, - items: o.items, - //交叉表头 - crossHeader: o.crossHeader, - crossItems: o.crossItems - }); - - this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () { - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - o.columnSize = this.getColumnSize(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - o.columnSize = this.getColumnSize(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments); - }); - - this.pager = BI.createWidget(o.pager, { - type: "bi.direction_pager", - height: 30 - }); - this.pager.on(BI.Pager.EVENT_CHANGE, function () { - var vpage = this.getVPage && this.getVPage(); - if (BI.isNull(vpage)) { - vpage = this.getCurrentPage(); - } - var hpage = this.getHPage && this.getHPage(); - o.itemsCreator({ - vpage: vpage, - hpage: hpage - }, function (items, header, crossItems, crossHeader) { - self.table.setVPage ? self.table.setVPage(vpage) : self.table.setValue(vpage); - self.table.setHPage && self.table.setHPage(hpage); - self.populate.apply(self, arguments); - }); - }); - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.table, - left: 0, - top: 0 - }, { - el: this.pager, - left: 0, - right: 0, - bottom: 0 - }] - }) - }, - - setHPage: function (v) { - this.hCurr = v; - this.pager.setHPage && this.pager.setHPage(v); - this.table.setHPage && this.table.setHPage(v); - }, - - setVPage: function (v) { - this.vCurr = v; - this.pager.setVPage && this.pager.setVPage(v); - this.table.setVPage && this.table.setVPage(v); - }, - - getHPage: function () { - var hpage = this.pager.getHPage && this.pager.getHPage(); - if (BI.isNotNull(hpage)) { - return hpage; - } - hpage = this.pager.getCurrentPage && this.pager.getCurrentPage(); - if (BI.isNotNull(hpage)) { - return hpage; - } - return this.hpage; - }, - - getVPage: function () { - var vpage = this.pager.getVPage && this.pager.getVPage(); - if (BI.isNotNull(vpage)) { - return vpage; - } - vpage = this.pager.getCurrentPage && this.pager.getCurrentPage(); - if (BI.isNotNull(vpage)) { - return vpage; - } - return this.vpage; - }, - - setWidth: function (width) { - BI.PageTable.superclass.setWidth.apply(this, arguments); - this.table.setWidth(width); - }, - - setHeight: function (height) { - BI.PageTable.superclass.setHeight.apply(this, arguments); - var showPager = false; - if (this.pager.alwaysShowPager) { - showPager = true; - } else if (this.pager.hasHNext && this.pager.hasHNext()) { - showPager = true; - } else if (this.pager.hasHPrev && this.pager.hasHPrev()) { - showPager = true; - } else if (this.pager.hasVNext && this.pager.hasVNext()) { - showPager = true; - } else if (this.pager.hasVPrev && this.pager.hasVPrev()) { - showPager = true; - } else if (this.pager.hasNext && this.pager.hasNext()) { - showPager = true; - } else if (this.pager.hasPrev && this.pager.hasPrev()) { - showPager = true; - } - this.table.setHeight(height - (showPager ? 30 : 0)); - }, - - setColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - this.table.setColumnSize(columnSize); - }, - - getColumnSize: function () { - return this.table.getColumnSize(); - }, - - setRegionColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - this.table.setRegionColumnSize(columnSize); - }, - - getRegionColumnSize: function () { - return this.table.getRegionColumnSize(); - }, - - getVerticalScroll: function () { - return this.table.getVerticalScroll(); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - this.table.setLeftHorizontalScroll(scrollLeft); - }, - - setRightHorizontalScroll: function (scrollLeft) { - this.table.setRightHorizontalScroll(scrollLeft); - }, - - setVerticalScroll: function (scrollTop) { - this.table.setVerticalScroll(scrollTop); - }, - - restore: function () { - this.table.restore(); - }, - - attr: function () { - BI.PageTable.superclass.attr.apply(this, arguments); - this.table.attr.apply(this.table, arguments); - }, - - populate: function () { - this.pager.populate(); - this.table.populate.apply(this.table, arguments); - }, - - destroy: function () { - this.table.destroy(); - this.pager && this.pager.destroy(); - BI.PageTable.superclass.destroy.apply(this, arguments); - } -}); -BI.shortcut('bi.page_table', BI.PageTable);/** - * 路径选择 - * - * Created by GUY on 2015/12/4. - * @class BI.PathChooser - * @extends BI.Widget - */ -BI.PathChooser = BI.inherit(BI.Widget, { - - _const: { - lineColor: "#d4dadd", - selectLineColor: "#3f8ce8" - }, - - _defaultConfig: function () { - return BI.extend(BI.PathChooser.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-path-chooser", - items: [] - }) - }, - - _init: function () { - BI.PathChooser.superclass._init.apply(this, arguments); - this.populate(this.options.items); - }, - - _createRegions: function (regions) { - var self = this; - this.regions = BI.createWidgets(BI.map(regions, function (i, region) { - return { - type: "bi.path_region", - title: self.texts[region] || region - } - })); - this.regionMap = {}; - BI.each(regions, function (i, region) { - self.regionMap[region] = i; - }); - this.container = BI.createWidget({ - type: "bi.horizontal", - verticalAlign: "top", - scrollx: false, - scrolly: false, - hgap: 10, - items: this.regions - }); - BI.createWidget({ - type: "bi.vertical_adapt", - element: this, - scrollable: true, - hgap: 10, - items: [this.container] - }); - }, - - getRegionIndexById: function (id) { - var node = this.cache[id]; - var regionType = node.get("region"); - return this.regionMap[regionType]; - }, - - _drawPath: function (start, offset, index) { - var self = this; - var starts = []; - if (BI.contains(this.start, start)) { - starts = this.start; - } else { - starts = [start]; - } - - BI.each(starts, function (i, s) { - BI.each(self.radios[s], function (i, rad) { - rad.setSelected(false); - }); - BI.each(self.lines[s], function (i, line) { - line.attr("stroke", self._const.lineColor); - }); - BI.each(self.regionIndexes[s], function (i, idx) { - self.regions[idx].reset(); - }); - }); - - BI.each(this.routes[start][index], function (i, id) { - var regionIndex = self.getRegionIndexById(id); - self.regions[regionIndex].setSelect(offset + index, id); - }); - var current = BI.last(this.routes[start][index]); - - while (current && this.routes[current] && this.routes[current].length === 1) { - BI.each(this.routes[current][0], function (i, id) { - var regionIndex = self.getRegionIndexById(id); - self.regions[regionIndex].setSelect(0, id); - }); - this.lines[current][0].attr("stroke", self._const.selectLineColor).toFront(); - current = BI.last(this.routes[current][0]); - } - this.lines[start][index].attr("stroke", self._const.selectLineColor).toFront(); - this.radios[start] && this.radios[start][index] && this.radios[start][index].setSelected(true); - }, - - _drawRadio: function (start, offset, index, x, y) { - var self = this; - var radio = BI.createWidget({ - type: "bi.radio", - cls: "path-chooser-radio", - selected: offset + index === 0, - start: start, - index: index - }); - radio.on(BI.Radio.EVENT_CHANGE, function () { - self._drawPath(start, offset, index); - self.fireEvent(BI.PathChooser.EVENT_CHANGE, start, index); - }); - if (!this.radios[start]) { - this.radios[start] = []; - } - this.radios[start].push(radio); - BI.createWidget({ - type: "bi.absolute", - element: this.container, - items: [{ - el: radio, - left: x - 6.5, - top: y - 6.5 - }] - }) - }, - - _drawLine: function (start, lines) { - var self = this; - if (!this.lines[start]) { - this.lines[start] = []; - } - if (!this.pathes[start]) { - this.pathes[start] = []; - } - var startRegionIndex = this.getRegionIndexById(start); - //start所在的位置,然后接着往下画其他的路径 - var offset = this.regions[startRegionIndex].getIndexByValue(start); - BI.each(lines, function (i, line) { - self.pathes[start][i] = []; - var idx = i + offset; - var path = ""; - var stop = 47.5 + 29 * idx; - var sleft = 50 + 100 * startRegionIndex; - var radioStartX = sleft, radioStartY = stop; - var etop = stop; - var endRegionIndex = self.getRegionIndexById(BI.last(line)); - var endOffset = self.regions[endRegionIndex].getIndexByValue(BI.last(line)); - var eleft = 50 + 100 * endRegionIndex; - if (BI.contains(self.start, start)) { - radioStartX = sleft - 50; - path += "M" + (sleft - 50) + "," + stop; - self.pathes[start][i].push({ - x: sleft - 50, - y: stop - }) - } else if (idx === 0) { - radioStartX = sleft + 50; - path += "M" + sleft + "," + stop; - self.pathes[start][i].push({ - x: sleft, - y: stop - }) - } else { - radioStartX = sleft + 50; - path += "M" + sleft + "," + 47.5 + "L" + (sleft + 50) + "," + 47.5 + "L" + (sleft + 50) + "," + stop; - self.pathes[start][i].push({ - x: sleft, - y: 47.5 - }); - self.pathes[start][i].push({ - x: sleft + 50, - y: 47.5 - }); - self.pathes[start][i].push({ - x: sleft + 50, - y: stop - }); - } - if (idx > 0) { - var endY = endOffset * 29 + 47.5; - path += "L" + (eleft - 50) + "," + etop + "L" + (eleft - 50) + "," + endY + "L" + eleft + "," + endY; - self.pathes[start][i].push({ - x: eleft - 50, - y: etop - }); - self.pathes[start][i].push({ - x: eleft - 50, - y: endY - }); - self.pathes[start][i].push({ - x: eleft, - y: endY - }); - } else { - path += "L" + eleft + "," + etop; - self.pathes[start][i].push({ - x: eleft, - y: etop - }); - } - - var graph = self.svg.path(path) - .attr({ - stroke: idx === 0 ? self._const.selectLineColor : self._const.lineColor, - 'stroke-dasharray': '-' - }); - self.lines[start].push(graph); - if (lines.length > 1) { - self.lines[start][0].toFront(); - } - //第一个元素无论有多少个都要显示radio - if (BI.contains(self.start, start)) { - self.lines[self.regions[0].getValueByIndex(0)][0].toFront(); - } - if (lines.length > 1 || BI.contains(self.start, start)) { - self._drawRadio(start, offset, i, radioStartX, radioStartY); - } - }); - }, - - _drawLines: function (routes) { - var self = this; - this.lines = {}; - this.pathes = {}; - this.radios = {}; - this.regionIndexes = {}; - BI.each(routes, function (k, route) { - if (!self.regionIndexes[k]) { - self.regionIndexes[k] = []; - } - BI.each(route, function (i, rs) { - BI.each(rs, function (j, id) { - var regionIndex = self.getRegionIndexById(id); - if (!BI.contains(self.regionIndexes[k], regionIndex)) { - self.regionIndexes[k].push(regionIndex); - } - }); - }) - }); - BI.each(routes, function (k, route) { - self._drawLine(k, route); - }); - }, - - _pushNodes: function (nodes) { - var self = this; - var indexes = []; - for (var i = 0; i < nodes.length; i++) { - var id = nodes[i]; - var index = self.getRegionIndexById(id); - indexes.push(index); - var region = self.regions[index]; - if (i === nodes.length - 1) { - if (!region.hasItem(id)) { - region.addItem(id, self.texts[id]); - } - break; - } - if (i > 0 || BI.contains(self.start, id)) { - region.addItem(id, self.texts[id]); - } - } - for (var i = BI.first(indexes); i < BI.last(indexes); i++) { - if (!BI.contains(indexes, i)) { - self.regions[i].addItem(""); - } - } - }, - - _createNodes: function () { - var self = this, o = this.options; - this.cache = {}; - this.texts = {}; - this.start = []; - this.end = []; - BI.each(o.items, function (i, item) { - self.start.push(BI.first(item).value); - self.end.push(BI.last(item).value); - }); - this.start = BI.uniq(this.start); - this.end = BI.uniq(this.end); - var regions = []; - var tree = new BI.Tree(); - var branches = {}, max = 0; - BI.each(o.items, function (i, items) { - BI.each(items, function (j, item) { - if (!BI.has(branches, item.value)) { - branches[item.value] = 0; - } - branches[item.value]++; - max = Math.max(max, branches[item.value]); - var prev = {}; - if (j > 0) { - prev = items[j - 1]; - } - var parent = self.cache[prev.value || ""]; - var node = self.cache[item.value] || new BI.Node(item.value); - node.set(item); - self.cache[item.value] = node; - self.texts[item.value] = item.text; - self.texts[item.region] = item.regionText; - parent = BI.isNull(parent) ? tree.getRoot() : parent; - if (parent.getChildIndex(item.value) === -1) { - tree.addNode(parent, node); - } - }) - }); - - //算出区域列表 - tree.traverse(function (node) { - BI.each(node.getChildren(), function (i, child) { - if (BI.contains(regions, child.get("region"))) { - var index1 = BI.indexOf(regions, node.get("region")); - var index2 = BI.indexOf(regions, child.get("region")); - //交换区域 - if (index1 > index2) { - var t = regions[index2]; - for (var j = index2; j < index1; j++) { - regions[j] = regions[j + 1]; - } - regions[index1] = t; - } - } else { - regions.push(child.get("region")); - } - }); - }); - this._createRegions(regions); - - //算出节点 - BI.each(branches, function (k, branch) { - if (branch < max) { - delete branches[k]; - } - }); - - //过滤节点 - var nodes = []; - var n = tree.getRoot(); - while (n && n.getChildrenLength() === 1) { - if (BI.has(branches, n.getChildren()[0].id)) { - delete branches[n.getChildren()[0].id]; - n = n.getChildren()[0]; - } else { - n = null; - } - } - tree.traverse(function (node) { - if (BI.has(branches, node.id)) { - nodes.push(node.id); - delete branches[node.id]; - } - }); - - //填充节点 - var routes = {}; - var s, e; - for (var i = 0, len = nodes.length; i < len + 1; i++) { - if (len === 0) { - s = []; - BI.each(this.start, function (i, id) { - s.push(tree.search(id)); - }); - e = []; - BI.each(this.end, function (i, id) { - e.push(tree.search(id)); - }); - } else if (i === len) { - s = e; - e = []; - BI.each(this.end, function (i, id) { - e.push(tree.search(id)); - }); - } else if (i === 0) { - s = []; - BI.each(this.start, function (i, id) { - s.push(tree.search(id)); - }); - e = [tree.search(nodes[i])]; - } else { - s = [tree.search(e[0] || tree.getRoot(), nodes[i - 1])]; - e = [tree.search(s[0], nodes[i])]; - } - BI.each(s, function (i, n) { - tree._recursion(n, [n.id], function (node, route) { - if (BI.contains(e, node)) { - if (!routes[n.id]) { - routes[n.id] = []; - } - routes[n.id].push(route); - self._pushNodes(route); - if (e.length <= 1) { - return true; - } - } - }) - }); - } - this.routes = routes; - this._drawLines(routes); - }, - - _unselectAllPath: function () { - var self = this; - BI.each(this.radios, function (idx, rad) { - BI.each(rad, function (i, r) { - r.setSelected(false); - }); - }); - BI.each(this.lines, function (idx, line) { - BI.each(line, function (i, li) { - li.attr("stroke", self._const.lineColor); - }); - }); - BI.each(this.regions, function (idx, region) { - region.reset(); - }); - }, - - populate: function (items) { - this.options.items = items || []; - var self = this; - this.empty(); - if (this.options.items.length <= 0) { - return; - } - this.svg = BI.createWidget({ - type: "bi.svg" - }); - this._createNodes(); - BI.createWidget({ - type: "bi.absolute", - element: this.container, - items: [{ - el: this.svg, - top: 0, - left: 0, - right: 0, - bottom: 0 - }] - }); - }, - - setValue: function (v) { - this._unselectAllPath(); - var nodes = BI.keys(this.routes), self = this; - var result = [], array = []; - BI.each(v, function (i, val) { - if (BI.contains(nodes, val)) { - if (array.length > 0) { - array.push(val); - result.push(array); - array = []; - } - } - array.push(val); - }); - if (array.length > 0) { - result.push(array); - } - //画这n条路径 - BI.each(result, function (idx, path) { - var start = path[0]; - var index = BI.findIndex(self.routes[start], function (idx, p) { - if (BI.isEqual(path, p)) { - return true; - } - }); - if (index >= 0) { - var startRegionIndex = self.getRegionIndexById(start); - var offset = self.regions[startRegionIndex].getIndexByValue(start); - self._drawPath(start, offset, index); - } - }); - }, - - getValue: function () { - var path = []; - BI.each(this.regions, function (i, region) { - var val = region.getValue(); - if (BI.isKey(val)) { - path.push(val); - } - }); - return path; - } -}); -BI.PathChooser.EVENT_CHANGE = "PathChooser.EVENT_CHANGE"; -BI.shortcut("bi.path_chooser", BI.PathChooser);/** - * 路径选择区域 - * - * Created by GUY on 2015/12/4. - * @class BI.PathRegion - * @extends BI.Widget - */ -BI.PathRegion = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.PathRegion.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-path-region bi-background", - width: 80, - title: "" - }) - }, - - _init: function () { - BI.PathRegion.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.zIndex = 100; - var title = BI.createWidget({ - type: "bi.label", - text: o.title, - title: o.title, - height: 30 - }); - title.element.css("zIndex", this.zIndex--); - this.items = []; - this.vertical = BI.createWidget({ - type: "bi.vertical", - element: this, - bgap: 5, - hgap: 10, - items: [title] - }) - }, - - hasItem: function (val) { - return BI.any(this.items, function (i, item) { - return val === item.getValue(); - }); - }, - - addItem: function (value, text) { - if (BI.isKey(value)) { - var label = BI.createWidget({ - type: "bi.label", - cls: "path-region-label bi-card bi-border bi-list-item-select", - text: text, - value: value, - title: text || value, - height: 24 - }); - } else { - var label = BI.createWidget({ - type: "bi.layout", - height: 24 - }); - } - label.element.css("zIndex", this.zIndex--); - this.items.push(label); - this.vertical.addItem(label); - if (this.items.length === 1) { - this.setSelect(0, value); - } - }, - - reset: function () { - BI.each(this.items, function (i, item) { - item.element.removeClass("active"); - }); - }, - - setSelect: function (index, value) { - this.reset(); - if (this.items.length <= 0) { - return; - } - if (this.items.length === 1) { - this.items[0].element.addClass("active"); - return; - } - if (this.items[index].attr("value") === value) { - this.items[index].element.addClass("active"); - } - }, - - setValue: function (value) { - this.setSelect(this.getIndexByValue(value), value); - }, - - getValueByIndex: function (idx) { - return this.items[idx].attr("value"); - }, - - getIndexByValue: function (value) { - return BI.findIndex(this.items, function (i, item) { - return item.attr("value") === value; - }); - }, - - getValue: function () { - var res; - BI.any(this.items, function (i, item) { - if (item.element.hasClass("active")) { - res = item.getValue(); - return true; - } - }); - return res; - } -}); -BI.PathRegion.EVENT_CHANGE = "PathRegion.EVENT_CHANGE"; -BI.shortcut("bi.path_region", BI.PathRegion);/** - * 预览表列 - * - * Created by GUY on 2015/12/25. - * @class BI.PreviewTableCell - * @extends BI.Widget - */ -BI.PreviewTableCell = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.PreviewTableCell.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-preview-table-cell", - text: "" - }); - }, - - _init: function () { - BI.PreviewTableCell.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - BI.createWidget({ - type: "bi.label", - element: this, - textAlign: "left", - whiteSpace: "normal", - height: this.options.height, - text: this.options.text, - value: this.options.value - }) - } -}); -BI.shortcut('bi.preview_table_cell', BI.PreviewTableCell);/** - * 预览表 - * - * Created by GUY on 2015/12/25. - * @class BI.PreviewTableHeaderCell - * @extends BI.Widget - */ -BI.PreviewTableHeaderCell = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.PreviewTableHeaderCell.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-preview-table-header-cell", - text: "" - }); - }, - - _init: function () { - BI.PreviewTableHeaderCell.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - BI.createWidget({ - type: "bi.label", - element: this, - textAlign: "left", - whiteSpace: "normal", - height: this.options.height, - text: this.options.text, - value: this.options.value - }) - } -}); -BI.shortcut('bi.preview_table_header_cell', BI.PreviewTableHeaderCell);/** - * 预览表 - * - * Created by GUY on 2015/12/25. - * @class BI.PreviewTable - * @extends BI.Widget - */ -BI.PreviewTable = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.PreviewTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-preview-table", - isNeedFreeze: false, - freezeCols: [], - rowSize: null, - columnSize: [], - headerRowSize: 30, - header: [], - items: [] - }); - }, - - _init: function () { - BI.PreviewTable.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.table = BI.createWidget({ - type: "bi.table_view", - element: this, - isNeedResize: false, - - isResizeAdapt: false, - - isNeedFreeze: o.isNeedFreeze, - freezeCols: o.freezeCols, - - rowSize: o.rowSize, - columnSize: o.columnSize, - headerRowSize: o.headerRowSize, - - header: BI.map(o.header, function (i, items) { - return BI.map(items, function (j, item) { - return BI.extend({ - type: "bi.preview_table_header_cell" - }, item); - }); - }), - items: BI.map(o.items, function (i, items) { - return BI.map(items, function (j, item) { - return BI.extend({ - type: "bi.preview_table_cell" - }, item); - }); - }) - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_INIT, function () { - self._adjustColumns(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_INIT, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_RESIZE, function () { - self._adjustColumns(); - }); - }, - - //是否有自适应调节的列,即列宽为"" - _hasAdaptCol: function (columnSize) { - return BI.any(columnSize, function (i, size) { - return size === ""; - }) - }, - - _isPercentage: function (columnSize) { - return columnSize[0] <= 1; - }, - - _adjustColumns: function () { - var self = this, o = this.options; - if (o.isNeedFreeze === true) { - //如果存在百分比的情况 - if (this._isPercentage(o.columnSize)) { - if (this._hasAdaptCol(o.columnSize)) { - var findCols = [], remain = 0; - BI.each(o.columnSize, function (i, size) { - if (size === "") { - findCols.push(i); - } else { - remain += size; - } - }); - remain = 1 - remain; - var average = remain / findCols.length; - BI.each(findCols, function (i, col) { - o.columnSize[col] = average; - }); - } - var isRight = BI.first(o.freezeCols) !== 0; - var freezeSize = [], notFreezeSize = []; - BI.each(o.columnSize, function (i, size) { - if (o.freezeCols.contains(i)) { - freezeSize.push(size); - } else { - notFreezeSize.push(size); - } - }); - var sumFreezeSize = BI.sum(freezeSize), sumNotFreezeSize = BI.sum(notFreezeSize); - BI.each(freezeSize, function (i, size) { - freezeSize[i] = size / sumFreezeSize; - }); - BI.each(notFreezeSize, function (i, size) { - notFreezeSize[i] = size / sumNotFreezeSize; - }); - this.table.setRegionColumnSize(isRight ? ["fill", sumFreezeSize] : [sumFreezeSize, "fill"]); - this.table.setColumnSize(isRight ? (notFreezeSize.concat(freezeSize)) : (freezeSize.concat(notFreezeSize))); - } - } else { - //如果存在自适应宽度的列或者是百分比计算的列,需要将整个表宽设为100% - if (this._hasAdaptCol(o.columnSize) || this._isPercentage(o.columnSize)) { - this.table.setRegionColumnSize(["100%"]); - } - } - }, - - setColumnSize: function (columnSize) { - return this.table.setColumnSize(columnSize); - }, - - getColumnSize: function () { - return this.table.getColumnSize(); - }, - - getCalculateColumnSize: function () { - return this.table.getCalculateColumnSize(); - }, - - setHeaderColumnSize: function (columnSize) { - return this.table.setHeaderColumnSize(columnSize); - }, - - setRegionColumnSize: function (columnSize) { - return this.table.setRegionColumnSize(columnSize); - }, - - getRegionColumnSize: function () { - return this.table.getRegionColumnSize(); - }, - - getCalculateRegionColumnSize: function () { - return this.table.getCalculateRegionColumnSize(); - }, - - getCalculateRegionRowSize: function () { - return this.table.getCalculateRegionRowSize(); - }, - - getClientRegionColumnSize: function () { - return this.table.getClientRegionColumnSize(); - }, - - getScrollRegionColumnSize: function () { - return this.table.getScrollRegionColumnSize() - }, - - getScrollRegionRowSize: function () { - return this.table.getScrollRegionRowSize() - }, - - hasVerticalScroll: function () { - return this.table.hasVerticalScroll(); - }, - - setVerticalScroll: function (scrollTop) { - return this.table.setVerticalScroll(scrollTop); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - return this.table.setLeftHorizontalScroll(scrollLeft) - }, - - setRightHorizontalScroll: function (scrollLeft) { - return this.table.setRightHorizontalScroll(scrollLeft); - }, - - getVerticalScroll: function () { - return this.table.getVerticalScroll(); - }, - - getLeftHorizontalScroll: function () { - return this.table.getLeftHorizontalScroll(); - }, - - getRightHorizontalScroll: function () { - return this.table.getRightHorizontalScroll(); - }, - - getColumns: function () { - return this.table.getColumns(); - }, - - populate: function (items, header) { - this.table.populate(items, header); - } -}); -BI.PreviewTable.EVENT_CHANGE = "PreviewTable.EVENT_CHANGE"; -BI.shortcut('bi.preview_table', BI.PreviewTable);/** - * 季度下拉框 - * - * Created by GUY on 2015/8/28. - * @class BI.QuarterCombo - * @extends BI.Widget - */ -BI.QuarterCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.QuarterCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-quarter-combo", - behaviors: {}, - height: 25 - }); - }, - _init: function () { - BI.QuarterCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.storeValue = ""; - this.trigger = BI.createWidget({ - type: "bi.quarter_trigger" - }); - - this.trigger.on(BI.QuarterTrigger.EVENT_FOCUS, function () { - self.storeValue = this.getKey(); - }); - this.trigger.on(BI.QuarterTrigger.EVENT_START, function () { - self.combo.isViewVisible() && self.combo.hideView(); - }); - this.trigger.on(BI.QuarterTrigger.EVENT_STOP, function () { - if (!self.combo.isViewVisible()) { - self.combo.showView(); - } - }); - this.trigger.on(BI.QuarterTrigger.EVENT_CONFIRM, function () { - if (self.combo.isViewVisible()) { - return; - } - if (this.getKey() && this.getKey() !== self.storeValue) { - self.setValue(this.getKey()); - } else if (!this.getKey()) { - self.setValue(); - } - self.fireEvent(BI.QuarterCombo.EVENT_CONFIRM); - }); - this.popup = BI.createWidget({ - type: "bi.quarter_popup", - behaviors: o.behaviors - }); - - this.popup.on(BI.QuarterPopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.QuarterCombo.EVENT_CONFIRM); - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - popup: { - minWidth: 85, - el: this.popup - } - }); - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.QuarterCombo.EVENT_BEFORE_POPUPVIEW); - }); - }, - - setValue: function (v) { - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function () { - return this.popup.getValue() || ""; - } -}); - -BI.QuarterCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.QuarterCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.shortcut('bi.quarter_combo', BI.QuarterCombo);/** - * 季度展示面板 - * - * Created by GUY on 2015/9/2. - * @class BI.QuarterPopup - * @extends BI.Trigger - */ -BI.QuarterPopup = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.QuarterPopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-quarter-popup", - behaviors: {} - }); - }, - - _init: function () { - BI.QuarterPopup.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - var items = [{ - text: Date._QN[01], - value: 1 - }, { - text: Date._QN[2], - value: 2 - }, { - text: Date._QN[3], - value: 3 - }, { - text: Date._QN[4], - value: 4 - }]; - items = BI.map(items, function (j, item) { - return BI.extend(item, { - type: "bi.text_item", - cls: "bi-list-item-active", - textAlign: "left", - whiteSpace: "nowrap", - once: false, - forceSelected: true, - height: 25 - }); - }); - - this.quarter = BI.createWidget({ - type: "bi.button_group", - element: this, - behaviors: o.behaviors, - items: BI.createItems(items, {}), - layouts: [{ - type: "bi.vertical" - }] - }); - - this.quarter.on(BI.Controller.EVENT_CHANGE, function (type) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.MonthPopup.EVENT_CHANGE); - } - }) - }, - - getValue: function () { - return this.quarter.getValue()[0]; - }, - - setValue: function (v) { - this.quarter.setValue([v]); - } -}); -BI.QuarterPopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.quarter_popup", BI.QuarterPopup);/** - * 季度trigger - * - * Created by GUY on 2015/8/21. - * @class BI.QuarterTrigger - * @extends BI.Trigger - */ -BI.QuarterTrigger = BI.inherit(BI.Trigger, { - _const: { - hgap: 4, - vgap: 2, - textWidth: 40, - errorText: BI.i18nText("BI-Quarter_Trigger_Error_Text") - }, - - _defaultConfig: function () { - return BI.extend(BI.QuarterTrigger.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-quarter-trigger bi-border", - height: 24 - }); - }, - _init: function () { - BI.QuarterTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.editor = BI.createWidget({ - type: "bi.sign_editor", - height: o.height, - validationChecker: function (v) { - return v === "" || (BI.isPositiveInteger(v) && v >= 1 && v <= 4); - }, - quitChecker: function (v) { - return false; - }, - hgap: c.hgap, - vgap: c.vgap, - allowBlank: true, - errorText: c.errorText - }); - this.editor.on(BI.SignEditor.EVENT_FOCUS, function () { - self.fireEvent(BI.QuarterTrigger.EVENT_FOCUS); - }); - this.editor.on(BI.SignEditor.EVENT_CHANGE, function () { - self.fireEvent(BI.QuarterTrigger.EVENT_CHANGE); - }); - this.editor.on(BI.SignEditor.EVENT_CONFIRM, function () { - var value = self.editor.getValue(); - if (BI.isNotNull(value)) { - self.editor.setValue(value); - self.editor.setTitle(value); - } - self.fireEvent(BI.QuarterTrigger.EVENT_CONFIRM); - }); - this.editor.on(BI.SignEditor.EVENT_SPACE, function () { - if (self.editor.isValid()) { - self.editor.blur(); - } - }); - this.editor.on(BI.SignEditor.EVENT_START, function () { - self.fireEvent(BI.QuarterTrigger.EVENT_START); - }); - this.editor.on(BI.SignEditor.EVENT_STOP, function () { - self.fireEvent(BI.QuarterTrigger.EVENT_STOP); - }); - - BI.createWidget({ - element: this, - type: 'bi.htape', - items: [ - { - el: this.editor - }, { - el: { - type: "bi.text_button", - baseCls: "bi-trigger-quarter-text", - text: BI.i18nText("BI-Multi_Date_Quarter"), - width: c.textWidth - }, - width: c.textWidth - }, { - el: { - type: "bi.trigger_icon_button", - width: o.height - }, - width: o.height - } - ] - }); - }, - - setValue: function (v) { - v = v || ""; - this.editor.setState(v); - this.editor.setValue(v); - this.editor.setTitle(v); - }, - - getKey: function () { - return this.editor.getValue(); - } -}); -BI.QuarterTrigger.EVENT_FOCUS = "EVENT_FOCUS"; -BI.QuarterTrigger.EVENT_CHANGE = "EVENT_CHANGE"; -BI.QuarterTrigger.EVENT_START = "EVENT_START"; -BI.QuarterTrigger.EVENT_STOP = "EVENT_STOP"; -BI.QuarterTrigger.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.shortcut("bi.quarter_trigger", BI.QuarterTrigger);/** - * 关联视图字段Item - * - * Created by GUY on 2015/12/23. - * @class BI.RelationViewItem - * @extends BI.Widget - */ -BI.RelationViewItem = BI.inherit(BI.BasicButton, { - - _defaultConfig: function () { - return BI.extend(BI.RelationViewItem.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-relation-view-item bi-list-item-active", - height: 25, - hoverIn: BI.emptyFn, - hoverOut: BI.emptyFn - }); - }, - - _init: function () { - BI.RelationViewItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.element.hover(o.hoverIn, o.hoverOut); - var items = []; - if (o.isPrimary) { - items.push({ - type: "bi.icon", - width: 16, - height: 16, - title: BI.i18nText("BI-Primary_Key") - }); - } - items.push({ - type: "bi.label", - text: o.text, - value: o.value, - height: o.height, - textAlign: "left", - width: o.isPrimary ? 70 : 90, - lgap: o.isPrimary ? 0 : 10 - }); - BI.createWidget({ - type: "bi.vertical_adapt", - element: this, - items: items, - cls: "primary-key-font", - lgap: 5 - }); - }, - - enableHover: function (opt) { - BI.RelationViewRegion.superclass.enableHover.apply(this, [{ - container: "body" - }]); - }, - - setSelected: function (b) { - this.element[b ? "addClass" : "removeClass"]("active"); - } -}); -BI.shortcut('bi.relation_view_item', BI.RelationViewItem);/** - * 关联视图 - * - * Created by GUY on 2015/12/22. - * @class BI.RelationView - * @extends BI.Widget - */ -BI.RelationView = BI.inherit(BI.Widget, { - - _const: { - lineColor: "#c4c6c6", - selectLineColor: "#009de3" - }, - - _defaultConfig: function () { - return BI.extend(BI.RelationView.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-relation-view", - items: [] - }); - }, - - _init: function () { - BI.RelationView.superclass._init.apply(this, arguments); - this.populate(this.options.items); - }, - - _calculateWidths: function () { - var widths = []; - BI.each(this.views, function (i, items) { - BI.each(items, function (j, obj) { - if (!widths[j]) { - widths[j] = BI.MIN; - } - widths[j] = Math.max(widths[j], obj.getWidth()); - }) - }); - return widths; - }, - - _calculateHeights: function () { - var heights = BI.makeArray(BI.size(this.views), BI.MIN); - BI.each(this.views, function (i, items) { - BI.each(items, function (j, obj) { - heights[i] = Math.max(heights[i], obj.getHeight()); - }) - }); - return heights; - }, - - _hoverIn: function (target) { - var self = this, c = this._const; - BI.each(this.relations, function (start, rs) { - BI.each(rs, function (end, relation) { - if (relation[0].primary.value === target || relation[0].foreign.value === target) { - self.lines[start][end].attr("stroke", c.selectLineColor).toFront(); - self.storeViews[start].setValue(relation[0].primary.value); - self.storeViews[end].setValue(relation[0].foreign.value); - } - }); - }); - }, - - _hoverOut: function (target) { - var self = this, c = this._const; - BI.each(this.relations, function (start, rs) { - BI.each(rs, function (end, relation) { - if (relation[0].primary.value === target || relation[0].foreign.value === target) { - self.lines[start][end].attr("stroke", c.lineColor); - self.storeViews[start].setValue([]); - self.storeViews[end].setValue([]); - } - }); - }); - }, - - previewRelationTables: function(relationTables, show) { - if (!show) { - BI.each(this.storeViews, function (i, view) { - view.toggleRegion(true); - view.setPreviewSelected(false); - }); - BI.each(this.lines, function (i, lines) { - BI.each(lines, function (j, line) { - line.show(); - }); - }); - return; - } - BI.each(this.storeViews, function (id, view) { - if (!relationTables.contains(id)) { - view.toggleRegion(false); - } else { - view.setPreviewSelected(true); - } - }); - BI.each(this.lines, function (id, lines) { - BI.each(lines, function (cId, line) { - if (!relationTables.contains(id) || !relationTables.contains(cId)) { - line.hide(); - } - }); - }); - }, - - populate: function (items) { - var self = this, o = this.options, c = this._const; - o.items = items || []; - this.empty(); - this.svg = BI.createWidget({ - type: "bi.svg" - }); - - //算出所有的区域和关联 - var regions = this.regions = {}, relations = this.relations = {}; - BI.each(items, function (i, item) { - var pr = item.primary.region, fr = item.foreign && item.foreign.region; - if (pr && !relations[pr]) { - relations[pr] = {}; - } - if (pr && fr && !relations[pr][fr]) { - relations[pr][fr] = []; - } - if (pr && !regions[pr]) { - regions[pr] = []; - } - if (fr && !regions[fr]) { - regions[fr] = []; - } - if (pr && !BI.deepContains(regions[pr], item.primary)) { - regions[pr].push(item.primary); - } - if (fr && !BI.deepContains(regions[fr], item.foreign)) { - regions[fr].push(item.foreign); - } - pr && fr && relations[pr][fr].push(item); - }); - //求拓扑 - var topology = []; - var rs = BI.clone(regions), store = {}; - while (!BI.isEmpty(rs)) { - var clone = BI.clone(rs); - BI.each(o.items, function (i, item) { - if (!store[item.primary.region]) { - delete clone[item.foreign && item.foreign.region]; - } - }); - topology.push(BI.keys(clone)); - BI.extend(store, clone); - BI.each(clone, function (k, v) { - delete rs[k]; - }); - } - //构建视图 - var views = this.views = {}, storeViews = this.storeViews = {}, indexes = this.indexes = {}; - var verticals = []; - BI.each(topology, function (i, items) { - if (!views[i]) { - views[i] = {}; - } - var horizontal = []; - BI.each(items, function (j, region) { - var items = regions[region]; - views[i][j] = storeViews[region] = BI.createWidget({ - type: "bi.relation_view_region_container", - value: region, - header: items[0].regionTitle, - text: items.length > 0 ? items[0].regionText : "", - handler: items.length > 0 ? items[0].regionHandler : BI.emptyFn, - items: items, - belongPackage: items.length > 0 ? items[0].belongPackage : true - }); - if (BI.isNotNull(items[0]) && BI.isNotNull(items[0].keyword)) { - views[i][j].doRedMark(items[0].keyword); - } - views[i][j].on(BI.RelationViewRegionContainer.EVENT_HOVER_IN, function (v) { - self._hoverIn(v); - }); - views[i][j].on(BI.RelationViewRegionContainer.EVENT_HOVER_OUT, function (v) { - self._hoverOut(v); - }); - views[i][j].on(BI.RelationViewRegionContainer.EVENT_PREVIEW, function (v) { - self.fireEvent(BI.RelationView.EVENT_PREVIEW, region, v); - }); - indexes[region] = {i: i, j: j}; - horizontal.push(views[i][j]); - }); - verticals.push({ - type: "bi.horizontal", - items: horizontal - }) - }); - - //求每一行的高度 - var heights = this._calculateHeights(); - - //求每一列的宽度 - var widths = this._calculateWidths(); - - //求相对宽度和高度 - var offsetWidths = [0], offsetHeights = [0]; - BI.each(heights, function (i, h) { - if (i === 0) { - return; - } - offsetHeights[i] = offsetHeights[i - 1] + heights[i - 1]; - }); - BI.each(widths, function (i, w) { - if (i === 0) { - return; - } - offsetWidths[i] = offsetWidths[i - 1] + widths[i - 1]; - }); - - //画线 - var lines = this.lines = {};//缓存所有的线 - BI.each(relations, function (start, rs) { - BI.each(rs, function (end, relation) { - var startIndex = indexes[start], endIndex = indexes[end]; - var top = 0, right = 1, bottom = 2, left = 3; - var startDirection = bottom, endDirection = top; - // if (startIndex.j > endIndex.j) { - // startDirection = left; - // endDirection = right; - // } else if (startIndex.j < endIndex.j) { - // startDirection = right; - // endDirection = left; - // } else if (startIndex.i < endIndex.i) { - // startDirection = bottom; - // endDirection = top; - // } else if (startIndex.i > endIndex.i) { - // startDirection = top; - // endDirection = bottom; - // } - var draw = function (i, j, direction, isForeign) { - var x = offsetWidths[j] + (widths[j] - views[i][j].getWidth()) / 2; - var y = offsetHeights[i] + (heights[i] - views[i][j].getHeight()) / 2; - var path = "", position; - switch (direction) { - case top: - position = isForeign ? views[i][j].getTopRightPosition() : views[i][j].getTopLeftPosition(); - x += position.x; - y += position.y; - path = "M" + x + "," + y + "L" + x + "," + (y - 10); - y -= 10; - break; - case right: - position = views[i][j].getRightPosition(); - x += position.x; - y += position.y; - path = "M" + x + "," + y + "L" + (x + 10) + "," + y; - x += 10; - break; - case bottom: - position = views[i][j].getBottomPosition(); - x += position.x; - y += position.y; - path = "M" + x + "," + y + "L" + x + "," + (y + 10); - y += 10; - break; - case left: - position = views[i][j].getLeftPosition(); - x += position.x; - y += position.y; - path = "M" + x + "," + y + "L" + (x - 10) + "," + y; - x -= 10; - break; - } - return {x: x, y: y, path: path}; - }; - var path = ""; - var si = draw(startIndex.i, startIndex.j, startDirection); - var ei = draw(endIndex.i, endIndex.j, endDirection, true); - path += si.path + ei.path; - if (!lines[start]) { - lines[start] = {}; - } - path += "M" + si.x + "," + si.y + "L" + ei.x + "," + ei.y; - var line = lines[start][end] = self.svg.path(path) - .attr({"stroke": c.lineColor, "stroke-width": "2"}) - .hover(function () { - line.attr("stroke", c.selectLineColor).toFront(); - storeViews[start].setValue(relation[0].primary.value); - storeViews[end].setValue(relation[0].foreign.value); - }, function () { - line.attr("stroke", c.lineColor); - storeViews[start].setValue([]); - storeViews[end].setValue([]); - }); - }); - }); - var container = BI.createWidget(); - BI.createWidget({ - type: "bi.vertical", - element: container, - items: verticals - }); - BI.createWidget({ - type: "bi.absolute", - element: container, - items: [{ - el: this.svg, - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - - BI.createWidget({ - type: "bi.center_adapt", - scrollable: true, - element: this, - items: [container] - }); - } -}); -BI.RelationView.EVENT_CHANGE = "RelationView.EVENT_CHANGE"; -BI.RelationView.EVENT_PREVIEW = "EVENT_PREVIEW"; -BI.shortcut('bi.relation_view', BI.RelationView);/** - * Created by Young's on 2017/3/10. - */ -BI.RelationViewRegionContainer = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.RelationViewRegionContainer.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-relation-view-region-container", - width: 150 - }); - }, - - _init: function () { - BI.RelationViewRegionContainer.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.region = BI.createWidget({ - type: "bi.relation_view_region", - value: o.value, - header: o.header, - text: o.text, - handler: o.handler, - items: o.items, - belongPackage: o.belongPackage - }); - this.region.on(BI.RelationViewRegion.EVENT_PREVIEW, function (v) { - self.fireEvent(BI.RelationViewRegionContainer.EVENT_PREVIEW, v); - }); - this.region.on(BI.RelationViewRegion.EVENT_HOVER_IN, function (v) { - self.fireEvent(BI.RelationViewRegionContainer.EVENT_HOVER_IN, v); - }); - this.region.on(BI.RelationViewRegion.EVENT_HOVER_OUT, function (v) { - self.fireEvent(BI.RelationViewRegionContainer.EVENT_HOVER_OUT, v); - }); - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [this.region], - width: this.region.getWidth(), - height: this.region.getHeight() - }); - }, - - doRedMark: function () { - this.region.doRedMark.apply(this.region, arguments); - }, - - unRedMark: function () { - this.region.unRedMark.apply(this.region, arguments); - }, - - getWidth: function () { - return this.region.getWidth(); - }, - - getHeight: function () { - return this.region.getHeight(); - }, - - //获取上方开始划线的位置 - getTopLeftPosition: function () { - return this.region.getTopLeftPosition(); - }, - - getTopRightPosition: function () { - return this.region.getTopRightPosition(); - }, - - getBottomPosition: function () { - return this.region.getBottomPosition(); - }, - - getLeftPosition: function () { - return this.region.getLeftPosition(); - }, - - getRightPosition: function () { - return this.region.getRightPosition(); - }, - - setValue: function (v) { - this.region.setValue(v); - }, - - toggleRegion: function (v) { - v === true ? this.region.element.fadeIn() : this.region.element.fadeOut(); - }, - - setPreviewSelected: function(v) { - this.region.setPreviewSelected(v); - } -}); -BI.RelationViewRegionContainer.EVENT_HOVER_IN = "RelationViewRegion.EVENT_HOVER_IN"; -BI.RelationViewRegionContainer.EVENT_HOVER_OUT = "RelationViewRegion.EVENT_HOVER_OUT"; -BI.RelationViewRegionContainer.EVENT_PREVIEW = "RelationViewRegion.EVENT_PREVIEW"; -BI.shortcut("bi.relation_view_region_container", BI.RelationViewRegionContainer);/** - * 关联视图 - * - * Created by GUY on 2015/12/23. - * @class BI.RelationViewRegion - * @extends BI.BasicButton - */ -BI.RelationViewRegion = BI.inherit(BI.BasicButton, { - - _defaultConfig: function () { - return BI.extend(BI.RelationViewRegion.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-relation-view-region cursor-pointer", - width: 150, - text: "", - value: "", - header: "", - items: [], - belongPackage: true - }); - }, - - _init: function () { - BI.RelationViewRegion.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.preview = BI.createWidget({ - type: "bi.icon_button", - cls: "relation-table-preview-font", - width: 25, - height: 25, - stopPropagation: true - }); - this.preview.on(BI.IconButton.EVENT_CHANGE, function () { - self.fireEvent(BI.RelationViewRegion.EVENT_PREVIEW, this.isSelected()); - }); - - this.title = BI.createWidget({ - type: "bi.label", - height: 25, - width: 70, - text: o.text, - value: o.value, - textAlign: "left" - }); - //title放body上 - if (BI.isKey(o.header)) { - this.title.setTitle(o.header, { - container: "body" - }) - } - - this.button_group = BI.createWidget({ - type: "bi.button_group", - items: this._createItems(o.items), - layouts: [{ - type: "bi.vertical" - }] - }); - - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [{ - type: "bi.vertical", - cls: "relation-view-region-container bi-card bi-border " + (o.belongPackage ? "" : "other-package"), - items: [{ - type: "bi.vertical_adapt", - cls: "relation-view-region-title bi-border-bottom", - items: [this.preview, this.title] - }, this.button_group] - }], - hgap: 25, - vgap: 20 - }) - }, - - _createItems: function (items) { - var self = this; - return BI.map(items, function (i, item) { - return BI.extend(item, { - type: "bi.relation_view_item", - hoverIn: function () { - self.setValue(item.value); - self.fireEvent(BI.RelationViewRegion.EVENT_HOVER_IN, item.value); - }, - hoverOut: function () { - self.setValue([]); - self.fireEvent(BI.RelationViewRegion.EVENT_HOVER_OUT, item.value); - } - }) - }); - }, - - doRedMark: function () { - this.title.doRedMark.apply(this.title, arguments); - }, - - unRedMark: function () { - this.title.unRedMark.apply(this.title, arguments); - }, - - getWidth: function () { - return this.options.width; - }, - - getHeight: function () { - return this.button_group.getAllButtons().length * 25 + 25 + 2 * 20 + 3; - }, - - //获取上方开始划线的位置 - getTopLeftPosition: function () { - return { - x: 25 + 10, - y: 20 - } - }, - - getTopRightPosition: function () { - return { - x: this.getWidth() - 25 - 10, - y: 20 - } - }, - - getBottomPosition: function () { - return { - x: 25 + 10, - y: this.getHeight() - 20 - } - }, - - getLeftPosition: function () { - return { - x: 25, - y: 20 + 10 - } - }, - - getRightPosition: function () { - return { - x: this.getWidth() - 25, - y: 20 + 10 - } - }, - - setValue: function (v) { - this.button_group.setValue(v); - }, - - setPreviewSelected: function(v) { - this.preview.setSelected(v); - } -}); -BI.RelationViewRegion.EVENT_HOVER_IN = "RelationViewRegion.EVENT_HOVER_IN"; -BI.RelationViewRegion.EVENT_HOVER_OUT = "RelationViewRegion.EVENT_HOVER_OUT"; -BI.RelationViewRegion.EVENT_PREVIEW = "RelationViewRegion.EVENT_PREVIEW"; -BI.shortcut('bi.relation_view_region', BI.RelationViewRegion);/** - * 自适应宽度的表格 - * - * Created by GUY on 2016/2/3. - * @class BI.ResponisveTable - * @extends BI.Widget - */ -BI.ResponisveTable = BI.inherit(BI.Widget, { - - _const: { - perColumnSize: 100 - }, - - _defaultConfig: function () { - return BI.extend(BI.ResponisveTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-responsive-table", - isNeedFreeze: false,//是否需要冻结单元格 - freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为true时生效 - - isNeedMerge: false,//是否需要合并单元格 - mergeCols: [], //合并的单元格列号 - mergeRule: function (row1, row2) { //合并规则, 默认相等时合并 - return BI.isEqual(row1, row2); - }, - - columnSize: [], - headerRowSize: 25, - footerRowSize: 25, - rowSize: 25, - - regionColumnSize: false, - - header: [], - footer: false, - items: [], //二维数组 - - //交叉表头 - crossHeader: [], - crossItems: [] - }); - }, - - _init: function () { - BI.ResponisveTable.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.table = BI.createWidget({ - type: "bi.table_view", - element: this, - - isNeedFreeze: o.isNeedFreeze, - freezeCols: o.freezeCols, - - isNeedMerge: o.isNeedMerge, - mergeCols: o.mergeCols, - mergeRule: o.mergeRule, - - columnSize: o.columnSize, - headerRowSize: o.headerRowSize, - footerRowSize: o.footerRowSize, - rowSize: o.rowSize, - - regionColumnSize: o.regionColumnSize, - - header: o.header, - footer: o.footer, - items: o.items, - //交叉表头 - crossHeader: o.crossHeader, - crossItems: o.crossItems - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_INIT, function () { - self._initRegionSize(); - self.table.resize(); - self._resizeHeader(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_INIT, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_RESIZE, function () { - self._resizeRegion(); - self._resizeHeader(); - self.fireEvent(BI.Table.EVENT_TABLE_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () { - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_BEFORE_REGION_RESIZE, function () { - self.fireEvent(BI.Table.EVENT_TABLE_BEFORE_REGION_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_REGION_RESIZE, function () { - //important:在冻结并自适应列宽的情况下要随时变更表头宽度 - if (o.isNeedResize === true && self._isAdaptiveColumn()) { - self._resizeHeader(); - } - self.fireEvent(BI.Table.EVENT_TABLE_REGION_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () { - self._resizeHeader(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments); - }); - - this.table.on(BI.Table.EVENT_TABLE_BEFORE_COLUMN_RESIZE, function () { - self._resizeBody(); - self.fireEvent(BI.Table.EVENT_TABLE_BEFORE_COLUMN_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_COLUMN_RESIZE, function () { - self.fireEvent(BI.Table.EVENT_TABLE_COLUMN_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () { - self._resizeRegion(); - self._resizeHeader(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments); - }); - }, - - _initRegionSize: function () { - var o = this.options; - if (o.isNeedFreeze === true) { - var regionColumnSize = this.table.getRegionColumnSize(); - var maxWidth = this.table.element.width(); - if (!regionColumnSize[0] || (regionColumnSize[0] === 'fill') || regionColumnSize[0] > maxWidth || regionColumnSize[1] > maxWidth) { - var freezeCols = o.freezeCols; - if (freezeCols.length === 0) { - this.table.setRegionColumnSize([0, "fill"]); - } else if (freezeCols.length > 0 && freezeCols.length < o.columnSize.length) { - var size = maxWidth / 3; - if (freezeCols.length > o.columnSize.length / 2) { - size = maxWidth * 2 / 3; - } - this.table.setRegionColumnSize([size, "fill"]); - } else { - this.table.setRegionColumnSize(["fill", 0]); - } - } - } - }, - - _getBlockSize: function () { - var o = this.options; - var columnSize = this.table.getCalculateColumnSize(); - if (o.isNeedFreeze === true) { - var columnSizeLeft = [], columnSizeRight = []; - BI.each(columnSize, function (i, size) { - if (o.freezeCols.contains(i)) { - columnSizeLeft.push(size); - } else { - columnSizeRight.push(size); - } - }); - //因为有边框,所以加上数组长度的参数调整 - var sumLeft = BI.sum(columnSizeLeft) + columnSizeLeft.length, - sumRight = BI.sum(columnSizeRight) + columnSizeRight.length; - return { - sumLeft: sumLeft, - sumRight: sumRight, - left: columnSizeLeft, - right: columnSizeRight - } - } - return { - size: columnSize, - sum: BI.sum(columnSize) + columnSize.length - }; - }, - - _isAdaptiveColumn: function (columnSize) { - return !(BI.last(columnSize || this.table.getColumnSize()) > 1.05); - }, - - _resizeHeader: function () { - var self = this, o = this.options; - if (o.isNeedFreeze === true) { - //若是当前处于自适应调节阶段 - if (this._isAdaptiveColumn()) { - var columnSize = this.table.getCalculateColumnSize(); - this.table.setHeaderColumnSize(columnSize); - } else { - var regionColumnSize = this.table.getClientRegionColumnSize(); - var block = this._getBlockSize(); - var sumLeft = block.sumLeft, sumRight = block.sumRight; - var columnSizeLeft = block.left, columnSizeRight = block.right; - columnSizeLeft[columnSizeLeft.length - 1] += regionColumnSize[0] - sumLeft; - columnSizeRight[columnSizeRight.length - 1] += regionColumnSize[1] - sumRight; - - var newLeft = BI.clone(columnSizeLeft), newRight = BI.clone(columnSizeRight); - newLeft[newLeft.length - 1] = ""; - newRight[newRight.length - 1] = ""; - this.table.setColumnSize(newLeft.concat(newRight)); - - block = self._getBlockSize(); - if (columnSizeLeft[columnSizeLeft.length - 1] < block.left[block.left.length - 1]) { - columnSizeLeft[columnSizeLeft.length - 1] = block.left[block.left.length - 1] - } - if (columnSizeRight[columnSizeRight.length - 1] < block.right[block.right.length - 1]) { - columnSizeRight[columnSizeRight.length - 1] = block.right[block.right.length - 1] - } - - self.table.setColumnSize(columnSizeLeft.concat(columnSizeRight)); - } - } else { - if (!this._isAdaptiveColumn()) { - var regionColumnSize = this.table.getClientRegionColumnSize(); - var block = this._getBlockSize(); - var sum = block.sum; - var size = block.size; - - size[size.length - 1] += regionColumnSize[0] - sum; - - var newSize = BI.clone(size); - newSize[newSize.length - 1] = ""; - this.table.setColumnSize(newSize); - block = this._getBlockSize(); - - if (size[size.length - 1] < block.size[block.size.length - 1]) { - size[size.length - 1] = block.size[block.size.length - 1] - } - this.table.setColumnSize(size); - } - } - }, - - _resizeBody: function () { - if (this._isAdaptiveColumn()) { - var columnSize = this.table.getCalculateColumnSize(); - this.setColumnSize(columnSize); - } - }, - - _adjustRegion: function () { - var o = this.options; - var regionColumnSize = this.table.getCalculateRegionColumnSize(); - if (o.isNeedFreeze === true && o.freezeCols.length > 0 && o.freezeCols.length < o.columnSize.length) { - var block = this._getBlockSize(); - var sumLeft = block.sumLeft, sumRight = block.sumRight; - if (sumLeft < regionColumnSize[0] || regionColumnSize[0] >= (sumLeft + sumRight)) { - this.table.setRegionColumnSize([sumLeft, "fill"]); - } - this._resizeRegion(); - } - }, - - _resizeRegion: function () { - var o = this.options; - var regionColumnSize = this.table.getCalculateRegionColumnSize(); - if (o.isNeedFreeze === true && o.freezeCols.length > 0 && o.freezeCols.length < o.columnSize.length) { - var maxWidth = this.table.element.width(); - if (regionColumnSize[0] < 15 || regionColumnSize[1] < 15) { - var freezeCols = o.freezeCols; - var size = maxWidth / 3; - if (freezeCols.length > o.columnSize.length / 2) { - size = maxWidth * 2 / 3; - } - this.table.setRegionColumnSize([size, "fill"]); - } - } - }, - - - resize: function () { - this.table.resize(); - this._resizeRegion(); - this._resizeHeader(); - }, - - setColumnSize: function (columnSize) { - this.table.setColumnSize(columnSize); - this._adjustRegion(); - this._resizeHeader(); - }, - - getColumnSize: function () { - return this.table.getColumnSize(); - }, - - getCalculateColumnSize: function () { - return this.table.getCalculateColumnSize(); - }, - - setHeaderColumnSize: function (columnSize) { - this.table.setHeaderColumnSize(columnSize); - this._adjustRegion(); - this._resizeHeader(); - }, - - setRegionColumnSize: function (columnSize) { - this.table.setRegionColumnSize(columnSize); - this._resizeHeader(); - }, - - getRegionColumnSize: function () { - return this.table.getRegionColumnSize(); - }, - - getCalculateRegionColumnSize: function () { - return this.table.getCalculateRegionColumnSize(); - }, - - getCalculateRegionRowSize: function () { - return this.table.getCalculateRegionRowSize(); - }, - - getClientRegionColumnSize: function () { - return this.table.getClientRegionColumnSize(); - }, - - getScrollRegionColumnSize: function () { - return this.table.getScrollRegionColumnSize(); - }, - - getScrollRegionRowSize: function () { - return this.table.getScrollRegionRowSize(); - }, - - hasVerticalScroll: function () { - return this.table.hasVerticalScroll(); - }, - - setVerticalScroll: function (scrollTop) { - this.table.setVerticalScroll(scrollTop); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - this.table.setLeftHorizontalScroll(scrollLeft); - }, - - setRightHorizontalScroll: function (scrollLeft) { - this.table.setRightHorizontalScroll(scrollLeft); - }, - - getVerticalScroll: function () { - return this.table.getVerticalScroll(); - }, - - getLeftHorizontalScroll: function () { - return this.table.getLeftHorizontalScroll(); - }, - - getRightHorizontalScroll: function () { - return this.table.getRightHorizontalScroll(); - }, - - getColumns: function () { - return this.table.getColumns(); - }, - - attr: function () { - BI.ResponisveTable.superclass.attr.apply(this, arguments); - this.table.attr.apply(this.table, arguments); - }, - - populate: function (items) { - var self = this, o = this.options; - this.table.populate.apply(this.table, arguments); - if (o.isNeedFreeze === true) { - BI.nextTick(function () { - self._initRegionSize(); - self.table.resize(); - self._resizeHeader(); - }); - } - } -}); -BI.shortcut('bi.responsive_table', BI.ResponisveTable);/** - * 加号表示的组节点 - * Created by GUY on 2015/9/6. - * @class BI.SelectTreeFirstPlusGroupNode - * @extends BI.NodeButton - */ -BI.SelectTreeFirstPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.SelectTreeFirstPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-select-tree-first-plus-group-node bi-list-item-active", - logic: { - dynamic: false - }, - id: "", - pId: "", - readonly: true, - open: false, - height: 25 - }) - }, - _init: function () { - BI.SelectTreeFirstPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.first_tree_node_checkbox", - stopPropagation: true - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - if (this.isSelected()) { - self.triggerExpand(); - } else { - self.triggerCollapse(); - } - } - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, { - width: 25, - el: this.checkbox - }, this.text); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - isOnce: function () { - return true; - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.NodeButton.superclass.doClick.apply(this, arguments); - }, - - setOpened: function (v) { - BI.SelectTreeFirstPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.checkbox)) { - this.checkbox.setSelected(v); - } - } -}); - -BI.shortcut("bi.select_tree_first_plus_group_node", BI.SelectTreeFirstPlusGroupNode);/** - * 加号表示的组节点 - * Created by GUY on 2015/9/6. - * @class BI.SelectTreeLastPlusGroupNode - * @extends BI.NodeButton - */ -BI.SelectTreeLastPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.SelectTreeLastPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-select-tree-last-plus-group-node bi-list-item-active", - logic: { - dynamic: false - }, - id: "", - pId: "", - readonly: true, - open: false, - height: 25 - }) - }, - _init: function () { - BI.SelectTreeLastPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.last_tree_node_checkbox", - stopPropagation: true - }) - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - if (this.isSelected()) { - self.triggerExpand(); - } else { - self.triggerCollapse(); - } - } - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, { - width: 25, - el: this.checkbox - }, this.text); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - isOnce: function () { - return true; - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.NodeButton.superclass.doClick.apply(this, arguments); - }, - - setOpened: function (v) { - BI.SelectTreeLastPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.checkbox)) { - this.checkbox.setSelected(v); - } - } -}); - -BI.shortcut("bi.select_tree_last_plus_group_node", BI.SelectTreeLastPlusGroupNode);/** - * 加号表示的组节点 - * Created by GUY on 2015/9/6. - * @class BI.SelectTreeMidPlusGroupNode - * @extends BI.NodeButton - */ -BI.SelectTreeMidPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.SelectTreeMidPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-select-tree-mid-plus-group-node bi-list-item-active", - logic: { - dynamic: false - }, - id: "", - pId: "", - readonly: true, - open: false, - height: 25 - }) - }, - _init: function () { - BI.SelectTreeMidPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.mid_tree_node_checkbox", - stopPropagation: true - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - if (this.isSelected()) { - self.triggerExpand(); - } else { - self.triggerCollapse(); - } - } - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, { - width: 25, - el: this.checkbox - }, this.text); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - isOnce: function () { - return true; - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.NodeButton.superclass.doClick.apply(this, arguments); - }, - - setOpened: function (v) { - BI.SelectTreeMidPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.checkbox)) { - this.checkbox.setSelected(v); - } - } -}); - -BI.shortcut("bi.select_tree_mid_plus_group_node", BI.SelectTreeMidPlusGroupNode);/** - * @class BI.SelectTreeCombo - * @extends BI.Widget - */ -BI.SelectTreeCombo = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SelectTreeCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-select-tree-combo", - height: 30, - text: "", - items: [] - }); - }, - - _init: function () { - BI.SelectTreeCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.single_tree_trigger", - text: o.text, - height: o.height, - items: o.items - }); - - this.popup = BI.createWidget({ - type: "bi.select_level_tree", - items: o.items - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 2, - el: this.trigger, - popup: { - el: this.popup - } - }); - - this.combo.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.popup.on(BI.SingleTreePopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - }); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function () { - return this.popup.getValue(); - }, - - populate: function (items) { - this.combo.populate(items); - } -}); - - -BI.shortcut("bi.select_tree_combo", BI.SelectTreeCombo);/** - * @class BI.SelectTreeExpander - * @extends BI.Widget - */ -BI.SelectTreeExpander = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SelectTreeExpander.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-select-tree-expander", - trigger: "click", - toggle: true, - direction: "bottom", - isDefaultInit: true, - el: {}, - popup: {} - }); - }, - - _init: function () { - BI.SelectTreeExpander.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget(BI.extend({stopPropagation: true}, o.el)); - this.trigger.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - if (this.isSelected()) { - self.expander.setValue([]); - } - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.expander = BI.createWidget({ - type: "bi.expander", - element: this, - trigger: o.trigger, - toggle: o.toggle, - direction: o.direction, - isDefaultInit: o.isDefaultInit, - el: this.trigger, - popup: o.popup - }); - this.expander.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - self.trigger.setSelected(false); - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - }, - - setValue: function (v) { - if (BI.contains(v, this.trigger.getValue())) { - this.trigger.setSelected(true); - this.expander.setValue([]); - } else { - this.trigger.setSelected(false); - this.expander.setValue(v); - } - }, - - getValue: function () { - if (this.trigger.isSelected()) { - return [this.trigger.getValue()]; - } - return this.expander.getValue(); - }, - - populate: function (items) { - this.expander.populate(items); - } -}); - -BI.shortcut("bi.select_tree_expander", BI.SelectTreeExpander);/** - * @class BI.SelectTreePopup - * @extends BI.Pane - */ - -BI.SelectTreePopup = BI.inherit(BI.Pane, { - - _defaultConfig: function () { - return BI.extend(BI.SelectTreePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-select-level-tree", - tipText: BI.i18nText("BI-No_Selected_Item"), - items: [] - }); - }, - - _formatItems: function (nodes, layer) { - var self = this; - BI.each(nodes, function (i, node) { - var extend = {layer: layer}; - node.id = node.id || BI.UUID(); - if (node.isParent === true || BI.isNotEmptyArray(node.children)) { - switch (i) { - case 0 : - extend.type = "bi.select_tree_first_plus_group_node"; - break; - case nodes.length - 1 : - extend.type = "bi.select_tree_last_plus_group_node"; - break; - default : - extend.type = "bi.select_tree_mid_plus_group_node"; - break; - } - BI.defaults(node, extend); - self._formatItems(node.children); - } else { - switch (i) { - case nodes.length - 1: - extend.type = "bi.last_tree_leaf_item"; - break; - default : - extend.type = "bi.mid_tree_leaf_item"; - } - BI.defaults(node, extend); - } - }); - return nodes; - }, - - _init: function () { - BI.SelectTreePopup.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - - this.tree = BI.createWidget({ - type: 'bi.level_tree', - expander: { - type: "bi.select_tree_expander", - isDefaultInit: true - }, - items: this._formatItems(BI.Tree.transformToTreeFormat(o.items)), - chooseType: BI.Selection.Single - }); - - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [this.tree] - }); - - this.tree.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.tree.on(BI.LevelTree.EVENT_CHANGE, function () { - self.fireEvent(BI.SelectTreePopup.EVENT_CHANGE); - }); - - this.check(); - }, - - getValue: function () { - return this.tree.getValue(); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.tree.setValue(v); - }, - - populate: function (items) { - BI.SelectTreePopup.superclass.populate.apply(this, arguments); - this.tree.populate(items); - } -}); - -BI.SelectTreePopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.select_level_tree", BI.SelectTreePopup);/** - * - * Created by GUY on 2016/8/10. - * @class BI.SequenceTableDynamicNumber - * @extends BI.SequenceTableTreeNumber - */ -BI.SequenceTableDynamicNumber = BI.inherit(BI.SequenceTableTreeNumber, { - - _defaultConfig: function () { - return BI.extend(BI.SequenceTableDynamicNumber.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-sequence-table-dynamic-number" - }); - }, - - _init: function () { - BI.SequenceTableDynamicNumber.superclass._init.apply(this, arguments); - }, - - _formatNumber: function (nodes) { - var self = this, o = this.options; - var result = []; - var count = this._getStart(nodes); - - function getLeafCount(node) { - var cnt = 0; - if (BI.isNotEmptyArray(node.children)) { - BI.each(node.children, function (index, child) { - cnt += getLeafCount(child); - }); - if (node.children.length > 1 && BI.isNotEmptyArray(node.values)) { - cnt++; - } - } else { - cnt++; - } - return cnt; - } - - var start = 0, top = 0; - BI.each(nodes, function (i, node) { - if (BI.isArray(node.children)) { - BI.each(node.children, function (index, child) { - var cnt = getLeafCount(child); - result.push({ - text: count++, - start: start, - top: top, - cnt: cnt, - index: index, - height: cnt * o.rowSize - }); - start += cnt; - top += cnt * o.rowSize; - }); - if (BI.isNotEmptyArray(node.values)) { - result.push({ - text: BI.i18nText("BI-Summary_Values"), - start: start++, - top: top, - cnt: 1, - isSummary: true, - height: o.rowSize - }); - top += o.rowSize; - } - } - }); - return result; - } -}); -BI.shortcut('bi.sequence_table_dynamic_number', BI.SequenceTableDynamicNumber);/** - * - * Created by GUY on 2016/5/26. - * @class BI.SequenceTableListNumber - * @extends BI.Widget - */ -BI.SequenceTableListNumber = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SequenceTableListNumber.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-sequence-table-list-number", - isNeedFreeze: false, - scrollTop: 0, - startSequence: 1,//开始的序号 - headerRowSize: 25, - rowSize: 25, - - sequenceHeaderCreator: null, - - header: [], - items: [], //二维数组 - - //交叉表头 - crossHeader: [], - crossItems: [], - - pageSize: 20 - }); - }, - - _init: function () { - BI.SequenceTableListNumber.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.start = o.startSequence; - this.renderedCells = []; - this.renderedKeys = []; - - this.container = BI.createWidget({ - type: "bi.absolute", - width: 60, - scrollable: false - }); - - this.scrollContainer = BI.createWidget({ - type: "bi.vertical", - scrollable: false, - scrolly: false, - items: [this.container] - }); - - this.headerContainer = BI.createWidget({ - type: "bi.absolute", - cls: "bi-border", - width: 58, - scrollable: false - }); - - this.layout = BI.createWidget({ - type: "bi.vtape", - element: this, - items: [{ - el: this.headerContainer, - height: o.headerRowSize * o.header.length - 2 - }, { - el: {type: "bi.layout"}, - height: 2 - }, { - el: this.scrollContainer - }] - }); - this._populate(); - }, - - _layout: function () { - var self = this, o = this.options; - var headerHeight = o.headerRowSize * o.header.length - 2; - var items = this.layout.attr("items"); - if (o.isNeedFreeze === false) { - items[0].height = 0; - items[1].height = 0; - } else if (o.isNeedFreeze === true) { - items[0].height = headerHeight; - items[1].height = 2; - } - this.layout.attr("items", items); - this.layout.resize(); - this.container.setHeight(o.items.length * o.rowSize); - try { - this.scrollContainer.element.scrollTop(o.scrollTop); - } catch (e) { - - } - }, - - _createHeader: function () { - var o = this.options; - BI.createWidget({ - type: "bi.absolute", - element: this.headerContainer, - items: [{ - el: o.sequenceHeaderCreator || { - type: "bi.table_style_cell", - cls: "sequence-table-title-cell", - styleGetter: o.headerCellStyleGetter, - text: BI.i18nText("BI-Number_Index") - }, - left: 0, - top: 0, - right: 0, - bottom: 0 - }] - }); - }, - - _calculateChildrenToRender: function () { - var self = this, o = this.options; - var scrollTop = BI.clamp(o.scrollTop, 0, o.rowSize * o.items.length - (o.height - o.header.length * o.headerRowSize) + BI.DOM.getScrollWidth()); - var start = Math.floor(scrollTop / o.rowSize); - var end = start + Math.floor((o.height - o.header.length * o.headerRowSize) / o.rowSize); - var renderedCells = [], renderedKeys = []; - for (var i = start, cnt = 0; i <= end && i < o.items.length; i++, cnt++) { - var index = BI.deepIndexOf(this.renderedKeys, this.start + i); - var top = i * o.rowSize; - if (index > -1) { - if (o.rowSize !== this.renderedCells[index]._height) { - this.renderedCells[index]._height = o.rowSize; - this.renderedCells[index].el.setHeight(o.rowSize); - } - if (this.renderedCells[index].top !== top) { - this.renderedCells[index].top = top; - this.renderedCells[index].el.element.css("top", top + "px"); - } - renderedCells.push(this.renderedCells[index]); - } else { - var child = BI.createWidget(BI.extend({ - type: "bi.table_style_cell", - cls: "sequence-table-number-cell bi-border-left bi-border-right bi-border-bottom", - width: 60, - height: o.rowSize, - text: this.start + i, - styleGetter: function (index) { - return function () { - return o.sequenceCellStyleGetter(self.start + i - 1); - } - }(cnt) - })); - renderedCells.push({ - el: child, - left: 0, - top: top, - _height: o.rowSize - }); - } - renderedKeys.push(this.start + i); - } - - //已存在的, 需要添加的和需要删除的 - var existSet = {}, addSet = {}, deleteArray = []; - BI.each(renderedKeys, function (i, key) { - if (BI.deepContains(self.renderedKeys, key)) { - existSet[i] = key; - } else { - addSet[i] = key; - } - }); - BI.each(this.renderedKeys, function (i, key) { - if (BI.deepContains(existSet, key)) { - return; - } - if (BI.deepContains(addSet, key)) { - return; - } - deleteArray.push(i); - }); - BI.each(deleteArray, function (i, index) { - self.renderedCells[index].el.destroy(); - }); - var addedItems = []; - BI.each(addSet, function (index) { - addedItems.push(renderedCells[index]) - }); - BI.createWidget({ - type: "bi.absolute", - element: this.container, - items: addedItems - }); - this.renderedCells = renderedCells; - this.renderedKeys = renderedKeys; - }, - - _populate: function () { - this.headerContainer.empty(); - this._createHeader(); - this._layout(); - this._calculateChildrenToRender(); - }, - - setVerticalScroll: function (scrollTop) { - if (this.options.scrollTop !== scrollTop) { - this.options.scrollTop = scrollTop; - try { - this.scrollContainer.element.scrollTop(scrollTop); - } catch (e) { - - } - } - }, - - getVerticalScroll: function () { - return this.options.scrollTop; - }, - - setVPage: function (v) { - v = v < 1 ? 1 : v; - var o = this.options; - this.start = (v - 1) * o.pageSize + 1; - }, - - _restore: function () { - var o = this.options; - BI.each(this.renderedCells, function (i, cell) { - cell.el.destroy(); - }); - this.renderedCells = []; - this.renderedKeys = []; - }, - - restore: function () { - this._restore(); - }, - - populate: function (items, header) { - var o = this.options; - if (items && items !== this.options.items) { - o.items = items; - this._restore(); - } - if (header && header !== this.options.header) { - o.header = header; - } - this._populate(); - } -}); -BI.shortcut('bi.sequence_table_list_number', BI.SequenceTableListNumber);/** - * 带有序号的表格 - * - * Created by GUY on 2016/5/26. - * @class BI.SequenceTable - * @extends BI.Widget - */ -BI.SequenceTable = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SequenceTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-sequence-table", - el: { - type: "bi.adaptive_table" - }, - - sequence: {}, - - isNeedResize: true, - isResizeAdapt: false, - - isNeedFreeze: false,//是否需要冻结单元格 - freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为true时生效 - - isNeedMerge: false,//是否需要合并单元格 - mergeCols: [], //合并的单元格列号 - mergeRule: BI.emptyFn, - - columnSize: [], - minColumnSize: [], - maxColumnSize: [], - headerRowSize: 25, - rowSize: 25, - - regionColumnSize: [], - - headerCellStyleGetter: BI.emptyFn, - summaryCellStyleGetter: BI.emptyFn, - sequenceCellStyleGetter: BI.emptyFn, - - header: [], - items: [], //二维数组 - - //交叉表头 - crossHeader: [], - crossItems: [], - - showSequence: false, - startSequence: 1//开始的序号 - }); - }, - - _init: function () { - BI.SequenceTable.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.sequence = BI.createWidget(o.sequence, { - type: "bi.sequence_table_list_number", - invisible: o.showSequence === false, - startSequence: o.startSequence, - isNeedFreeze: o.isNeedFreeze, - header: o.header, - items: o.items, - crossHeader: o.crossHeader, - crossItems: o.crossItems, - headerRowSize: o.headerRowSize, - rowSize: o.rowSize, - width: 60, - height: o.height && o.height - BI.GridTableScrollbar.SIZE, - - headerCellStyleGetter: o.headerCellStyleGetter, - summaryCellStyleGetter: o.summaryCellStyleGetter, - sequenceCellStyleGetter: o.sequenceCellStyleGetter - }); - this.table = BI.createWidget(o.el, { - type: "bi.adaptive_table", - width: o.showSequence === true ? o.width - 60 : o.width, - height: o.height, - isNeedResize: o.isNeedResize, - isResizeAdapt: o.isResizeAdapt, - - isNeedFreeze: o.isNeedFreeze, - freezeCols: o.freezeCols, - - isNeedMerge: o.isNeedMerge, - mergeCols: o.mergeCols, - mergeRule: o.mergeRule, - - columnSize: o.columnSize, - minColumnSize: o.minColumnSize, - maxColumnSize: o.maxColumnSize, - headerRowSize: o.headerRowSize, - rowSize: o.rowSize, - - regionColumnSize: o.regionColumnSize, - - headerCellStyleGetter: o.headerCellStyleGetter, - summaryCellStyleGetter: o.summaryCellStyleGetter, - sequenceCellStyleGetter: o.sequenceCellStyleGetter, - - header: o.header, - items: o.items, - //交叉表头 - crossHeader: o.crossHeader, - crossItems: o.crossItems - }); - - this.table.on(BI.Table.EVENT_TABLE_SCROLL, function (scroll) { - if (self.sequence.getVerticalScroll() !== this.getVerticalScroll()) { - self.sequence.setVerticalScroll(this.getVerticalScroll()); - self.sequence.populate(); - } - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - o.columnSize = this.getColumnSize(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - o.columnSize = this.getColumnSize(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments); - }); - - this.htape = BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.sequence, - left: 0, - top: 0 - }, { - el: this.table, - top: 0, - left: o.showSequence === true ? 60 : 0 - }] - }); - this._populate(); - }, - - _populate: function () { - var o = this.options; - if (o.showSequence === true) { - this.sequence.setVisible(true); - this.table.element.css("left", "60px"); - this.table.setWidth(o.width - 60); - } else { - this.sequence.setVisible(false); - this.table.element.css("left", "0px"); - this.table.setWidth(o.width); - } - }, - - setWidth: function (width) { - BI.PageTable.superclass.setWidth.apply(this, arguments); - this.table.setWidth(this.options.showSequence ? width - 60 : width); - }, - - setHeight: function (height) { - BI.PageTable.superclass.setHeight.apply(this, arguments); - this.table.setHeight(height); - this.sequence.setHeight(height - BI.GridTableScrollbar.SIZE); - }, - - setColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - this.table.setColumnSize(columnSize); - }, - - getColumnSize: function () { - return this.table.getColumnSize(); - }, - - setRegionColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - this.table.setRegionColumnSize(columnSize); - }, - - getRegionColumnSize: function () { - return this.table.getRegionColumnSize(); - }, - - hasLeftHorizontalScroll: function () { - return this.table.hasLeftHorizontalScroll(); - }, - - hasRightHorizontalScroll: function () { - return this.table.hasRightHorizontalScroll(); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - this.table.setLeftHorizontalScroll(scrollLeft); - }, - - setRightHorizontalScroll: function (scrollLeft) { - this.table.setRightHorizontalScroll(scrollLeft); - }, - - setVerticalScroll: function (scrollTop) { - this.table.setVerticalScroll(scrollTop); - this.sequence.setVerticalScroll(scrollTop); - }, - - getVerticalScroll: function () { - return this.table.getVerticalScroll(); - }, - - setVPage: function (page) { - this.sequence.setVPage && this.sequence.setVPage(page); - }, - - setHPage: function (page) { - this.sequence.setHPage && this.sequence.setHPage(page); - }, - - attr: function () { - BI.SequenceTable.superclass.attr.apply(this, arguments); - this.table.attr.apply(this.table, arguments); - this.sequence.attr.apply(this.sequence, arguments); - }, - - restore: function () { - this.table.restore(); - this.sequence.restore(); - }, - - populate: function (items, header, crossItems, crossHeader) { - var o = this.options; - if (items) { - o.items = items; - } - if (header) { - o.header = header; - } - if (crossItems) { - o.crossItems = crossItems; - } - if (crossHeader) { - o.crossHeader = crossHeader; - } - this._populate(); - this.table.populate.apply(this.table, arguments); - this.sequence.populate.apply(this.sequence, arguments); - this.sequence.setVerticalScroll(this.table.getVerticalScroll()); - }, - - destroy: function () { - this.table.destroy(); - BI.SequenceTable.superclass.destroy.apply(this, arguments); - } -}); -BI.shortcut('bi.sequence_table', BI.SequenceTable);/** - * Created by zcf on 2016/9/22. - */ -BI.SliderIconButton = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.SliderIconButton.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-single-slider-button" - }); - }, - _init: function () { - BI.extend(BI.SliderIconButton.superclass._init.apply(this, arguments)); - this.slider = BI.createWidget({ - type: "bi.icon_button", - cls: "slider-icon slider-button", - iconWidth: 14, - iconHeight: 14, - height: 14, - width: 14 - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.slider, - top: 7, - left: -7 - }], - width: 0, - height: 14 - }); - } -}); -BI.shortcut("bi.single_slider_button", BI.SliderIconButton);/** - * Created by zcf on 2016/9/22. - */ -BI.SingleSlider = BI.inherit(BI.Widget, { - _constant: { - EDITOR_WIDTH: 90, - EDITOR_HEIGHT: 30, - SLIDER_WIDTH_HALF: 15, - SLIDER_WIDTH: 30, - SLIDER_HEIGHT: 30, - TRACK_HEIGHT: 24 - }, - _defaultConfig: function () { - return BI.extend(BI.SingleSlider.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-single-slider bi-slider-track", - digit: false - }); - }, - _init: function () { - BI.SingleSlider.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - var c = this._constant; - this.enable = false; - this.value = ""; - - this.grayTrack = BI.createWidget({ - type: "bi.layout", - cls: "gray-track", - height: 6 - }); - this.blueTrack = BI.createWidget({ - type: "bi.layout", - cls: "blue-track bi-high-light-background", - height: 6 - }); - this.track = this._createTrackWrapper(); - - this.slider = BI.createWidget({ - type: "bi.single_slider_button" - }); - this._draggable(this.slider); - var sliderVertical = BI.createWidget({ - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [this.slider] - }], - hgap: c.SLIDER_WIDTH_HALF, - height: c.SLIDER_HEIGHT - }); - sliderVertical.element.click(function (e) { - if (self.enable) { - var offset = e.clientX - self.element.offset().left - c.SLIDER_WIDTH_HALF; - var trackLength = self.track.element[0].scrollWidth; - var percent = 0; - if (offset < 0) { - percent = 0 - } - if (offset > 0 && offset < (trackLength - c.SLIDER_WIDTH)) { - percent = offset * 100 / self._getGrayTrackLength(); - } - if (offset > (trackLength - c.SLIDER_WIDTH)) { - percent = 100 - } - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setAllPosition(significantPercent); - var v = self._getValueByPercent(significantPercent); - v = o.digit === false ? v : v.toFixed(o.digit); - self.label.setValue(v); - self.value = v; - self.fireEvent(BI.SingleSlider.EVENT_CHANGE); - } - }); - this.label = BI.createWidget({ - type: "bi.sign_editor", - cls: "slider-editor-button", - errorText: "", - width: c.EDITOR_WIDTH - 2, - allowBlank: false, - validationChecker: function (v) { - return self._checkValidation(v); - }, - quitChecker: function (v) { - return self._checkValidation(v); - } - }); - this.label.element.hover(function () { - self.label.element.removeClass("bi-border").addClass("bi-border"); - }, function () { - self.label.element.removeClass("bi-border"); - }); - this.label.on(BI.SignEditor.EVENT_CONFIRM, function () { - var v = BI.parseFloat(this.getValue()); - var percent = self._getPercentByValue(v); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setAllPosition(significantPercent); - this.setValue(v); - self.value = v; - self.fireEvent(BI.SingleSlider.EVENT_CHANGE); - }); - this._setVisible(false); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.track, - width: "100%", - height: c.TRACK_HEIGHT - }] - }], - hgap: 7, - height: c.TRACK_HEIGHT - }, - top: 23, - left: 0, - width: "100%" - }, { - el: sliderVertical, - top: 20, - left: 0, - width: "100%" - }, { - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [this.label] - }], - rgap: c.EDITOR_WIDTH, - height: c.EDITOR_HEIGHT - }, - top: 0, - left: 0, - width: "100%" - }] - }) - }, - - _draggable: function (widget) { - var self = this, o = this.options; - var startDrag = false; - var size = 0, offset = 0, defaultSize = 0; - var mouseMoveTracker = new BI.MouseMoveTracker(function (deltaX) { - if (mouseMoveTracker.isDragging()) { - startDrag = true; - offset += deltaX; - size = optimizeSize(defaultSize + offset); - widget.element.addClass("dragging"); - var percent = size * 100 / (self._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1));//直接对计算出来的百分数保留到小数点后一位,相当于分成了1000份。 - self._setBlueTrack(significantPercent); - self._setLabelPosition(significantPercent); - self._setSliderPosition(significantPercent); - var v = self._getValueByPercent(significantPercent); - v = o.digit === false ? v : v.toFixed(o.digit); - self.label.setValue(v); - self.value = v; - self.fireEvent(BI.SingleSlider.EVENT_CHANGE); - } - }, function () { - if (startDrag === true) { - size = optimizeSize(size); - var percent = size * 100 / (self._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setSliderPosition(significantPercent); - size = 0; - offset = 0; - defaultSize = size; - startDrag = false; - } - widget.element.removeClass("dragging"); - mouseMoveTracker.releaseMouseMoves(); - self.fireEvent(BI.SingleSlider.EVENT_CHANGE); - }, document); - widget.element.on("mousedown", function (event) { - if(!widget.isEnabled()){ - return; - } - defaultSize = this.offsetLeft; - optimizeSize(defaultSize); - mouseMoveTracker.captureMouseMoves(event); - }); - - function optimizeSize(s) { - return BI.clamp(s, 0, o.width); - } - }, - - _createTrackWrapper: function () { - return BI.createWidget({ - type: "bi.absolute", - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.grayTrack, - top: 0, - left: 0, - width: "100%" - }, { - el: this.blueTrack, - top: 0, - left: 0, - width: "0%" - }] - }], - hgap: 8, - height: 8 - }, - top: 8, - left: 0, - width: "100%" - }] - }) - }, - - _checkValidation: function (v) { - return BI.isNumeric(v) && !(BI.isNull(v) || v < this.min || v > this.max) - }, - - _setBlueTrack: function (percent) { - this.blueTrack.element.css({"width": percent + "%"}); - }, - - _setLabelPosition: function (percent) { - this.label.element.css({"left": percent + "%"}); - }, - - _setSliderPosition: function (percent) { - this.slider.element.css({"left": percent + "%"}); - }, - - _setAllPosition: function (percent) { - this._setSliderPosition(percent); - this._setLabelPosition(percent); - this._setBlueTrack(percent); - }, - - _setVisible: function (visible) { - this.slider.setVisible(visible); - this.label.setVisible(visible); - }, - - _getGrayTrackLength: function () { - return this.grayTrack.element[0].scrollWidth - }, - - _getValueByPercent: function (percent) { - var thousandth = BI.parseInt(percent * 10); - return (((this.max - this.min) * thousandth) / 1000 + this.min); - }, - - _getPercentByValue: function (v) { - return (v - this.min) * 100 / (this.max - this.min); - }, - - getValue: function () { - return this.value; - }, - - setValue: function (v) { - var o = this.options; - v = BI.parseFloat(v); - v = o.digit === false ? v : v.toFixed(o.digit); - if ((!isNaN(v))) { - if (this._checkValidation(v)) { - this.value = v; - } - if (v > this.max) { - this.value = this.max; - } - if (v < this.min) { - this.value = this.min; - } - } - }, - - setMinAndMax: function (v) { - var minNumber = BI.parseFloat(v.min); - var maxNumber = BI.parseFloat(v.max); - if ((!isNaN(minNumber)) && (!isNaN(maxNumber)) && (maxNumber > minNumber )) { - this.min = minNumber; - this.max = maxNumber; - } - }, - - reset: function () { - this._setVisible(false); - this.enable = false; - this.value = ""; - this.min = 0; - this.max = 0; - this._setBlueTrack(0); - - }, - - populate: function () { - if (!isNaN(this.min) && !isNaN(this.max)) { - this._setVisible(true); - this.enable = true; - this.label.setErrorText(BI.i18nText("BI-Please_Enter") + this.min + "-" + this.max + BI.i18nText("BI-Basic_De") + BI.i18nText("BI-Basic_Number")); - if (BI.isNumeric(this.value) || BI.isNotEmptyString(this.value)) { - this.label.setValue(this.value); - this._setAllPosition(this._getPercentByValue(this.value)); - } else { - this.label.setValue(this.max); - this._setAllPosition(100); - } - } - } -}); -BI.SingleSlider.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.single_slider", BI.SingleSlider);/** - * Created by Urthur on 2017/9/12. - */ -BI.SingleSliderLabel = BI.inherit(BI.Widget, { - _constant: { - EDITOR_WIDTH: 90, - EDITOR_HEIGHT: 20, - HEIGHT: 20, - SLIDER_WIDTH_HALF: 15, - SLIDER_WIDTH: 30, - SLIDER_HEIGHT: 30, - TRACK_HEIGHT: 24 - }, - _defaultConfig: function () { - return BI.extend(BI.SingleSliderLabel.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-single-slider-label bi-slider-track", - digit: false, - unit: "" - }); - }, - _init: function () { - BI.SingleSliderLabel.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - var c = this._constant; - this.enable = false; - this.value = ""; - - this.grayTrack = BI.createWidget({ - type: "bi.layout", - cls: "gray-track", - height: 6 - }); - this.blueTrack = BI.createWidget({ - type: "bi.layout", - cls: "blue-track bi-high-light-background", - height: 6 - }); - this.track = this._createTrackWrapper(); - - this.slider = BI.createWidget({ - type: "bi.single_slider_button" - }); - this._draggable(this.slider); - var sliderVertical = BI.createWidget({ - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [this.slider] - }], - hgap: c.SLIDER_WIDTH_HALF, - height: c.SLIDER_HEIGHT - }); - sliderVertical.element.click(function (e) { - if (self.enable) { - var offset = e.clientX - self.element.offset().left - c.SLIDER_WIDTH_HALF; - var trackLength = self.track.element[0].scrollWidth; - var percent = 0; - if (offset < 0) { - percent = 0 - } - if (offset > 0 && offset < (trackLength - c.SLIDER_WIDTH)) { - percent = offset * 100 / self._getGrayTrackLength(); - } - if (offset > (trackLength - c.SLIDER_WIDTH)) { - percent = 100 - } - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setAllPosition(significantPercent); - var v = self._getValueByPercent(significantPercent); - v = o.digit === false ? v : v.toFixed(o.digit); - self.label.setText(v + o.unit); - self.value = v; - self.fireEvent(BI.SingleSliderLabel.EVENT_CHANGE); - } - }); - this.label = BI.createWidget({ - type: "bi.label", - height: c.HEIGHT, - width: c.EDITOR_WIDTH - 2 - }); - - this._setVisible(false); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.track, - width: "100%", - height: c.TRACK_HEIGHT - }] - }], - hgap: 7, - height: c.TRACK_HEIGHT - }, - top: 13, - left: 0, - width: "100%" - }, { - el: sliderVertical, - top: 10, - left: 0, - width: "100%" - }, { - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [this.label] - }], - rgap: c.EDITOR_WIDTH, - height: c.EDITOR_HEIGHT - }, - top: 0, - left: 0, - width: "100%" - }] - }) - }, - - _draggable: function (widget) { - var self = this, o = this.options; - var startDrag = false; - var size = 0, offset = 0, defaultSize = 0; - var mouseMoveTracker = new BI.MouseMoveTracker(function (deltaX) { - if (mouseMoveTracker.isDragging()) { - startDrag = true; - offset += deltaX; - size = optimizeSize(defaultSize + offset); - widget.element.addClass("dragging"); - var percent = size * 100 / (self._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1));//直接对计算出来的百分数保留到小数点后一位,相当于分成了1000份。 - self._setBlueTrack(significantPercent); - self._setLabelPosition(significantPercent); - self._setSliderPosition(significantPercent); - var v = self._getValueByPercent(significantPercent); - v = o.digit === false ? v : v.toFixed(o.digit); - self.label.setValue(v); - self.value = v; - self.fireEvent(BI.SingleSliderLabel.EVENT_CHANGE); - } - }, function () { - if (startDrag === true) { - size = optimizeSize(size); - var percent = size * 100 / (self._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setSliderPosition(significantPercent); - size = 0; - offset = 0; - defaultSize = size; - startDrag = false; - } - widget.element.removeClass("dragging"); - mouseMoveTracker.releaseMouseMoves(); - self.fireEvent(BI.SingleSliderLabel.EVENT_CHANGE); - }, document); - widget.element.on("mousedown", function (event) { - if(!widget.isEnabled()){ - return; - } - defaultSize = this.offsetLeft; - optimizeSize(defaultSize); - mouseMoveTracker.captureMouseMoves(event); - }); - - function optimizeSize(s) { - return BI.clamp(s, 0, o.width); - } - }, - - _createTrackWrapper: function () { - return BI.createWidget({ - type: "bi.absolute", - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.grayTrack, - top: 0, - left: 0, - width: "100%" - }, { - el: this.blueTrack, - top: 0, - left: 0, - width: "0%" - }] - }], - hgap: 8, - height: 8 - }, - top: 8, - left: 0, - width: "100%" - }] - }) - }, - - _checkValidation: function (v) { - return BI.isNumeric(v) && !(BI.isNull(v) || v < this.min || v > this.max) - }, - - _setBlueTrack: function (percent) { - this.blueTrack.element.css({"width": percent + "%"}); - }, - - _setLabelPosition: function (percent) { - this.label.element.css({"left": percent + "%"}); - }, - - _setSliderPosition: function (percent) { - this.slider.element.css({"left": percent + "%"}); - }, - - _setAllPosition: function (percent) { - this._setSliderPosition(percent); - this._setLabelPosition(percent); - this._setBlueTrack(percent); - }, - - _setVisible: function (visible) { - this.slider.setVisible(visible); - this.label.setVisible(visible); - }, - - _getGrayTrackLength: function () { - return this.grayTrack.element[0].scrollWidth - }, - - _getValueByPercent: function (percent) { - var thousandth = BI.parseInt(percent * 10); - return (((this.max - this.min) * thousandth) / 1000 + this.min); - }, - - _getPercentByValue: function (v) { - return (v - this.min) * 100 / (this.max - this.min); - }, - - getValue: function () { - return this.value; - }, - - setValue: function (v) { - var o = this.options; - v = BI.parseFloat(v); - v = o.digit === false ? v : v.toFixed(o.digit); - if ((!isNaN(v))) { - if (this._checkValidation(v)) { - this.value = v; - } - if (v > this.max) { - this.value = this.max; - } - if (v < this.min) { - this.value = this.min; - } - } - }, - - setMinAndMax: function (v) { - var minNumber = BI.parseFloat(v.min); - var maxNumber = BI.parseFloat(v.max); - if ((!isNaN(minNumber)) && (!isNaN(maxNumber)) && (maxNumber > minNumber )) { - this.min = minNumber; - this.max = maxNumber; - } - }, - - reset: function () { - this._setVisible(false); - this.enable = false; - this.value = ""; - this.min = 0; - this.max = 0; - this._setBlueTrack(0); - }, - - populate: function () { - var o = this.options; - if (!isNaN(this.min) && !isNaN(this.max)) { - this._setVisible(true); - this.enable = true; - if (BI.isNumeric(this.value) || BI.isNotEmptyString(this.value)) { - this.label.setValue(this.value + o.unit); - this._setAllPosition(this._getPercentByValue(this.value)); - } else { - this.label.setValue(this.max + o.unit); - this._setAllPosition(100); - } - } - } -}); -BI.SingleSliderLabel.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.single_slider_label", BI.SingleSliderLabel);/** - * normal single slider - * Created by Young on 2017/6/21. - */ -BI.SingleSliderNormal = BI.inherit(BI.Widget, { - - _constant: { - HEIGHT: 28, - SLIDER_WIDTH_HALF: 15, - SLIDER_WIDTH: 30, - SLIDER_HEIGHT: 30, - TRACK_HEIGHT: 24 - }, - - props: { - baseCls: "bi-single-slider-normal bi-slider-track", - minMax: { - min: 0, - max: 100 - }, - // color: "#3f8ce8" - }, - - render: function () { - var self = this; - var c = this._constant; - var track = this._createTrack(); - this.slider = BI.createWidget({ - type: "bi.single_slider_button" - }); - this._draggable(this.slider); - - var sliderVertical = BI.createWidget({ - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [this.slider] - }], - hgap: c.SLIDER_WIDTH_HALF, - height: c.SLIDER_HEIGHT - }); - sliderVertical.element.click(function (e) { - if (self.enable) { - var offset = e.clientX - self.element.offset().left - c.SLIDER_WIDTH_HALF; - var trackLength = self.track.element[0].scrollWidth; - var percent = 0; - if (offset < 0) { - percent = 0 - } - if (offset > 0 && offset < (trackLength - c.SLIDER_WIDTH)) { - percent = offset * 100 / self._getGrayTrackLength(); - } - if (offset > (trackLength - c.SLIDER_WIDTH)) { - percent = 100 - } - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setAllPosition(significantPercent); - var v = self._getValueByPercent(significantPercent); - self.value = v; - self.fireEvent(BI.SingleSlider.EVENT_CHANGE); - } - }); - - return { - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: track, - width: "100%", - height: c.TRACK_HEIGHT - }] - }], - hgap: 7, - height: c.TRACK_HEIGHT - }, - top: 3, - left: 0, - width: "100%" - }, { - el: sliderVertical, - top: 0, - left: 0, - width: "100%" - }] - } - }, - - _draggable: function (widget) { - var self = this, o = this.options; - var startDrag = false; - var size = 0, offset = 0, defaultSize = 0; - var mouseMoveTracker = new BI.MouseMoveTracker(function (deltaX) { - if (mouseMoveTracker.isDragging()) { - startDrag = true; - offset += deltaX; - size = optimizeSize(defaultSize + offset); - widget.element.addClass("dragging"); - var percent = size * 100 / (self._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1));//直接对计算出来的百分数保留到小数点后一位,相当于分成了1000份。 - self._setBlueTrack(significantPercent); - self._setSliderPosition(significantPercent); - var v = self._getValueByPercent(significantPercent); - v = o.digit === false ? v : v.toFixed(o.digit); - self.value = v; - self.fireEvent(BI.SingleSliderNormal.EVENT_DRAG, v); - } - }, function () { - if (startDrag === true) { - size = optimizeSize(size); - var percent = size * 100 / (self._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setSliderPosition(significantPercent); - size = 0; - offset = 0; - defaultSize = size; - startDrag = false; - } - widget.element.removeClass("dragging"); - mouseMoveTracker.releaseMouseMoves(); - self.fireEvent(BI.SingleSlider.EVENT_CHANGE); - }, document); - widget.element.on("mousedown", function (event) { - if(!widget.isEnabled()){ - return; - } - defaultSize = this.offsetLeft; - optimizeSize(defaultSize); - mouseMoveTracker.captureMouseMoves(event); - }); - - function optimizeSize(s) { - return BI.clamp(s, 0, o.width); - } - }, - - _createTrack: function () { - var self = this; - var c = this._constant; - this.grayTrack = BI.createWidget({ - type: "bi.layout", - cls: "gray-track", - height: 6 - }); - this.blueTrack = BI.createWidget({ - type: "bi.layout", - cls: "blue-track bi-high-light-background", - height: 6 - }); - if (this.options.color) { - this.blueTrack.element.css({"background-color": this.options.color}); - } - - return { - type: "bi.absolute", - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.grayTrack, - top: 0, - left: 0, - width: "100%" - }, { - el: this.blueTrack, - top: 0, - left: 0, - width: "0%" - }] - }], - hgap: 8, - height: 8 - }, - top: 8, - left: 0, - width: "100%" - }], - ref: function (ref) { - self.track = ref; - } - } - }, - - _checkValidation: function (v) { - return !(BI.isNull(v) || v < this.min || v > this.max) - }, - - _setBlueTrack: function (percent) { - this.blueTrack.element.css({"width": percent + "%"}); - }, - - _setSliderPosition: function (percent) { - this.slider.element.css({"left": percent + "%"}); - }, - - _setAllPosition: function (percent) { - this._setSliderPosition(percent); - this._setBlueTrack(percent); - }, - - _setVisible: function (visible) { - this.slider.setVisible(visible); - }, - - _getGrayTrackLength: function () { - return this.grayTrack.element[0].scrollWidth - }, - - _getValueByPercent: function (percent) { - var thousandth = BI.parseInt(percent * 10); - return (((this.max - this.min) * thousandth) / 1000 + this.min); - }, - - _getPercentByValue: function (v) { - return (v - this.min) * 100 / (this.max - this.min); - }, - - getValue: function () { - return this.value; - }, - - setValue: function (v) { - var value = BI.parseFloat(v); - if ((!isNaN(value))) { - if (this._checkValidation(value)) { - this.value = value; - } - if (value > this.max) { - this.value = this.max; - } - if (value < this.min) { - this.value = this.min; - } - } - }, - - setMinAndMax: function (v) { - var minNumber = BI.parseFloat(v.min); - var maxNumber = BI.parseFloat(v.max); - if ((!isNaN(minNumber)) && (!isNaN(maxNumber)) && (maxNumber > minNumber )) { - this.min = minNumber; - this.max = maxNumber; - } - }, - - reset: function () { - this._setVisible(false); - this.enable = false; - this.value = ""; - this.min = 0; - this.max = 0; - this._setBlueTrack(0); - }, - - populate: function () { - if (!isNaN(this.min) && !isNaN(this.max)) { - this._setVisible(true); - this.enable = true; - if (BI.isNumeric(this.value) || BI.isNotEmptyString(this.value)) { - this._setAllPosition(this._getPercentByValue(this.value)); - } else { - this._setAllPosition(100); - } - } - } -}); -BI.SingleSliderNormal.EVENT_DRAG = "EVENT_DRAG"; -BI.shortcut("bi.single_slider_normal", BI.SingleSliderNormal);/** - * @class BI.SingleTreeCombo - * @extends BI.Widget - */ -BI.SingleTreeCombo = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SingleTreeCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-single-tree-combo", - trigger: {}, - height: 24, - text: "", - items: [] - }); - }, - - _init: function () { - BI.SingleTreeCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget(BI.extend({ - type: "bi.single_tree_trigger", - text: o.text, - height: o.height, - items: o.items - }, o.trigger)); - - this.popup = BI.createWidget({ - type: "bi.single_level_tree", - items: o.items - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 2, - el: this.trigger, - popup: { - el: this.popup - } - }); - - this.combo.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.SingleTreeCombo.EVENT_BEFORE_POPUPVIEW, arguments); - }); - - this.popup.on(BI.SingleTreePopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.SingleTreeCombo.EVENT_CHANGE); - }); - }, - - populate: function (items) { - this.combo.populate(items); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function () { - return this.popup.getValue(); - } -}); - -BI.SingleTreeCombo.EVENT_CHANGE = "SingleTreeCombo.EVENT_CHANGE"; -BI.SingleTreeCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.shortcut("bi.single_tree_combo", BI.SingleTreeCombo);/** - * @class BI.SingleTreePopup - * @extends BI.Pane - */ - -BI.SingleTreePopup = BI.inherit(BI.Pane, { - - _defaultConfig: function () { - return BI.extend(BI.SingleTreePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-single-level-tree", - tipText: BI.i18nText("BI-No_Selected_Item"), - items: [] - }); - }, - - _init: function () { - BI.SingleTreePopup.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - - this.tree = BI.createWidget({ - type: 'bi.level_tree', - expander: { - isDefaultInit: true - }, - items: o.items, - chooseType: BI.Selection.Single - }); - - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [this.tree] - }); - - this.tree.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.tree.on(BI.LevelTree.EVENT_CHANGE, function () { - self.fireEvent(BI.SingleTreePopup.EVENT_CHANGE); - }); - - this.check(); - }, - - getValue: function () { - return this.tree.getValue(); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.tree.setValue(v); - }, - - populate: function (items) { - BI.SingleTreePopup.superclass.populate.apply(this, arguments); - this.tree.populate(items); - } -}); - -BI.SingleTreePopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.single_level_tree", BI.SingleTreePopup);/** - * @class BI.SingleTreeTrigger - * @extends BI.Trigger - */ - -BI.SingleTreeTrigger = BI.inherit(BI.Trigger, { - - _defaultConfig: function () { - return BI.extend(BI.SingleTreeTrigger.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-single-tree-trigger", - height: 24, - text: "", - items: [] - }); - }, - - _init: function () { - BI.SingleTreeTrigger.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.select_text_trigger", - element: this, - text: o.text, - items: o.items, - height: o.height - }); - }, - - _checkTitle: function () { - var self = this, val = this.getValue(); - BI.any(this.options.items, function (i, item) { - if (val.contains(item.value)) { - self.trigger.setTitle(item.text || item.value); - return true; - } - }); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.options.value = v; - this.trigger.setValue(v); - this._checkTitle(); - }, - - getValue: function () { - return this.options.value || []; - }, - - populate: function (items) { - BI.SingleTreeTrigger.superclass.populate.apply(this, arguments); - this.trigger.populate(items); - } - -}); - -BI.shortcut("bi.single_tree_trigger", BI.SingleTreeTrigger);/** - * 可以单选多选切换的树 - * - * Created by GUY on 2015/12/21. - * @class BI.SwitchTree - * @extends BI.Widget - */ -BI.SwitchTree = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SwitchTree.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-switch-tree", - items: [] - }); - }, - - _init: function () { - BI.SwitchTree.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.tab = BI.createWidget({ - type: "bi.tab", - element: this, - tab: null, - defaultShowIndex: BI.SwitchTree.SelectType.SingleSelect, - cardCreator: BI.bind(this._createTree, this) - }); - }, - - _createTree: function (type) { - var self = this, o = this.options; - switch (type) { - case BI.SwitchTree.SelectType.SingleSelect: - this.levelTree = BI.createWidget({ - type: "bi.multilayer_single_level_tree", - isDefaultInit: true, - items: BI.deepClone(o.items) - }); - this.levelTree.on(BI.LevelTree.EVENT_CHANGE, function () { - self.fireEvent(BI.SwitchTree.EVENT_CHANGE, arguments); - }); - return this.levelTree; - case BI.SwitchTree.SelectType.MultiSelect: - this.tree = BI.createWidget({ - type: "bi.simple_tree", - items: this._removeIsParent(BI.deepClone(o.items)) - }); - this.tree.on(BI.SimpleTreeView.EVENT_CHANGE, function () { - self.fireEvent(BI.SwitchTree.EVENT_CHANGE, arguments); - }); - return this.tree; - } - }, - - _removeIsParent: function(items) { - BI.each(items, function(i, item) { - BI.isNotNull(item.isParent) && delete item.isParent; - }); - return items; - }, - - switchSelect: function () { - switch (this.getSelect()) { - case BI.SwitchTree.SelectType.SingleSelect: - this.setSelect(BI.SwitchTree.SelectType.MultiSelect); - break; - case BI.SwitchTree.SelectType.MultiSelect: - this.setSelect(BI.SwitchTree.SelectType.SingleSelect); - break; - } - }, - - setSelect: function (v) { - this.tab.setSelect(v); - }, - - getSelect: function () { - return this.tab.getSelect(); - }, - - setValue: function (v) { - this.storeValue = v; - switch (this.getSelect()) { - case BI.SwitchTree.SelectType.SingleSelect: - this.levelTree.setValue(v); - break; - case BI.SwitchTree.SelectType.MultiSelect: - this.tree.setValue(v); - break; - } - }, - - getValue: function () { - return this.tab.getValue(); - }, - - populate: function (items) { - this.options.items = items; - if (BI.isNotNull(this.levelTree)) { - this.levelTree.populate(BI.deepClone(items)); - } - if (BI.isNotNull(this.tree)) { - this.tree.populate(this._removeIsParent(BI.deepClone(items))); - } - } -}); -BI.SwitchTree.EVENT_CHANGE = "SwitchTree.EVENT_CHANGE"; -BI.SwitchTree.SelectType = { - SingleSelect: BI.Selection.Single, - MultiSelect: BI.Selection.Multi -}; -BI.shortcut('bi.switch_tree', BI.SwitchTree); -/** - * Created by Baron on 2015/10/19. - */ -BI.TimeInterval = BI.inherit(BI.Single, { - constants: { - height: 25, - width: 25, - lgap: 15, - offset: -15, - timeErrorCls: "time-error", - DATE_MIN_VALUE: "1900-01-01", - DATE_MAX_VALUE: "2099-12-31" - }, - _defaultConfig: function () { - var conf = BI.TimeInterval.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-time-interval" - }) - }, - _init: function () { - var self = this; - BI.TimeInterval.superclass._init.apply(this, arguments); - - this.left = this._createCombo(); - this.right = this._createCombo(); - this.label = BI.createWidget({ - type: 'bi.label', - height: this.constants.height, - width: this.constants.width, - text: "-" - }); - BI.createWidget({ - element: self, - type: "bi.center", - hgap: 15, - height: this.constants.height, - items: [{ - type: "bi.absolute", - items: [{ - el: self.left, - left: this.constants.offset, - right: 0, - top: 0, - bottom: 0 - }] - }, { - type: "bi.absolute", - items: [{ - el: self.right, - left: 0, - right: this.constants.offset, - top: 0, - bottom: 0 - }] - }] - }); - BI.createWidget({ - type: "bi.horizontal_auto", - element: this, - items: [ - self.label - ] - }); - }, - - _createCombo: function () { - var self = this; - var combo = BI.createWidget({ - type: 'bi.multidate_combo' - }); - combo.on(BI.MultiDateCombo.EVENT_ERROR, function () { - self._clearTitle(); - self.element.removeClass(self.constants.timeErrorCls); - self.fireEvent(BI.TimeInterval.EVENT_ERROR); - }); - - combo.on(BI.MultiDateCombo.EVENT_VALID, function(){ - BI.Bubbles.hide("error"); - var smallDate = self.left.getKey(), bigDate = self.right.getKey(); - if (self._check(smallDate, bigDate) && self._compare(smallDate, bigDate)) { - self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")); - self.element.addClass(self.constants.timeErrorCls); - BI.Bubbles.show("error", BI.i18nText("BI-Time_Interval_Error_Text"), self, { - offsetStyle: "center" - }); - self.fireEvent(BI.TimeInterval.EVENT_ERROR); - } else { - self._clearTitle(); - self.element.removeClass(self.constants.timeErrorCls); - } - }); - - combo.on(BI.MultiDateCombo.EVENT_FOCUS, function(){ - BI.Bubbles.hide("error"); - var smallDate = self.left.getKey(), bigDate = self.right.getKey(); - if (self._check(smallDate, bigDate) && self._compare(smallDate, bigDate)) { - self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")); - self.element.addClass(self.constants.timeErrorCls); - BI.Bubbles.show("error", BI.i18nText("BI-Time_Interval_Error_Text"), self, { - offsetStyle: "center" - }); - self.fireEvent(BI.TimeInterval.EVENT_ERROR); - } else { - self._clearTitle(); - self.element.removeClass(self.constants.timeErrorCls); - } - }); - - combo.on(BI.MultiDateCombo.EVENT_BEFORE_POPUPVIEW, function () { - self.left.hidePopupView(); - self.right.hidePopupView(); - }); - //combo.on(BI.MultiDateCombo.EVENT_CHANGE, function () { - // BI.Bubbles.hide("error"); - // var smallDate = self.left.getKey(), bigDate = self.right.getKey(); - // if (self._check(smallDate, bigDate) && self._compare(smallDate, bigDate)) { - // self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")); - // self.element.addClass(self.constants.timeErrorCls); - // BI.Bubbles.show("error", BI.i18nText("BI-Time_Interval_Error_Text"), self, { - // offsetStyle: "center" - // }); - // self.fireEvent(BI.TimeInterval.EVENT_ERROR); - // } else { - // self._clearTitle(); - // self.element.removeClass(self.constants.timeErrorCls); - // } - //}); - - combo.on(BI.MultiDateCombo.EVENT_CONFIRM, function(){ - BI.Bubbles.hide("error"); - var smallDate = self.left.getKey(), bigDate = self.right.getKey(); - if (self._check(smallDate, bigDate) && self._compare(smallDate, bigDate)) { - self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")); - self.element.addClass(self.constants.timeErrorCls); - self.fireEvent(BI.TimeInterval.EVENT_ERROR); - }else{ - self._clearTitle(); - self.element.removeClass(self.constants.timeErrorCls); - self.fireEvent(BI.TimeInterval.EVENT_CHANGE); - } - }); - return combo; - }, - _dateCheck: function (date) { - return Date.parseDateTime(date, "%Y-%x-%d").print("%Y-%x-%d") == date || Date.parseDateTime(date, "%Y-%X-%d").print("%Y-%X-%d") == date || Date.parseDateTime(date, "%Y-%x-%e").print("%Y-%x-%e") == date || Date.parseDateTime(date, "%Y-%X-%e").print("%Y-%X-%e") == date; - }, - _checkVoid: function (obj) { - return !Date.checkVoid(obj.year, obj.month, obj.day, this.constants.DATE_MIN_VALUE, this.constants.DATE_MAX_VALUE)[0]; - }, - _check: function (smallDate, bigDate) { - var smallObj = smallDate.match(/\d+/g), bigObj = bigDate.match(/\d+/g); - return this._dateCheck(smallDate) && Date.checkLegal(smallDate) && this._checkVoid({ - year: smallObj[0], - month: smallObj[1], - day: smallObj[2] - }) && this._dateCheck(bigDate) && Date.checkLegal(bigDate) && this._checkVoid({ - year: bigObj[0], - month: bigObj[1], - day: bigObj[2] - }); - }, - _compare: function (smallDate, bigDate) { - smallDate = Date.parseDateTime(smallDate, "%Y-%X-%d").print("%Y-%X-%d"); - bigDate = Date.parseDateTime(bigDate, "%Y-%X-%d").print("%Y-%X-%d"); - return BI.isNotNull(smallDate) && BI.isNotNull(bigDate) && smallDate > bigDate; - }, - _setTitle: function (v) { - this.left.setTitle(v); - this.right.setTitle(v); - this.label.setTitle(v); - }, - _clearTitle: function () { - this.left.setTitle(""); - this.right.setTitle(""); - this.label.setTitle(""); - }, - setValue: function (date) { - date = date || {}; - this.left.setValue(date.start); - this.right.setValue(date.end); - }, - getValue: function () { - return {start: this.left.getValue(), end: this.right.getValue()}; - } -}); -BI.TimeInterval.EVENT_VALID = "EVENT_VALID"; -BI.TimeInterval.EVENT_ERROR = "EVENT_ERROR"; -BI.TimeInterval.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.time_interval", BI.TimeInterval);/** - * 年份下拉框 - * - * Created by GUY on 2015/8/28. - * @class BI.YearCombo - * @extends BI.Widget - */ -BI.YearCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.YearCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-year-combo", - behaviors: {}, - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - height: 25 - }); - }, - _init: function () { - BI.YearCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.storeValue = ""; - this.trigger = BI.createWidget({ - type: "bi.year_trigger", - min: o.min, - max: o.max - }); - this.trigger.on(BI.YearTrigger.EVENT_FOCUS, function () { - self.storeValue = this.getKey(); - }); - this.trigger.on(BI.YearTrigger.EVENT_START, function () { - self.combo.isViewVisible() && self.combo.hideView(); - }); - this.trigger.on(BI.YearTrigger.EVENT_STOP, function () { - self.combo.showView(); - }); - this.trigger.on(BI.YearTrigger.EVENT_ERROR, function () { - self.combo.isViewVisible() && self.combo.hideView(); - }); - this.trigger.on(BI.YearTrigger.EVENT_CONFIRM, function () { - if (self.combo.isViewVisible()) { - return; - } - if (this.getKey() && this.getKey() !== self.storeValue) { - self.setValue(this.getKey()); - } else if (!this.getKey()) { - self.setValue(); - } - self.fireEvent(BI.YearCombo.EVENT_CONFIRM); - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - destroyWhenHide: true, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - popup: { - minWidth: 85, - stopPropagation: false, - el: { - type: "bi.year_popup", - ref: function () { - self.popup = this; - }, - listeners: [{ - eventName: BI.YearPopup.EVENT_CHANGE, - action: function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.YearCombo.EVENT_CONFIRM); - } - }], - behaviors: o.behaviors, - min: o.min, - max: o.max - } - } - }); - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - var value = self.trigger.getKey(); - if (BI.isNotNull(value)) { - self.popup.setValue(value); - } else if (!value && value !== self.storeValue) { - self.popup.setValue(self.storeValue); - } else { - self.setValue(); - } - self.fireEvent(BI.YearCombo.EVENT_BEFORE_POPUPVIEW); - }); - }, - - setValue: function (v) { - this.combo.setValue(v || ""); - }, - - getValue: function () { - return this.popup.getValue(); - } -}); -BI.YearCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.YearCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.shortcut('bi.year_combo', BI.YearCombo);/** - * 年份展示面板 - * - * Created by GUY on 2015/9/2. - * @class BI.YearPopup - * @extends BI.Trigger - */ -BI.YearPopup = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.YearPopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-year-popup", - behaviors: {}, - min: '1900-01-01', //最小日期 - max: '2099-12-31' //最大日期 - }); - }, - - _createYearCalendar: function (v) { - var o = this.options, y = this._year; - - var calendar = BI.createWidget({ - type: "bi.year_calendar", - behaviors: o.behaviors, - min: o.min, - max: o.max, - logic: { - dynamic: true - }, - year: y + v * 12 - }); - calendar.setValue(this._year); - return calendar; - }, - - _init: function () { - BI.YearPopup.superclass._init.apply(this, arguments); - var self = this; - - this.selectedYear = this._year = new Date().getFullYear(); - - var backBtn = BI.createWidget({ - type: "bi.icon_button", - cls: "pre-page-h-font", - width: 25, - height: 25, - value: -1 - }); - - var preBtn = BI.createWidget({ - type: "bi.icon_button", - cls: "next-page-h-font", - width: 25, - height: 25, - value: 1 - }); - - this.navigation = BI.createWidget({ - type: "bi.navigation", - element: this, - single: true, - logic: { - dynamic: true - }, - tab: { - cls: "year-popup-navigation bi-high-light bi-border-top", - height: 25, - items: [backBtn, preBtn] - }, - cardCreator: BI.bind(this._createYearCalendar, this), - - afterCardShow: function () { - this.setValue(self.selectedYear); - var calendar = this.getSelectedCard(); - backBtn.setEnable(!calendar.isFrontYear()); - preBtn.setEnable(!calendar.isFinalYear()); - } - }); - - this.navigation.on(BI.Navigation.EVENT_CHANGE, function () { - self.selectedYear = this.getValue(); - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - self.fireEvent(BI.YearPopup.EVENT_CHANGE, self.selectedYear); - }); - }, - - getValue: function () { - return this.selectedYear; - }, - - setValue: function (v) { - var o = this.options; - if (Date.checkVoid(v, 1, 1, o.min, o.max)[0]) { - v = new Date().getFullYear(); - this.selectedYear = ""; - this.navigation.setSelect(BI.YearCalendar.getPageByYear(v)); - this.navigation.setValue(""); - } else { - this.selectedYear = v; - this.navigation.setSelect(BI.YearCalendar.getPageByYear(v)); - this.navigation.setValue(v); - } - } -}); -BI.YearPopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.year_popup", BI.YearPopup);/** - * 年份trigger - * - * Created by GUY on 2015/8/21. - * @class BI.YearTrigger - * @extends BI.Trigger - */ -BI.YearTrigger = BI.inherit(BI.Trigger, { - _const: { - hgap: 4, - vgap: 2, - errorText: BI.i18nText("BI-Please_Input_Positive_Integer"), - errorTextInvalid: BI.i18nText("BI-Year_Trigger_Invalid_Text") - }, - - _defaultConfig: function () { - return BI.extend(BI.YearTrigger.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-year-trigger bi-border", - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - height: 24 - }); - }, - _init: function () { - BI.YearTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.editor = BI.createWidget({ - type: "bi.sign_editor", - height: o.height, - validationChecker: function (v) { - self.editor.setErrorText(!BI.isPositiveInteger(v) ? c.errorText : c.errorTextInvalid); - return v === "" || (BI.isPositiveInteger(v) && !Date.checkVoid(v, 1, 1, o.min, o.max)[0]); - }, - quitChecker: function (v) { - return false; - }, - hgap: c.hgap, - vgap: c.vgap, - allowBlank: true, - errorText: c.errorText - }) - this.editor.on(BI.SignEditor.EVENT_FOCUS, function () { - self.fireEvent(BI.YearTrigger.EVENT_FOCUS); - }); - this.editor.on(BI.SignEditor.EVENT_STOP, function () { - self.fireEvent(BI.YearTrigger.EVENT_STOP); - }); - this.editor.on(BI.SignEditor.EVENT_CONFIRM, function () { - var value = self.editor.getValue(); - if (BI.isNotNull(value)) { - self.editor.setValue(value); - self.editor.setTitle(value); - } - self.fireEvent(BI.YearTrigger.EVENT_CONFIRM); - }); - this.editor.on(BI.SignEditor.EVENT_SPACE, function () { - if (self.editor.isValid()) { - self.editor.blur(); - } - }); - this.editor.on(BI.SignEditor.EVENT_START, function () { - self.fireEvent(BI.YearTrigger.EVENT_START); - }); - this.editor.on(BI.SignEditor.EVENT_ERROR, function () { - self.fireEvent(BI.YearTrigger.EVENT_ERROR); - }); - BI.createWidget({ - element: this, - type: 'bi.htape', - items: [ - { - el: this.editor - }, { - el: { - type: "bi.text_button", - baseCls: "bi-trigger-year-text", - text: BI.i18nText("BI-Multi_Date_Year"), - width: o.height - }, - width: o.height - }, { - el: { - type: "bi.trigger_icon_button", - width: o.height - }, - width: o.height - } - ] - }); - }, - setValue: function (v) { - this.editor.setState(v); - this.editor.setValue(v); - this.editor.setTitle(v); - }, - getKey: function () { - return this.editor.getValue() | 0; - } -}); -BI.YearTrigger.EVENT_FOCUS = "EVENT_FOCUS"; -BI.YearTrigger.EVENT_ERROR = "EVENT_ERROR"; -BI.YearTrigger.EVENT_START = "EVENT_START"; -BI.YearTrigger.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.YearTrigger.EVENT_STOP = "EVENT_STOP"; -BI.shortcut("bi.year_trigger", BI.YearTrigger);/** - * 年份 + 月份下拉框 - * - * @class BI.YearMonthCombo - * @extends BI.Widget - */ -BI.YearMonthCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.YearMonthCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-year-month-combo", - yearBehaviors: {}, - monthBehaviors: {}, - height: 25 - }); - }, - _init: function () { - BI.YearMonthCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.year = BI.createWidget({ - type: "bi.year_combo", - behaviors: o.yearBehaviors - }); - - this.month = BI.createWidget({ - type: "bi.month_combo", - behaviors: o.monthBehaviors - }); - - this.year.on(BI.YearCombo.EVENT_CONFIRM, function () { - self.fireEvent(BI.YearMonthCombo.EVENT_CONFIRM); - }); - this.year.on(BI.YearCombo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.YearMonthCombo.EVENT_BEFORE_POPUPVIEW); - }); - - this.month.on(BI.MonthCombo.EVENT_CONFIRM, function () { - self.fireEvent(BI.YearMonthCombo.EVENT_CONFIRM); - }); - this.month.on(BI.MonthCombo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.YearMonthCombo.EVENT_BEFORE_POPUPVIEW); - }); - - BI.createWidget({ - type: "bi.center", - element: this, - hgap: 5, - items: [this.year, this.month] - }); - - }, - - setValue: function (v) { - v = v || {}; - this.month.setValue(v.month); - this.year.setValue(v.year); - }, - - getValue: function () { - return { - year: this.year.getValue(), - month: this.month.getValue() - }; - } -}); -BI.YearMonthCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.YearMonthCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.shortcut('bi.year_month_combo', BI.YearMonthCombo);/** - * 年份 + 月份下拉框 - * - * @class BI.YearQuarterCombo - * @extends BI.Widget - */ -BI.YearQuarterCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.YearQuarterCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-year-quarter-combo", - yearBehaviors: {}, - quarterBehaviors: {}, - height: 25 - }); - }, - _init: function () { - BI.YearQuarterCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.year = BI.createWidget({ - type: "bi.year_combo", - behaviors: o.yearBehaviors - }); - - this.quarter = BI.createWidget({ - type: "bi.quarter_combo", - behaviors: o.quarterBehaviors - }); - - this.year.on(BI.YearCombo.EVENT_CONFIRM, function () { - self.fireEvent(BI.YearQuarterCombo.EVENT_CONFIRM); - }); - this.year.on(BI.YearCombo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.YearQuarterCombo.EVENT_BEFORE_POPUPVIEW); - }); - - this.quarter.on(BI.QuarterCombo.EVENT_CONFIRM, function () { - self.fireEvent(BI.YearQuarterCombo.EVENT_CONFIRM); - }); - this.quarter.on(BI.QuarterCombo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.YearQuarterCombo.EVENT_BEFORE_POPUPVIEW); - }); - - BI.createWidget({ - type: "bi.center", - element: this, - hgap: 5, - items: [this.year, this.quarter] - }); - - }, - - setValue: function (v) { - v = v || {}; - this.quarter.setValue(v.quarter); - this.year.setValue(v.year); - }, - - getValue: function () { - return { - year: this.year.getValue(), - quarter: this.quarter.getValue() - }; - } -}); -BI.YearQuarterCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.YearQuarterCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.shortcut('bi.year_quarter_combo', BI.YearQuarterCombo);/** - * 简单的复选下拉框控件, 适用于数据量少的情况, 与valuechooser的区别是allvaluechooser setValue和getValue返回的是所有值 - * 封装了字段处理逻辑 - * - * Created by GUY on 2015/10/29. - * @class BI.AbstractAllValueChooser - * @extends BI.Widget - */ -BI.AbstractAllValueChooser = BI.inherit(BI.Widget, { - - _const: { - perPage: 100 - }, - - _defaultConfig: function () { - return BI.extend(BI.AbstractAllValueChooser.superclass._defaultConfig.apply(this, arguments), { - width: 200, - height: 30, - items: null, - itemsCreator: BI.emptyFn, - cache: true - }); - }, - - _valueFormatter: function (v) { - var text = v; - if (BI.isNotNull(this.items)) { - BI.some(this.items, function (i, item) { - if (item.value === v) { - text = item.text; - return true; - } - }); - } - return text; - }, - - _itemsCreator: function (options, callback) { - var self = this, o = this.options; - if (!o.cache || !this.items) { - o.itemsCreator({}, function (items) { - self.items = items; - call(items); - }); - } else { - call(this.items); - } - function call(items) { - var keywords = (options.keywords || []).slice(); - if (options.keyword) { - keywords.push(options.keyword); - } - BI.each(keywords, function (i, kw) { - var search = BI.Func.getSearchResult(items, kw); - items = search.matched.concat(search.finded); - }); - if (options.selectedValues) {//过滤 - var filter = BI.makeObject(options.selectedValues, true); - items = BI.filter(items, function (i, ob) { - return !filter[ob.value]; - }); - } - if (options.type === BI.MultiSelectCombo.REQ_GET_ALL_DATA) { - callback({ - items: items - }); - return; - } - if (options.type === BI.MultiSelectCombo.REQ_GET_DATA_LENGTH) { - callback({count: items.length}); - return; - } - callback({ - items: items, - hasNext: false - }); - } - } -});/** - * 简单的复选下拉框控件, 适用于数据量少的情况, 与valuechooser的区别是allvaluechooser setValue和getValue返回的是所有值 - * 封装了字段处理逻辑 - * - * Created by GUY on 2015/10/29. - * @class BI.AllValueChooserCombo - * @extends BI.AbstractAllValueChooser - */ -BI.AllValueChooserCombo = BI.inherit(BI.AbstractAllValueChooser, { - - _defaultConfig: function () { - return BI.extend(BI.AllValueChooserCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-all-value-chooser-combo", - width: 200, - height: 30, - items: null, - itemsCreator: BI.emptyFn, - cache: true - }); - }, - - _init: function () { - BI.AllValueChooserCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (BI.isNotNull(o.items)) { - this.items = o.items; - } - this.combo = BI.createWidget({ - type: 'bi.multi_select_combo', - element: this, - itemsCreator: BI.bind(this._itemsCreator, this), - valueFormatter: BI.bind(this._valueFormatter, this), - width: o.width, - height: o.height - }); - - this.combo.on(BI.MultiSelectCombo.EVENT_CONFIRM, function () { - self.fireEvent(BI.AllValueChooserCombo.EVENT_CONFIRM); - }); - }, - - setValue: function (v) { - this.combo.setValue({ - type: BI.Selection.Multi, - value: v || [] - }); - }, - - getValue: function () { - var val = this.combo.getValue() || {}; - if (val.type === BI.Selection.All) { - return val.assist; - } - return val.value || []; - }, - - populate: function () { - this.combo.populate.apply(this, arguments); - } -}); -BI.AllValueChooserCombo.EVENT_CONFIRM = "AllValueChooserCombo.EVENT_CONFIRM"; -BI.shortcut('bi.all_value_chooser_combo', BI.AllValueChooserCombo);/** - * 简单的复选下拉框控件, 适用于数据量少的情况, 与valuechooser的区别是allvaluechooser setValue和getValue返回的是所有值 - * 封装了字段处理逻辑 - * - * Created by GUY on 2015/10/29. - * @class BI.AllValueChooserPane - * @extends BI.AbstractAllValueChooser - */ -BI.AllValueChooserPane = BI.inherit(BI.AbstractAllValueChooser, { - - _defaultConfig: function () { - return BI.extend(BI.AllValueChooserPane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-all-value-chooser-pane", - width: 200, - height: 30, - items: null, - itemsCreator: BI.emptyFn, - cache: true - }); - }, - - _init: function () { - BI.AllValueChooserPane.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (BI.isNotNull(o.items)) { - this.items = o.items; - } - this.list = BI.createWidget({ - type: 'bi.multi_select_list', - element: this, - itemsCreator: BI.bind(this._itemsCreator, this), - valueFormatter: BI.bind(this._valueFormatter, this), - width: o.width, - height: o.height - }); - - this.list.on(BI.MultiSelectList.EVENT_CHANGE, function () { - self.fireEvent(BI.AllValueChooserPane.EVENT_CHANGE); - }); - }, - - setValue: function (v) { - this.list.setValue({ - type: BI.Selection.Multi, - value: v || [] - }); - }, - - getValue: function () { - var val = this.list.getValue() || {}; - if (val.type === BI.Selection.All) { - return val.assist; - } - return val.value || []; - }, - - populate: function () { - this.list.populate.apply(this.list, arguments); - } -}); -BI.AllValueChooserPane.EVENT_CHANGE = "AllValueChooserPane.EVENT_CHANGE"; -BI.shortcut('bi.all_value_chooser_pane', BI.AllValueChooserPane);BI.AbstractTreeValueChooser = BI.inherit(BI.Widget, { - - _const: { - perPage: 100 - }, - - _defaultConfig: function () { - return BI.extend(BI.AbstractTreeValueChooser.superclass._defaultConfig.apply(this, arguments), { - items: null, - itemsCreator: BI.emptyFn - }); - }, - - _initData: function (items) { - this.items = items; - var nodes = BI.Tree.treeFormat(items); - this.tree = new BI.Tree(); - this.tree.initTree(nodes); - }, - - _itemsCreator: function (options, callback) { - var self = this, o = this.options; - if (!this.items) { - o.itemsCreator({}, function (items) { - self._initData(items); - call(); - }); - } else { - call(); - } - function call() { - switch (options.type) { - case BI.TreeView.REQ_TYPE_INIT_DATA: - self._reqInitTreeNode(options, callback); - break; - case BI.TreeView.REQ_TYPE_ADJUST_DATA: - self._reqAdjustTreeNode(options, callback); - break; - case BI.TreeView.REQ_TYPE_SELECT_DATA: - self._reqSelectedTreeNode(options, callback); - break; - case BI.TreeView.REQ_TYPE_GET_SELECTED_DATA: - self._reqDisplayTreeNode(options, callback); - break; - default : - self._reqTreeNode(options, callback); - break; - } - } - }, - - _reqDisplayTreeNode: function (op, callback) { - var self = this; - var result = []; - var selectedValues = op.selectedValues; - - if (selectedValues == null || BI.isEmpty(selectedValues)) { - callback({}); - return; - } - - doCheck([], this.tree.getRoot(), selectedValues); - - callback({ - items: result - }); - - function doCheck(parentValues, node, selected) { - if (selected == null || BI.isEmpty(selected)) { - BI.each(node.getChildren(), function (i, child) { - var newParents = BI.clone(parentValues); - newParents.push(child.value); - var llen = self._getChildCount(newParents); - createOneJson(child, node.id, llen); - doCheck(newParents, child, {}); - }); - return; - } - BI.each(selected, function (k) { - var node = self._getTreeNode(parentValues, k); - var newParents = BI.clone(parentValues); - newParents.push(node.value); - createOneJson(node, node.parent && node.parent.id, getCount(selected[k], newParents)); - doCheck(newParents, node, selected[k]); - }) - } - - function getCount(jo, parentValues) { - if (jo == null) { - return 0; - } - if (BI.isEmpty(jo)) { - return self._getChildCount(parentValues); - } - - return BI.size(jo); - } - - function createOneJson(node, pId, llen) { - result.push({ - id: node.id, - pId: pId, - text: node.text + (llen > 0 ? ("(" + BI.i18nText("BI-Basic_Altogether") + llen + BI.i18nText("BI-Basic_Count") + ")") : ""), - value: node.value, - open: true - }); - } - }, - - _reqSelectedTreeNode: function (op, callback) { - var self = this; - var selectedValues = BI.deepClone(op.selectedValues); - var notSelectedValue = op.notSelectedValue || {}; - var keyword = op.keyword || ""; - var parentValues = op.parentValues || []; - - if (selectedValues == null || BI.isEmpty(selectedValues)) { - callback({}); - return; - } - - dealWithSelectedValues(selectedValues); - callback(selectedValues); - - - function dealWithSelectedValues(selectedValues) { - var p = parentValues.concat(notSelectedValue); - //存储的值中存在这个值就把它删掉 - //例如选中了中国-江苏-南京, 取消中国或江苏或南京 - if (canFindKey(selectedValues, p)) { - //如果搜索的值在父亲链中 - if (isSearchValueInParent(p)) { - //例如选中了 中国-江苏, 搜索江苏, 取消江苏 - //例如选中了 中国-江苏, 搜索江苏, 取消中国 - self._deleteNode(selectedValues, p); - } else { - var searched = []; - var finded = search(parentValues, notSelectedValue, [], searched); - if (finded && BI.isNotEmptyArray(searched)) { - BI.each(searched, function (i, arr) { - var node = self._getNode(selectedValues, arr); - if (node) { - //例如选中了 中国-江苏-南京,搜索南京,取消中国 - self._deleteNode(selectedValues, arr); - } else { - //例如选中了 中国-江苏,搜索南京,取消中国 - expandSelectedValue(selectedValues, arr, BI.last(arr)); - } - }) - } - } - } - - //存储的值中不存在这个值,但父亲节点是全选的情况 - //例如选中了中国-江苏,取消南京 - //important 选中了中国-江苏,取消了江苏,但是搜索的是南京 - if (isChild(selectedValues, p)) { - var result = [], finded = false; - //如果parentValues中有匹配的值,说明搜索结果不在当前值下 - if (isSearchValueInParent(p)) { - finded = true; - } else { - //从当前值开始搜 - finded = search(parentValues, notSelectedValue, result); - p = parentValues; - } - - if (finded === true) { - //去掉点击的节点之后的结果集 - expandSelectedValue(selectedValues, p, notSelectedValue); - //添加去掉搜索的结果集 - if (result.length > 0) { - BI.each(result, function (i, strs) { - self._buildTree(selectedValues, strs); - }) - } - } - } - - } - - function expandSelectedValue(selectedValues, parents, notSelectedValue) { - var next = selectedValues; - var childrenCount = []; - var path = []; - //去掉点击的节点之后的结果集 - BI.some(parents, function (i, v) { - var t = next[v]; - if (t == null) { - if (i === 0) { - return true; - } - if (BI.isEmpty(next)) { - var split = parents.slice(0, i); - var expanded = self._getChildren(split); - path.push(split); - childrenCount.push(expanded.length); - //如果只有一个值且取消的就是这个值 - if (i === parents.length - 1 && expanded.length === 1 && expanded[0] === notSelectedValue) { - for (var j = childrenCount.length - 1; j >= 0; j--) { - if (childrenCount[j] === 1) { - self._deleteNode(selectedValues, path[j]); - } else { - break; - } - } - } else { - BI.each(expanded, function (m, child) { - if (i === parents.length - 1 && child.value === notSelectedValue) { - return true; - } - next[child.value] = {}; - }); - } - next = next[v]; - } else { - return true; - // next = {}; - // next[v] = {}; - } - } else { - next = t; - } - }); - } - - function search(parents, current, result, searched) { - var newParents = BI.clone(parents); - newParents.push(current); - if (self._isMatch(parents, current, keyword)) { - searched && searched.push(newParents); - return true; - } - - var children = self._getChildren(newParents); - - var notSearch = []; - var can = false; - - BI.each(children, function (i, child) { - if (search(newParents, child.value, result, searched)) { - can = true; - } else { - notSearch.push(child.value); - } - }); - if (can === true) { - BI.each(notSearch, function (i, v) { - var next = BI.clone(newParents); - next.push(v); - result.push(next); - }); - } - return can; - } - - function isSearchValueInParent(parentValues) { - for (var i = 0, len = parentValues.length; i < len; i++) { - if (self._isMatch(parentValues.slice(0, parentValues.length - 1), parentValues[i], keyword)) { - return true; - } - } - return false; - } - - function canFindKey(selectedValues, parents) { - var t = selectedValues; - for (var i = 0; i < parents.length; i++) { - var v = parents[i]; - t = t[v]; - if (t == null) { - return false; - } - } - return true; - } - - function isChild(selectedValues, parents) { - var t = selectedValues; - for (var i = 0; i < parents.length; i++) { - var v = parents[i]; - if (!BI.has(t, v)) { - return false; - } - t = t[v]; - if (BI.isEmpty(t)) { - return true; - } - } - return false; - } - }, - - _reqAdjustTreeNode: function (op, callback) { - var self = this; - var result = []; - var selectedValues = op.selectedValues; - if (selectedValues == null || BI.isEmpty(selectedValues)) { - callback({}); - return; - } - BI.each(selectedValues, function (k, v) { - result.push([k]); - }); - - dealWithSelectedValues(selectedValues, []); - - var jo = {}; - BI.each(result, function (i, strs) { - self._buildTree(jo, strs); - }); - callback(jo); - - function dealWithSelectedValues(selected, parents) { - if (selected == null || BI.isEmpty(selected)) { - return true; - } - var can = true; - BI.each(selected, function (k, v) { - var p = BI.clone(parents); - p.push(k); - if (!dealWithSelectedValues(selected[k], p)) { - BI.each(selected[k], function (nk, nv) { - var t = BI.clone(p); - t.push(nk); - result.push(t); - }); - can = false; - } - }); - return can && isAllSelected(selected, parents); - } - - function isAllSelected(selected, parents) { - return BI.isEmpty(selected) || self._getChildCount(parents) === BI.size(selected); - } - }, - - _reqInitTreeNode: function (op, callback) { - var self = this; - var result = []; - var keyword = op.keyword || ""; - var selectedValues = op.selectedValues; - var lastSearchValue = op.lastSearchValue || ""; - var output = search(); - BI.nextTick(function () { - callback({ - hasNext: output.length > self._const.perPage, - items: result, - lastSearchValue: BI.last(output) - }) - }); - - function search() { - var children = self._getChildren([]); - var start = children.length; - if (lastSearchValue !== "") { - for (var j = 0, len = start; j < len; j++) { - if (children[j].value === lastSearchValue) { - start = j + 1; - break; - } - } - } else { - start = 0; - } - var output = []; - for (var i = start, len = children.length; i < len; i++) { - if (output.length < self._const.perPage) { - var find = nodeSearch(1, [], children[i].value, false, result); - } else if (output.length === self._const.perPage) { - var find = nodeSearch(1, [], children[i].value, false, []); - } - if (find[0] === true) { - output.push(children[i].value); - } - if (output.length > self._const.perPage) { - break; - } - } - return output; - } - - function nodeSearch(deep, parentValues, current, isAllSelect, result) { - if (self._isMatch(parentValues, current, keyword)) { - var checked = isAllSelect || isSelected(parentValues, current); - createOneJson(parentValues, current, false, checked, !isAllSelect && isHalf(parentValues, current), true, result); - return [true, checked]; - } - var newParents = BI.clone(parentValues); - newParents.push(current); - var children = self._getChildren(newParents); - - var can = false, checked = false; - - var isCurAllSelected = isAllSelect || isAllSelected(parentValues, current); - BI.each(children, function (i, child) { - var state = nodeSearch(deep + 1, newParents, child.value, isCurAllSelected, result); - if (state[1] === true) { - checked = true; - } - if (state[0] === true) { - can = true; - } - }); - if (can === true) { - checked = isCurAllSelected || (isSelected(parentValues, current) && checked); - createOneJson(parentValues, current, true, checked, false, false, result); - } - return [can, checked]; - } - - function createOneJson(parentValues, value, isOpen, checked, half, flag, result) { - var node = self._getTreeNode(parentValues, value) - result.push({ - id: node.id, - pId: node.pId, - text: node.text, - value: node.value, - title: node.title, - isParent: node.getChildrenLength() > 0, - open: isOpen, - checked: checked, - halfCheck: half, - flag: flag - }); - } - - function isHalf(parentValues, value) { - var find = findSelectedObj(parentValues); - if (find == null) { - return null; - } - return BI.any(find, function (v, ob) { - if (v === value) { - if (ob != null && !BI.isEmpty(ob)) { - return true; - } - } - }); - } - - function isAllSelected(parentValues, value) { - var find = findSelectedObj(parentValues); - if (find == null) { - return null; - } - return BI.any(find, function (v, ob) { - if (v === value) { - if (ob != null && BI.isEmpty(ob)) { - return true; - } - } - }); - } - - function isSelected(parentValues, value) { - var find = findSelectedObj(parentValues); - if (find == null) { - return false; - } - return BI.any(find, function (v) { - if (v === value) { - return true; - } - }); - } - - function findSelectedObj(parentValues) { - var find = selectedValues; - if (find == null) { - return null; - } - BI.every(parentValues, function (i, v) { - find = find[v]; - if (find == null) { - return false; - } - return true; - }); - return find; - } - }, - - _reqTreeNode: function (op, callback) { - var self = this; - var result = []; - var times = op.times; - var checkState = op.checkState || {}; - var parentValues = op.parentValues || []; - var selectedValues = op.selectedValues || {}; - var valueMap = {}; - // if (judgeState(parentValues, selectedValues, checkState)) { - valueMap = dealWidthSelectedValue(parentValues, selectedValues); - // } - var nodes = this._getChildren(parentValues); - for (var i = (times - 1) * this._const.perPage; nodes[i] && i < times * this._const.perPage; i++) { - var state = getCheckState(nodes[i].value, parentValues, valueMap, checkState); - result.push({ - id: nodes[i].id, - pId: nodes[i].pId, - value: nodes[i].value, - text: nodes[i].text, - times: 1, - isParent: nodes[i].getChildrenLength() > 0, - checked: state[0], - halfCheck: state[1] - }) - } - BI.nextTick(function () { - callback({ - items: result, - hasNext: nodes.length > times * self._const.perPage - }); - }); - - function judgeState(parentValues, selected_value, checkState) { - var checked = checkState.checked, half = checkState.half; - if (parentValues.length > 0 && !checked) { - return false; - } - return (parentValues.length === 0 || (checked && half) && !BI.isEmpty(selected_value)); - } - - function dealWidthSelectedValue(parentValues, selectedValues) { - var valueMap = {}; - BI.each(parentValues, function (i, v) { - selectedValues = selectedValues[v] || {}; - }); - BI.each(selectedValues, function (value, obj) { - if (BI.isNull(obj)) { - valueMap[value] = [0, 0]; - return; - } - if (BI.isEmpty(obj)) { - valueMap[value] = [2, 0]; - return; - } - var nextNames = {}; - BI.each(obj, function (t, o) { - if (BI.isNull(o) || BI.isEmpty(o)) { - nextNames[t] = true; - } - }); - valueMap[value] = [1, BI.size(nextNames)]; - }); - return valueMap; - } - - function getCheckState(current, parentValues, valueMap, checkState) { - var checked = checkState.checked, half = checkState.half; - var tempCheck = false, halfCheck = false; - if (BI.has(valueMap, current)) { - //可能是半选 - if (valueMap[current][0] === 1) { - var values = BI.clone(parentValues); - values.push(current); - var childCount = self._getChildCount(values); - if (childCount > 0 && childCount !== valueMap[current][1]) { - halfCheck = true; - } - } else if (valueMap[current][0] === 2) { - tempCheck = true; - } - } - var check; - if (!checked && !halfCheck && !tempCheck) { - check = BI.has(valueMap, current); - } else { - check = ((tempCheck || checked) && !half) || BI.has(valueMap, current); - } - return [check, halfCheck]; - } - }, - - _getNode: function (selectedValues, parentValues) { - var pNode = selectedValues; - for (var i = 0, len = parentValues.length; i < len; i++) { - if (pNode == null) { - return null; - } - pNode = pNode[parentValues[i]]; - } - return pNode; - }, - - _deleteNode: function (selectedValues, values) { - var name = values[values.length - 1]; - var p = values.slice(0, values.length - 1); - var pNode = this._getNode(selectedValues, p); - if (pNode != null && pNode[name]) { - delete pNode[name]; - //递归删掉空父节点 - while (p.length > 0 && BI.isEmpty(pNode)) { - name = p[p.length - 1]; - p = p.slice(0, p.length - 1); - pNode = this._getNode(selectedValues, p); - if (pNode != null) { - delete pNode[name]; - } - } - } - }, - - _buildTree: function (jo, values) { - var t = jo; - BI.each(values, function (i, v) { - if (!BI.has(t, v)) { - t[v] = {}; - } - t = t[v]; - }); - }, - - _isMatch: function (parentValues, value, keyword) { - var node = this._getTreeNode(parentValues, value); - var finded = BI.Func.getSearchResult([node.text || node.value], keyword); - return finded.finded.length > 0 || finded.matched.length > 0; - }, - - _getTreeNode: function (parentValues, v) { - var self = this; - var findedParentNode; - var index = 0; - this.tree.traverse(function (node) { - if (self.tree.isRoot(node)) { - return; - } - if (index > parentValues.length) { - return false; - } - if (index === parentValues.length && node.value === v) { - findedParentNode = node; - return false; - } - if (node.value === parentValues[index]) { - index++; - return; - } - return true; - }); - return findedParentNode; - }, - - _getChildren: function (parentValues) { - if (parentValues.length > 0) { - var value = BI.last(parentValues); - var parent = this._getTreeNode(parentValues.slice(0, parentValues.length - 1), value); - } else { - var parent = this.tree.getRoot(); - } - return parent.getChildren(); - }, - - _getChildCount: function (parentValues) { - return this._getChildren(parentValues).length; - } -});/** - * 简单的复选下拉树控件, 适用于数据量少的情况 - * - * Created by GUY on 2015/10/29. - * @class BI.TreeValueChooserCombo - * @extends BI.Widget - */ -BI.TreeValueChooserCombo = BI.inherit(BI.AbstractTreeValueChooser, { - - _defaultConfig: function () { - return BI.extend(BI.TreeValueChooserCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-tree-value-chooser-combo", - width: 200, - height: 30, - items: null, - itemsCreator: BI.emptyFn - }); - }, - - _init: function () { - BI.TreeValueChooserCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (BI.isNotNull(o.items)) { - this._initData(o.items); - } - this.combo = BI.createWidget({ - type: 'bi.multi_tree_combo', - element: this, - itemsCreator: BI.bind(this._itemsCreator, this), - width: o.width, - height: o.height - }); - - this.combo.on(BI.MultiTreeCombo.EVENT_CONFIRM, function () { - self.fireEvent(BI.TreeValueChooserCombo.EVENT_CONFIRM); - }); - }, - - setValue: function (v) { - this.combo.setValue(v); - }, - - getValue: function () { - return this.combo.getValue(); - }, - - populate: function () { - this.combo.populate.apply(this.combo, arguments); - } -}); -BI.TreeValueChooserCombo.EVENT_CONFIRM = "TreeValueChooserCombo.EVENT_CONFIRM"; -BI.shortcut('bi.tree_value_chooser_combo', BI.TreeValueChooserCombo);/** - * 简单的复选下拉树控件, 适用于数据量少的情况 - * - * Created by GUY on 2015/10/29. - * @class BI.TreeValueChooserPane - * @extends BI.AbstractTreeValueChooser - */ -BI.TreeValueChooserPane = BI.inherit(BI.AbstractTreeValueChooser, { - - _defaultConfig: function () { - return BI.extend(BI.TreeValueChooserPane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-tree-value-chooser-pane", - items: null, - itemsCreator: BI.emptyFn - }); - }, - - _init: function () { - BI.TreeValueChooserPane.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.pane = BI.createWidget({ - type: 'bi.multi_select_tree', - element: this, - itemsCreator: BI.bind(this._itemsCreator, this) - }); - - this.pane.on(BI.MultiSelectTree.EVENT_CHANGE, function () { - self.fireEvent(BI.TreeValueChooserPane.EVENT_CHANGE); - }); - if (BI.isNotNull(o.items)) { - this._initData(o.items); - this.populate(); - } - }, - - setSelectedValue: function (v) { - this.pane.setSelectedValue(v); - }, - - setValue: function (v) { - this.pane.setValue(v); - }, - - getValue: function () { - return this.pane.getValue(); - }, - - populate: function () { - this.pane.populate.apply(this.pane, arguments); - } -}); -BI.TreeValueChooserPane.EVENT_CHANGE = "TreeValueChooserPane.EVENT_CHANGE"; -BI.shortcut('bi.tree_value_chooser_pane', BI.TreeValueChooserPane);/** - * 简单的复选下拉框控件, 适用于数据量少的情况 - * 封装了字段处理逻辑 - * - * Created by GUY on 2015/10/29. - * @class BI.AbstractValueChooser - * @extends BI.Widget - */ -BI.AbstractValueChooser = BI.inherit(BI.Widget, { - - _const: { - perPage: 100 - }, - - _defaultConfig: function () { - return BI.extend(BI.AbstractValueChooser.superclass._defaultConfig.apply(this, arguments), { - items: null, - itemsCreator: BI.emptyFn, - cache: true - }); - }, - - _valueFormatter: function (v) { - var text = v; - if (BI.isNotNull(this.items)) { - BI.some(this.items, function (i, item) { - if (item.value === v) { - text = item.text; - return true; - } - }); - } - return text; - }, - - _getItemsByTimes: function (items, times) { - var res = []; - for (var i = (times - 1) * this._const.perPage; items[i] && i < times * this._const.perPage; i++) { - res.push(items[i]); - } - return res; - }, - - _hasNextByTimes: function (items, times) { - return times * this._const.perPage < items.length; - }, - - _itemsCreator: function (options, callback) { - var self = this, o = this.options; - if (!o.cache || !this.items) { - o.itemsCreator({}, function (items) { - self.items = items; - call(items); - }); - } else { - call(this.items); - } - function call(items) { - var keywords = (options.keywords || []).slice(); - if (options.keyword) { - keywords.push(options.keyword); - } - BI.each(keywords, function (i, kw) { - var search = BI.Func.getSearchResult(items, kw); - items = search.matched.concat(search.finded); - }); - if (options.selectedValues) {//过滤 - var filter = BI.makeObject(options.selectedValues, true); - items = BI.filter(items, function (i, ob) { - return !filter[ob.value]; - }); - } - if (options.type === BI.MultiSelectCombo.REQ_GET_ALL_DATA) { - callback({ - items: items - }); - return; - } - if (options.type === BI.MultiSelectCombo.REQ_GET_DATA_LENGTH) { - callback({count: items.length}); - return; - } - callback({ - items: self._getItemsByTimes(items, options.times), - hasNext: self._hasNextByTimes(items, options.times) - }); - } - } -});/** - * 简单的复选下拉框控件, 适用于数据量少的情况 - * 封装了字段处理逻辑 - * - * Created by GUY on 2015/10/29. - * @class BI.ValueChooserCombo - * @extends BI.Widget - */ -BI.ValueChooserCombo = BI.inherit(BI.AbstractValueChooser, { - - _defaultConfig: function () { - return BI.extend(BI.ValueChooserCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-value-chooser-combo", - width: 200, - height: 30, - items: null, - itemsCreator: BI.emptyFn, - cache: true - }); - }, - - _init: function () { - BI.ValueChooserCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (BI.isNotNull(o.items)) { - this.items = o.items; - } - this.combo = BI.createWidget({ - type: 'bi.multi_select_combo', - element: this, - itemsCreator: BI.bind(this._itemsCreator, this), - valueFormatter: BI.bind(this._valueFormatter, this), - width: o.width, - height: o.height - }); - - this.combo.on(BI.MultiSelectCombo.EVENT_CONFIRM, function () { - self.fireEvent(BI.ValueChooserCombo.EVENT_CONFIRM); - }); - }, - - setValue: function (v) { - this.combo.setValue(v); - }, - - getValue: function () { - var val = this.combo.getValue() || {}; - return { - type: val.type, - value: val.value - } - }, - - populate: function () { - this.combo.populate.apply(this, arguments); - } -}); -BI.ValueChooserCombo.EVENT_CONFIRM = "ValueChooserCombo.EVENT_CONFIRM"; -BI.shortcut('bi.value_chooser_combo', BI.ValueChooserCombo);/** - * 简单的复选下拉框控件, 适用于数据量少的情况 - * 封装了字段处理逻辑 - * - * Created by GUY on 2015/10/29. - * @class BI.ValueChooserPane - * @extends BI.Widget - */ -BI.ValueChooserPane = BI.inherit(BI.AbstractValueChooser, { - - _defaultConfig: function () { - return BI.extend(BI.ValueChooserPane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-value-chooser-pane", - items: null, - itemsCreator: BI.emptyFn, - cache: true - }); - }, - - _init: function () { - BI.ValueChooserPane.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.list = BI.createWidget({ - type: 'bi.multi_select_list', - element: this, - itemsCreator: BI.bind(this._itemsCreator, this), - valueFormatter: BI.bind(this._valueFormatter, this) - }); - - this.list.on(BI.MultiSelectList.EVENT_CHANGE, function () { - self.fireEvent(BI.ValueChooserPane.EVENT_CHANGE); - }); - if (BI.isNotNull(o.items)) { - this.items = o.items; - this.populate(); - } - }, - - setValue: function (v) { - this.list.setValue(v); - }, - - getValue: function () { - var val = this.list.getValue() || {}; - return { - type: val.type, - value: val.value - } - }, - - populate: function () { - this.list.populate.apply(this.list, arguments); - } -}); -BI.ValueChooserPane.EVENT_CHANGE = "ValueChooserPane.EVENT_CHANGE"; -BI.shortcut('bi.value_chooser_pane', BI.ValueChooserPane); \ No newline at end of file diff --git a/docs/.gitignore b/docs/.gitignore deleted file mode 100644 index 680a9dfb35..0000000000 --- a/docs/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -.DS_Store -.svn -.sass-cache -.vscode -.tmp -node_modules -bower_components -tmp -dist -archive -archive.zip -*.log -#_book -test \ No newline at end of file diff --git a/docs/LICENSE b/docs/LICENSE deleted file mode 100644 index 8fdf076ab4..0000000000 --- a/docs/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2017 gittz - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/OVERVIEW.md b/docs/OVERVIEW.md deleted file mode 100644 index 1bb438f6e9..0000000000 --- a/docs/OVERVIEW.md +++ /dev/null @@ -1,6 +0,0 @@ -# 通用规范 -1. 控件都会提供setValue, getValue, populate这几个方法来设置值,获取值(展示类控件除外)和刷新控件 -2. 控件都会提供setEnable, setVisible, setValid这几个方法来设置使能,是否可见,是否有效状态,并且在fineui2.0之后,会自动给子组件设置同样的状态,不要重写这些方法,一些需要在设置状态时的额外操作可以通过重写_setXXX来实现 -3. 布局都有lgap、rgap、tgap、bgap、hgap、vgap、scrollable,scrollx,scrolly,items属性 -3. 慎用empty -4. 谨慎监听和触发BI.Controller.EVENT_CHANGE事件,一般来说,控件都会有一个BI.ClassName.EVENT_CHANGE事件,一些特殊的事件会在对应控件文档中列出 \ No newline at end of file diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index f7866245f2..0000000000 --- a/docs/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# FineUI -FineUI文档 - - -#### 文档地址 - -GithubPages: [https://fanruan.github.io/fineui](https://fanruan.github.io/fineui) - -CodingPages: [http://fanruan.coding.me/fineui](http://fanruan.coding.me/fineui) - - -#### Demo - -CodingPages: [http://fanruan.coding.me/fineui/dist/index.html](http://fanruan.coding.me/fineui/dist/index.html) - diff --git a/docs/START.md b/docs/START.md deleted file mode 100644 index 9edc796af1..0000000000 --- a/docs/START.md +++ /dev/null @@ -1,35 +0,0 @@ - - -#### 第一个demo -```html - - - - - - - - - - - -``` - -#### 源码集成Demo -BI的组件就是集成的fineui进行开发的 -[https://coding.net/u/fanruan/p/bi-components/](https://coding.net/u/fanruan/p/bi-components/) diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md deleted file mode 100644 index 9cd2996db4..0000000000 --- a/docs/SUMMARY.md +++ /dev/null @@ -1,208 +0,0 @@ -# Summary - -## 总览 -* [概览](README.md) -* [起步](START.md) - -## 通用规范 -* [通用规范](OVERVIEW.md) - -## 核心控件 -* 布局 - * [vertical](core/layout/vertical.md) - * [horizontal](core/layout/horizontal.md) - * [htape](core/layout/htape.md) - * [vtape](core/layout/vtape.md) - * [center_adapt](core/layout/center_adapt.md) - * [vertical_adapt](core/layout/vertical_adapt.md) - * [left_right_vertical_adapt](core/layout/left_right_vertical_adapt.md) - * [flow](core/layout/flow.md) - * [center](core/layout/center.md) - * [horizontal_adapt](core/layout/horizontal_adapt.md) - * [horizontal_auto](core/layout/horizontal_auto.md) - * [horizontal_float](core/layout/horizontal_float.md) - * [float_center](core/layout/float_center.md) - * [border](core/layout/border.md) - * [grid](core/layout/grid.md) - * [table](core/layout/table.md) - * [td](core/layout/td.md) - * ... -* 抽象控件 - * [button_group](core/abstract/button_group.md) - * [button_tree](core/abstract/button_tree.md) - * [virtual_group](core/abstract/virtual_group.md) - * [custom_tree](core/abstract/custom_tree.md) - * [grid_view](core/abstract/grid_view.md) - * [collection_view](core/abstract/collection_view.md) - * [list_view](core/abstract/list_view.md) - * [virtual_list](core/abstract/virtual_list.md) -* 组合控件 - * [combo](core/combination/bi.combo.md) - * [expander](core/combination/bi.expander.md) - * [combo_group](core/combination/combo_group.md) - * [loader](core/combination/loader.md) - * [navigation](core/combination/navigation.md) - * [searcher](core/combination/searcher.md) - * [switcher](core/combination/switcher.md) - * [tab](core/combination/tab.md) -* 弹出层 - * [float_box](core/layer/layer_float_box.md) - * [popup_view](core/layer/layer_popup.md) - * [searcher_view](core/layer/layer_searcher.md) -* [Widget](core/widget.md) -* [Single](core/single.md) -* [BasicButton](core/basic_button.md) -* [NodeButton](core/node_button.md) -* [Pane](core/pane.md) - -## 基础控件 -* [label](base/label.md) -* [bubble](base/bubble.md) -* [toast](base/toast.md) -* [message](base/message.md) -* 按钮 - * [button](base/button/button.md) - * [text_button](base/button/text_button.md) - * [icon_button](base/button/icon_button.md) - * [image_button](base/button/image_button.md) -* 编辑框 - * [editor](base/editor/editor.md) - * [code_editor](base/editor/code_editor.md) - * [multifile_editor](base/editor/multifile_editor.md) - * [textarea_editor](base/editor/textarea_editor.md) - * [formula_editor](base/editor/formula_editor.md) - * [rich_editor](base/editor/rich_editor.md) -* 表格 - * [table_view](base/table/table_view.md) - * [grid_table](base/table/grid_table.md) - * [collection_table](base/table/collection_table.md) - * [resizable_table](base/table/resizable_table.md) -* [pager](base/pager.md) -* [svg](base/svg.md) -* [canvas](base/canvas.md) - -## 实例控件 -* 按钮 - * [multi_select_item](case/button/multi_select_item.md) - * [single_select_item](case/button/single_select_item.md) - * [single_select_radio_item](case/button/single_select_radio_item.md) -* 文本框 - * [shelter_editor](case/editor/shelter_editor.md) - * [sign_editor](case/editor/sign_editor.md) - * [sign_initial_editor](case/editor/sign_initial_editor.md) - * [state_editor](case/editor/state_editor.md) - * [simple_state_editor](case/editor/simple_state_editor.md) - * [clear_editor](detailed/text_input/bi.clear_editor.md) -* 列表 - * [select_list](case/list/list.select.md) - * [lazy_loader](case/loader/lazy_loader.md) - * [list_loader](case/loader/list_loader.md) - * [sort_list(jquery-sortable封装)](case/loader/sort_list.md) -* 面板 - * [pane_list](case/layer/pane_list.md) - * [panel](case/layer/panel.md) -* popup弹出层 - * [multi_popup_view](case/layer/multi_popup_layer.md) - * [popup_panel](case/layer/layer_panel.md) -* 触发器 - * [editor_trigger](case/trigger/editor_trigger.md) - * [icon_trigger](case/trigger/icon_trigger.md) - * [text_trigger](case/trigger/text_trigger.md) - * [select_text_trigger](case/trigger/select_text_trigger.md) -* 下拉框 - * [bubble_combo](case/combo/bubble_combo.md) - * [icon_combo](case/combo/icon_combo.md) - * [static_combo](case/combo/static_combo.md) - * [text_value_combo](case/combo/text_value_combo.md) - * [text_value_check_combo](case/combo/text_value_check_combo.md) - * [editor_icon_check_combo](case/combo/editor_icon_check_combo.md) - * [text_value_down_list_combo](case/combo/text_value_down_list_combo.md) -* 树 - * [branch_tree](case/tree/branch_tree.md) - * [handstand_branch_tree](case/tree/handstand_branch_tree.md) - * [display_tree](case/tree/display_tree.md) - * [simple_tree](case/tree/simple_tree.md) - * [level_tree](case/tree/level_tree.md) - * [branch_relation](case/tree/branch_relation.md) -* 表格 - * [adaptive_table](case/table/adaptive_table.md) - * [tree_table](case/table/tree_table.md) - * [layer_tree_table](case/table/layer_tree_table.md) -* Pager - * [all_count_pager](case/pager/all_count_pager.md) - * [direction_pager](case/pager/direction_pager.md) -* [calendar](case/calendar.md) -* [clipboard](case/clipboard.md) -* [complex_canvas](case/complex_canvas.md) -* [color_chooser](case/color_chooser.md) -* [color_chooser_popup](case/color_chooser_popup.md) -* [segment](case/segment.md) - -## 详细控件 -* 各种小组件 - * [通用按钮](detailed/bi.button/general.md) - * [提示性信息](detailed/bi.button/tooltip.md) - * [各种items](detailed/bi.button/items.md) - * [各种节点nodes](detailed/bi.button/node.md) - * [各种segment](detailed/bi.button/segment.md) -* 文本框控件 - * [text_editor](detailed/text_input/bi.text_editor.md) - * [search_editor](detailed/text_input/bi.search_editor.md) - * [number_editor](detailed/text_input/number_editor.md) -* 树 - * [single_level_tree](detailed/tree/single_level_tree.md) - * [select_level_tree](detailed/tree/select_level_tree.md) - * [multi_single_level_tree](detailed/tree/multi_single_level_tree.md) - * [multi_select_level_tree](detailed/tree/multi_select_level_tree.md) - * [switch_tree](detailed/tree/bi.switch_tree.md) -* 表格 - * [preview_table](detailed/table/bi.preview_table.md) - * [responsive_table](detailed/table/bi.responsive_table.md) - * [sequence_table](detailed/table/bi.sequence_table.md) - * [page_table](detailed/table/bi.page_table.md) -* 下拉列表 - * [down_list_combo](detailed/down_list_combo.md) -* 复选下拉框 - * [multi_select_combo](detailed/multi_select_combo.md) -* 简单下拉树 - * [single_tree_combo](detailed/combo/single_tree_combo.md) -* 多层级下拉树 - * [multilayer_single_tree_combo](detailed/combo/multilayer_single_tree_combo.md) -* 可选下拉树 - * [select_tree_combo](detailed/combo/select_tree_combo.md) -* 多层级可选下拉树 - * [multilayer_select_tree_combo](detailed/combo/multilayer_select_tree_combo.md) -* 复选下拉树 - * [multi_tree_combo](detailed/tree/bi.multi_tree_combo.md) -* 日期相关控件 - * [year_combo](detailed/year_combo.md) - * [month_combo](detailed/month_combo.md) - * [quarter_combo](detailed/quarter_combo.md) - * [year_month_combo](detailed/date/year_month_combo.md) - * [year_quarter_combo](detailed/date/year_quarter_combo.md) - * [date_pane](detailed/date/date_pane.md) - * [date_combo](detailed/date/date_combo.md) - * [multidate_combo](detailed/date/multidate_combo.md) - * [date_time](detailed/date/date_time.md) - * [time_interval](detailed/date/time_interval.md) -* 数值区间控件 - * [number_interval](detailed/number_interval.md) -* 路径选择 - * [path_chooser](detailed/path/path_chooser.md) - * [direction_path_chooser](detailed/path/direction_path_chooser.md) -* 关联视图 - * [relation_view](detailed/relation_view.md) -* 文件管理 - * [file_manager](detailed/file_manager.md) - -## 部件 -* [value_chooser_combo](components/value_chooser_combo.md) -* [value_chooser_pane](components/value_chooser_pane.md) -* [all_value_chooser_combo](components/all_value_chooser_combo.md) -* [tree_value_chooser_combo](components/tree_value_chooser_combo.md) -* [tree_value_chooser_pane](components/tree_value_chooser_pane.md) - -## addons -* sliders - * [single_slider](detailed/single_slider.md) - diff --git a/docs/_book/.gitignore b/docs/_book/.gitignore deleted file mode 100644 index 680a9dfb35..0000000000 --- a/docs/_book/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -.DS_Store -.svn -.sass-cache -.vscode -.tmp -node_modules -bower_components -tmp -dist -archive -archive.zip -*.log -#_book -test \ No newline at end of file diff --git a/docs/_book/LICENSE b/docs/_book/LICENSE deleted file mode 100644 index 8fdf076ab4..0000000000 --- a/docs/_book/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2017 gittz - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/docs/_book/OVERVIEW.html b/docs/_book/OVERVIEW.html deleted file mode 100644 index c2546ed418..0000000000 --- a/docs/_book/OVERVIEW.html +++ /dev/null @@ -1,2965 +0,0 @@ - - - - - - - 通用规范 · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - - - - - -
- -
- -
- - - - - - - - -
-
- -
-
- -
- -

通用规范

-
    -
  1. 控件都会提供setValue, getValue, populate这几个方法来设置值,获取值(展示类控件除外)和刷新控件
  2. -
  3. 控件都会提供setEnable, setVisible, setValid这几个方法来设置使能,是否可见,是否有效状态,并且在fineui2.0之后,会自动给子组件设置同样的状态,不要重写这些方法,一些需要在设置状态时的额外操作可以通过重写_setXXX来实现
  4. -
  5. 布局都有lgap、rgap、tgap、bgap、hgap、vgap、scrollable,scrollx,scrolly,items属性
  6. -
  7. 慎用empty
  8. -
  9. 谨慎监听和触发BI.Controller.EVENT_CHANGE事件,一般来说,控件都会有一个BI.ClassName.EVENT_CHANGE事件,一些特殊的事件会在对应控件文档中列出
  10. -
- - -
- -
-
-
- -

results matching ""

-
    - -
    -
    - -

    No results matching ""

    - -
    -
    -
    - -
    -
    - -
    - - - - -
    - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/START.html b/docs/_book/START.html deleted file mode 100644 index 25c6c250ad..0000000000 --- a/docs/_book/START.html +++ /dev/null @@ -1,2990 +0,0 @@ - - - - - - - 起步 · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - -
    - -
    - -
    - - - - - - - - -
    -
    - -
    -
    - -
    - -

    第一个demo

    -
    <html>
    -    <head>
    -          <meta charset="utf-8">
    -          <title></title>
    -          <link rel="stylesheet" type="text/css" href="https://fanruan.coding.me/fineui/dist/bundle.min.css" />
    -          <script src="https://coding.net/u/fanruan/p/fineui/git/raw/master/dist/bundle.min.js"></script>
    -    </head>
    -    <body>
    -          <script>
    -            $(function(){
    -                BI.createWidget({
    -                    type:"bi.absolute",
    -                    element: "body",
    -                    items: [{
    -                        el:{
    -                            type: "bi.button",
    -                            text: "这是一个按钮"
    -                        },
    -                        left: 100,
    -                        top: 100
    -                    }]
    -                })
    -            })
    -          </script>
    -    </body>
    -</html>
    -
    -

    源码集成Demo

    -

    BI的组件就是集成的fineui进行开发的 -https://coding.net/u/fanruan/p/bi-components/

    - - -
    - -
    -
    -
    - -

    results matching ""

    -
      - -
      -
      - -

      No results matching ""

      - -
      -
      -
      - -
      -
      - -
      - - - - -
      - - -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/bubble.html b/docs/_book/base/bubble.html deleted file mode 100644 index be2b97c6ac..0000000000 --- a/docs/_book/base/bubble.html +++ /dev/null @@ -1,3027 +0,0 @@ - - - - - - - bubble · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      -
      - - - - - - - - -
      - -
      - -
      - - - - - - - - -
      -
      - -
      -
      - -
      - -

      bi.bubble

      -

      气泡提示

      -
      
      -BI.createWidget({
      -  type: 'bi.bubble',
      -  element: "#wrapper",
      -  height: 30,
      -  text: "测试"
      -})
      -
      -
      - - -

      API

      -
      基础属性
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      参数说明类型可选值默认值
      direction气泡显示位置string"top"
      height气泡高度number35
      text气泡显示内容string" "
      -

      对外方法

      - - - - - - - - - - - - - - - -
      名称说明回调参数
      setText设置文本值需要设置的文本值text
      -
      - - -
      - -
      -
      -
      - -

      results matching ""

      -
        - -
        -
        - -

        No results matching ""

        - -
        -
        -
        - -
        -
        - -
        - - - - -
        - - -
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/bubble.md b/docs/_book/base/bubble.md deleted file mode 100644 index bd138066d8..0000000000 --- a/docs/_book/base/bubble.md +++ /dev/null @@ -1,40 +0,0 @@ -# bi.bubble - -#### 气泡提示 - -{% method %} -[source](https://jsfiddle.net/fineui/4u705v2v/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.bubble', - element: "#wrapper", - height: 30, - text: "测试" -}) - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :---- |:---- -| direction | 气泡显示位置 | string | — | "top" | -| height | 气泡高度 | number | — | 35 | -| text | 气泡显示内容 | string | — | " " | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setText | 设置文本值 | 需要设置的文本值text| - - ---- \ No newline at end of file diff --git a/docs/_book/base/button/button.html b/docs/_book/base/button/button.html deleted file mode 100644 index 966f023c76..0000000000 --- a/docs/_book/base/button/button.html +++ /dev/null @@ -1,3183 +0,0 @@ - - - - - - - button · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        -
        - - - - - - - - -
        - -
        - -
        - - - - - - - - -
        -
        - -
        -
        - -
        - -

        bi.button

        -

        文字类型的按钮,基类BI.BasicButton

        -
        
        -BI.createWidget({
        -  type: 'bi.button',
        -  element: "#wrapper",
        -  text: '一般按钮',
        -  level: 'common',
        -  height: 30
        -});
        -
        -
        - -

        API

        -
        基础属性
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        参数说明类型可选值默认值
        hgap效果相当于文本框左右padding值,如果clear属性为true,该属性值置0number10
        vgap效果相当于文本框上下padding值number0
        lgap效果相当于文本框left-padding值number0
        rgap效果相当于文本框right-padding值number0
        tgap效果相当于文本框top-padding值number0
        bgap效果相当于文本框bottom-padding值number0
        width宽度number
        height高度number
        -
        高级属性
        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        参数说明类型可选值默认值
        level按钮类型stringcommon,success,warning,ignorecommon
        minWidth最小宽度,如果block/clear中某一项为true,此项值为0,否则为90number90
        shadow是否显示阴影booleantrue,falseprops.clear !== true
        isShadowShowingOnSelected选中状态下是否显示阴影booleantrue,falsetrue
        iconClass图标类型string" "
        block是否块状显示,即不显示边框,没有最小宽度的限制booleantrue,falsefalse
        clear是否去掉边框和背景booleantrue,falsefalse
        textAlign文字布局stringleft,center,rightcneter
        whiteSpace元素内的空白处理方式stringnormal,nowrapnowrap
        forceCenter是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效booleantrue,falsefalse
        textWidth按钮文本宽度numbernull
        textHeight按钮文本高度numbernull
        -

        对外方法

        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        名称说明回调参数
        doRedMark文本标红
        unRedMark取消文本标红
        doHighLight文本高亮
        unHighLight取消文本高亮
        setText设置文本值需要设置的文本值text
        setValue设置文本值需要设置的文本值text
        -
        - - -
        - -
        -
        -
        - -

        results matching ""

        -
          - -
          -
          - -

          No results matching ""

          - -
          -
          -
          - -
          -
          - -
          - - - - -
          - - -
          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/button/button.md b/docs/_book/base/button/button.md deleted file mode 100644 index df9e498441..0000000000 --- a/docs/_book/base/button/button.md +++ /dev/null @@ -1,66 +0,0 @@ -# bi.button - -## 文字类型的按钮,基类[BI.BasicButton](/core/basicButton.md) - -{% method %} -[source](https://jsfiddle.net/fineui/txqwwzLm/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.button', - element: "#wrapper", - text: '一般按钮', - level: 'common', - height: 30 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值,如果clear属性为true,该属性值置0 | number | — | 10 | -| vgap | 效果相当于文本框上下padding值 | number | — | 0 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| width | 宽度 | number | — | — | -| height | 高度 | number | — | — | - - -##### 高级属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| level |按钮类型 | string| common,success,warning,ignore | common | -| minWidth | 最小宽度,如果block/clear中某一项为true,此项值为0,否则为90 | number | — | 90 | -| shadow | 是否显示阴影 | boolean| true,false | props.clear !== true | -| isShadowShowingOnSelected|选中状态下是否显示阴影 | boolean| true,false | true | -| iconClass | 图标类型 | string| — | " "| -| block| 是否块状显示,即不显示边框,没有最小宽度的限制 | boolean| true,false | false | -| clear| 是否去掉边框和背景 |boolean| true,false | false | -| textAlign | 文字布局 | string | left,center,right | cneter | -| whiteSpace | 元素内的空白处理方式 | string | normal,nowrap | nowrap| -| forceCenter | 是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效 | boolean | true,false | false | -| textWidth| 按钮文本宽度 | number| — | null | -| textHeight | 按钮文本高度 | number| — | null | - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| doRedMark | 文本标红 | — | -| unRedMark | 取消文本标红| —| -| doHighLight | 文本高亮 | —| -| unHighLight | 取消文本高亮 | —| -| setText| 设置文本值 | 需要设置的文本值text| -| setValue | 设置文本值 | 需要设置的文本值text | - ---- - - diff --git a/docs/_book/base/button/icon_button.html b/docs/_book/base/button/icon_button.html deleted file mode 100644 index 3fd8517f76..0000000000 --- a/docs/_book/base/button/icon_button.html +++ /dev/null @@ -1,3017 +0,0 @@ - - - - - - - icon_button · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          -
          - - - - - - - - -
          - -
          - -
          - - - - - - - - -
          -
          - -
          -
          - -
          - -

          bi.icon_button

          -

          图标button,基类BI.BasicButton

          -
          
          -BI.createWidget({
          -    type: 'bi.icon_button',
          -    cls: "close-ha-font",
          -    width: 20,
          -    height: 20
          -});
          -
          -
          - -

          API

          -
          基础属性
          - - - - - - - - - - - - - - - - - - - - - - - - - - -
          参数说明类型可选值默认值
          iconWidth图标宽度numbernull
          iconHeight图标高度numbernull
          -

          对外方法

          - - - - - - - - - - - - - -
          名称说明回调参数
          -
          - - -
          - -
          -
          -
          - -

          results matching ""

          -
            - -
            -
            - -

            No results matching ""

            - -
            -
            -
            - -
            -
            - -
            - - - - -
            - - -
            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/button/icon_button.md b/docs/_book/base/button/icon_button.md deleted file mode 100644 index b6cdfa6837..0000000000 --- a/docs/_book/base/button/icon_button.md +++ /dev/null @@ -1,38 +0,0 @@ -# bi.icon_button - -## 图标button,基类[BI.BasicButton](/core/basicButton.md) - -{% method %} -[source](https://jsfiddle.net/fineui/g52u14ay/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.icon_button', - cls: "close-ha-font", - width: 20, - height: 20 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| iconWidth | 图标宽度 | number| — | null | -| iconHeight | 图标高度 | number| — | null | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - ---- - - diff --git a/docs/_book/base/button/image_button.html b/docs/_book/base/button/image_button.html deleted file mode 100644 index 0c4aba3fef..0000000000 --- a/docs/_book/base/button/image_button.html +++ /dev/null @@ -1,3049 +0,0 @@ - - - - - - - image_button · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            -
            - - - - - - - - -
            - -
            - -
            - - - - - - - - -
            -
            - -
            -
            - -
            - -

            bi.image_button

            -

            图片的button,基类BI.BasicButton

            -
            
            -BI.createWidget({
            -  type: 'bi.image_button',
            -  src: "http://www.easyicon.net/api/resizeApi.php?id=1206741&size=128",
            -  width: 100,
            -  height: 100
            -});
            -
            -
            - -

            API

            -
            基础属性
            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            参数说明类型可选值默认值
            src图片路径string" "
            iconWidth图标宽度number/string"100%"
            iconHeight图标高度number/string"100%"
            -

            对外方法

            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            名称说明回调参数
            setImageWidth设置图片宽度宽度width
            setImageHeight设置图片高度高度height
            getImageWidth获取图片宽度
            getImageHeight获取图片高度
            setSrc设置图片路径src
            getSrc获取图片路径
            -
            - - -
            - -
            -
            -
            - -

            results matching ""

            -
              - -
              -
              - -

              No results matching ""

              - -
              -
              -
              - -
              -
              - -
              - - - - -
              - - -
              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/button/image_button.md b/docs/_book/base/button/image_button.md deleted file mode 100644 index 272ae87ea8..0000000000 --- a/docs/_book/base/button/image_button.md +++ /dev/null @@ -1,46 +0,0 @@ -# bi.image_button - -## 图片的button,基类[BI.BasicButton](/core/basicButton.md) - -{% method %} -[source](https://jsfiddle.net/fineui/yc0g9gLw/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.image_button', - src: "http://www.easyicon.net/api/resizeApi.php?id=1206741&size=128", - width: 100, - height: 100 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| src |图片路径 |string | —|" " | -| iconWidth | 图标宽度 | number/string| — | "100%" | -| iconHeight | 图标高度 | number/string | — | "100%"| - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setImageWidth | 设置图片宽度| 宽度width | -| setImageHeight| 设置图片高度| 高度height| -| getImageWidth | 获取图片宽度| —| -| getImageHeight | 获取图片高度| —| -| setSrc| 设置图片路径| src | -| getSrc |获取图片路径| — | - - - ---- - - diff --git a/docs/_book/base/button/text_button.html b/docs/_book/base/button/text_button.html deleted file mode 100644 index 248f03238c..0000000000 --- a/docs/_book/base/button/text_button.html +++ /dev/null @@ -1,3101 +0,0 @@ - - - - - - - text_button · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
              -
              - - - - - - - - -
              - -
              - -
              - - - - - - - - -
              -
              - -
              -
              - -
              - -

              bi.text_button

              -

              可以点击的一行文字,基类BI.BasicButton

              -
              
              -BI.createWidget({
              - type: 'bi.text_button',
              - text: '文字按钮',
              - height: 30
              -});
              -
              -
              - -

              API

              -
              基础属性
              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
              参数说明类型可选值默认值
              hgap效果相当于文本框左右padding值,如果clear属性为true,该属性值置0number10
              lgap效果相当于文本框left-padding值number0
              rgap效果相当于文本框right-padding值number0
              textWidth按钮文本宽度numbernull
              textHeight按钮文本高度numbernull
              -
              高级属性
              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
              参数说明类型可选值默认值
              py拼音string" "
              textAlign文字布局stringleft,center,rightcneter
              whiteSpace元素内的空白处理方式stringnormal,nowrapnowrap
              forceCenter是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效booleantrue,falsefalse
              -

              对外方法

              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
              名称说明回调参数
              doRedMark文本标红
              unRedMark取消文本标红
              doHighLight文本高亮
              unHighLight取消文本高亮
              setStyle设置文本样式需要设置的文本标签样式,例{"color":"#000"}
              -
              - - -
              - -
              -
              -
              - -

              results matching ""

              -
                - -
                -
                - -

                No results matching ""

                - -
                -
                -
                - -
                -
                - -
                - - - - -
                - - -
                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/button/text_button.md b/docs/_book/base/button/text_button.md deleted file mode 100644 index a83233e9e1..0000000000 --- a/docs/_book/base/button/text_button.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.text_button - -## 可以点击的一行文字,基类[BI.BasicButton](/core/basicButton.md) - -{% method %} -[source](https://jsfiddle.net/fineui/5p99L39q/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.text_button', - text: '文字按钮', - height: 30 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值,如果clear属性为true,该属性值置0 | number | — | 10 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| textWidth| 按钮文本宽度 | number| — | null | -| textHeight | 按钮文本高度 | number| — | null | - - -##### 高级属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| py | 拼音 | string| | " " | -| textAlign | 文字布局 | string | left,center,right | cneter | -| whiteSpace | 元素内的空白处理方式 | string | normal,nowrap | nowrap| -| forceCenter | 是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效 | boolean | true,false | false | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| doRedMark | 文本标红 | — | -| unRedMark | 取消文本标红| —| -| doHighLight | 文本高亮 | —| -| unHighLight | 取消文本高亮 | —| -| setStyle | 设置文本样式 |需要设置的文本标签样式,例{"color":"#000"} | - ---- - - diff --git a/docs/_book/base/canvas.html b/docs/_book/base/canvas.html deleted file mode 100644 index e826ea6010..0000000000 --- a/docs/_book/base/canvas.html +++ /dev/null @@ -1,3026 +0,0 @@ - - - - - - - canvas · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                -
                - - - - - - - - -
                - -
                - -
                - - - - - - - - -
                -
                - -
                -
                - -
                - -

                bi.canvas

                -

                canvas绘图,基类BI.Widget

                -
                
                -var canvas = BI.createWidget({
                -   type: "bi.canvas",
                -   element: "#wrapper",
                -   width: 500,
                -   height: 600
                -});
                -canvas.circle(150, 50, 20, "green");
                -canvas.stroke();
                -
                -
                - - -

                对外方法

                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                名称说明回调参数
                line绘制线段(x0, y0, x1, y1)
                rect绘制矩形(x,y,w,h,color)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及绘制的颜色
                circle绘制圆形(x, y, radius, color)分别表示原点的横坐标,纵坐标,半径以及颜色
                hollow填充中空的路径
                solid填充实心的路径
                gradient绘制渐变色(x0, y0, x1, y1, start, end)
                reset重置画布
                stroke绘制callback
                -
                - - -
                - -
                -
                -
                - -

                results matching ""

                -
                  - -
                  -
                  - -

                  No results matching ""

                  - -
                  -
                  -
                  - -
                  -
                  - -
                  - - - - -
                  - - -
                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/canvas.md b/docs/_book/base/canvas.md deleted file mode 100644 index 7c08f96afd..0000000000 --- a/docs/_book/base/canvas.md +++ /dev/null @@ -1,40 +0,0 @@ -# bi.canvas - -## canvas绘图,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/gcgd1va0/) - -{% common %} -```javascript - -var canvas = BI.createWidget({ - type: "bi.canvas", - element: "#wrapper", - width: 500, - height: 600 -}); -canvas.circle(150, 50, 20, "green"); -canvas.stroke(); - - -``` - -{% endmethod %} - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| line | 绘制线段| (x0, y0, x1, y1) | -| rect | 绘制矩形 | (x,y,w,h,color)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及绘制的颜色| -| circle | 绘制圆形 | (x, y, radius, color)分别表示原点的横坐标,纵坐标,半径以及颜色 | -| hollow | 填充中空的路径 | — | -| solid | 填充实心的路径 | — | -| gradient | 绘制渐变色 | (x0, y0, x1, y1, start, end) | -| reset | 重置画布 | —| -| stroke | 绘制 | callback | - ---- - - diff --git a/docs/_book/base/editor/code_editor.html b/docs/_book/base/editor/code_editor.html deleted file mode 100644 index d60477166e..0000000000 --- a/docs/_book/base/editor/code_editor.html +++ /dev/null @@ -1,3080 +0,0 @@ - - - - - - - code_editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  -
                  - - - - - - - - -
                  - -
                  - -
                  - - - - - - - - -
                  -
                  - -
                  -
                  - -
                  - -

                  bi.code_editor

                  -

                  代码文本框,基类BI.Single

                  -
                  
                  -BI.createWidget({
                  -   type: "bi.code_editor",
                  -   cls: "mvc-border",
                  -   width: 600,
                  -   height: 400
                  -});
                  -
                  -
                  - -

                  API

                  -
                  基础属性
                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  参数说明类型可选值默认值
                  watermark文本框placeholderstring" "
                  readOnly是否只读booleantrue,falsefalse
                  lineHeight行高number2
                  value文本框值string" "
                  paramFormatter参数显示值构造函数functionvalue
                  -

                  对外方法

                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                  名称说明回调参数
                  insertParam插入参数param
                  insertString插入字符串str
                  getValue获取文本框值
                  setValue设置文本框值value
                  focus文本框获取焦点
                  blur文本框失焦
                  setStyle设置文本样式需要设置的文本标签样式style,例{"color":"#000"}
                  getStyle获取文本样式
                  refresh刷新文本框,codeMirror需要用到
                  -
                  - - -
                  - -
                  -
                  -
                  - -

                  results matching ""

                  -
                    - -
                    -
                    - -

                    No results matching ""

                    - -
                    -
                    -
                    - -
                    -
                    - -
                    - - - - -
                    - - -
                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/editor/code_editor.md b/docs/_book/base/editor/code_editor.md deleted file mode 100644 index 91e9da38ed..0000000000 --- a/docs/_book/base/editor/code_editor.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.code_editor - -## 代码文本框,基类[BI.Single](/core/single.md) - -{% method %} -[source](https://jsfiddle.net/fineui/fx86hLgm/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.code_editor", - cls: "mvc-border", - width: 600, - height: 400 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| watermark | 文本框placeholder | string | — | " " | -| readOnly | 是否只读 | boolean | true,false | false| -| lineHeight | 行高 | number|— | 2| -| value | 文本框值| string| —| " "| -| paramFormatter| 参数显示值构造函数 | function| — | value | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| insertParam | 插入参数 | param | -| insertString | 插入字符串 | str| -| getValue | 获取文本框值|—| -| setValue | 设置文本框值|value| -| focus | 文本框获取焦点| — | -| blur | 文本框失焦|—| -| setStyle | 设置文本样式 |需要设置的文本标签样式style,例{"color":"#000"} | -| getStyle | 获取文本样式 |— | -| refresh | 刷新文本框,codeMirror需要用到 | —| - - - - ---- - - diff --git a/docs/_book/base/editor/editor.html b/docs/_book/base/editor/editor.html deleted file mode 100644 index cd3b48ed04..0000000000 --- a/docs/_book/base/editor/editor.html +++ /dev/null @@ -1,3249 +0,0 @@ - - - - - - - editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    -
                    - - - - - - - - -
                    - -
                    - -
                    - - - - - - - - -
                    -
                    - -
                    -
                    - -
                    - -

                    bi.editor

                    -

                    文本框,基类BI.Single

                    -
                    
                    -BI.createWidget({
                    -    type: "bi.editor",
                    -    element: "#wrapper",
                    -    errorText: "字段不可重名!",
                    -    width: 200,
                    -    height: 30
                    -});
                    -
                    -
                    - -

                    API

                    -
                    基础属性
                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    参数说明类型可选值默认值
                    hgap效果相当于文本框左右padding值number4
                    vgap效果相当于文本框上下padding值number2
                    lgap效果相当于文本框left-padding值number0
                    rgap效果相当于文本框right-padding值number0
                    tgap效果相当于文本框top-padding值number0
                    bgap效果相当于文本框bottom-padding值number0
                    validationChecker输入较验函数function
                    quitChecker是否允许退出编辑函数function
                    allowBlank是否允许空值booleantrue,falsefalse
                    watermark文本框placeholderstring" "
                    errorText错误提示string/function" "
                    tipType提示类型stringsuccess,warning"warning"
                    inputType输入框类型string参考input输入框类型"text"
                    -

                    对外方法

                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    名称说明回调参数
                    setErrorText设置错误文本text
                    getErrorText获取错误文本
                    setErrorVisible设置错误文本可见b
                    disableError设置error不可用
                    enableError设置error可用
                    disableWaterMark设置文本框placeholder不可用
                    enableWaterMark恢复文本框placeholder可用
                    focus文本框获取焦点
                    blur文本框失焦
                    selectAll选中文本框文本
                    setValue设置文本框值value
                    getLastValidValue获取文本框最后一次输入的有效值
                    resetLastValidValue重置文本框最后一次输入的有效值value
                    getValue获取文本框值
                    isEditing文本框是否处于编辑状态
                    isValid文本框值是否有效
                    -

                    事件

                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    事件说明
                    BI.Editor.EVENT_CHANGEeditor的value发生改变触发
                    BI.Editor.EVENT_FOCUSfocus事件
                    BI.Editor.EVENT_BLURblur事件
                    BI.Editor.EVENT_CLICK点击编辑框触发(不在编辑状态时)
                    BI.Editor.EVENT_KEY_DOWNkeyDown时触发
                    BI.Editor.EVENT_SPACE按下空格触发
                    BI.Editor.EVENT_BACKSPACE按下Backspace触发
                    BI.Editor.EVENT_START开始输入触发
                    BI.Editor.EVENT_PAUSE暂停输入触发(输入空白字符)
                    BI.Editor.EVENT_STOP停止输入触发
                    BI.Editor.EVENT_CONFIRM确定输入触发(blur时且输入值有效)
                    BI.Editor.EVENT_VALID输入值有效的状态事件
                    BI.Editor.EVENT_ERROR输入值无效的状态事件
                    BI.Editor.EVENT_ENTER回车事件
                    BI.Editor.EVENT_RESTRICT回车但是值不合法
                    BI.Editor.EVENT_REMOVE输入为空时按下backspace
                    BI.Editor.EVENT_EMPTY输入框为空时触发
                    -
                    - - -
                    - -
                    -
                    -
                    - -

                    results matching ""

                    -
                      - -
                      -
                      - -

                      No results matching ""

                      - -
                      -
                      -
                      - -
                      -
                      - -
                      - - - - -
                      - - -
                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/editor/editor.md b/docs/_book/base/editor/editor.md deleted file mode 100644 index 9b615c9da6..0000000000 --- a/docs/_book/base/editor/editor.md +++ /dev/null @@ -1,88 +0,0 @@ -# bi.editor - -## 文本框,基类[BI.Single](/core/single.md) - -{% method %} -[source](https://jsfiddle.net/fineui/4eLytgve/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.editor", - element: "#wrapper", - errorText: "字段不可重名!", - width: 200, - height: 30 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | — | 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| validationChecker | 输入较验函数 |function| — | — | -| quitChecker | 是否允许退出编辑函数 | function | — | — | -| allowBlank | 是否允许空值 | boolean | true,false | false | -| watermark | 文本框placeholder | string | — | " " | -| errorText | 错误提示 | string/function | —| " "| -| tipType| 提示类型 | string |success,warning | "warning"| -| inputType| 输入框类型| string| 参考input输入框类型 | "text"| - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setErrorText | 设置错误文本 | text | -| getErrorText | 获取错误文本 | —| -| setErrorVisible | 设置错误文本可见|b | -| disableError | 设置error不可用|— | -| enableError| 设置error可用| —| -| disableWaterMark | 设置文本框placeholder不可用| —| -| enableWaterMark | 恢复文本框placeholder可用| — | -| focus | 文本框获取焦点| — | -| blur | 文本框失焦|—| -| selectAll | 选中文本框文本| —| -| setValue | 设置文本框值|value| -| getLastValidValue | 获取文本框最后一次输入的有效值| —| -| resetLastValidValue| 重置文本框最后一次输入的有效值|value| -| getValue | 获取文本框值|—| -| isEditing | 文本框是否处于编辑状态|—| -| isValid | 文本框值是否有效|—| - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.Editor.EVENT_CHANGE | editor的value发生改变触发 | -|BI.Editor.EVENT_FOCUS | focus事件 | -|BI.Editor.EVENT_BLUR | blur事件 | -|BI.Editor.EVENT_CLICK | 点击编辑框触发(不在编辑状态时) | -|BI.Editor.EVENT_KEY_DOWN | keyDown时触发 | -|BI.Editor.EVENT_SPACE | 按下空格触发 | -|BI.Editor.EVENT_BACKSPACE | 按下Backspace触发 | -|BI.Editor.EVENT_START | 开始输入触发 | -|BI.Editor.EVENT_PAUSE | 暂停输入触发(输入空白字符) | -|BI.Editor.EVENT_STOP | 停止输入触发 | -|BI.Editor.EVENT_CONFIRM | 确定输入触发(blur时且输入值有效) | -|BI.Editor.EVENT_VALID | 输入值有效的状态事件 | -|BI.Editor.EVENT_ERROR | 输入值无效的状态事件 | -|BI.Editor.EVENT_ENTER | 回车事件 | -|BI.Editor.EVENT_RESTRICT | 回车但是值不合法 | -|BI.Editor.EVENT_REMOVE | 输入为空时按下backspace | -|BI.Editor.EVENT_EMPTY | 输入框为空时触发 | - - ---- - - diff --git a/docs/_book/base/editor/formula_editor.html b/docs/_book/base/editor/formula_editor.html deleted file mode 100644 index 65723a7b00..0000000000 --- a/docs/_book/base/editor/formula_editor.html +++ /dev/null @@ -1,3107 +0,0 @@ - - - - - - - formula_editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                      -
                      - - - - - - - - -
                      - -
                      - -
                      - - - - - - - - -
                      -
                      - -
                      -
                      - -
                      - -

                      bi.formula_editor

                      -

                      公式编辑控件,基类BI.Single

                      -
                      
                      -BI.createWidget({
                      -  type: "bi.formula_editor",
                      -  cls: "bi-border",
                      -  watermark:'请输入公式',
                      -  value: 'SUM(C5, 16, 26)',
                      -  width: "100%",
                      -  height: "100%"
                      -});
                      -
                      -
                      - -

                      API

                      -
                      基础属性
                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                      参数说明类型可选值默认值
                      value文本域的值string" "
                      watermark文本框placeholderstring" "
                      fieldTextValueMap字段集合onject{}
                      showHint是否显示提示信息booleantrue,falsetrue
                      lineHeight行高number2
                      -

                      对外方法

                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                      名称说明回调参数
                      disableWaterMark设置文本框placeholder不可用
                      focus文本框获取焦点
                      insertField添加字段field
                      insertFunction插入函数fn
                      insertOperator插入操作符op
                      setFunction设置函数v
                      insertString插入字符串str
                      getFormulaString获取公式框内容
                      getUsedFields获取可用字段
                      getCheckString获取校验内容
                      getValue获取文本框值
                      setValue设置文本框值value
                      setFieldTextValueMap设置字段集合fieldTextValueMap
                      refresh刷新文本框
                      -
                      - - -
                      - -
                      -
                      -
                      - -

                      results matching ""

                      -
                        - -
                        -
                        - -

                        No results matching ""

                        - -
                        -
                        -
                        - -
                        -
                        - -
                        - - - - -
                        - - -
                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/editor/formula_editor.md b/docs/_book/base/editor/formula_editor.md deleted file mode 100644 index e44f77c324..0000000000 --- a/docs/_book/base/editor/formula_editor.md +++ /dev/null @@ -1,59 +0,0 @@ -# bi.formula_editor - -## 公式编辑控件,基类[BI.Single](/core/single.md) - -{% method %} -[source](https://jsfiddle.net/fineui/qnquz4o0/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.formula_editor", - cls: "bi-border", - watermark:'请输入公式', - value: 'SUM(C5, 16, 26)', - width: "100%", - height: "100%" -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| value | 文本域的值 | string | — | " "| -| watermark | 文本框placeholder| string | —| " " | -| fieldTextValueMap | 字段集合 | onject | —| {}| -| showHint | 是否显示提示信息 | boolean | true,false | true | -| lineHeight | 行高 | number | —| 2| - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| disableWaterMark | 设置文本框placeholder不可用 | — | -| focus | 文本框获取焦点| — | -| insertField | 添加字段 | field | -| insertFunction | 插入函数 | fn | -| insertOperator | 插入操作符| op| -| setFunction | 设置函数 | v| -| insertString | 插入字符串 | str| -| getFormulaString | 获取公式框内容 |— | -| getUsedFields | 获取可用字段 | — | -| getCheckString | 获取校验内容 | — | -| getValue | 获取文本框值|—| -| setValue | 设置文本框值|value| -| setFieldTextValueMap | 设置字段集合 | fieldTextValueMap | -| refresh | 刷新文本框 | —| - - - ---- - - diff --git a/docs/_book/base/editor/multifile_editor.html b/docs/_book/base/editor/multifile_editor.html deleted file mode 100644 index 75243619e8..0000000000 --- a/docs/_book/base/editor/multifile_editor.html +++ /dev/null @@ -1,3070 +0,0 @@ - - - - - - - multifile_editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        -
                        - - - - - - - - -
                        - -
                        - -
                        - - - - - - - - -
                        -
                        - -
                        -
                        - -
                        - -

                        bi.multifile_editor

                        -

                        多文件,基类BI.Single

                        -
                        
                        -BI.createWidget({
                        -   type: "bi.multifile_editor",
                        -   width: 400,
                        -   height: 300
                        -});
                        -
                        -
                        - -

                        API

                        -
                        基础属性
                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        参数说明类型可选值默认值
                        multiple是否支持多选booleantrue,falsefalse
                        maxSize允许上传最大字节数number-1
                        accept允许上传的文件类型string" "
                        url文件路径string" "
                        -

                        对外方法

                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                        名称说明回调参数
                        select选择文件
                        getValue获取文件名称
                        upload文件上传
                        reset重置
                        -

                        事件

                        - - - - - - - - - - - - - - - - - - - - - -
                        事件说明
                        BI.MultifileEditor.EVENT_UPLOADSTART开始上传时触发
                        BI.MultifileEditor.EVENT_PROGRESS上传过程中触发
                        BI.MultifileEditor.EVENT_UPLOADED上传结束后触发
                        -
                        - - -
                        - -
                        -
                        -
                        - -

                        results matching ""

                        -
                          - -
                          -
                          - -

                          No results matching ""

                          - -
                          -
                          -
                          - -
                          -
                          - -
                          - - - - -
                          - - -
                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/editor/multifile_editor.md b/docs/_book/base/editor/multifile_editor.md deleted file mode 100644 index fd23da66e4..0000000000 --- a/docs/_book/base/editor/multifile_editor.md +++ /dev/null @@ -1,51 +0,0 @@ -# bi.multifile_editor - -## 多文件,基类[BI.Single](/core/single.md) - -{% method %} -[source](https://jsfiddle.net/fineui/25r3r5fq/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.multifile_editor", - width: 400, - height: 300 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| multiple | 是否支持多选 | boolean | true,false| false | -| maxSize | 允许上传最大字节数 | number |— | -1 | -| accept | 允许上传的文件类型 | string | —| " "| -| url | 文件路径 | string | —| " "| - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| select | 选择文件 | —| -| getValue | 获取文件名称 | —| -| upload | 文件上传| —| -| reset | 重置| —| - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.MultifileEditor.EVENT_UPLOADSTART | 开始上传时触发 | -|BI.MultifileEditor.EVENT_PROGRESS | 上传过程中触发 | -|BI.MultifileEditor.EVENT_UPLOADED | 上传结束后触发 | - - ---- - - diff --git a/docs/_book/base/editor/rich_editor.html b/docs/_book/base/editor/rich_editor.html deleted file mode 100644 index 28b3dddfdb..0000000000 --- a/docs/_book/base/editor/rich_editor.html +++ /dev/null @@ -1,3003 +0,0 @@ - - - - - - - rich_editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                          -
                          - - - - - - - - -
                          - -
                          - -
                          - - - - - - - - -
                          -
                          - -
                          -
                          - -
                          - -

                          rich_editor

                          -

                          富文本编辑器,基类BI.Widget

                          -
                          
                          -BI.createWidget({
                          -    type: "bi.rich_editor",
                          -    width: 600,
                          -    height: 400
                          -});
                          -
                          -
                          - -

                          API

                          -
                          基础属性
                          - - - - - - - - - - - - - - - -
                          参数说明类型可选值默认值
                          -

                          对外方法

                          - - - - - - - - - - - - - -
                          名称说明回调参数
                          -
                          - - -
                          - -
                          -
                          -
                          - -

                          results matching ""

                          -
                            - -
                            -
                            - -

                            No results matching ""

                            - -
                            -
                            -
                            - -
                            -
                            - -
                            - - - - -
                            - - -
                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/editor/rich_editor.md b/docs/_book/base/editor/rich_editor.md deleted file mode 100644 index a3b7c85975..0000000000 --- a/docs/_book/base/editor/rich_editor.md +++ /dev/null @@ -1,36 +0,0 @@ -# rich_editor - -## 富文本编辑器,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/e1jzxvq5/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.rich_editor", - width: 600, - height: 400 -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/_book/base/editor/textarea_editor.html b/docs/_book/base/editor/textarea_editor.html deleted file mode 100644 index dc61c5b422..0000000000 --- a/docs/_book/base/editor/textarea_editor.html +++ /dev/null @@ -1,3036 +0,0 @@ - - - - - - - textarea_editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                            -
                            - - - - - - - - -
                            - -
                            - -
                            - - - - - - - - -
                            -
                            - -
                            -
                            - -
                            - -

                            bi.textarea_editor

                            -

                            文本域,基类BI.Single

                            -
                            
                            -BI.createWidget({
                            -   type: "bi.textarea_editor",
                            -   width: 400,
                            -   height: 300
                            -});
                            -
                            -
                            - -

                            API

                            -
                            基础属性
                            - - - - - - - - - - - - - - - - - - - -
                            参数说明类型可选值默认值
                            value文本域的值string" "
                            -

                            对外方法

                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                            名称说明回调参数
                            getValue获取文本域值
                            setValue设置文本域值value
                            setStyle设置文本域样式需要设置的文本域样式style,例{"color":"#000"}
                            getStyle获取文本域样式
                            focus文本域获取焦点
                            blur文本域失焦
                            -
                            - - -
                            - -
                            -
                            -
                            - -

                            results matching ""

                            -
                              - -
                              -
                              - -

                              No results matching ""

                              - -
                              -
                              -
                              - -
                              -
                              - -
                              - - - - -
                              - - -
                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/editor/textarea_editor.md b/docs/_book/base/editor/textarea_editor.md deleted file mode 100644 index a220051632..0000000000 --- a/docs/_book/base/editor/textarea_editor.md +++ /dev/null @@ -1,45 +0,0 @@ -# bi.textarea_editor - -## 文本域,基类[BI.Single](/core/single.md) - -{% method %} -[source](https://jsfiddle.net/fineui/90721e0a/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.textarea_editor", - width: 400, - height: 300 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| value | 文本域的值 | string | — | " "| - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| getValue | 获取文本域值|—| -| setValue | 设置文本域值|value| -| setStyle | 设置文本域样式 |需要设置的文本域样式style,例{"color":"#000"} | -| getStyle | 获取文本域样式 |— | -| focus | 文本域获取焦点| — | -| blur | 文本域失焦|—| - - - - ---- - - diff --git a/docs/_book/base/label.html b/docs/_book/base/label.html deleted file mode 100644 index 03219708c1..0000000000 --- a/docs/_book/base/label.html +++ /dev/null @@ -1,3174 +0,0 @@ - - - - - - - label · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                              -
                              - - - - - - - - -
                              - -
                              - -
                              - - - - - - - - -
                              -
                              - -
                              -
                              - -
                              - -

                              bi.label

                              -

                              文本标签

                              -
                              
                              -BI.createWidget({
                              -  type: "bi.label",
                              -    textWidth: 100,
                              -    textHeight: 30,
                              -    text: "基本标签"
                              -});
                              -
                              -
                              - - -

                              API

                              -
                              基础属性
                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                              参数说明类型可选值默认值
                              hgap效果相当于容器左右padding值number0
                              vgap效果相当于容器上下padding值number0
                              lgap效果相当于容器left-padding值number0
                              rgap效果相当于容器right-padding值number0
                              tgap效果相当于容器top-padding值number0
                              bgap效果相当于容器bottom-padding值number0
                              textWidth文本标签宽度numbernull
                              textHeight文本标签宽度numbernull
                              text文本内容string" "
                              -
                              高级属性
                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                              参数说明类型可选值默认值
                              textAlign文本对齐方式stringleft,center,rightcenter
                              whiteSpace元素内空白处理方式stringnormal,nowrapnowrap
                              forceCenter是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效booleantrue,falsetrue
                              py拼音string
                              keyword设置标红的关键词string
                              disabled灰化booleantrue,false
                              title提示titlestring
                              warningTitle错误提示titlestring
                              -

                              对外方法

                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                              名称说明回调参数
                              doRedMark文本标红
                              unRedMark取消文本标红
                              doHighLight文本高亮
                              unHighLight取消文本高亮
                              setText设置文本值需要设置的文本值text
                              getText获取文本值
                              setStyle设置文本样式需要设置的文本标签样式,例{"color":"#000"}
                              setValue设置文本值需要设置的文本值text
                              -
                              - - -
                              - -
                              -
                              -
                              - -

                              results matching ""

                              -
                                - -
                                -
                                - -

                                No results matching ""

                                - -
                                -
                                -
                                - -
                                -
                                - -
                                - - - - -
                                - - -
                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/label.md b/docs/_book/base/label.md deleted file mode 100644 index 6a3b3c853e..0000000000 --- a/docs/_book/base/label.md +++ /dev/null @@ -1,66 +0,0 @@ -# bi.label - -#### 文本标签 - -{% method %} -[source](https://jsfiddle.net/fineui/47f5ps1j/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.label", - textWidth: 100, - textHeight: 30, - text: "基本标签" -}); - - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| hgap | 效果相当于容器左右padding值 | number | —| 0 | -| vgap | 效果相当于容器上下padding值 | number | —| 0 | -| lgap | 效果相当于容器left-padding值 | number | — | 0 | -| rgap | 效果相当于容器right-padding值 | number | —| 0 | -| tgap | 效果相当于容器top-padding值 | number | — | 0 | -| bgap | 效果相当于容器bottom-padding值 | number | — | 0 | -| textWidth | 文本标签宽度 | number| — | null | -| textHeight | 文本标签宽度 | number| — | null | -| text | 文本内容 | string | — | " " | - - -##### 高级属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| textAlign | 文本对齐方式 | string | left,center,right | center | -| whiteSpace | 元素内空白处理方式 | string| normal,nowrap | nowrap| -| forceCenter | 是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效 | boolean | true,false | true | -| py | 拼音 | string | — | 空 | -| keyword | 设置标红的关键词 | string | —| 空 | -| disabled | 灰化 | boolean| true,false | 无 | -| title | 提示title | string | — | 空 | -| warningTitle | 错误提示title | string | — | 空 | - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| doRedMark | 文本标红 | — | -| unRedMark | 取消文本标红| —| -| doHighLight | 文本高亮 | —| -| unHighLight | 取消文本高亮 | —| -| setText| 设置文本值 | 需要设置的文本值text| -| getText| 获取文本值 | —| -| setStyle | 设置文本样式 |需要设置的文本标签样式,例{"color":"#000"} | -| setValue | 设置文本值 | 需要设置的文本值text | - - ---- \ No newline at end of file diff --git a/docs/_book/base/message.html b/docs/_book/base/message.html deleted file mode 100644 index 91b0edec9d..0000000000 --- a/docs/_book/base/message.html +++ /dev/null @@ -1,3009 +0,0 @@ - - - - - - - message · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                -
                                - - - - - - - - -
                                - -
                                - -
                                - - - - - - - - -
                                -
                                - -
                                -
                                - -
                                - -

                                BI.Msg

                                -

                                消息提示

                                -
                                
                                -BI.createWidget({
                                -  type: "bi.button",
                                -  element: "#wrapper",
                                -  text : '点击我弹出一个消息框',
                                -  height : 30,
                                -  handler : function() {
                                -      BI.Msg.confirm('测试消息框',"我是测试消息框的内容");
                                -  }
                                -});
                                -
                                -
                                - - - - -

                                对外方法

                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                名称说明回调参数
                                alert警告消息框title, message, callback
                                confirm确认消息框title, message, callback
                                prompt提示消息框title, message, value, callback, min_width
                                toasttoast提示message, level, context
                                -
                                - - -
                                - -
                                -
                                -
                                - -

                                results matching ""

                                -
                                  - -
                                  -
                                  - -

                                  No results matching ""

                                  - -
                                  -
                                  -
                                  - -
                                  -
                                  - -
                                  - - - - -
                                  - - -
                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/message.md b/docs/_book/base/message.md deleted file mode 100644 index 0b897e1662..0000000000 --- a/docs/_book/base/message.md +++ /dev/null @@ -1,39 +0,0 @@ -# BI.Msg - -#### 消息提示 - -{% method %} -[source](https://jsfiddle.net/fineui/feu8kf4u/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.button", - element: "#wrapper", - text : '点击我弹出一个消息框', - height : 30, - handler : function() { - BI.Msg.confirm('测试消息框',"我是测试消息框的内容"); - } -}); - - - -``` - -{% endmethod %} - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| alert | 警告消息框 | title, message, callback| -| confirm | 确认消息框 | title, message, callback | -| prompt | 提示消息框 | title, message, value, callback, min_width | -| toast | toast提示 | message, level, context| - - ---- diff --git a/docs/_book/base/pager.html b/docs/_book/base/pager.html deleted file mode 100644 index fdacf9778a..0000000000 --- a/docs/_book/base/pager.html +++ /dev/null @@ -1,3163 +0,0 @@ - - - - - - - pager · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                  -
                                  - - - - - - - - -
                                  - -
                                  - -
                                  - - - - - - - - -
                                  -
                                  - -
                                  -
                                  - -
                                  - -

                                  bi.pager

                                  -

                                  分页控件,基类BI.Widget

                                  -
                                  
                                  -BI.createWidget({
                                  -  type: "bi.pager",
                                  -  height: 50,
                                  -  pages: 18,
                                  -  groups: 5,
                                  -  curr: 6,
                                  -  first: "首页",
                                  -  last: "尾页"
                                  -});
                                  -
                                  -
                                  - -

                                  API

                                  -
                                  基础属性
                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                  参数说明类型可选值默认值
                                  dynamicShow是否动态显示上一页、下一页、首页、尾页, 若为false,则指对其设置使能状态booleantrue,falsetrue
                                  dynamicShowFirstLast是否动态显示首页、尾页,dynamicShow为false时生效booleantrue,falsefalse
                                  dynamicShowPrevNext是否动态显示上一页、下一页,dynamicShow为false时生效booleantrue,falsefalse
                                  pages是否显示总页数boolean/numberfalse,numberfalse
                                  curr初始化当前页function/numberfunction(){return 1;}
                                  groups连续显示分页数number0
                                  jump页数跳转function
                                  first是否显示首页boolean/stringtrue,false,stringfalse
                                  last是否显示尾页boolean/stringtrue,false,stringfalse
                                  prev上一页string,object —"上一页"
                                  next下一页sting,object"下一页"
                                  firstPage第一页number1
                                  lastPage最后一页,在万不得已时才会调用这个函数获取最后一页的页码, 主要作用于setValue方法functionfunction(){ return 1;}
                                  hasPrev判断是否有上一页,pages不可用时有效function
                                  hasNext判断是否有下一页,pages不可用时有效function
                                  -

                                  对外方法

                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                  名称说明回调参数
                                  getCurrentPage获取当前页码
                                  setAllPages设置总页数pages
                                  hasPrev判断是否有上一页v
                                  hasNext判断是否有下一页v
                                  setValue设置当前页码v
                                  getValue获取当前页码
                                  attr设置属性key,value
                                  populate刷新或者清空列表
                                  -

                                  事件

                                  - - - - - - - - - - - - - -
                                  名称说明
                                  BI.Pager.EVENT_AFTER_POPULATEpager刷新完成事件
                                  -
                                  - - -
                                  - -
                                  -
                                  -
                                  - -

                                  results matching ""

                                  -
                                    - -
                                    -
                                    - -

                                    No results matching ""

                                    - -
                                    -
                                    -
                                    - -
                                    -
                                    - -
                                    - - - - -
                                    - - -
                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/pager.md b/docs/_book/base/pager.md deleted file mode 100644 index 9b88b6d02a..0000000000 --- a/docs/_book/base/pager.md +++ /dev/null @@ -1,66 +0,0 @@ -# bi.pager - -## 分页控件,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/rhhte9b3/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.pager", - height: 50, - pages: 18, - groups: 5, - curr: 6, - first: "首页", - last: "尾页" -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| dynamicShow | 是否动态显示上一页、下一页、首页、尾页, 若为false,则指对其设置使能状态 | boolean| true,false | true| -| dynamicShowFirstLast | 是否动态显示首页、尾页,dynamicShow为false时生效| boolean| true,false | false | -| dynamicShowPrevNext | 是否动态显示上一页、下一页,dynamicShow为false时生效 | boolean| true,false | false| -| pages | 是否显示总页数 | boolean/number| false,number|false| -| curr | 初始化当前页 | function/number | —| function(){return 1;}| -| groups | 连续显示分页数 | number | — | 0 | -| jump | 页数跳转| function |— | —| -| first | 是否显示首页 | boolean/string | true,false,string| false| -| last | 是否显示尾页 | boolean/string | true,false,string| false| -| prev | 上一页 | string,object —| — |"上一页" | -| next | 下一页 | sting,object| —| "下一页" | -| firstPage | 第一页 | number|— | 1 | -| lastPage | 最后一页,在万不得已时才会调用这个函数获取最后一页的页码, 主要作用于setValue方法 | function | —| function(){ return 1;}| -| hasPrev | 判断是否有上一页,pages不可用时有效 | function | —| — | -| hasNext | 判断是否有下一页,pages不可用时有效 | function |— | — | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| getCurrentPage | 获取当前页码 | —| -| setAllPages | 设置总页数 | pages | -| hasPrev | 判断是否有上一页 | v | -| hasNext | 判断是否有下一页 | v | -| setValue | 设置当前页码 | v | -| getValue | 获取当前页码 | —| -| attr | 设置属性 | key,value | -| populate | 刷新或者清空列表| —| - -## 事件 -| 名称 | 说明 | -| :------ |:------------- | -| BI.Pager.EVENT_AFTER_POPULATE | pager刷新完成事件 | - ---- - - diff --git a/docs/_book/base/svg.html b/docs/_book/base/svg.html deleted file mode 100644 index 2efdd3de06..0000000000 --- a/docs/_book/base/svg.html +++ /dev/null @@ -1,3083 +0,0 @@ - - - - - - - svg · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                    -
                                    - - - - - - - - -
                                    - -
                                    - -
                                    - - - - - - - - -
                                    -
                                    - -
                                    -
                                    - -
                                    - -

                                    bi.svg

                                    -

                                    svg绘图,基类BI.Widget

                                    -
                                    
                                    -var svg = BI.createWidget({
                                    -    type: "bi.svg",
                                    -    width: 500,
                                    -    height: 600
                                    -});
                                    -
                                    -svg.path("M10,10L50,50M50,10L10,50")
                                    -    .attr({stroke: "red"});
                                    -
                                    -
                                    - - -

                                    对外方法

                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                    名称说明回调参数
                                    add添加对象到json数组json
                                    path绘制路径pathString
                                    image绘制图片(src,x,y,w,h)分别表示图片路径,绘制的原点横、纵坐标,宽、高
                                    rect绘制矩形(x,y,w,h,r)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及矩形的圆角border-radius大小
                                    circle绘制圆形(x,y,r)分别表示原点的横坐标,纵坐标,以及半径
                                    ellipse绘制椭圆(x,y,rx,ry)分别表示原点的横、纵坐标,以及水平半径和垂直半径
                                    text绘制文本(x,y,text)分别表示绘制的原点横、纵坐标以及要绘制的文本内容
                                    print根据制定参数打印出路径(x, y, string, font, size, origin, letter_spacing, line_spacing)
                                    setStart开始绘制
                                    setFinish结束绘制
                                    setSize设置画布尺寸(width,height)分别表示画布宽高
                                    setViewBox设置画布可视区域(x,y,width,height,fit)分别表示可视区域原点坐标以及可视区域宽高,以及是否根据可视区域进行调整
                                    getById根据id返回元素id
                                    getElementByPoint获根据给定的点坐标返回元素(x,y)
                                    getElementsByPoint获根据给定的点坐标返回元素(x,y)
                                    getFont通过给定的参数在已注册的字体中找到字体对象(family, weight, style, stretch)
                                    set绘制形状的集合
                                    remove设置总页数pages
                                    clear判断是否有上一页v
                                    -
                                    - - -
                                    - -
                                    -
                                    -
                                    - -

                                    results matching ""

                                    -
                                      - -
                                      -
                                      - -

                                      No results matching ""

                                      - -
                                      -
                                      -
                                      - -
                                      -
                                      - -
                                      - - - - -
                                      - - -
                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/svg.md b/docs/_book/base/svg.md deleted file mode 100644 index 6724b4fc97..0000000000 --- a/docs/_book/base/svg.md +++ /dev/null @@ -1,55 +0,0 @@ -# bi.svg - -## svg绘图,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/1xn8snp3/) - -{% common %} -```javascript - -var svg = BI.createWidget({ - type: "bi.svg", - width: 500, - height: 600 -}); - -svg.path("M10,10L50,50M50,10L10,50") - .attr({stroke: "red"}); - - -``` - -{% endmethod %} - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| add | 添加对象到json数组 | json | -| path | 绘制路径 | pathString | -| image | 绘制图片 | (src,x,y,w,h)分别表示图片路径,绘制的原点横、纵坐标,宽、高 | -| rect | 绘制矩形 | (x,y,w,h,r)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及矩形的圆角border-radius大小| -| circle | 绘制圆形 | (x,y,r)分别表示原点的横坐标,纵坐标,以及半径 | -| ellipse | 绘制椭圆 |(x,y,rx,ry)分别表示原点的横、纵坐标,以及水平半径和垂直半径| -| text | 绘制文本 | (x,y,text)分别表示绘制的原点横、纵坐标以及要绘制的文本内容| -| print | 根据制定参数打印出路径 | (x, y, string, font, size, origin, letter_spacing, line_spacing) | -| setStart | 开始绘制 | — | -| setFinish | 结束绘制 | — | -| setSize | 设置画布尺寸 | (width,height)分别表示画布宽高| -| setViewBox | 设置画布可视区域 | (x,y,width,height,fit)分别表示可视区域原点坐标以及可视区域宽高,以及是否根据可视区域进行调整 | -| getById | 根据id返回元素 | id | -| getElementByPoint | 获根据给定的点坐标返回元素 | (x,y)| -| getElementsByPoint | 获根据给定的点坐标返回元素 | (x,y) | -| getFont | 通过给定的参数在已注册的字体中找到字体对象 | (family, weight, style, stretch) | -| set | 绘制形状的集合 | — | -| remove | 设置总页数 | pages | -| clear | 判断是否有上一页 | v | - - - - - ---- - - diff --git a/docs/_book/base/table/collection_table.html b/docs/_book/base/table/collection_table.html deleted file mode 100644 index 8e1a0ae72b..0000000000 --- a/docs/_book/base/table/collection_table.html +++ /dev/null @@ -1,3156 +0,0 @@ - - - - - - - collection_table · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                      -
                                      - - - - - - - - -
                                      - -
                                      - -
                                      - - - - - - - - -
                                      -
                                      - -
                                      -
                                      - -
                                      - -

                                      bi.collection_table

                                      -

                                      可以合并单元格的表格 继承BI.Widget

                                      -
                                      BI.createWidget({
                                      -  type: "bi.collection_table",
                                      -  element: "body",
                                      -  columnSize: [200,200],
                                      -  items: [
                                      -    [{
                                      -      type: "bi.label",
                                      -      cls: "layout-bg1",
                                      -      text: "第一行第一列"
                                      -    }, {
                                      -      type: "bi.label",
                                      -      cls: "layout-bg2",
                                      -      text: "第一行第二列"
                                      -    }],
                                      -    [{
                                      -      type: "bi.label",
                                      -      cls: "layout-bg3",
                                      -      text: "第二行第一列"
                                      -    }, {
                                      -      type: "bi.label",
                                      -      cls: "layout-bg4",
                                      -      text: "第二行第二列"
                                      -    }]
                                      -  ] 
                                      -});
                                      -
                                      -
                                      - -

                                      参数设置

                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                      参数说明类型默认值
                                      isNeedFreeze是否冻结列booleanfalse
                                      freezeCols冻结的列array[]
                                      isNeedMerge是否需要合并单元格booleanfalse
                                      mergeCols合并的单元格列号array[]
                                      mergeRule合并规则, 默认相等时合并function(row1, row2)默认row1 = row2 时合并
                                      columnSize单元格宽度集合array[]
                                      headerRowSize表头高度number25
                                      rowSize普通单元格高度number25
                                      regionColumnSize列项间的array[]
                                      items子组件array[]
                                      -

                                      方法

                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                      方法名说明参数
                                      setWidth设置宽度width
                                      setHeight设置高度height
                                      setColumnSize设置列宽columnSize
                                      getColumnSize得到列宽
                                      setRegionColumnSize设置列项之间的间隙columnSize
                                      getRegionColumnSize获得列项之间的间隙
                                      getScrollRegionColumnSize获取横向滚动条宽度
                                      setVerticalScroll设置纵向滚动距离scrollTop
                                      setLeftHorizontalScroll设置左到右横向滚动距离scrollLeft
                                      setRightHorizontalScroll设置右往左横向滚动距离scrollLeft
                                      getVerticalScroll获取纵向滚动距离
                                      getLeftHorizontalScroll获取左到右横向滚动距离
                                      getRightHorizontalScroll获取右往左横向滚动距离
                                      getColumns获取列项
                                      populate增加行rows
                                      restore存储数据
                                      -
                                      - - -
                                      - -
                                      -
                                      -
                                      - -

                                      results matching ""

                                      -
                                        - -
                                        -
                                        - -

                                        No results matching ""

                                        - -
                                        -
                                        -
                                        - -
                                        -
                                        - -
                                        - - - - -
                                        - - -
                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/table/collection_table.md b/docs/_book/base/table/collection_table.md deleted file mode 100644 index 09bf1c0453..0000000000 --- a/docs/_book/base/table/collection_table.md +++ /dev/null @@ -1,74 +0,0 @@ -# bi.collection_table - -### 可以合并单元格的表格 继承BI.Widget - -{% method %} -[source](https://jsfiddle.net/fineui/x2zxfzhp/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.collection_table", - element: "body", - columnSize: [200,200], - items: [ - [{ - type: "bi.label", - cls: "layout-bg1", - text: "第一行第一列" - }, { - type: "bi.label", - cls: "layout-bg2", - text: "第一行第二列" - }], - [{ - type: "bi.label", - cls: "layout-bg3", - text: "第二行第一列" - }, { - type: "bi.label", - cls: "layout-bg4", - text: "第二行第二列" - }] - ] -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ---------------- | ------------- | -------------------- | ----------------- | -| isNeedFreeze | 是否冻结列 | boolean | false | -| freezeCols | 冻结的列 | array | [] | -| isNeedMerge | 是否需要合并单元格 | boolean | false | -| mergeCols | 合并的单元格列号 | array | [] | -| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | -| columnSize | 单元格宽度集合 | array | [] | -| headerRowSize | 表头高度 | number | 25 | -| rowSize | 普通单元格高度 | number | 25 | -| regionColumnSize | 列项间的 | array | [] | -| items | 子组件 | array | [] | - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------------------- | ----------- | ---------- | -| setWidth | 设置宽度 | width | -| setHeight | 设置高度 | height | -| setColumnSize | 设置列宽 | columnSize | -| getColumnSize | 得到列宽 | — | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| getScrollRegionColumnSize | 获取横向滚动条宽度 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| getColumns | 获取列项 | — | -| populate | 增加行 | rows | -| restore | 存储数据 | — | - ------- - diff --git a/docs/_book/base/table/grid_table.html b/docs/_book/base/table/grid_table.html deleted file mode 100644 index 7c91de6a99..0000000000 --- a/docs/_book/base/table/grid_table.html +++ /dev/null @@ -1,3127 +0,0 @@ - - - - - - - grid_table · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                        -
                                        - - - - - - - - -
                                        - -
                                        - -
                                        - - - - - - - - -
                                        -
                                        - -
                                        -
                                        - -
                                        - -

                                        bi.grid_table

                                        -

                                        网格式的表格,继承BI.Widget

                                        -
                                        BI.createWidget({
                                        -  type: "bi.grid_table",
                                        -  element: 'body',
                                        -  width: 600,
                                        -  height: 500,
                                        -  isResizeAdapt: true,
                                        -  isNeedResize: true,
                                        -  isNeedFreeze: true,
                                        -  freezeCols: [0, 1],
                                        -  columnSize: [50,50,200,250,400],
                                        -  items: items,
                                        -  header: header
                                        -});
                                        -
                                        -
                                        - -

                                        参数设置

                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                        参数说明类型默认值
                                        isNeedFreeze是否需要冻结booleanfalse
                                        freezeCols冻结列array[]
                                        columnSize单元格宽度集合array[]
                                        headerRowSize表头高度number25
                                        rowSize普通单元格高度number25
                                        regionColumnSize列项间的array[]
                                        header表头array[]
                                        items子组件array[]
                                        -

                                        方法

                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                        方法名说明参数
                                        setWidth设置宽度width
                                        setHeight设置高度height
                                        getRegionSize获取间隙大小
                                        setColumnSize设置列宽columnSize
                                        getColumnSize得到列宽
                                        setRegionColumnSize设置列项之间的间隙columnSize
                                        getRegionColumnSize获得列项之间的间隙
                                        setVerticalScroll设置纵向滚动距离scrollTop
                                        setLeftHorizontalScroll设置左到右横向滚动距离scrollLeft
                                        setRightHorizontalScroll设置右往左横向滚动距离scrollLeft
                                        getVerticalScroll获取纵向滚动距离
                                        getLeftHorizontalScroll获取左到右横向滚动距离
                                        getRightHorizontalScroll获取右往左横向滚动距离
                                        populate刷新内容rows
                                        restore储存
                                        -
                                        - - -
                                        - -
                                        -
                                        -
                                        - -

                                        results matching ""

                                        -
                                          - -
                                          -
                                          - -

                                          No results matching ""

                                          - -
                                          -
                                          -
                                          - -
                                          -
                                          - -
                                          - - - - -
                                          - - -
                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/table/grid_table.md b/docs/_book/base/table/grid_table.md deleted file mode 100644 index b8924aacad..0000000000 --- a/docs/_book/base/table/grid_table.md +++ /dev/null @@ -1,59 +0,0 @@ -# bi.grid_table - -### 网格式的表格,继承BI.Widget - -{% method %} -[source](https://jsfiddle.net/fineui/a936vcvj/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.grid_table", - element: 'body', - width: 600, - height: 500, - isResizeAdapt: true, - isNeedResize: true, - isNeedFreeze: true, - freezeCols: [0, 1], - columnSize: [50,50,200,250,400], - items: items, - header: header -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ---------------- | ------- | ------- | ----- | -| isNeedFreeze | 是否需要冻结 | boolean | false | -| freezeCols | 冻结列 | array | [] | -| columnSize | 单元格宽度集合 | array | [] | -| headerRowSize | 表头高度 | number | 25 | -| rowSize | 普通单元格高度 | number | 25 | -| regionColumnSize | 列项间的 | array | [] | -| header | 表头 | array | [] | -| items | 子组件 | array | [] | - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------------------ | ----------- | ---------- | -| setWidth | 设置宽度 | width | -| setHeight | 设置高度 | height | -| getRegionSize | 获取间隙大小 | — | -| setColumnSize | 设置列宽 | columnSize | -| getColumnSize | 得到列宽 | — | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| populate | 刷新内容 | rows | -| restore | 储存 | — | - ------- - diff --git a/docs/_book/base/table/resizable_table.html b/docs/_book/base/table/resizable_table.html deleted file mode 100644 index b224cc204c..0000000000 --- a/docs/_book/base/table/resizable_table.html +++ /dev/null @@ -1,3175 +0,0 @@ - - - - - - - resizable_table · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                          -
                                          - - - - - - - - -
                                          - -
                                          - -
                                          - - - - - - - - -
                                          -
                                          - -
                                          -
                                          - -
                                          - -

                                          bi.resizable_table

                                          -

                                          可调整列宽的表格,继承BI.Widget

                                          -
                                          BI.createWidget({
                                          -  type: "bi.resizable_table",
                                          -  element: "body",
                                          -  columnSize: [200,200],
                                          -  items: [
                                          -    [{
                                          -      type: "bi.label",
                                          -      cls: "layout-bg1",
                                          -      text: "第一行第一列"
                                          -    }, {
                                          -      type: "bi.label",
                                          -      cls: "layout-bg2",
                                          -      text: "第一行第二列"
                                          -    }],
                                          -    [{
                                          -      type: "bi.label",
                                          -      cls: "layout-bg3",
                                          -      text: "第二行第一列"
                                          -    }, {
                                          -      type: "bi.label",
                                          -      cls: "layout-bg4",
                                          -      text: "第二行第二列"
                                          -    }]
                                          -  ] 
                                          -});
                                          -
                                          -
                                          - -

                                          参数设置

                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                          参数说明类型默认值
                                          isNeedFreeze是否需要冻结列booleanfalse
                                          freezeCols冻结的列array[]
                                          isNeedResize是否需要调整大小booleanfalse
                                          isResizeAdapt是否调整时自适应booleantrue
                                          isNeedMerge是否需要合并单元格booleanfalse
                                          mergeCols合并的单元格列号array[]
                                          columnSize单元格宽度集合array[]
                                          minColumnSize最小列宽array[]
                                          maxColumnSize最大列宽array[]
                                          headerRowSize表头高度number25
                                          rowSize普通单元格高度number25
                                          header表头array[]
                                          regionColumnSize列项间的array[]
                                          items子组件array[]
                                          -

                                          方法

                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                          方法名说明参数
                                          setWidth设置宽度
                                          setHeight设置高度
                                          setColumnSize设置列宽columnSize
                                          getColumnSize得到列宽
                                          setRegionColumnSize设置列项之间的间隙columnSize
                                          getRegionColumnSize获得列项之间的间隙
                                          setVerticalScroll设置纵向滚动距离scrollTop
                                          setLeftHorizontalScroll设置左到右横向滚动距离scrollLeft
                                          setRightHorizontalScroll设置右往左横向滚动距离scrollLeft
                                          getVerticalScroll获取纵向滚动距离
                                          getLeftHorizontalScroll获取左到右横向滚动距离
                                          getRightHorizontalScroll获取右往左横向滚动距离
                                          attr设置属性key:键,value:值
                                          populate刷新内容rows
                                          restore保存表
                                          -
                                          - - -
                                          - -
                                          -
                                          -
                                          - -

                                          results matching ""

                                          -
                                            - -
                                            -
                                            - -

                                            No results matching ""

                                            - -
                                            -
                                            -
                                            - -
                                            -
                                            - -
                                            - - - - -
                                            - - -
                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/table/resizable_table.md b/docs/_book/base/table/resizable_table.md deleted file mode 100644 index 54f9cd8326..0000000000 --- a/docs/_book/base/table/resizable_table.md +++ /dev/null @@ -1,77 +0,0 @@ -# bi.resizable_table - -### 可调整列宽的表格,继承BI.Widget - -{% method %} -[source](https://jsfiddle.net/fineui/0e7p2ezc/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.resizable_table", - element: "body", - columnSize: [200,200], - items: [ - [{ - type: "bi.label", - cls: "layout-bg1", - text: "第一行第一列" - }, { - type: "bi.label", - cls: "layout-bg2", - text: "第一行第二列" - }], - [{ - type: "bi.label", - cls: "layout-bg3", - text: "第二行第一列" - }, { - type: "bi.label", - cls: "layout-bg4", - text: "第二行第二列" - }] - ] -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ---------------- | --------- | ------- | ----- | -| isNeedFreeze | 是否需要冻结列 | boolean | false | -| freezeCols | 冻结的列 | array | [] | -| isNeedResize | 是否需要调整大小 | boolean | false | -| isResizeAdapt | 是否调整时自适应 | boolean | true | -| isNeedMerge | 是否需要合并单元格 | boolean | false | -| mergeCols | 合并的单元格列号 | array | [] | -| columnSize | 单元格宽度集合 | array | [] | -| minColumnSize | 最小列宽 | array | [] | -| maxColumnSize | 最大列宽 | array | [] | -| headerRowSize | 表头高度 | number | 25 | -| rowSize | 普通单元格高度 | number | 25 | -| header | 表头 | array | [] | -| regionColumnSize | 列项间的 | array | [] | -| items | 子组件 | array | [] | - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------------------ | ----------- | ------------- | -| setWidth | 设置宽度 | — | -| setHeight | 设置高度 | — | -| setColumnSize | 设置列宽 | columnSize | -| getColumnSize | 得到列宽 | — | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| attr | 设置属性 | key:键,value:值 | -| populate | 刷新内容 | rows | -| restore | 保存表 | — | - ------- - diff --git a/docs/_book/base/table/table_view.html b/docs/_book/base/table/table_view.html deleted file mode 100644 index e4de74ad96..0000000000 --- a/docs/_book/base/table/table_view.html +++ /dev/null @@ -1,3194 +0,0 @@ - - - - - - - table_view · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                            -
                                            - - - - - - - - -
                                            - -
                                            - -
                                            - - - - - - - - -
                                            -
                                            - -
                                            -
                                            - -
                                            - -

                                            bi.table_view

                                            -

                                            能处理静态宽度以及动态宽度的表

                                            -
                                            BI.createWidget({
                                            -  type: "bi.table_view",
                                            -  element: 'body',
                                            -  isNeedMerge: true,
                                            -  isNeedFreeze: true,
                                            -  freezeCols: [0, 1],
                                            -  mergeCols: [0, 1],
                                            -  columnSize: [100, 200, 300, 400, 500],
                                            -  items: [],
                                            -  header: []
                                            -});
                                            -
                                            -
                                            - -

                                            参数设置

                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                            参数说明类型默认值
                                            isNeedMerge是否需要合并单元格booleanfalse
                                            mergeCols合并的单元格列号array[]
                                            mergeRule合并规则, 默认相等时合并function(row1, row2)默认row1 = row2 时合并
                                            columnSize单元格宽度集合array[]
                                            headerRowSize表头高度number25
                                            footerRowSize表尾高度number25
                                            rowSize普通单元格高度number25
                                            regionColumnSize列项间的arrayfalse
                                            header表头array[]
                                            footer表尾arrayfalse
                                            items子组件array[]
                                            -

                                            方法

                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                            方法名说明参数
                                            resize调整表格
                                            setColumnSize设置列宽columnSize
                                            getColumnSize得到列宽
                                            getCalculateColumnSize获得计算后的列宽
                                            setHeaderColumnSize设置表头的列宽columnSize
                                            setRegionColumnSize设置列项之间的间隙columnSize
                                            getRegionColumnSize获得列项之间的间隙
                                            getCalculateRegionColumnSize获取计算后的列项之间的间隙
                                            getCalculateRegionRowSize获取计算后的列项上下之间的间隙
                                            getClientRegionColumnSize获取浏览器中显示的列项之间的间隙
                                            getScrollRegionColumnSize获取横向滚动条宽度
                                            getScrollRegionRowSize获取纵向滚动条宽度
                                            hasVerticalScroll是否含有数值滚动条
                                            setVerticalScroll设置纵向滚动距离scrollTop
                                            setLeftHorizontalScroll设置左到右横向滚动距离scrollLeft
                                            setRightHorizontalScroll设置右往左横向滚动距离scrollLeft
                                            getVerticalScroll获取纵向滚动距离
                                            getLeftHorizontalScroll获取左到右横向滚动距离
                                            getRightHorizontalScroll获取右往左横向滚动距离
                                            getColumns获取列项
                                            populate刷新内容rows
                                            -

                                            事件

                                            - - - - - - - - - - - - - - - - - - - - - -
                                            事件说明
                                            BI.Table.EVENT_TABLE_AFTER_INITtable初始化完成后触发
                                            BI.Table.EVENT_TABLE_RESIZEtable大小调整时触发(窗口变化等)
                                            BI.Table.EVENT_TABLE_SCROLL滚动事件
                                            -
                                            - - -
                                            - -
                                            -
                                            -
                                            - -

                                            results matching ""

                                            -
                                              - -
                                              -
                                              - -

                                              No results matching ""

                                              - -
                                              -
                                              -
                                              - -
                                              -
                                              - -
                                              - - - - -
                                              - - -
                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/table/table_view.md b/docs/_book/base/table/table_view.md deleted file mode 100644 index 2cceb75ab1..0000000000 --- a/docs/_book/base/table/table_view.md +++ /dev/null @@ -1,73 +0,0 @@ -# bi.table_view - -### 能处理静态宽度以及动态宽度的表 - -{% method %} -[source](https://jsfiddle.net/fineui/mbazb80a/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.table_view", - element: 'body', - isNeedMerge: true, - isNeedFreeze: true, - freezeCols: [0, 1], - mergeCols: [0, 1], - columnSize: [100, 200, 300, 400, 500], - items: [], - header: [] -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ---------------- | ------------- | -------------------- | ----------------- | -| isNeedMerge | 是否需要合并单元格 | boolean | false | -| mergeCols | 合并的单元格列号 | array | [] | -| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | -| columnSize | 单元格宽度集合 | array | [] | -| headerRowSize | 表头高度 | number | 25 | -| footerRowSize | 表尾高度 | number | 25 | -| rowSize | 普通单元格高度 | number | 25 | -| regionColumnSize | 列项间的 | array | false | -| header | 表头 | array | [] | -| footer | 表尾 | array | false | -| items | 子组件 | array | [] | - -## 方法 -| 方法名 | 说明 | 参数 | -| ---------------------------- | ---------------- | ---------- | -| resize | 调整表格 | — | -| setColumnSize | 设置列宽 | columnSize | -| getColumnSize | 得到列宽 | — | -| getCalculateColumnSize | 获得计算后的列宽 | — | -| setHeaderColumnSize | 设置表头的列宽 | columnSize | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| getCalculateRegionColumnSize | 获取计算后的列项之间的间隙 | — | -| getCalculateRegionRowSize | 获取计算后的列项上下之间的间隙 | — | -| getClientRegionColumnSize | 获取浏览器中显示的列项之间的间隙 | — | -| getScrollRegionColumnSize | 获取横向滚动条宽度 | — | -| getScrollRegionRowSize | 获取纵向滚动条宽度 | — | -| hasVerticalScroll | 是否含有数值滚动条 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| getColumns | 获取列项 | — | -| populate | 刷新内容 | rows | - -## 事件 -| 事件 | 说明 | -| :------------------------------ | :------------------ | -| BI.Table.EVENT_TABLE_AFTER_INIT | table初始化完成后触发 | -| BI.Table.EVENT_TABLE_RESIZE | table大小调整时触发(窗口变化等) | -| BI.Table.EVENT_TABLE_SCROLL | 滚动事件 | - ---- - diff --git a/docs/_book/base/toast.html b/docs/_book/base/toast.html deleted file mode 100644 index 66075e190e..0000000000 --- a/docs/_book/base/toast.html +++ /dev/null @@ -1,3028 +0,0 @@ - - - - - - - toast · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                              -
                                              - - - - - - - - -
                                              - -
                                              - -
                                              - - - - - - - - -
                                              -
                                              - -
                                              -
                                              - -
                                              - -

                                              bi.toast

                                              -

                                              toast提示

                                              -
                                              
                                              -BI.createWidget({
                                              -  type: 'bi.toast',
                                              -  element: "#wrapper",
                                              -  height: 30,
                                              -  level: "warning",
                                              -  text: "toast测试"
                                              -})
                                              -
                                              -
                                              - - -

                                              API

                                              -
                                              基础属性
                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                              参数说明类型可选值默认值
                                              level提示类型stringsuccess,warning"success"
                                              height高度number30
                                              text显示内容string" "
                                              -

                                              对外方法

                                              - - - - - - - - - - - - - - - -
                                              名称说明回调参数
                                              setText设置文本值需要设置的文本值text
                                              -
                                              - - -
                                              - -
                                              -
                                              -
                                              - -

                                              results matching ""

                                              -
                                                - -
                                                -
                                                - -

                                                No results matching ""

                                                - -
                                                -
                                                -
                                                - -
                                                -
                                                - -
                                                - - - - -
                                                - - -
                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/base/toast.md b/docs/_book/base/toast.md deleted file mode 100644 index 86c9273d30..0000000000 --- a/docs/_book/base/toast.md +++ /dev/null @@ -1,41 +0,0 @@ -# bi.toast - -#### toast提示 - -{% method %} -[source](https://jsfiddle.net/fineui/wop751sg/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.toast', - element: "#wrapper", - height: 30, - level: "warning", - text: "toast测试" -}) - - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :---- |:---- -| level | 提示类型 | string | success,warning | "success" | -| height | 高度 | number | — | 30 | -| text | 显示内容 | string | — | " " | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setText | 设置文本值 | 需要设置的文本值text | - ---- diff --git a/docs/_book/case/button/multi_select_item.html b/docs/_book/case/button/multi_select_item.html deleted file mode 100644 index c6c5a81550..0000000000 --- a/docs/_book/case/button/multi_select_item.html +++ /dev/null @@ -1,3033 +0,0 @@ - - - - - - - multi_select_item · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                -
                                                - - - - - - - - -
                                                - -
                                                - -
                                                - - - - - - - - -
                                                -
                                                - -
                                                -
                                                - -
                                                - -

                                                bi.multi_select_item

                                                -

                                                复选框item,基类BI.BasicButton

                                                -
                                                
                                                -BI.createWidget({
                                                -    type: 'bi.vertical',
                                                -    element: "#wrapper",
                                                -    items: [{
                                                -        type: "bi.label",
                                                -        height: 30,
                                                -        text: "复选item"
                                                -    }, {
                                                -        type: "bi.multi_select_item",
                                                -        text: "复选项"
                                                -    }]
                                                -});
                                                -
                                                -
                                                - -

                                                API

                                                -
                                                基础属性
                                                - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                参数说明类型可选值默认值
                                                height高度number30
                                                logic布局逻辑object{dynamic:false}
                                                -

                                                对外方法

                                                - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                名称说明回调参数
                                                setSelected设置选中值v
                                                doRedMark标红
                                                unRedMark取消标红
                                                -
                                                - - -
                                                - -
                                                -
                                                -
                                                - -

                                                results matching ""

                                                -
                                                  - -
                                                  -
                                                  - -

                                                  No results matching ""

                                                  - -
                                                  -
                                                  -
                                                  - -
                                                  -
                                                  - -
                                                  - - - - -
                                                  - - -
                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/button/multi_select_item.md b/docs/_book/case/button/multi_select_item.md deleted file mode 100644 index 12e73c1ce5..0000000000 --- a/docs/_book/case/button/multi_select_item.md +++ /dev/null @@ -1,52 +0,0 @@ -# bi.multi_select_item - -## 复选框item,基类[BI.BasicButton](/core/basic_button.md) - -{% method %} -[source](https://jsfiddle.net/fineui/0z1fud88/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.vertical', - element: "#wrapper", - items: [{ - type: "bi.label", - height: 30, - text: "复选item" - }, { - type: "bi.multi_select_item", - text: "复选项" - }] -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| height | 高度 | number | — | 30 -| logic | 布局逻辑 | object | — | {dynamic:false} | - - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setSelected| 设置选中值| v | -| doRedMark | 标红 |—| -| unRedMark | 取消标红 | — | - - - - - ---- - - diff --git a/docs/_book/case/button/single_select_item.html b/docs/_book/case/button/single_select_item.html deleted file mode 100644 index 2148ba51ec..0000000000 --- a/docs/_book/case/button/single_select_item.html +++ /dev/null @@ -1,3042 +0,0 @@ - - - - - - - single_select_item · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                  -
                                                  - - - - - - - - -
                                                  - -
                                                  - -
                                                  - - - - - - - - -
                                                  -
                                                  - -
                                                  -
                                                  - -
                                                  - -

                                                  bi.single_select_item

                                                  -

                                                  可以点击的label,基类BI.BasicButton

                                                  -
                                                  
                                                  -BI.createWidget({
                                                  -    type: 'bi.vertical',
                                                  -    element: "#wrapper",
                                                  -    items: [{
                                                  -        type: "bi.label",
                                                  -        height: 30,
                                                  -        text: "复选item"
                                                  -    }, {
                                                  -        type: "bi.single_select_item",
                                                  -        text: "复选项"
                                                  -    }]
                                                  -});
                                                  -
                                                  -
                                                  - -

                                                  API

                                                  -
                                                  基础属性
                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                  参数说明类型可选值默认值
                                                  height高度number25
                                                  hgap效果相当于文本框左右padding值number10
                                                  textAlign文本对齐方式stringleft,center,right"left"
                                                  -

                                                  对外方法

                                                  - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                  名称说明回调参数
                                                  setSelected设置选中值v
                                                  doRedMark标红
                                                  unRedMark取消标红
                                                  -
                                                  - - -
                                                  - -
                                                  -
                                                  -
                                                  - -

                                                  results matching ""

                                                  -
                                                    - -
                                                    -
                                                    - -

                                                    No results matching ""

                                                    - -
                                                    -
                                                    -
                                                    - -
                                                    -
                                                    - -
                                                    - - - - -
                                                    - - -
                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/button/single_select_item.md b/docs/_book/case/button/single_select_item.md deleted file mode 100644 index 0405e04605..0000000000 --- a/docs/_book/case/button/single_select_item.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.single_select_item - -## 可以点击的label,基类[BI.BasicButton](/core/basic_button.md) - -{% method %} -[source](https://jsfiddle.net/fineui/19qqcej4/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.vertical', - element: "#wrapper", - items: [{ - type: "bi.label", - height: 30, - text: "复选item" - }, { - type: "bi.single_select_item", - text: "复选项" - }] -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| height | 高度 | number | — | 25 -| hgap | 效果相当于文本框左右padding值 |number | —| 10 | -| textAlign |文本对齐方式 |string |left,center,right |"left" - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setSelected| 设置选中值| v | -| doRedMark | 标红 |—| -| unRedMark | 取消标红 | — | - - - - - - ---- - - diff --git a/docs/_book/case/button/single_select_radio_item.html b/docs/_book/case/button/single_select_radio_item.html deleted file mode 100644 index abb6954dc8..0000000000 --- a/docs/_book/case/button/single_select_radio_item.html +++ /dev/null @@ -1,3040 +0,0 @@ - - - - - - - single_select_radio_item · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                    -
                                                    - - - - - - - - -
                                                    - -
                                                    - -
                                                    - - - - - - - - -
                                                    -
                                                    - -
                                                    -
                                                    - -
                                                    - -

                                                    bi.single_select_radio_item

                                                    -

                                                    单选框item,基类BI.BasicButton

                                                    -
                                                    
                                                    -BI.createWidget({
                                                    -    type: 'bi.vertical',
                                                    -    element: "#wrapper",
                                                    -    items: [{
                                                    -        type: "bi.label",
                                                    -        height: 30,
                                                    -        text: "单选item"
                                                    -    }, {
                                                    -        type: "bi.single_select_radio_item",
                                                    -        text: "单选项"
                                                    -    }]
                                                    -});
                                                    -
                                                    -
                                                    - -

                                                    API

                                                    -
                                                    基础属性
                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                    参数说明类型可选值默认值
                                                    height高度number25
                                                    hgap效果相当于文本框左右padding值number10
                                                    textAlign文本对齐方式stringleft,center,right"left"
                                                    -

                                                    对外方法

                                                    - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                    名称说明回调参数
                                                    setSelected设置选中值v
                                                    doRedMark标红
                                                    unRedMark取消标红
                                                    -
                                                    - - -
                                                    - -
                                                    -
                                                    -
                                                    - -

                                                    results matching ""

                                                    -
                                                      - -
                                                      -
                                                      - -

                                                      No results matching ""

                                                      - -
                                                      -
                                                      -
                                                      - -
                                                      -
                                                      - -
                                                      - - - - -
                                                      - - -
                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/button/single_select_radio_item.md b/docs/_book/case/button/single_select_radio_item.md deleted file mode 100644 index d4126bd264..0000000000 --- a/docs/_book/case/button/single_select_radio_item.md +++ /dev/null @@ -1,54 +0,0 @@ -# bi.single_select_radio_item - -## 单选框item,基类[BI.BasicButton](/core/basic_button.md) - -{% method %} -[source](https://jsfiddle.net/fineui/d3vw4438/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.vertical', - element: "#wrapper", - items: [{ - type: "bi.label", - height: 30, - text: "单选item" - }, { - type: "bi.single_select_radio_item", - text: "单选项" - }] -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| height | 高度 | number | — | 25 -| hgap | 效果相当于文本框左右padding值 |number | —| 10 | -| textAlign |文本对齐方式 |string |left,center,right |"left" - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setSelected| 设置选中值| v | -| doRedMark | 标红 |—| -| unRedMark | 取消标红 | — | - - - - - - - ---- - - diff --git a/docs/_book/case/calendar.html b/docs/_book/case/calendar.html deleted file mode 100644 index aeb81d47fe..0000000000 --- a/docs/_book/case/calendar.html +++ /dev/null @@ -1,3052 +0,0 @@ - - - - - - - calendar · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      -
                                                      - - - - - - - - -
                                                      - -
                                                      - -
                                                      - - - - - - - - -
                                                      -
                                                      - -
                                                      -
                                                      - -
                                                      - -

                                                      bi.calendar

                                                      -

                                                      日历控件

                                                      -
                                                      
                                                      -BI.createWidget({
                                                      -  type: 'bi.calendar',
                                                      -  min: '1900-01-01', //最小日期
                                                      -  max: '2099-12-31', //最大日期
                                                      -  year: 2015,
                                                      -  month: 7,  //7表示八月
                                                      -  day: 25,
                                                      -});
                                                      -
                                                      -
                                                      - - - -

                                                      参数

                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      参数说明类型默认值
                                                      min最小日期string'1900-01-01'
                                                      max最大日期string'2099-12-31'
                                                      year设定的年份number2015
                                                      month设定的月份number7
                                                      day设定的日期number25
                                                      -

                                                      方法

                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                      方法名说明参数
                                                      isFrontDate是否为最小日期
                                                      isFinalDate是否为最大日期
                                                      setValue设置日期object: {year, month, day}
                                                      getValue获得日期
                                                      -
                                                      - - -
                                                      - -
                                                      -
                                                      -
                                                      - -

                                                      results matching ""

                                                      -
                                                        - -
                                                        -
                                                        - -

                                                        No results matching ""

                                                        - -
                                                        -
                                                        -
                                                        - -
                                                        -
                                                        - -
                                                        - - - - -
                                                        - - -
                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/calendar.md b/docs/_book/case/calendar.md deleted file mode 100644 index 472eac2c38..0000000000 --- a/docs/_book/case/calendar.md +++ /dev/null @@ -1,47 +0,0 @@ -# bi.calendar - -### 日历控件 - -{% method %} -[source](https://jsfiddle.net/fineui/4sfsaoma/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.calendar', - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - year: 2015, - month: 7, //7表示八月 - day: 25, -}); - -``` - -{% endmethod %} - - - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ----- | ----- | ------ | ------------ | -| min | 最小日期 | string | '1900-01-01' | -| max | 最大日期 | string | '2099-12-31' | -| year | 设定的年份 | number | 2015 | -| month | 设定的月份 | number | 7 | -| day | 设定的日期 | number | 25 | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| ----------- | ------- | -------------------------- | -| isFrontDate | 是否为最小日期 | — | -| isFinalDate | 是否为最大日期 | — | -| setValue | 设置日期 | object: {year, month, day} | -| getValue | 获得日期 | — | - ------- \ No newline at end of file diff --git a/docs/_book/case/clipboard.html b/docs/_book/case/clipboard.html deleted file mode 100644 index bed98e443a..0000000000 --- a/docs/_book/case/clipboard.html +++ /dev/null @@ -1,3002 +0,0 @@ - - - - - - - clipboard · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                        -
                                                        - - - - - - - - -
                                                        - -
                                                        - -
                                                        - - - - - - - - -
                                                        -
                                                        - -
                                                        -
                                                        - -
                                                        - -

                                                        bi.clipboard

                                                        -

                                                        剪切板

                                                        -
                                                        
                                                        -BI.createWidget({
                                                        -    type: 'bi.clipboard',
                                                        -    width: 100,
                                                        -    height: 100,
                                                        -    copy: function () {},
                                                        -
                                                        -    afterCopy: function () {}
                                                        -});
                                                        -
                                                        -
                                                        - - - -

                                                        参数

                                                        - - - - - - - - - - - - - - - - - - - - - - - -
                                                        参数说明类型默认值
                                                        copy获取需要拷贝的值functionBI.emptyFn
                                                        afterCopy完成拷贝后执行的方法functionBI.emptyFn
                                                        -
                                                        - - -
                                                        - -
                                                        -
                                                        -
                                                        - -

                                                        results matching ""

                                                        -
                                                          - -
                                                          -
                                                          - -

                                                          No results matching ""

                                                          - -
                                                          -
                                                          -
                                                          - -
                                                          -
                                                          - -
                                                          - - - - -
                                                          - - -
                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/clipboard.md b/docs/_book/case/clipboard.md deleted file mode 100644 index afd485beb3..0000000000 --- a/docs/_book/case/clipboard.md +++ /dev/null @@ -1,33 +0,0 @@ -# bi.clipboard - -### 剪切板 - -{% method %} -[source](https://jsfiddle.net/fineui/kLzq99c3/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.clipboard', - width: 100, - height: 100, - copy: function () {}, - - afterCopy: function () {} -}); - -``` - -{% endmethod %} - - - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| --------- | ---------- | -------- | ---------- | -| copy | 获取需要拷贝的值 | function | BI.emptyFn | -| afterCopy | 完成拷贝后执行的方法 | function | BI.emptyFn | - ------- \ No newline at end of file diff --git a/docs/_book/case/color_chooser.html b/docs/_book/case/color_chooser.html deleted file mode 100644 index 6cd53d8fd6..0000000000 --- a/docs/_book/case/color_chooser.html +++ /dev/null @@ -1,3002 +0,0 @@ - - - - - - - color_chooser · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                          -
                                                          - - - - - - - - -
                                                          - -
                                                          - -
                                                          - - - - - - - - -
                                                          -
                                                          - -
                                                          -
                                                          - -
                                                          - -

                                                          bi.color_chooser

                                                          -

                                                          选色控件

                                                          -
                                                          
                                                          -BI.createWidget({
                                                          -    type: "bi.color_chooser",
                                                          -    element: "#wrapper",
                                                          -    width: 30,
                                                          -    height: 30
                                                          -});
                                                          -
                                                          -
                                                          - - - -

                                                          方法

                                                          - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                          方法名说明参数
                                                          isViewVisible判断是否显示
                                                          setValue设置颜色值color
                                                          getValue获取颜色值
                                                          -
                                                          - - -
                                                          - -
                                                          -
                                                          -
                                                          - -

                                                          results matching ""

                                                          -
                                                            - -
                                                            -
                                                            - -

                                                            No results matching ""

                                                            - -
                                                            -
                                                            -
                                                            - -
                                                            -
                                                            - -
                                                            - - - - -
                                                            - - -
                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/color_chooser.md b/docs/_book/case/color_chooser.md deleted file mode 100644 index b8627be06e..0000000000 --- a/docs/_book/case/color_chooser.md +++ /dev/null @@ -1,32 +0,0 @@ -# bi.color_chooser - -### 选色控件 - -{% method %} -[source](https://jsfiddle.net/fineui/z4fwweg9/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.color_chooser", - element: "#wrapper", - width: 30, - height: 30 -}); - -``` - -{% endmethod %} - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| ------------- | ------ | ----- | -| isViewVisible | 判断是否显示 | — | -| setValue | 设置颜色值 | color | -| getValue | 获取颜色值 | — | - ------- \ No newline at end of file diff --git a/docs/_book/case/color_chooser_popup.html b/docs/_book/case/color_chooser_popup.html deleted file mode 100644 index ec35ccc8a4..0000000000 --- a/docs/_book/case/color_chooser_popup.html +++ /dev/null @@ -1,3033 +0,0 @@ - - - - - - - color_chooser_popup · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                            -
                                                            - - - - - - - - -
                                                            - -
                                                            - -
                                                            - - - - - - - - -
                                                            -
                                                            - -
                                                            -
                                                            - -
                                                            - -

                                                            bi.color_chooser_popup

                                                            -

                                                            选色控件弹窗

                                                            -
                                                            
                                                            -BI.createWidget({
                                                            -    type: "bi.color_chooser_popup",
                                                            -});
                                                            -
                                                            -
                                                            - - - -

                                                            参数

                                                            - - - - - - - - - - - - - - - - - -
                                                            参数说明类型默认值
                                                            height高度number145
                                                            -

                                                            方法

                                                            - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                            方法名说明参数
                                                            setStoreColors设置储存的颜色值colors
                                                            setValue设置颜色值color
                                                            getValue获取颜色值
                                                            -

                                                            事件

                                                            - - - - - - - - - - - - - -
                                                            事件说明
                                                            EVENT_VALUE_CHANGE颜色值改变时触发
                                                            -
                                                            - - -
                                                            - -
                                                            -
                                                            -
                                                            - -

                                                            results matching ""

                                                            -
                                                              - -
                                                              -
                                                              - -

                                                              No results matching ""

                                                              - -
                                                              -
                                                              -
                                                              - -
                                                              -
                                                              - -
                                                              - - - - -
                                                              - - -
                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/color_chooser_popup.md b/docs/_book/case/color_chooser_popup.md deleted file mode 100644 index f279f76acf..0000000000 --- a/docs/_book/case/color_chooser_popup.md +++ /dev/null @@ -1,45 +0,0 @@ -# bi.color_chooser_popup - -### 选色控件弹窗 - -{% method %} -[source](https://jsfiddle.net/fineui/xL7moydu/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.color_chooser_popup", -}); - -``` - -{% endmethod %} - - - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ------ | ---- | ------ | ---- | -| height | 高度 | number | 145 | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------------- | -------- | ------ | -| setStoreColors | 设置储存的颜色值 | colors | -| setValue | 设置颜色值 | color | -| getValue | 获取颜色值 | — | - - - -### 事件 - -| 事件 | 说明 | -| ------------------ | -------- | -| EVENT_VALUE_CHANGE | 颜色值改变时触发 | - ------- \ No newline at end of file diff --git a/docs/_book/case/combo/bubble_combo.html b/docs/_book/case/combo/bubble_combo.html deleted file mode 100644 index 635d1b1dc0..0000000000 --- a/docs/_book/case/combo/bubble_combo.html +++ /dev/null @@ -1,3171 +0,0 @@ - - - - - - - bubble_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                              -
                                                              - - - - - - - - -
                                                              - -
                                                              - -
                                                              - - - - - - - - -
                                                              -
                                                              - -
                                                              -
                                                              - -
                                                              - -

                                                              bi.bubble_combo

                                                              -

                                                              表示一个可以展开的节点, 不仅有选中状态而且有展开状态, 基类BI.Widget

                                                              -
                                                              
                                                              -BI.createWidget({
                                                              -    type: "bi.bubble_combo",
                                                              -    element:"#wrapper",
                                                              -    el: {
                                                              -      type: "bi.button",
                                                              -      text: "测试",
                                                              -      height: 25
                                                              -    },
                                                              -    popup: {
                                                              -      el: {
                                                              -        type: "bi.button_group",
                                                              -        items: BI.makeArray(100, {
                                                              -          type: "bi.text_item",
                                                              -          height: 25,
                                                              -          text: "item"
                                                              -        }),
                                                              -        layouts: [{
                                                              -          type: "bi.vertical"
                                                              -        }]
                                                              -      },
                                                              -      maxHeight: 200
                                                              -    }
                                                              -  })
                                                              -
                                                              -
                                                              - -

                                                              API

                                                              -
                                                              基础属性
                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                              参数说明类型可选值默认值
                                                              text组件text值string""
                                                              value组件value值string""
                                                              stopEvent阻止事件booleantrue,falsefalse
                                                              stopPropagation阻止冒泡booleantrue,falsefalse
                                                              selectedbutton的选中状态booleantrue,falsefalse
                                                              once点击一次选中有效,再点无效booleantrue,falsefalse
                                                              forceSelected点击即选中, 选中了就不会被取消,与once的区别是forceSelected不影响事件的触发booleantrue,falsefalse
                                                              forceNotSelected无论怎么点击都不会被选中booleantrue,falsefalse
                                                              disableSelected使能选中booleantrue,falsefalse
                                                              shadow是否显示阴影booleantrue,falsefalse
                                                              isShadowShowingOnSelected选中状态下是否显示阴影booleantrue,falsefalse
                                                              trigger被选元素要触发的事件stringmousedown, mouseup, click, dblclick, lclicknull
                                                              handler点击事件回调functionBI.emptyFn
                                                              -

                                                              对外方法

                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                              名称说明回调参数
                                                              beforeClick点击事件之前
                                                              doClick点击事件
                                                              handle返回该对象
                                                              hoverhover事件
                                                              dishover取消hover事件
                                                              setSelected设置选中的文本b
                                                              isSelected是否被选中
                                                              isOnce是否只允许点击一次
                                                              isForceSelected判断是否点击即选中
                                                              isForceNotSelected判断是否怎么点击都不会被选中
                                                              isDisableSelected判断是否让选中
                                                              setText设置文本值
                                                              getText获取文本值
                                                              -
                                                              - - -
                                                              - -
                                                              -
                                                              -
                                                              - -

                                                              results matching ""

                                                              -
                                                                - -
                                                                -
                                                                - -

                                                                No results matching ""

                                                                - -
                                                                -
                                                                -
                                                                - -
                                                                -
                                                                - -
                                                                - - - - -
                                                                - - -
                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/combo/bubble_combo.md b/docs/_book/case/combo/bubble_combo.md deleted file mode 100644 index 8bb7bd70d5..0000000000 --- a/docs/_book/case/combo/bubble_combo.md +++ /dev/null @@ -1,82 +0,0 @@ -# bi.bubble_combo - -## 表示一个可以展开的节点, 不仅有选中状态而且有展开状态, 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/urvt04so/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.bubble_combo", - element:"#wrapper", - el: { - type: "bi.button", - text: "测试", - height: 25 - }, - popup: { - el: { - type: "bi.button_group", - items: BI.makeArray(100, { - type: "bi.text_item", - height: 25, - text: "item" - }), - layouts: [{ - type: "bi.vertical" - }] - }, - maxHeight: 200 - } - }) - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| text | 组件text值 | string | —| "" | -| value | 组件value值 | string |— |""| -| stopEvent | 阻止事件 |boolean | true,false | false | -| stopPropagation | 阻止冒泡 | boolean | true,false| false | -| selected | button的选中状态 | boolean | true,false |false | -| once | 点击一次选中有效,再点无效 | boolean | true,false | false| -| forceSelected | 点击即选中, 选中了就不会被取消,与once的区别是forceSelected不影响事件的触发| boolean | true,false| false| -| forceNotSelected | 无论怎么点击都不会被选中 | boolean| true,false | false| -| disableSelected | 使能选中| boolean | true,false| false| -| shadow | 是否显示阴影 | boolean| true,false| false| -| isShadowShowingOnSelected| 选中状态下是否显示阴影|boolean| true,false | false| -| trigger | 被选元素要触发的事件 | string | mousedown, mouseup, click, dblclick, lclick | null| -| handler | 点击事件回调 | function | —| BI.emptyFn | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| beforeClick | 点击事件之前 | —| -| doClick | 点击事件 | — | -| handle | 返回该对象 | —| -| hover | hover事件| —| -| dishover | 取消hover事件| —| -| setSelected | 设置选中的文本| b| -| isSelected | 是否被选中| —| -| isOnce | 是否只允许点击一次| —| -| isForceSelected| 判断是否点击即选中| —| -| isForceNotSelected| 判断是否怎么点击都不会被选中|—| -| isDisableSelected| 判断是否让选中|—| -| setText| 设置文本值|—| -| getText| 获取文本值|—| - - - - ---- - - diff --git a/docs/_book/case/combo/editor_icon_check_combo.html b/docs/_book/case/combo/editor_icon_check_combo.html deleted file mode 100644 index b3c3a32a75..0000000000 --- a/docs/_book/case/combo/editor_icon_check_combo.html +++ /dev/null @@ -1,3006 +0,0 @@ - - - - - - - editor_icon_check_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                -
                                                                - - - - - - - - -
                                                                - -
                                                                - -
                                                                - - - - - - - - -
                                                                -
                                                                - -
                                                                -
                                                                - -
                                                                - -

                                                                editor_icon_check_combo

                                                                -

                                                                可以编辑trigger的TextValueCheckCombo,基类BI.Widget

                                                                -
                                                                
                                                                -BI.createWidget({
                                                                -   type: "bi.editor_icon_check_combo",
                                                                -   items: []
                                                                -});
                                                                -
                                                                -
                                                                - -

                                                                API

                                                                -
                                                                基础属性
                                                                - - - - - - - - - - - - - - - -
                                                                参数说明类型可选值默认值
                                                                -

                                                                对外方法

                                                                - - - - - - - - - - - - - - - -
                                                                名称说明回调参数
                                                                populate刷新comboitems
                                                                -
                                                                - - -
                                                                - -
                                                                -
                                                                -
                                                                - -

                                                                results matching ""

                                                                -
                                                                  - -
                                                                  -
                                                                  - -

                                                                  No results matching ""

                                                                  - -
                                                                  -
                                                                  -
                                                                  - -
                                                                  -
                                                                  - -
                                                                  - - - - -
                                                                  - - -
                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/combo/editor_icon_check_combo.md b/docs/_book/case/combo/editor_icon_check_combo.md deleted file mode 100644 index 12ffd168dd..0000000000 --- a/docs/_book/case/combo/editor_icon_check_combo.md +++ /dev/null @@ -1,36 +0,0 @@ -# editor_icon_check_combo - -## 可以编辑trigger的TextValueCheckCombo,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/w4gm7tfk/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.editor_icon_check_combo", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新combo | items | - - - ---- \ No newline at end of file diff --git a/docs/_book/case/combo/icon_combo.html b/docs/_book/case/combo/icon_combo.html deleted file mode 100644 index 5c5afa28d2..0000000000 --- a/docs/_book/case/combo/icon_combo.html +++ /dev/null @@ -1,3125 +0,0 @@ - - - - - - - icon_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                  -
                                                                  - - - - - - - - -
                                                                  - -
                                                                  - -
                                                                  - - - - - - - - -
                                                                  -
                                                                  - -
                                                                  -
                                                                  - -
                                                                  - -

                                                                  bi.icon_combo

                                                                  -

                                                                  切换trigger图标的combo 基类BI.Widget

                                                                  -
                                                                  
                                                                  -BI.createWidget({
                                                                  -  type: "bi.icon_combo",
                                                                  -  element: "#wrapper",
                                                                  -  iconClass: "close-font",
                                                                  -  items: [{
                                                                  -    value: "第一项",
                                                                  -    iconClass: "search-font"
                                                                  -  }, {
                                                                  -    value: "第二项",
                                                                  -    iconClass: "close-font"
                                                                  -  }, {
                                                                  -    value: "第三项",
                                                                  -    iconClass: "copy-font"
                                                                  -  }]
                                                                  -});
                                                                  -
                                                                  -
                                                                  - -

                                                                  API

                                                                  -
                                                                  基础属性
                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                  参数说明类型可选值默认值
                                                                  width宽度number24
                                                                  height高度number24
                                                                  iconClassicon的类名string" "
                                                                  el自定义下拉框triggerobject{ }
                                                                  popup弹出层object{ }
                                                                  minWidth最小宽度number100
                                                                  maxWidth最大宽度string/number"auto"
                                                                  maxHeight最大高度number300
                                                                  adjustLength弹出列表和trigger的距离number0
                                                                  adjustXOffset调整横向偏移number0
                                                                  adjustYOffset调整纵向偏移number0
                                                                  offsetStyle弹出层显示位置stringleft,right,center"left,right,center"
                                                                  chooseType选择类型const参考button_groupBI.ButtonGroup.CHOOSE_TYPE_SINGLE
                                                                  -

                                                                  对外方法

                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                  名称说明回调参数
                                                                  setValue设置value值
                                                                  getValue获取value值
                                                                  showView显示弹出层
                                                                  hideView隐藏弹出层
                                                                  populate刷新列表items
                                                                  -
                                                                  - - -
                                                                  - -
                                                                  -
                                                                  -
                                                                  - -

                                                                  results matching ""

                                                                  -
                                                                    - -
                                                                    -
                                                                    - -

                                                                    No results matching ""

                                                                    - -
                                                                    -
                                                                    -
                                                                    - -
                                                                    -
                                                                    - -
                                                                    - - - - -
                                                                    - - -
                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/combo/icon_combo.md b/docs/_book/case/combo/icon_combo.md deleted file mode 100644 index 36256138c1..0000000000 --- a/docs/_book/case/combo/icon_combo.md +++ /dev/null @@ -1,68 +0,0 @@ -# bi.icon_combo - -## 切换trigger图标的combo 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/z02vzvtb/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.icon_combo", - element: "#wrapper", - iconClass: "close-font", - items: [{ - value: "第一项", - iconClass: "search-font" - }, { - value: "第二项", - iconClass: "close-font" - }, { - value: "第三项", - iconClass: "copy-font" - }] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| width | 宽度 | number | — | 24 -| height | 高度 | number | — | 24 -| iconClass | icon的类名 | string | —|" "| -| el | 自定义下拉框trigger| object | —|{ } | -| popup | 弹出层| object | —| { } -| minWidth| 最小宽度| number | —|100| -| maxWidth | 最大宽度 | string/number | — | "auto"| -| maxHeight | 最大高度 | number | —| 300 -| adjustLength | 弹出列表和trigger的距离 | number | — | 0 | -| adjustXOffset | 调整横向偏移 | number | — | 0 | -| adjustYOffset |调整纵向偏移 | number | — | 0 | -| offsetStyle | 弹出层显示位置 | string | left,right,center | "left,right,center"| -| chooseType | 选择类型 | const | 参考button_group | BI.ButtonGroup.CHOOSE_TYPE_SINGLE | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setValue| 设置value值|—| -| getValue| 获取value值|—| -| showView | 显示弹出层 | —| -| hideView | 隐藏弹出层 |—| -| populate | 刷新列表 | items | - - - - - ---- - - diff --git a/docs/_book/case/combo/static_combo.html b/docs/_book/case/combo/static_combo.html deleted file mode 100644 index 7e53f3b991..0000000000 --- a/docs/_book/case/combo/static_combo.html +++ /dev/null @@ -1,3059 +0,0 @@ - - - - - - - static_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                    -
                                                                    - - - - - - - - -
                                                                    - -
                                                                    - -
                                                                    - - - - - - - - -
                                                                    -
                                                                    - -
                                                                    -
                                                                    - -
                                                                    - -

                                                                    bi.static_combo

                                                                    -

                                                                    单选combo,trigger显示项不会改变 基类BI.Widget

                                                                    -
                                                                    
                                                                    -BI.createWidget({
                                                                    -    type: "bi.static_combo",
                                                                    -    element: "#wrapper",
                                                                    -    text: "Value 不变",
                                                                    -    items: [{
                                                                    -      text: "1",
                                                                    -      value: 1
                                                                    -    }, {
                                                                    -      text: "2",
                                                                    -      value: 2
                                                                    -    }, {
                                                                    -      text: "3",
                                                                    -      value: 3
                                                                    -    }]
                                                                    -  });
                                                                    -
                                                                    -
                                                                    - -

                                                                    API

                                                                    -
                                                                    基础属性
                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                    参数说明类型可选值默认值
                                                                    height高度number24
                                                                    el自定义下拉框triggerobject{ }
                                                                    items子组件array[ ]
                                                                    text文本内容string" "
                                                                    chooseType选择类型const参考button_groupBI.ButtonGroup.CHOOSE_TYPE_SINGLE
                                                                    -

                                                                    对外方法

                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                    名称说明回调参数
                                                                    setValue设置value值
                                                                    getValue获取value值
                                                                    populate刷新列表items
                                                                    -
                                                                    - - -
                                                                    - -
                                                                    -
                                                                    -
                                                                    - -

                                                                    results matching ""

                                                                    -
                                                                      - -
                                                                      -
                                                                      - -

                                                                      No results matching ""

                                                                      - -
                                                                      -
                                                                      -
                                                                      - -
                                                                      -
                                                                      - -
                                                                      - - - - -
                                                                      - - -
                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/combo/static_combo.md b/docs/_book/case/combo/static_combo.md deleted file mode 100644 index c6417aa64f..0000000000 --- a/docs/_book/case/combo/static_combo.md +++ /dev/null @@ -1,58 +0,0 @@ -# bi.static_combo - -## 单选combo,trigger显示项不会改变 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/kn64gfzn/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.static_combo", - element: "#wrapper", - text: "Value 不变", - items: [{ - text: "1", - value: 1 - }, { - text: "2", - value: 2 - }, { - text: "3", - value: 3 - }] - }); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| height | 高度 | number | — | 24 -| el | 自定义下拉框trigger| object | —|{ } | -| items | 子组件 | array | — | [ ] -| text | 文本内容 | string | — | " " | -| chooseType | 选择类型 | const |参考button_group | BI.ButtonGroup.CHOOSE_TYPE_SINGLE | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setValue| 设置value值|—| -| getValue| 获取value值|—| -| populate | 刷新列表 | items | - - - - - ---- - - diff --git a/docs/_book/case/combo/text_value_check_combo.html b/docs/_book/case/combo/text_value_check_combo.html deleted file mode 100644 index 7e6c0f94bb..0000000000 --- a/docs/_book/case/combo/text_value_check_combo.html +++ /dev/null @@ -1,3006 +0,0 @@ - - - - - - - text_value_check_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                      -
                                                                      - - - - - - - - -
                                                                      - -
                                                                      - -
                                                                      - - - - - - - - -
                                                                      -
                                                                      - -
                                                                      -
                                                                      - -
                                                                      - -

                                                                      text_value_check_combo

                                                                      -

                                                                      下拉列表项带√的TextValueCombo,基类BI.Widget

                                                                      -
                                                                      
                                                                      -BI.createWidget({
                                                                      -   type: "bi.text_value_check_combo",
                                                                      -   items: []
                                                                      -});
                                                                      -
                                                                      -
                                                                      - -

                                                                      API

                                                                      -
                                                                      基础属性
                                                                      - - - - - - - - - - - - - - - -
                                                                      参数说明类型可选值默认值
                                                                      -

                                                                      对外方法

                                                                      - - - - - - - - - - - - - - - -
                                                                      名称说明回调参数
                                                                      populate刷新comboitems
                                                                      -
                                                                      - - -
                                                                      - -
                                                                      -
                                                                      -
                                                                      - -

                                                                      results matching ""

                                                                      -
                                                                        - -
                                                                        -
                                                                        - -

                                                                        No results matching ""

                                                                        - -
                                                                        -
                                                                        -
                                                                        - -
                                                                        -
                                                                        - -
                                                                        - - - - -
                                                                        - - -
                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/combo/text_value_check_combo.md b/docs/_book/case/combo/text_value_check_combo.md deleted file mode 100644 index 8d31116bdf..0000000000 --- a/docs/_book/case/combo/text_value_check_combo.md +++ /dev/null @@ -1,36 +0,0 @@ -# text_value_check_combo - -## 下拉列表项带√的TextValueCombo,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/4dm7uu7w/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.text_value_check_combo", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新combo | items | - - - ---- \ No newline at end of file diff --git a/docs/_book/case/combo/text_value_combo.html b/docs/_book/case/combo/text_value_combo.html deleted file mode 100644 index 6aebdeceaf..0000000000 --- a/docs/_book/case/combo/text_value_combo.html +++ /dev/null @@ -1,3053 +0,0 @@ - - - - - - - text_value_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                        -
                                                                        - - - - - - - - -
                                                                        - -
                                                                        - -
                                                                        - - - - - - - - -
                                                                        -
                                                                        - -
                                                                        -
                                                                        - -
                                                                        - -

                                                                        bi.text_value_combo

                                                                        -

                                                                        基类BI.Widget

                                                                        -
                                                                        
                                                                        -BI.createWidget({
                                                                        -  type: "bi.text_value_combo",
                                                                        -  element: "#wrapper",
                                                                        -  text: "value_combo",
                                                                        -  width: 300,
                                                                        -  items: [{
                                                                        -    text: "1",
                                                                        -    value: 1
                                                                        -  }, {
                                                                        -    text: "2",
                                                                        -    value: 2
                                                                        -  }, {
                                                                        -    text: "3",
                                                                        -    value: 3
                                                                        -  }]
                                                                        -});
                                                                        -
                                                                        -
                                                                        - -

                                                                        API

                                                                        -
                                                                        基础属性
                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                        参数说明类型可选值默认值
                                                                        height高度number30
                                                                        el自定义下拉框triggerobject{ }
                                                                        text文本内容string" "
                                                                        chooseType选择类型const参考button_groupBI.ButtonGroup.CHOOSE_TYPE_SINGLE
                                                                        -

                                                                        对外方法

                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                        名称说明回调参数
                                                                        setValue设置value值
                                                                        getValue获取value值
                                                                        populate刷新列表items
                                                                        -
                                                                        - - -
                                                                        - -
                                                                        -
                                                                        -
                                                                        - -

                                                                        results matching ""

                                                                        -
                                                                          - -
                                                                          -
                                                                          - -

                                                                          No results matching ""

                                                                          - -
                                                                          -
                                                                          -
                                                                          - -
                                                                          -
                                                                          - -
                                                                          - - - - -
                                                                          - - -
                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/combo/text_value_combo.md b/docs/_book/case/combo/text_value_combo.md deleted file mode 100644 index 0111637b7f..0000000000 --- a/docs/_book/case/combo/text_value_combo.md +++ /dev/null @@ -1,58 +0,0 @@ -# bi.text_value_combo - -## 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/hcf0kd9m/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.text_value_combo", - element: "#wrapper", - text: "value_combo", - width: 300, - items: [{ - text: "1", - value: 1 - }, { - text: "2", - value: 2 - }, { - text: "3", - value: 3 - }] -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| height | 高度 | number | — | 30 -| el | 自定义下拉框trigger| object |—|{ } | -| text | 文本内容 | string | — | " " | -| chooseType | 选择类型 | const |参考button_group | BI.ButtonGroup.CHOOSE_TYPE_SINGLE | - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setValue| 设置value值|—| -| getValue| 获取value值|—| -| populate | 刷新列表 | items | - - - - - ---- - - diff --git a/docs/_book/case/combo/text_value_down_list_combo.html b/docs/_book/case/combo/text_value_down_list_combo.html deleted file mode 100644 index 3e94c66d14..0000000000 --- a/docs/_book/case/combo/text_value_down_list_combo.html +++ /dev/null @@ -1,3045 +0,0 @@ - - - - - - - text_value_down_list_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                          -
                                                                          - - - - - - - - -
                                                                          - -
                                                                          - -
                                                                          - - - - - - - - -
                                                                          -
                                                                          - -
                                                                          -
                                                                          - -
                                                                          - -

                                                                          bi.text_value_down_list_combo

                                                                          -

                                                                          有二级下拉菜单的combo 基类BI.Widget

                                                                          -
                                                                          
                                                                          -BI.createWidget({
                                                                          -  type: "bi.text_value_down_list_combo",
                                                                          -  element: "#wrapper",
                                                                          -  text: "text",
                                                                          -  items: [
                                                                          -    [{
                                                                          -      el: {
                                                                          -        text: "1",
                                                                          -        value: 1
                                                                          -      },
                                                                          -      children: [{
                                                                          -        text: "11",
                                                                          -        value: 11
                                                                          -      }]
                                                                          -    }],
                                                                          -    [{
                                                                          -      text: "2",
                                                                          -      value: 2
                                                                          -    }, {
                                                                          -      text: "3",
                                                                          -      value: 3
                                                                          -    }]
                                                                          -  ]
                                                                          -});
                                                                          -
                                                                          -
                                                                          - -

                                                                          API

                                                                          -
                                                                          基础属性
                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                          参数说明类型可选值默认值
                                                                          height高度number30
                                                                          text文本内容string" "
                                                                          -

                                                                          对外方法

                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                          名称说明回调参数
                                                                          setValue设置value值
                                                                          getValue获取value值
                                                                          populate刷新列表items
                                                                          -
                                                                          - - -
                                                                          - -
                                                                          -
                                                                          -
                                                                          - -

                                                                          results matching ""

                                                                          -
                                                                            - -
                                                                            -
                                                                            - -

                                                                            No results matching ""

                                                                            - -
                                                                            -
                                                                            -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            - - - - -
                                                                            - - -
                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/combo/text_value_down_list_combo.md b/docs/_book/case/combo/text_value_down_list_combo.md deleted file mode 100644 index 733435fc59..0000000000 --- a/docs/_book/case/combo/text_value_down_list_combo.md +++ /dev/null @@ -1,65 +0,0 @@ -# bi.text_value_down_list_combo - -## 有二级下拉菜单的combo 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/xtxmfgx1/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.text_value_down_list_combo", - element: "#wrapper", - text: "text", - items: [ - [{ - el: { - text: "1", - value: 1 - }, - children: [{ - text: "11", - value: 11 - }] - }], - [{ - text: "2", - value: 2 - }, { - text: "3", - value: 3 - }] - ] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| height | 高度 | number | — | 30 -| text | 文本内容 | string | — | " " | - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setValue| 设置value值|—| -| getValue| 获取value值|—| -| populate | 刷新列表 | items | - - - - - ---- - - diff --git a/docs/_book/case/complex_canvas.html b/docs/_book/case/complex_canvas.html deleted file mode 100644 index f1279614cb..0000000000 --- a/docs/_book/case/complex_canvas.html +++ /dev/null @@ -1,3000 +0,0 @@ - - - - - - - complex_canvas · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                            -
                                                                            - - - - - - - - -
                                                                            - -
                                                                            - -
                                                                            - - - - - - - - -
                                                                            -
                                                                            - -
                                                                            -
                                                                            - -
                                                                            - -

                                                                            complex_canvas

                                                                            -

                                                                            复杂的canvas绘图

                                                                            -
                                                                            
                                                                            -var canvas = BI.createWidget({
                                                                            -   type: "bi.complex_canvas",
                                                                            -        width: 500,
                                                                            -        height: 600
                                                                            -    });
                                                                            -canvas.branch(55, 100, 10, 10, 100, 10, 200, 10, {
                                                                            -     offset: 20,
                                                                            -     strokeStyle: "red",
                                                                            -     lineWidth: 2
                                                                            - });
                                                                            -
                                                                            -canvas.stroke();
                                                                            -
                                                                            -
                                                                            - -

                                                                            对外方法

                                                                            - - - - - - - - - - - - - - - - - - - -
                                                                            名称说明回调参数
                                                                            branch绘制树枝节点(x0, y0, x1, y1, x2, y2) (以x0, y0为根节点,分支到x1,y1, x2,y2...)
                                                                            stroke绘制
                                                                            -
                                                                            - - -
                                                                            - -
                                                                            -
                                                                            -
                                                                            - -

                                                                            results matching ""

                                                                            -
                                                                              - -
                                                                              -
                                                                              - -

                                                                              No results matching ""

                                                                              - -
                                                                              -
                                                                              -
                                                                              - -
                                                                              -
                                                                              - -
                                                                              - - - - -
                                                                              - - -
                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/complex_canvas.md b/docs/_book/case/complex_canvas.md deleted file mode 100644 index 8a358a502b..0000000000 --- a/docs/_book/case/complex_canvas.md +++ /dev/null @@ -1,37 +0,0 @@ -# complex_canvas - -## 复杂的canvas绘图 - -{% method %} -[source](https://jsfiddle.net/fineui/psozjkgn/) - -{% common %} -```javascript - -var canvas = BI.createWidget({ - type: "bi.complex_canvas", - width: 500, - height: 600 - }); -canvas.branch(55, 100, 10, 10, 100, 10, 200, 10, { - offset: 20, - strokeStyle: "red", - lineWidth: 2 - }); - -canvas.stroke(); - - -``` - -{% endmethod %} - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| branch | 绘制树枝节点| (x0, y0, x1, y1, x2, y2) (以x0, y0为根节点,分支到x1,y1, x2,y2...)| -| stroke | 绘制 | | - ---- - - diff --git a/docs/_book/case/editor/shelter_editor.html b/docs/_book/case/editor/shelter_editor.html deleted file mode 100644 index 52c3c551c1..0000000000 --- a/docs/_book/case/editor/shelter_editor.html +++ /dev/null @@ -1,3264 +0,0 @@ - - - - - - - shelter_editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                              -
                                                                              - - - - - - - - -
                                                                              - -
                                                                              - -
                                                                              - - - - - - - - -
                                                                              -
                                                                              - -
                                                                              -
                                                                              - -
                                                                              - -

                                                                              bi.shelter_editor

                                                                              -

                                                                              带标记的文本框,需手动控制进入编辑状态 基类BI.Widget

                                                                              -
                                                                              
                                                                              -BI.createWidget({
                                                                              -    element: "#wrapper",
                                                                              -    type: "bi.shelter_editor",
                                                                              -    cls: "bi-border",
                                                                              -    width: 300,
                                                                              -    watermark: "这个是带标记的"
                                                                              -});
                                                                              -
                                                                              -
                                                                              - -

                                                                              API

                                                                              -
                                                                              基础属性
                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                              参数说明类型可选值默认值
                                                                              hgap效果相当于文本框左右padding值number4
                                                                              vgap效果相当于文本框上下padding值number2
                                                                              lgap效果相当于文本框left-padding值number0
                                                                              rgap效果相当于文本框right-padding值number0
                                                                              tgap效果相当于文本框top-padding值number0
                                                                              bgap效果相当于文本框bottom-padding值number0
                                                                              validationChecker输入较验函数function
                                                                              quitChecker是否允许退出编辑函数function
                                                                              allowBlank是否允许空值booleantrue,falsetrue
                                                                              watermark文本框placeholderstring" "
                                                                              errorText错误提示string/function" "
                                                                              height高度number30
                                                                              textAlign对齐方式stringleft,center,right"left"
                                                                              -

                                                                              对外方法

                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                              名称说明回调参数
                                                                              setErrorText设置错误文本text
                                                                              getErrorText获取错误文本
                                                                              focus文本框获取焦点
                                                                              blur文本框失焦
                                                                              onKeyDown按键事件key
                                                                              setValue设置文本框值value
                                                                              getLastValidValue获取文本框最后一次输入的有效值
                                                                              setTextStyle设置文本框样式style
                                                                              getValue获取文本框值
                                                                              isEditing文本框是否处于编辑状态
                                                                              isValid文本框值是否有效
                                                                              doRedMark文本标红
                                                                              unRedMark取消文本标红
                                                                              doHighLight文本高亮
                                                                              unHighLight取消文本高亮
                                                                              setTitle设置titletitle
                                                                              setWarningTitle设置错误titletitle
                                                                              setState设置文本框值
                                                                              getState获取文本框值
                                                                              -

                                                                              事件

                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                              事件说明
                                                                              BI.Editor.EVENT_CHANGEeditor的value发生改变触发
                                                                              BI.Editor.EVENT_FOCUSfocus事件
                                                                              BI.Editor.EVENT_BLURblur事件
                                                                              BI.Editor.EVENT_CLICK点击编辑框触发(不在编辑状态时)
                                                                              BI.Editor.EVENT_KEY_DOWNkeyDown时触发
                                                                              BI.Editor.EVENT_SPACE按下空格触发
                                                                              BI.Editor.EVENT_BACKSPACE按下Backspace触发
                                                                              BI.Editor.EVENT_START开始输入触发
                                                                              BI.Editor.EVENT_PAUSE暂停输入触发(输入空白字符)
                                                                              BI.Editor.EVENT_STOP停止输入触发
                                                                              BI.Editor.EVENT_CONFIRM确定输入触发(blur时且输入值有效)
                                                                              BI.Editor.EVENT_VALID输入值有效的状态事件
                                                                              BI.Editor.EVENT_ERROR输入值无效的状态事件
                                                                              BI.Editor.EVENT_ENTER回车事件
                                                                              BI.Editor.EVENT_RESTRICT回车但是值不合法
                                                                              BI.Editor.EVENT_REMOVE输入为空时按下backspace
                                                                              BI.Editor.EVENT_EMPTY输入框为空时触发
                                                                              -
                                                                              - - -
                                                                              - -
                                                                              -
                                                                              -
                                                                              - -

                                                                              results matching ""

                                                                              -
                                                                                - -
                                                                                -
                                                                                - -

                                                                                No results matching ""

                                                                                - -
                                                                                -
                                                                                -
                                                                                - -
                                                                                -
                                                                                - -
                                                                                - - - - -
                                                                                - - -
                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/editor/shelter_editor.md b/docs/_book/case/editor/shelter_editor.md deleted file mode 100644 index 58e28c3729..0000000000 --- a/docs/_book/case/editor/shelter_editor.md +++ /dev/null @@ -1,93 +0,0 @@ -# bi.shelter_editor - -## 带标记的文本框,需手动控制进入编辑状态 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/9Lbx6kga/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.shelter_editor", - cls: "bi-border", - width: 300, - watermark: "这个是带标记的" -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | — | 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| validationChecker | 输入较验函数 |function| — | — | -| quitChecker | 是否允许退出编辑函数 | function | — | — | -| allowBlank | 是否允许空值 | boolean | true,false | true | -| watermark | 文本框placeholder | string | — | " " | -| errorText | 错误提示 | string/function | —| " "| -| height| 高度| number |— | 30| -| textAlign| 对齐方式 | string |left,center,right |"left"| - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setErrorText | 设置错误文本 | text | -| getErrorText | 获取错误文本 | —| -| focus | 文本框获取焦点| — | -| blur | 文本框失焦|—| -| onKeyDown |按键事件|key| -| setValue | 设置文本框值|value| -| getLastValidValue | 获取文本框最后一次输入的有效值| —| -| setTextStyle| 设置文本框样式| style | -| getValue | 获取文本框值|—| -| isEditing | 文本框是否处于编辑状态|—| -| isValid | 文本框值是否有效|—| -| doRedMark | 文本标红 | — | -| unRedMark | 取消文本标红| —| -| doHighLight | 文本高亮 | —| -| unHighLight | 取消文本高亮 | —| -| setTitle| 设置title | title| -| setWarningTitle| 设置错误title | title | -| setState | 设置文本框值 |— -| getState | 获取文本框值 | — - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.Editor.EVENT_CHANGE | editor的value发生改变触发 | -|BI.Editor.EVENT_FOCUS | focus事件 | -|BI.Editor.EVENT_BLUR | blur事件 | -|BI.Editor.EVENT_CLICK | 点击编辑框触发(不在编辑状态时) | -|BI.Editor.EVENT_KEY_DOWN | keyDown时触发 | -|BI.Editor.EVENT_SPACE | 按下空格触发 | -|BI.Editor.EVENT_BACKSPACE | 按下Backspace触发 | -|BI.Editor.EVENT_START | 开始输入触发 | -|BI.Editor.EVENT_PAUSE | 暂停输入触发(输入空白字符) | -|BI.Editor.EVENT_STOP | 停止输入触发 | -|BI.Editor.EVENT_CONFIRM | 确定输入触发(blur时且输入值有效) | -|BI.Editor.EVENT_VALID | 输入值有效的状态事件 | -|BI.Editor.EVENT_ERROR | 输入值无效的状态事件 | -|BI.Editor.EVENT_ENTER | 回车事件 | -|BI.Editor.EVENT_RESTRICT | 回车但是值不合法 | -|BI.Editor.EVENT_REMOVE | 输入为空时按下backspace | -|BI.Editor.EVENT_EMPTY | 输入框为空时触发 | - - - - ---- - - diff --git a/docs/_book/case/editor/sign_editor.html b/docs/_book/case/editor/sign_editor.html deleted file mode 100644 index ffce2bb333..0000000000 --- a/docs/_book/case/editor/sign_editor.html +++ /dev/null @@ -1,3250 +0,0 @@ - - - - - - - sign_editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                -
                                                                                - - - - - - - - -
                                                                                - -
                                                                                - -
                                                                                - - - - - - - - -
                                                                                -
                                                                                - -
                                                                                -
                                                                                - -
                                                                                - -

                                                                                bi.sign_editor

                                                                                -

                                                                                带标记的文本框,基类BI.Widget

                                                                                -
                                                                                
                                                                                -BI.createWidget({
                                                                                -    element: "#wrapper",
                                                                                -    type: "bi.sign_editor",
                                                                                -    cls:"layout-bg5",
                                                                                -    value: "123",
                                                                                -    text: "456",
                                                                                -    width: 300
                                                                                -});
                                                                                -
                                                                                -
                                                                                - -

                                                                                API

                                                                                -
                                                                                基础属性
                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                参数说明类型可选值默认值
                                                                                hgap效果相当于文本框左右padding值number4
                                                                                vgap效果相当于文本框上下padding值number2
                                                                                lgap效果相当于文本框left-padding值number0
                                                                                rgap效果相当于文本框right-padding值number0
                                                                                tgap效果相当于文本框top-padding值number0
                                                                                bgap效果相当于文本框bottom-padding值number0
                                                                                validationChecker输入较验函数function
                                                                                quitChecker是否允许退出编辑函数function
                                                                                allowBlank是否允许空值booleantrue,falsetrue
                                                                                watermark文本框placeholderstring" "
                                                                                errorText错误提示string/function" "
                                                                                height高度number30
                                                                                -

                                                                                对外方法

                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                名称说明回调参数
                                                                                setErrorText设置错误文本text
                                                                                getErrorText获取错误文本
                                                                                focus文本框获取焦点
                                                                                blur文本框失焦
                                                                                setValue设置文本框值value
                                                                                getLastValidValue获取文本框最后一次输入的有效值
                                                                                getValue获取文本框值
                                                                                isEditing文本框是否处于编辑状态
                                                                                isValid文本框值是否有效
                                                                                doRedMark文本标红
                                                                                unRedMark取消文本标红
                                                                                doHighLight文本高亮
                                                                                unHighLight取消文本高亮
                                                                                setTitle设置titletitle
                                                                                setWarningTitle设置错误titletitle
                                                                                setState设置文本框值
                                                                                getState获取文本框值
                                                                                -

                                                                                事件

                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                事件说明
                                                                                BI.Editor.EVENT_CHANGEeditor的value发生改变触发
                                                                                BI.Editor.EVENT_FOCUSfocus事件
                                                                                BI.Editor.EVENT_BLURblur事件
                                                                                BI.Editor.EVENT_CLICK点击编辑框触发(不在编辑状态时)
                                                                                BI.Editor.EVENT_KEY_DOWNkeyDown时触发
                                                                                BI.Editor.EVENT_SPACE按下空格触发
                                                                                BI.Editor.EVENT_BACKSPACE按下Backspace触发
                                                                                BI.Editor.EVENT_START开始输入触发
                                                                                BI.Editor.EVENT_PAUSE暂停输入触发(输入空白字符)
                                                                                BI.Editor.EVENT_STOP停止输入触发
                                                                                BI.Editor.EVENT_CONFIRM确定输入触发(blur时且输入值有效)
                                                                                BI.Editor.EVENT_VALID输入值有效的状态事件
                                                                                BI.Editor.EVENT_ERROR输入值无效的状态事件
                                                                                BI.Editor.EVENT_ENTER回车事件
                                                                                BI.Editor.EVENT_RESTRICT回车但是值不合法
                                                                                BI.Editor.EVENT_REMOVE输入为空时按下backspace
                                                                                BI.Editor.EVENT_EMPTY输入框为空时触发
                                                                                -
                                                                                - - -
                                                                                - -
                                                                                -
                                                                                -
                                                                                - -

                                                                                results matching ""

                                                                                -
                                                                                  - -
                                                                                  -
                                                                                  - -

                                                                                  No results matching ""

                                                                                  - -
                                                                                  -
                                                                                  -
                                                                                  - -
                                                                                  -
                                                                                  - -
                                                                                  - - - - -
                                                                                  - - -
                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/editor/sign_editor.md b/docs/_book/case/editor/sign_editor.md deleted file mode 100644 index 11dffc2e0d..0000000000 --- a/docs/_book/case/editor/sign_editor.md +++ /dev/null @@ -1,91 +0,0 @@ -# bi.sign_editor - -## 带标记的文本框,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/tmdedu5t/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.sign_editor", - cls:"layout-bg5", - value: "123", - text: "456", - width: 300 -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | —| 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| validationChecker | 输入较验函数 |function| — | — | -| quitChecker | 是否允许退出编辑函数 | function | — | — | -| allowBlank | 是否允许空值 | boolean | true,false | true | -| watermark | 文本框placeholder | string | — | " " | -| errorText | 错误提示 | string/function | —| " "| -| height| 高度| number |— | 30| - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setErrorText | 设置错误文本 | text | -| getErrorText | 获取错误文本 | —| -| focus | 文本框获取焦点| — | -| blur | 文本框失焦|—| -| setValue | 设置文本框值|value| -| getLastValidValue | 获取文本框最后一次输入的有效值| —| -| getValue | 获取文本框值|—| -| isEditing | 文本框是否处于编辑状态|—| -| isValid | 文本框值是否有效|—| -| doRedMark | 文本标红 | — | -| unRedMark | 取消文本标红| —| -| doHighLight | 文本高亮 | —| -| unHighLight | 取消文本高亮 | —| -| setTitle| 设置title | title| -| setWarningTitle| 设置错误title | title | -| setState | 设置文本框值 |— -| getState | 获取文本框值 | — - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.Editor.EVENT_CHANGE | editor的value发生改变触发 | -|BI.Editor.EVENT_FOCUS | focus事件 | -|BI.Editor.EVENT_BLUR | blur事件 | -|BI.Editor.EVENT_CLICK | 点击编辑框触发(不在编辑状态时) | -|BI.Editor.EVENT_KEY_DOWN | keyDown时触发 | -|BI.Editor.EVENT_SPACE | 按下空格触发 | -|BI.Editor.EVENT_BACKSPACE | 按下Backspace触发 | -|BI.Editor.EVENT_START | 开始输入触发 | -|BI.Editor.EVENT_PAUSE | 暂停输入触发(输入空白字符) | -|BI.Editor.EVENT_STOP | 停止输入触发 | -|BI.Editor.EVENT_CONFIRM | 确定输入触发(blur时且输入值有效) | -|BI.Editor.EVENT_VALID | 输入值有效的状态事件 | -|BI.Editor.EVENT_ERROR | 输入值无效的状态事件 | -|BI.Editor.EVENT_ENTER | 回车事件 | -|BI.Editor.EVENT_RESTRICT | 回车但是值不合法 | -|BI.Editor.EVENT_REMOVE | 输入为空时按下backspace | -|BI.Editor.EVENT_EMPTY | 输入框为空时触发 | - - - - ---- - - diff --git a/docs/_book/case/editor/sign_initial_editor.html b/docs/_book/case/editor/sign_initial_editor.html deleted file mode 100644 index a6e4b37254..0000000000 --- a/docs/_book/case/editor/sign_initial_editor.html +++ /dev/null @@ -1,3263 +0,0 @@ - - - - - - - sign_initial_editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                  -
                                                                                  - - - - - - - - -
                                                                                  - -
                                                                                  - -
                                                                                  - - - - - - - - -
                                                                                  -
                                                                                  - -
                                                                                  -
                                                                                  - -
                                                                                  - -

                                                                                  bi.sign_initial_editor

                                                                                  -

                                                                                  指定初始值 之后初始值会一直显示的editor 基类BI.Widget

                                                                                  -
                                                                                  
                                                                                  -BI.createWidget({
                                                                                  -    element: "#wrapper",
                                                                                  -    type: "bi.sign_initial_editor",
                                                                                  -    cls: "layout-bg5",
                                                                                  -    text: "原始值",
                                                                                  -    width: 300
                                                                                  -});
                                                                                  -
                                                                                  -
                                                                                  - -

                                                                                  API

                                                                                  -
                                                                                  基础属性
                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                  参数说明类型可选值默认值
                                                                                  hgap效果相当于文本框左右padding值number4
                                                                                  vgap效果相当于文本框上下padding值number2
                                                                                  lgap效果相当于文本框left-padding值number0
                                                                                  rgap效果相当于文本框right-padding值number0
                                                                                  tgap效果相当于文本框top-padding值number0
                                                                                  bgap效果相当于文本框bottom-padding值number0
                                                                                  validationChecker输入较验函数function
                                                                                  quitChecker是否允许退出编辑函数function
                                                                                  allowBlank是否允许空值booleantrue,falsetrue
                                                                                  watermark文本框placeholderstring" "
                                                                                  errorText错误提示string/function" "
                                                                                  height高度number30
                                                                                  text文本内容string" "
                                                                                  value文本value值string" "
                                                                                  -

                                                                                  对外方法

                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                  名称说明回调参数
                                                                                  setErrorText设置错误文本text
                                                                                  getErrorText获取错误文本
                                                                                  focus文本框获取焦点
                                                                                  blur文本框失焦
                                                                                  setValue设置文本框值value
                                                                                  getLastValidValue获取文本框最后一次输入的有效值
                                                                                  getValue获取文本框值
                                                                                  isEditing文本框是否处于编辑状态
                                                                                  isValid文本框值是否有效
                                                                                  doRedMark文本标红
                                                                                  unRedMark取消文本标红
                                                                                  doHighLight文本高亮
                                                                                  unHighLight取消文本高亮
                                                                                  setTitle设置titletitle
                                                                                  setWarningTitle设置错误titletitle
                                                                                  setState设置文本框值
                                                                                  getState获取文本框值
                                                                                  -

                                                                                  事件

                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                  事件说明
                                                                                  BI.Editor.EVENT_CHANGEeditor的value发生改变触发
                                                                                  BI.Editor.EVENT_FOCUSfocus事件
                                                                                  BI.Editor.EVENT_BLURblur事件
                                                                                  BI.Editor.EVENT_CLICK点击编辑框触发(不在编辑状态时)
                                                                                  BI.Editor.EVENT_KEY_DOWNkeyDown时触发
                                                                                  BI.Editor.EVENT_SPACE按下空格触发
                                                                                  BI.Editor.EVENT_BACKSPACE按下Backspace触发
                                                                                  BI.Editor.EVENT_START开始输入触发
                                                                                  BI.Editor.EVENT_PAUSE暂停输入触发(输入空白字符)
                                                                                  BI.Editor.EVENT_STOP停止输入触发
                                                                                  BI.Editor.EVENT_CONFIRM确定输入触发(blur时且输入值有效)
                                                                                  BI.Editor.EVENT_VALID输入值有效的状态事件
                                                                                  BI.Editor.EVENT_ERROR输入值无效的状态事件
                                                                                  BI.Editor.EVENT_ENTER回车事件
                                                                                  BI.Editor.EVENT_RESTRICT回车但是值不合法
                                                                                  BI.Editor.EVENT_REMOVE输入为空时按下backspace
                                                                                  BI.Editor.EVENT_EMPTY输入框为空时触发
                                                                                  -
                                                                                  - - -
                                                                                  - -
                                                                                  -
                                                                                  -
                                                                                  - -

                                                                                  results matching ""

                                                                                  -
                                                                                    - -
                                                                                    -
                                                                                    - -

                                                                                    No results matching ""

                                                                                    - -
                                                                                    -
                                                                                    -
                                                                                    - -
                                                                                    -
                                                                                    - -
                                                                                    - - - - -
                                                                                    - - -
                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/editor/sign_initial_editor.md b/docs/_book/case/editor/sign_initial_editor.md deleted file mode 100644 index c08af2c657..0000000000 --- a/docs/_book/case/editor/sign_initial_editor.md +++ /dev/null @@ -1,92 +0,0 @@ -# bi.sign_initial_editor - -## 指定初始值 之后初始值会一直显示的editor 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/9vjghevp/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.sign_initial_editor", - cls: "layout-bg5", - text: "原始值", - width: 300 -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | — | 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | —| 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | | 0 | -| validationChecker | 输入较验函数 |function| — | — | -| quitChecker | 是否允许退出编辑函数 | function | — | — | -| allowBlank | 是否允许空值 | boolean | true,false | true | -| watermark | 文本框placeholder | string | — | " " | -| errorText | 错误提示 | string/function | —| " "| -| height| 高度| number |— | 30| -| text | 文本内容 | string | —| " " | -| value | 文本value值 | string | — | " " | - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setErrorText | 设置错误文本 | text | -| getErrorText | 获取错误文本 | —| -| focus | 文本框获取焦点| — | -| blur | 文本框失焦|—| -| setValue | 设置文本框值|value| -| getLastValidValue | 获取文本框最后一次输入的有效值| —| -| getValue | 获取文本框值|—| -| isEditing | 文本框是否处于编辑状态|—| -| isValid | 文本框值是否有效|—| -| doRedMark | 文本标红 | — | -| unRedMark | 取消文本标红| —| -| doHighLight | 文本高亮 | —| -| unHighLight | 取消文本高亮 | —| -| setTitle| 设置title | title| -| setWarningTitle| 设置错误title | title | -| setState | 设置文本框值 |— -| getState | 获取文本框值 | — - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.Editor.EVENT_CHANGE | editor的value发生改变触发 | -|BI.Editor.EVENT_FOCUS | focus事件 | -|BI.Editor.EVENT_BLUR | blur事件 | -|BI.Editor.EVENT_CLICK | 点击编辑框触发(不在编辑状态时) | -|BI.Editor.EVENT_KEY_DOWN | keyDown时触发 | -|BI.Editor.EVENT_SPACE | 按下空格触发 | -|BI.Editor.EVENT_BACKSPACE | 按下Backspace触发 | -|BI.Editor.EVENT_START | 开始输入触发 | -|BI.Editor.EVENT_PAUSE | 暂停输入触发(输入空白字符) | -|BI.Editor.EVENT_STOP | 停止输入触发 | -|BI.Editor.EVENT_CONFIRM | 确定输入触发(blur时且输入值有效) | -|BI.Editor.EVENT_VALID | 输入值有效的状态事件 | -|BI.Editor.EVENT_ERROR | 输入值无效的状态事件 | -|BI.Editor.EVENT_ENTER | 回车事件 | -|BI.Editor.EVENT_RESTRICT | 回车但是值不合法 | -|BI.Editor.EVENT_REMOVE | 输入为空时按下backspace | -|BI.Editor.EVENT_EMPTY | 输入框为空时触发 | - - - - ---- - - diff --git a/docs/_book/case/editor/simple_state_editor.html b/docs/_book/case/editor/simple_state_editor.html deleted file mode 100644 index f00bf28993..0000000000 --- a/docs/_book/case/editor/simple_state_editor.html +++ /dev/null @@ -1,3005 +0,0 @@ - - - - - - - simple_state_editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                    -
                                                                                    - - - - - - - - -
                                                                                    - -
                                                                                    - -
                                                                                    - - - - - - - - -
                                                                                    -
                                                                                    - -
                                                                                    -
                                                                                    - -
                                                                                    - -

                                                                                    simple_state_editor

                                                                                    -

                                                                                    无限制-已选择状态输入框,基类BI.Widget

                                                                                    -
                                                                                    
                                                                                    -BI.createWidget({
                                                                                    -   type: "bi.simple_state_editor"
                                                                                    -});
                                                                                    -
                                                                                    -
                                                                                    - -

                                                                                    API

                                                                                    -
                                                                                    基础属性
                                                                                    - - - - - - - - - - - - - - - -
                                                                                    参数说明类型可选值默认值
                                                                                    -

                                                                                    对外方法

                                                                                    - - - - - - - - - - - - - - - -
                                                                                    名称说明回调参数
                                                                                    stateState设置statestring
                                                                                    -
                                                                                    - - -
                                                                                    - -
                                                                                    -
                                                                                    -
                                                                                    - -

                                                                                    results matching ""

                                                                                    -
                                                                                      - -
                                                                                      -
                                                                                      - -

                                                                                      No results matching ""

                                                                                      - -
                                                                                      -
                                                                                      -
                                                                                      - -
                                                                                      -
                                                                                      - -
                                                                                      - - - - -
                                                                                      - - -
                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/editor/simple_state_editor.md b/docs/_book/case/editor/simple_state_editor.md deleted file mode 100644 index bb441b9cec..0000000000 --- a/docs/_book/case/editor/simple_state_editor.md +++ /dev/null @@ -1,35 +0,0 @@ -# simple_state_editor - -## 无限制-已选择状态输入框,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/2go0L3h4/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.simple_state_editor" -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| stateState | 设置state | string | - - - ---- diff --git a/docs/_book/case/editor/state_editor.html b/docs/_book/case/editor/state_editor.html deleted file mode 100644 index 6cdd83536e..0000000000 --- a/docs/_book/case/editor/state_editor.html +++ /dev/null @@ -1,3239 +0,0 @@ - - - - - - - state_editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                      -
                                                                                      - - - - - - - - -
                                                                                      - -
                                                                                      - -
                                                                                      - - - - - - - - -
                                                                                      -
                                                                                      - -
                                                                                      -
                                                                                      - -
                                                                                      - -

                                                                                      bi.state_editor

                                                                                      -

                                                                                      记录状态的输入框,基类BI.Widget

                                                                                      -
                                                                                      
                                                                                      -BI.createWidget({
                                                                                      -    element: "#wrapper",
                                                                                      -    type: "bi.state_editor",
                                                                                      -    value: "123",
                                                                                      -    text: "456",
                                                                                      -    width: 300
                                                                                      -});
                                                                                      -
                                                                                      -
                                                                                      - -

                                                                                      API

                                                                                      -
                                                                                      基础属性
                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                      参数说明类型可选值默认值
                                                                                      hgap效果相当于文本框左右padding值number4
                                                                                      vgap效果相当于文本框上下padding值number2
                                                                                      lgap效果相当于文本框left-padding值number0
                                                                                      rgap效果相当于文本框right-padding值number0
                                                                                      tgap效果相当于文本框top-padding值number0
                                                                                      bgap效果相当于文本框bottom-padding值number0
                                                                                      validationChecker输入较验函数function
                                                                                      quitChecker是否允许退出编辑函数function
                                                                                      allowBlank是否允许空值booleantrue,falsetrue
                                                                                      watermark文本框placeholderstring" "
                                                                                      errorText错误提示string/function" "
                                                                                      height高度number30
                                                                                      -

                                                                                      对外方法

                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                      名称说明回调参数
                                                                                      setErrorText设置错误文本text
                                                                                      getErrorText获取错误文本
                                                                                      focus文本框获取焦点
                                                                                      blur文本框失焦
                                                                                      setValue设置文本框值value
                                                                                      getLastValidValue获取文本框最后一次输入的有效值
                                                                                      getValue获取文本框值
                                                                                      isEditing文本框是否处于编辑状态
                                                                                      isValid文本框值是否有效
                                                                                      doRedMark文本标红
                                                                                      unRedMark取消文本标红
                                                                                      doHighLight文本高亮
                                                                                      unHighLight取消文本高亮
                                                                                      setState设置文本框值
                                                                                      getState获取文本框值
                                                                                      -

                                                                                      事件

                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                      事件说明
                                                                                      BI.Editor.EVENT_CHANGEeditor的value发生改变触发
                                                                                      BI.Editor.EVENT_FOCUSfocus事件
                                                                                      BI.Editor.EVENT_BLURblur事件
                                                                                      BI.Editor.EVENT_CLICK点击编辑框触发(不在编辑状态时)
                                                                                      BI.Editor.EVENT_KEY_DOWNkeyDown时触发
                                                                                      BI.Editor.EVENT_SPACE按下空格触发
                                                                                      BI.Editor.EVENT_BACKSPACE按下Backspace触发
                                                                                      BI.Editor.EVENT_START开始输入触发
                                                                                      BI.Editor.EVENT_PAUSE暂停输入触发(输入空白字符)
                                                                                      BI.Editor.EVENT_STOP停止输入触发
                                                                                      BI.Editor.EVENT_CONFIRM确定输入触发(blur时且输入值有效)
                                                                                      BI.Editor.EVENT_VALID输入值有效的状态事件
                                                                                      BI.Editor.EVENT_ERROR输入值无效的状态事件
                                                                                      BI.Editor.EVENT_ENTER回车事件
                                                                                      BI.Editor.EVENT_RESTRICT回车但是值不合法
                                                                                      BI.Editor.EVENT_REMOVE输入为空时按下backspace
                                                                                      BI.Editor.EVENT_EMPTY输入框为空时触发
                                                                                      -
                                                                                      - - -
                                                                                      - -
                                                                                      -
                                                                                      -
                                                                                      - -

                                                                                      results matching ""

                                                                                      -
                                                                                        - -
                                                                                        -
                                                                                        - -

                                                                                        No results matching ""

                                                                                        - -
                                                                                        -
                                                                                        -
                                                                                        - -
                                                                                        -
                                                                                        - -
                                                                                        - - - - -
                                                                                        - - -
                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/editor/state_editor.md b/docs/_book/case/editor/state_editor.md deleted file mode 100644 index 364a5cc0d0..0000000000 --- a/docs/_book/case/editor/state_editor.md +++ /dev/null @@ -1,89 +0,0 @@ -# bi.state_editor - -## 记录状态的输入框,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/p68bwkmv/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.state_editor", - value: "123", - text: "456", - width: 300 -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | — | 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | —| 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| validationChecker | 输入较验函数 |function| — | — | -| quitChecker | 是否允许退出编辑函数 | function |— | — | -| allowBlank | 是否允许空值 | boolean | true,false | true | -| watermark | 文本框placeholder | string | —| " " | -| errorText | 错误提示 | string/function |— | " "| -| height| 高度| number |— | 30| - - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setErrorText | 设置错误文本 | text | -| getErrorText | 获取错误文本 | —| -| focus | 文本框获取焦点| — | -| blur | 文本框失焦|—| -| setValue | 设置文本框值|value| -| getLastValidValue | 获取文本框最后一次输入的有效值| —| -| getValue | 获取文本框值|—| -| isEditing | 文本框是否处于编辑状态|—| -| isValid | 文本框值是否有效|—| -| doRedMark | 文本标红 | — | -| unRedMark | 取消文本标红| —| -| doHighLight | 文本高亮 | —| -| unHighLight | 取消文本高亮 | —| -| setState | 设置文本框值 |— -| getState | 获取文本框值 | — - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.Editor.EVENT_CHANGE | editor的value发生改变触发 | -|BI.Editor.EVENT_FOCUS | focus事件 | -|BI.Editor.EVENT_BLUR | blur事件 | -|BI.Editor.EVENT_CLICK | 点击编辑框触发(不在编辑状态时) | -|BI.Editor.EVENT_KEY_DOWN | keyDown时触发 | -|BI.Editor.EVENT_SPACE | 按下空格触发 | -|BI.Editor.EVENT_BACKSPACE | 按下Backspace触发 | -|BI.Editor.EVENT_START | 开始输入触发 | -|BI.Editor.EVENT_PAUSE | 暂停输入触发(输入空白字符) | -|BI.Editor.EVENT_STOP | 停止输入触发 | -|BI.Editor.EVENT_CONFIRM | 确定输入触发(blur时且输入值有效) | -|BI.Editor.EVENT_VALID | 输入值有效的状态事件 | -|BI.Editor.EVENT_ERROR | 输入值无效的状态事件 | -|BI.Editor.EVENT_ENTER | 回车事件 | -|BI.Editor.EVENT_RESTRICT | 回车但是值不合法 | -|BI.Editor.EVENT_REMOVE | 输入为空时按下backspace | -|BI.Editor.EVENT_EMPTY | 输入框为空时触发 | - - - - ---- - - diff --git a/docs/_book/case/layer/layer_panel.html b/docs/_book/case/layer/layer_panel.html deleted file mode 100644 index 300728a3ab..0000000000 --- a/docs/_book/case/layer/layer_panel.html +++ /dev/null @@ -1,3118 +0,0 @@ - - - - - - - popup_panel · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                        -
                                                                                        - - - - - - - - -
                                                                                        - -
                                                                                        - -
                                                                                        - - - - - - - - -
                                                                                        -
                                                                                        - -
                                                                                        -
                                                                                        - -
                                                                                        - -

                                                                                        bi.popup_panel

                                                                                        -

                                                                                        可以理解为MultiPopupView和Panel两个面板的结合体,基类BI.MultiPopupView

                                                                                        -
                                                                                        
                                                                                        -BI.createWidget({
                                                                                        -    element: "#wrapper",
                                                                                        -    type: "bi.popup_panel",
                                                                                        -    title: "测试",
                                                                                        -    width: 300
                                                                                        -});
                                                                                        -
                                                                                        -
                                                                                        - -

                                                                                        API

                                                                                        -
                                                                                        基础属性
                                                                                        - - - - - - - - - - - - - - - - - - - -
                                                                                        参数说明类型可选值默认值
                                                                                        title标题string" "
                                                                                        -

                                                                                        对外方法

                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                        名称说明回调参数
                                                                                        prependItems内部前插入items
                                                                                        addItems内部后插入items
                                                                                        removeItemAt移除指定索引处的itemindexs
                                                                                        populate刷新列表items
                                                                                        setNotSelectedValue设置未被选中的值value,可以是单个值也可以是个数组
                                                                                        setValue设置value值value,可以是单个值也可以是个数组
                                                                                        getNotSelectedValue获取没有被选中的值
                                                                                        getValue获取被选中的值
                                                                                        getAllButtons获取所有button
                                                                                        getAllLeaves获取所有的叶子节点
                                                                                        getSelectedButtons获取所有被选中的元素
                                                                                        getNotSelectedButtons获取所有未被选中的元素
                                                                                        getIndexByValue根据value值获取value在数组中的索引value
                                                                                        getNodeById根据id获取节点id
                                                                                        getNodeByValue根据value值获取节点value
                                                                                        empty清空组件
                                                                                        hasPrev是否有上一页
                                                                                        hasNext是否有下一页
                                                                                        -

                                                                                        事件

                                                                                        - - - - - - - - - - - - - - - - - - - - - -
                                                                                        事件说明
                                                                                        BI.PopupPanel.EVENT_CHANGEpanel的value发生改变触发
                                                                                        BI.PopupPanel.EVENT_CLOSEpanel的关闭事件
                                                                                        BI.PopupPanel.EVENT_CLICK_TOOLBAR_BUTTON点击工具栏事件
                                                                                        -
                                                                                        - - -
                                                                                        - -
                                                                                        -
                                                                                        -
                                                                                        - -

                                                                                        results matching ""

                                                                                        -
                                                                                          - -
                                                                                          -
                                                                                          - -

                                                                                          No results matching ""

                                                                                          - -
                                                                                          -
                                                                                          -
                                                                                          - -
                                                                                          -
                                                                                          - -
                                                                                          - - - - -
                                                                                          - - -
                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/layer/layer_panel.md b/docs/_book/case/layer/layer_panel.md deleted file mode 100644 index 8e34ca2f27..0000000000 --- a/docs/_book/case/layer/layer_panel.md +++ /dev/null @@ -1,69 +0,0 @@ -# bi.popup_panel - -## 可以理解为MultiPopupView和Panel两个面板的结合体,基类[BI.MultiPopupView](case/layer/multi_popup_layer.md) - -{% method %} -[source](https://jsfiddle.net/fineui/zhnqvera/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.popup_panel", - title: "测试", - width: 300 -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| title | 标题 | string | — | " " - - - - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| prependItems | 内部前插入 | items | -| addItems | 内部后插入 | items | -| removeItemAt | 移除指定索引处的item | indexs | -| populate | 刷新列表 | items | -| setNotSelectedValue| 设置未被选中的值 | value,可以是单个值也可以是个数组| -| setValue | 设置value值 | value,可以是单个值也可以是个数组 | -| getNotSelectedValue | 获取没有被选中的值 | —| -| getValue | 获取被选中的值 |—| -| getAllButtons | 获取所有button |—| -| getAllLeaves | 获取所有的叶子节点 | —| -| getSelectedButtons | 获取所有被选中的元素 | —| -| getNotSelectedButtons | 获取所有未被选中的元素 | —| -| getIndexByValue | 根据value值获取value在数组中的索引 | value| -| getNodeById | 根据id获取节点 | id | -| getNodeByValue | 根据value值获取节点 | value | -| empty| 清空组件|—| -| hasPrev| 是否有上一页|—| -| hasNext | 是否有下一页 | — - - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.PopupPanel.EVENT_CHANGE | panel的value发生改变触发 | -| BI.PopupPanel.EVENT_CLOSE | panel的关闭事件 -| BI.PopupPanel.EVENT_CLICK_TOOLBAR_BUTTON | 点击工具栏事件 - - - - ---- - - diff --git a/docs/_book/case/layer/multi_popup_layer.html b/docs/_book/case/layer/multi_popup_layer.html deleted file mode 100644 index fa2fc5e309..0000000000 --- a/docs/_book/case/layer/multi_popup_layer.html +++ /dev/null @@ -1,2992 +0,0 @@ - - - - - - - multi_popup_view · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                          -
                                                                                          - - - - - - - - -
                                                                                          - -
                                                                                          - -
                                                                                          - - - - - - - - -
                                                                                          -
                                                                                          - -
                                                                                          -
                                                                                          - -
                                                                                          - -

                                                                                          bi.multi_popup_view

                                                                                          -

                                                                                          下拉框弹出层的多选版本,toolbar带有若干按钮, zIndex在1000w,基类BI.MultiPopupView

                                                                                          -
                                                                                          
                                                                                          -BI.createWidget({
                                                                                          -    element: "#wrapper",
                                                                                          -    type: "bi.multi_popup_view",
                                                                                          -    width: 300
                                                                                          -});
                                                                                          -
                                                                                          -
                                                                                          - -

                                                                                          API

                                                                                          -
                                                                                          基础属性
                                                                                          - - - - - - - - - - - - - - - - - - - -
                                                                                          参数说明类型可选值默认值
                                                                                          buttons按钮组arrayBI.i18nText("BI-Basic_Sure")
                                                                                          -
                                                                                          - - -
                                                                                          - -
                                                                                          -
                                                                                          -
                                                                                          - -

                                                                                          results matching ""

                                                                                          -
                                                                                            - -
                                                                                            -
                                                                                            - -

                                                                                            No results matching ""

                                                                                            - -
                                                                                            -
                                                                                            -
                                                                                            - -
                                                                                            -
                                                                                            - -
                                                                                            - - - - -
                                                                                            - - -
                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/layer/multi_popup_layer.md b/docs/_book/case/layer/multi_popup_layer.md deleted file mode 100644 index dfe6b7f26e..0000000000 --- a/docs/_book/case/layer/multi_popup_layer.md +++ /dev/null @@ -1,34 +0,0 @@ -# bi.multi_popup_view - -## 下拉框弹出层的多选版本,toolbar带有若干按钮, zIndex在1000w,基类[BI.MultiPopupView](case/layer/multi_popup_layer.md) - -{% method %} -[source](https://jsfiddle.net/fineui/8of9a7cy/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.multi_popup_view", - width: 300 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| buttons | 按钮组 |array | — | BI.i18nText("BI-Basic_Sure") - - - - - ---- - - diff --git a/docs/_book/case/layer/pane_list.html b/docs/_book/case/layer/pane_list.html deleted file mode 100644 index a9ebabc0fc..0000000000 --- a/docs/_book/case/layer/pane_list.html +++ /dev/null @@ -1,3167 +0,0 @@ - - - - - - - pane_list · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                            -
                                                                                            - - - - - - - - -
                                                                                            - -
                                                                                            - -
                                                                                            - - - - - - - - -
                                                                                            -
                                                                                            - -
                                                                                            -
                                                                                            - -
                                                                                            - -

                                                                                            bi.list_pane

                                                                                            -

                                                                                            list面板,基类BI.Widget

                                                                                            -
                                                                                            
                                                                                            -BI.createWidget({
                                                                                            -  type: 'bi.list_pane',
                                                                                            -  element: "#wrapper",
                                                                                            -  cls: "bi-border",
                                                                                            -  items: []
                                                                                            -});
                                                                                            -
                                                                                            -
                                                                                            - -

                                                                                            API

                                                                                            -
                                                                                            基础属性
                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                            参数说明类型可选值默认值
                                                                                            items列表array[ ]
                                                                                            itemsCreator列表创建器function
                                                                                            hasNext是否有下一页function
                                                                                            onLoad正在加载function
                                                                                            el开启panel的元素object{type: "bi.button_group" }
                                                                                            logic布局逻辑object{ dynamic:true}
                                                                                            hgap效果相当于容器左右padding值number0
                                                                                            vgap效果相当于容器上下padding值number0
                                                                                            lgap效果相当于容器left-padding值number0
                                                                                            rgap效果相当于容器right-padding值number0
                                                                                            tgap效果相当于容器top-padding值number0
                                                                                            bgap效果相当于容器bottom-padding值number0
                                                                                            -

                                                                                            对外方法

                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                            名称说明回调参数
                                                                                            prependItems内部前插入items
                                                                                            addItems内部后插入items
                                                                                            removeItemAt移除指定索引处的itemindexs
                                                                                            populate刷新列表items
                                                                                            setNotSelectedValue设置未被选中的值value,可以是单个值也可以是个数组
                                                                                            setValue设置value值value,可以是单个值也可以是个数组
                                                                                            getNotSelectedValue获取没有被选中的值
                                                                                            getValue获取被选中的值
                                                                                            getAllButtons获取所有button
                                                                                            getAllLeaves获取所有的叶子节点
                                                                                            getSelectedButtons获取所有被选中的元素
                                                                                            getNotSelectedButtons获取所有未被选中的元素
                                                                                            getIndexByValue根据value值获取value在数组中的索引value
                                                                                            getNodeById根据id获取节点id
                                                                                            getNodeByValue根据value值获取节点value
                                                                                            hasPrev是否有上一页
                                                                                            hasNext是否有下一页
                                                                                            -
                                                                                            - - -
                                                                                            - -
                                                                                            -
                                                                                            -
                                                                                            - -

                                                                                            results matching ""

                                                                                            -
                                                                                              - -
                                                                                              -
                                                                                              - -

                                                                                              No results matching ""

                                                                                              - -
                                                                                              -
                                                                                              -
                                                                                              - -
                                                                                              -
                                                                                              - -
                                                                                              - - - - -
                                                                                              - - -
                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/layer/pane_list.md b/docs/_book/case/layer/pane_list.md deleted file mode 100644 index 81496a9c4f..0000000000 --- a/docs/_book/case/layer/pane_list.md +++ /dev/null @@ -1,73 +0,0 @@ -# bi.list_pane - -## list面板,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/7Lv8q9p9/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.list_pane', - element: "#wrapper", - cls: "bi-border", - items: [] -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| items | 列表 | array | — | [ ] -| itemsCreator | 列表创建器| function | — | — -| hasNext | 是否有下一页 | function | —| — -| onLoad | 正在加载 | function | —| — -| el | 开启panel的元素 | object | —|{type: "bi.button_group" }| -| logic | 布局逻辑 | object |— | { dynamic:true} -| hgap | 效果相当于容器左右padding值 | number | — | 0 | -| vgap | 效果相当于容器上下padding值 | number | —| 0 | -| lgap | 效果相当于容器left-padding值 | number | —| 0 | -| rgap | 效果相当于容器right-padding值 | number | — | 0 | -| tgap | 效果相当于容器top-padding值 | number | — | 0 | -| bgap | 效果相当于容器bottom-padding值 | number | — | 0 | - - - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| prependItems | 内部前插入 | items | -| addItems | 内部后插入 | items | -| removeItemAt | 移除指定索引处的item | indexs | -| populate | 刷新列表 | items | -| setNotSelectedValue| 设置未被选中的值 | value,可以是单个值也可以是个数组| -| setValue | 设置value值 | value,可以是单个值也可以是个数组 | -| getNotSelectedValue | 获取没有被选中的值 | —| -| getValue | 获取被选中的值 |—| -| getAllButtons | 获取所有button |—| -| getAllLeaves | 获取所有的叶子节点 | —| -| getSelectedButtons | 获取所有被选中的元素 | —| -| getNotSelectedButtons | 获取所有未被选中的元素 | —| -| getIndexByValue | 根据value值获取value在数组中的索引 | value| -| getNodeById | 根据id获取节点 | id | -| getNodeByValue | 根据value值获取节点 | value | -| hasPrev| 是否有上一页|—| -| hasNext | 是否有下一页 | — - - - - - - ---- - - diff --git a/docs/_book/case/layer/panel.html b/docs/_book/case/layer/panel.html deleted file mode 100644 index 170a0826d2..0000000000 --- a/docs/_book/case/layer/panel.html +++ /dev/null @@ -1,3038 +0,0 @@ - - - - - - - panel · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                              -
                                                                                              - - - - - - - - -
                                                                                              - -
                                                                                              - -
                                                                                              - - - - - - - - -
                                                                                              -
                                                                                              - -
                                                                                              -
                                                                                              - -
                                                                                              - -

                                                                                              bi.panel

                                                                                              -

                                                                                              带有标题栏的panel,基类BI.Widget

                                                                                              -
                                                                                              
                                                                                              -BI.createWidget({
                                                                                              -  element: "#wrapper",
                                                                                              -  type: "bi.panel",
                                                                                              -  title: "标题",
                                                                                              -  titleButtons: [{
                                                                                              -      type: "bi.button",
                                                                                              -    text: "+"
                                                                                              -  }],
                                                                                              -  el: this.button_group,
                                                                                              -  logic: {
                                                                                              -    dynamic: true
                                                                                              -  }
                                                                                              -});
                                                                                              -
                                                                                              -
                                                                                              - -

                                                                                              API

                                                                                              -
                                                                                              基础属性
                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                              参数说明类型可选值默认值
                                                                                              title标题string" "
                                                                                              titleButton标题后的按钮组array[ ]
                                                                                              el开启panel的元素object{ }
                                                                                              logic布局逻辑object{ dynamic:false}
                                                                                              -

                                                                                              对外方法

                                                                                              - - - - - - - - - - - - - - - -
                                                                                              名称说明回调参数
                                                                                              setTitle设置标题title
                                                                                              -
                                                                                              - - -
                                                                                              - -
                                                                                              -
                                                                                              -
                                                                                              - -

                                                                                              results matching ""

                                                                                              -
                                                                                                - -
                                                                                                -
                                                                                                - -

                                                                                                No results matching ""

                                                                                                - -
                                                                                                -
                                                                                                -
                                                                                                - -
                                                                                                -
                                                                                                - -
                                                                                                - - - - -
                                                                                                - - -
                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/layer/panel.md b/docs/_book/case/layer/panel.md deleted file mode 100644 index 4eb7392848..0000000000 --- a/docs/_book/case/layer/panel.md +++ /dev/null @@ -1,54 +0,0 @@ -# bi.panel - -## 带有标题栏的panel,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/3m1q3857/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.panel", - title: "标题", - titleButtons: [{ - type: "bi.button", - text: "+" - }], - el: this.button_group, - logic: { - dynamic: true - } -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| title | 标题 | string | — | " " -| titleButton | 标题后的按钮组 | array | —| [ ] -| el | 开启panel的元素 | object | —|{ }| -| logic | 布局逻辑 | object |— | { dynamic:false} - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setTitle |设置标题| title - - - - - ---- - - diff --git a/docs/_book/case/list/list.select.html b/docs/_book/case/list/list.select.html deleted file mode 100644 index a52a6afe59..0000000000 --- a/docs/_book/case/list/list.select.html +++ /dev/null @@ -1,3122 +0,0 @@ - - - - - - - select_list · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                -
                                                                                                - - - - - - - - -
                                                                                                - -
                                                                                                - -
                                                                                                - - - - - - - - -
                                                                                                -
                                                                                                - -
                                                                                                -
                                                                                                - -
                                                                                                - -

                                                                                                bi.select_list

                                                                                                -

                                                                                                选择列表

                                                                                                -
                                                                                                
                                                                                                -BI.createWidget({
                                                                                                -    type: "bi.select_list",
                                                                                                -    items: [{
                                                                                                -        text: '1',
                                                                                                -    }, {
                                                                                                -        text: '2',
                                                                                                -    }]
                                                                                                -});
                                                                                                -
                                                                                                -
                                                                                                - -

                                                                                                参数

                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                参数说明类型默认值
                                                                                                directiontoolbar位置stringBI.Direction.Top
                                                                                                onLoaded加载完成的回调(测试了无效果)functionBI.emptyFn
                                                                                                items子项array[]
                                                                                                itemsCreator元素创造器functionBI.emptyFn
                                                                                                -

                                                                                                方法

                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                方法名说明参数
                                                                                                setAllSelected设置全选v: boolean
                                                                                                setToolBarVisible设置toolbar是否可见b: boolean
                                                                                                isAllSelected是否全选中
                                                                                                hasPrev是否有上一页
                                                                                                hasNext是否有下一页
                                                                                                prependItems列表最前添加元素items
                                                                                                addItems列表最后添加元素items
                                                                                                setValue设置值data
                                                                                                getVlaue获得值
                                                                                                populate替换内容items
                                                                                                resetHeight重新设置高度h
                                                                                                setNotSelectedValue设置未选中值
                                                                                                getNotSelectedValue获取未选中植
                                                                                                getAllButtons获得所以根节点
                                                                                                getAllLeaves获得所有叶节点
                                                                                                getSelectedButtons获取选中的根节点
                                                                                                getNotSelectedButtons获取未选中的根节点
                                                                                                getIndexByValue根据值获取索引value
                                                                                                getNodeById根据id获取nodeid
                                                                                                getNodeByValue根据值获取nodevalue
                                                                                                -
                                                                                                - - -
                                                                                                - -
                                                                                                -
                                                                                                -
                                                                                                - -

                                                                                                results matching ""

                                                                                                -
                                                                                                  - -
                                                                                                  -
                                                                                                  - -

                                                                                                  No results matching ""

                                                                                                  - -
                                                                                                  -
                                                                                                  -
                                                                                                  - -
                                                                                                  -
                                                                                                  - -
                                                                                                  - - - - -
                                                                                                  - - -
                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/list/list.select.md b/docs/_book/case/list/list.select.md deleted file mode 100644 index 00a4fe7f82..0000000000 --- a/docs/_book/case/list/list.select.md +++ /dev/null @@ -1,58 +0,0 @@ -# bi.select_list - -### 选择列表 - -{% method %} -[source](https://jsfiddle.net/fineui/c3azpxss/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.select_list", - items: [{ - text: '1', - }, { - text: '2', - }] -}); - -``` - -{% endmethod %} - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | --------------- | -------- | ---------------- | -| direction | toolbar位置 | string | BI.Direction.Top | -| onLoaded | 加载完成的回调(测试了无效果) | function | BI.emptyFn | -| items | 子项 | array | [] | -| itemsCreator | 元素创造器 | function | BI.emptyFn | - -### 方法 - -| 方法名 | 说明 | 参数 | -| --------------------- | ------------- | ------- | -| setAllSelected | 设置全选 | v: boolean | -| setToolBarVisible | 设置toolbar是否可见 | b: boolean | -| isAllSelected | 是否全选中 | — | -| hasPrev | 是否有上一页 | — | -| hasNext | 是否有下一页 | — | -| prependItems | 列表最前添加元素 | items | -| addItems | 列表最后添加元素 | items | -| setValue | 设置值 | data | -| getVlaue | 获得值 | — | -| populate | 替换内容 | items | -| resetHeight | 重新设置高度 | h | -| setNotSelectedValue | 设置未选中值 | — | -| getNotSelectedValue | 获取未选中植 | — | -| getAllButtons | 获得所以根节点 | — | -| getAllLeaves | 获得所有叶节点 | — | -| getSelectedButtons | 获取选中的根节点 | — | -| getNotSelectedButtons | 获取未选中的根节点 | — | -| getIndexByValue | 根据值获取索引 | value | -| getNodeById | 根据id获取node | id | -| getNodeByValue | 根据值获取node | value | - ------- \ No newline at end of file diff --git a/docs/_book/case/loader/lazy_loader.html b/docs/_book/case/loader/lazy_loader.html deleted file mode 100644 index 11e260d8af..0000000000 --- a/docs/_book/case/loader/lazy_loader.html +++ /dev/null @@ -1,3052 +0,0 @@ - - - - - - - lazy_loader · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                  -
                                                                                                  - - - - - - - - -
                                                                                                  - -
                                                                                                  - -
                                                                                                  - - - - - - - - -
                                                                                                  -
                                                                                                  - -
                                                                                                  -
                                                                                                  - -
                                                                                                  - -

                                                                                                  bi.lazy_loader

                                                                                                  -

                                                                                                  懒加载loader

                                                                                                  -
                                                                                                  
                                                                                                  -BI.createWidget({
                                                                                                  -    type: "bi.lazy_loader",
                                                                                                  -    width: 100,
                                                                                                  -    element: 'body',
                                                                                                  -    items: items,
                                                                                                  -});
                                                                                                  -
                                                                                                  -
                                                                                                  - - - -

                                                                                                  方法

                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                  方法名说明参数
                                                                                                  addItems列表最后添加元素items
                                                                                                  setValue设置值data
                                                                                                  getValue获得值
                                                                                                  populate替换内容items
                                                                                                  setNotSelectedValue设置未选中值
                                                                                                  getNotSelectedValue获取未选中植
                                                                                                  getAllButtons获得所以根节点
                                                                                                  getAllLeaves获得所有叶节点
                                                                                                  getSelectedButtons获取选中的根节点
                                                                                                  getNotSelectedButtons获取未选中的根节点
                                                                                                  getIndexByValue根据值获取索引value
                                                                                                  getNodeById根据id获取nodeid
                                                                                                  getNodeByValue根据值获取nodevalue
                                                                                                  -
                                                                                                  - - -
                                                                                                  - -
                                                                                                  -
                                                                                                  -
                                                                                                  - -

                                                                                                  results matching ""

                                                                                                  -
                                                                                                    - -
                                                                                                    -
                                                                                                    - -

                                                                                                    No results matching ""

                                                                                                    - -
                                                                                                    -
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    - -
                                                                                                    - - - - -
                                                                                                    - - -
                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/loader/lazy_loader.md b/docs/_book/case/loader/lazy_loader.md deleted file mode 100644 index 90c8de2c35..0000000000 --- a/docs/_book/case/loader/lazy_loader.md +++ /dev/null @@ -1,42 +0,0 @@ -# bi.lazy_loader - -### 懒加载loader - -{% method %} -[source](https://jsfiddle.net/fineui/n710yphc/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.lazy_loader", - width: 100, - element: 'body', - items: items, -}); - -``` - -{% endmethod %} - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| --------------------- | ---------- | ----- | -| addItems | 列表最后添加元素 | items | -| setValue | 设置值 | data | -| getValue | 获得值 | — | -| populate | 替换内容 | items | -| setNotSelectedValue | 设置未选中值 | — | -| getNotSelectedValue | 获取未选中植 | — | -| getAllButtons | 获得所以根节点 | — | -| getAllLeaves | 获得所有叶节点 | — | -| getSelectedButtons | 获取选中的根节点 | — | -| getNotSelectedButtons | 获取未选中的根节点 | — | -| getIndexByValue | 根据值获取索引 | value | -| getNodeById | 根据id获取node | id | -| getNodeByValue | 根据值获取node | value | - ------- \ No newline at end of file diff --git a/docs/_book/case/loader/list_loader.html b/docs/_book/case/loader/list_loader.html deleted file mode 100644 index 5149ff97f8..0000000000 --- a/docs/_book/case/loader/list_loader.html +++ /dev/null @@ -1,3109 +0,0 @@ - - - - - - - list_loader · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                    -
                                                                                                    - - - - - - - - -
                                                                                                    - -
                                                                                                    - -
                                                                                                    - - - - - - - - -
                                                                                                    -
                                                                                                    - -
                                                                                                    -
                                                                                                    - -
                                                                                                    - -

                                                                                                    bi.list_loader

                                                                                                    -

                                                                                                    为解决排序问题引入的控件

                                                                                                    -
                                                                                                    
                                                                                                    -BI.createWidget({
                                                                                                    -    type: "bi.list_loader",
                                                                                                    -    width: 100,
                                                                                                    -    element: 'body',
                                                                                                    -    items: items,
                                                                                                    -});
                                                                                                    -
                                                                                                    -
                                                                                                    - -

                                                                                                    参数

                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                    参数说明类型默认值
                                                                                                    count分页计数numberfalse
                                                                                                    nextobject{}
                                                                                                    hasNext是否有下一页functionBI.emptyFn
                                                                                                    items子项array[]
                                                                                                    itemsCreator元素创造器functionBI.emptyFn
                                                                                                    onLoaded加载完成回调functionBI.emptyFn
                                                                                                    -

                                                                                                    方法

                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                    方法名说明参数
                                                                                                    hasNext是否有下一页
                                                                                                    addItems列表最后添加元素items
                                                                                                    setValue设置值data
                                                                                                    getVlaue获得值
                                                                                                    populate替换内容items
                                                                                                    resetHeight重新设置高度h
                                                                                                    setNotSelectedValue设置未选中值
                                                                                                    getNotSelectedValue获取未选中植
                                                                                                    getAllButtons获得所以根节点
                                                                                                    getAllLeaves获得所有叶节点
                                                                                                    getSelectedButtons获取选中的根节点
                                                                                                    getNotSelectedButtons获取未选中的根节点
                                                                                                    getIndexByValue根据值获取索引value
                                                                                                    getNodeById根据id获取nodeid
                                                                                                    getNodeByValue根据值获取nodevalue
                                                                                                    -
                                                                                                    - - -
                                                                                                    - -
                                                                                                    -
                                                                                                    -
                                                                                                    - -

                                                                                                    results matching ""

                                                                                                    -
                                                                                                      - -
                                                                                                      -
                                                                                                      - -

                                                                                                      No results matching ""

                                                                                                      - -
                                                                                                      -
                                                                                                      -
                                                                                                      - -
                                                                                                      -
                                                                                                      - -
                                                                                                      - - - - -
                                                                                                      - - -
                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/loader/list_loader.md b/docs/_book/case/loader/list_loader.md deleted file mode 100644 index 731b82a9f9..0000000000 --- a/docs/_book/case/loader/list_loader.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.list_loader - -### 为解决排序问题引入的控件 - -{% method %} -[source](https://jsfiddle.net/fineui/8wa7rvcd/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.list_loader", - width: 100, - element: 'body', - items: items, -}); - -``` - -{% endmethod %} - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | ------ | -------- | ---------- | -| count | 分页计数 | number | false | -| next | | object | {} | -| hasNext | 是否有下一页 | function | BI.emptyFn | -| items | 子项 | array | [] | -| itemsCreator | 元素创造器 | function | BI.emptyFn | -| onLoaded | 加载完成回调 | function | BI.emptyFn | - -### 方法 - -| 方法名 | 说明 | 参数 | -| --------------------- | ---------- | ----- | -| hasNext | 是否有下一页 | — | -| addItems | 列表最后添加元素 | items | -| setValue | 设置值 | data | -| getVlaue | 获得值 | — | -| populate | 替换内容 | items | -| resetHeight | 重新设置高度 | h | -| setNotSelectedValue | 设置未选中值 | — | -| getNotSelectedValue | 获取未选中植 | — | -| getAllButtons | 获得所以根节点 | — | -| getAllLeaves | 获得所有叶节点 | — | -| getSelectedButtons | 获取选中的根节点 | — | -| getNotSelectedButtons | 获取未选中的根节点 | — | -| getIndexByValue | 根据值获取索引 | value | -| getNodeById | 根据id获取node | id | -| getNodeByValue | 根据值获取node | value | - ------- \ No newline at end of file diff --git a/docs/_book/case/loader/sort_list.html b/docs/_book/case/loader/sort_list.html deleted file mode 100644 index ab0c6dacaa..0000000000 --- a/docs/_book/case/loader/sort_list.html +++ /dev/null @@ -1,3107 +0,0 @@ - - - - - - - sort_list(jquery-sortable封装) · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                      -
                                                                                                      - - - - - - - - -
                                                                                                      - -
                                                                                                      - -
                                                                                                      - - - - - - - - -
                                                                                                      -
                                                                                                      - -
                                                                                                      -
                                                                                                      - -
                                                                                                      - -

                                                                                                      bi.sort_list

                                                                                                      -

                                                                                                      排序列表

                                                                                                      -
                                                                                                      
                                                                                                      -BI.createWidget({
                                                                                                      -    type: "bi.sort_list",
                                                                                                      -    width: 100,
                                                                                                      -    element: 'body',
                                                                                                      -    items: items,
                                                                                                      -});
                                                                                                      -
                                                                                                      -
                                                                                                      - -

                                                                                                      参数

                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                      参数说明类型默认值
                                                                                                      count分页计数numberfalse
                                                                                                      nextobject{}
                                                                                                      hasNext是否有下一页functionBI.emptyFn
                                                                                                      items子项array[]
                                                                                                      itemsCreator元素创造器functionBI.emptyFn
                                                                                                      onLoaded加载完成回调functionBI.emptyFn
                                                                                                      -

                                                                                                      方法

                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                      方法名说明参数
                                                                                                      hasNext是否有下一页
                                                                                                      addItems列表最后添加元素items
                                                                                                      setValue设置值data
                                                                                                      getVlaue获得值
                                                                                                      populate替换内容items
                                                                                                      resetHeight重新设置高度h
                                                                                                      setNotSelectedValue设置未选中值
                                                                                                      getNotSelectedValue获取未选中植
                                                                                                      getAllButtons获得所以根节点
                                                                                                      getAllLeaves获得所有叶节点
                                                                                                      getSelectedButtons获取选中的根节点
                                                                                                      getNotSelectedButtons获取未选中的根节点
                                                                                                      getIndexByValue根据值获取索引value
                                                                                                      getNodeById根据id获取nodeid
                                                                                                      getNodeByValue根据值获取nodevalue
                                                                                                      -
                                                                                                      - - -
                                                                                                      - -
                                                                                                      -
                                                                                                      -
                                                                                                      - -

                                                                                                      results matching ""

                                                                                                      -
                                                                                                        - -
                                                                                                        -
                                                                                                        - -

                                                                                                        No results matching ""

                                                                                                        - -
                                                                                                        -
                                                                                                        -
                                                                                                        - -
                                                                                                        -
                                                                                                        - -
                                                                                                        - - - - -
                                                                                                        - - -
                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/loader/sort_list.md b/docs/_book/case/loader/sort_list.md deleted file mode 100644 index 51fd632e0c..0000000000 --- a/docs/_book/case/loader/sort_list.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.sort_list - -### 排序列表 - -{% method %} -[source](https://jsfiddle.net/fineui/wj68tdvx/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.sort_list", - width: 100, - element: 'body', - items: items, -}); - -``` - -{% endmethod %} - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | ------ | -------- | ---------- | -| count | 分页计数 | number | false | -| next | | object | {} | -| hasNext | 是否有下一页 | function | BI.emptyFn | -| items | 子项 | array | [] | -| itemsCreator | 元素创造器 | function | BI.emptyFn | -| onLoaded | 加载完成回调 | function | BI.emptyFn | - -### 方法 - -| 方法名 | 说明 | 参数 | -| --------------------- | ---------- | ----- | -| hasNext | 是否有下一页 | — | -| addItems | 列表最后添加元素 | items | -| setValue | 设置值 | data | -| getVlaue | 获得值 | — | -| populate | 替换内容 | items | -| resetHeight | 重新设置高度 | h | -| setNotSelectedValue | 设置未选中值 | — | -| getNotSelectedValue | 获取未选中植 | — | -| getAllButtons | 获得所以根节点 | — | -| getAllLeaves | 获得所有叶节点 | — | -| getSelectedButtons | 获取选中的根节点 | — | -| getNotSelectedButtons | 获取未选中的根节点 | — | -| getIndexByValue | 根据值获取索引 | value | -| getNodeById | 根据id获取node | id | -| getNodeByValue | 根据值获取node | value | - ------- \ No newline at end of file diff --git a/docs/_book/case/pager/all_count_pager.html b/docs/_book/case/pager/all_count_pager.html deleted file mode 100644 index 307fafa32e..0000000000 --- a/docs/_book/case/pager/all_count_pager.html +++ /dev/null @@ -1,3066 +0,0 @@ - - - - - - - all_count_pager · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                        -
                                                                                                        - - - - - - - - -
                                                                                                        - -
                                                                                                        - -
                                                                                                        - - - - - - - - -
                                                                                                        -
                                                                                                        - -
                                                                                                        -
                                                                                                        - -
                                                                                                        - -

                                                                                                        bi.all_count_pager

                                                                                                        -

                                                                                                        有总页数和总行数的分页控件

                                                                                                        -
                                                                                                        
                                                                                                        -BI.createWidget({
                                                                                                        -    type: 'bi.all_count_pager',
                                                                                                        -    height: 30,
                                                                                                        -    pages: 10, //必选项
                                                                                                        -    curr: 1,
                                                                                                        -    count: 1,
                                                                                                        -});
                                                                                                        -
                                                                                                        -
                                                                                                        - -

                                                                                                        参数

                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                        参数说明类型默认值
                                                                                                        height控件高度number30
                                                                                                        pages总页数number1
                                                                                                        curr当前页number1
                                                                                                        count总行数number1
                                                                                                        -

                                                                                                        方法

                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                        方法名说明参数
                                                                                                        setAllPages设置总页数v
                                                                                                        setValue设置当前页码v
                                                                                                        setVPage设置当前页码v
                                                                                                        setCount设置计数count
                                                                                                        getCurrentPage获取当前页码
                                                                                                        hasPrev是否有前一页
                                                                                                        hasNext是否有后一页
                                                                                                        setPagerVisible设置页码是否可见true/false
                                                                                                        populate清空内容
                                                                                                        -
                                                                                                        - - -
                                                                                                        - -
                                                                                                        -
                                                                                                        -
                                                                                                        - -

                                                                                                        results matching ""

                                                                                                        -
                                                                                                          - -
                                                                                                          -
                                                                                                          - -

                                                                                                          No results matching ""

                                                                                                          - -
                                                                                                          -
                                                                                                          -
                                                                                                          - -
                                                                                                          -
                                                                                                          - -
                                                                                                          - - - - -
                                                                                                          - - -
                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/pager/all_count_pager.md b/docs/_book/case/pager/all_count_pager.md deleted file mode 100644 index 88a5807271..0000000000 --- a/docs/_book/case/pager/all_count_pager.md +++ /dev/null @@ -1,48 +0,0 @@ -# bi.all_count_pager - -### 有总页数和总行数的分页控件 - -{% method %} -[source](https://jsfiddle.net/fineui/cmtamo5L/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.all_count_pager', - height: 30, - pages: 10, //必选项 - curr: 1, - count: 1, -}); - -``` - -{% endmethod %} - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ------ | ---- | ------ | ---- | -| height | 控件高度 | number | 30 | -| pages | 总页数 | number | 1 | -| curr | 当前页 | number | 1 | -| count | 总行数 | number | 1 | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| --------------- | -------- | ---------- | -| setAllPages | 设置总页数 | v | -| setValue | 设置当前页码 | v | -| setVPage | 设置当前页码 | v | -| setCount | 设置计数 | count | -| getCurrentPage | 获取当前页码 | — | -| hasPrev | 是否有前一页 | — | -| hasNext | 是否有后一页 | — | -| setPagerVisible | 设置页码是否可见 | true/false | -| populate | 清空内容 | — | - ------- \ No newline at end of file diff --git a/docs/_book/case/pager/direction_pager.html b/docs/_book/case/pager/direction_pager.html deleted file mode 100644 index 881538dcca..0000000000 --- a/docs/_book/case/pager/direction_pager.html +++ /dev/null @@ -1,3128 +0,0 @@ - - - - - - - direction_pager · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                          -
                                                                                                          - - - - - - - - -
                                                                                                          - -
                                                                                                          - -
                                                                                                          - - - - - - - - -
                                                                                                          -
                                                                                                          - -
                                                                                                          -
                                                                                                          - -
                                                                                                          - -

                                                                                                          bi.direction_pager

                                                                                                          -

                                                                                                          显示页码的分页控件

                                                                                                          -
                                                                                                          
                                                                                                          -var pager = BI.createWidget({
                                                                                                          -  type: 'bi.direction_pager',
                                                                                                          -  height: 30,
                                                                                                          -  horizontal: {
                                                                                                          -      pages: 10, //必选项
                                                                                                          -      curr: 1, //初始化当前页, pages为数字时可用,
                                                                                                          -      firstPage: 1,
                                                                                                          -    lastPage: 10,
                                                                                                          -  },
                                                                                                          -  vertical: {
                                                                                                          -      pages: 10, //必选项
                                                                                                          -      curr: 1, //初始化当前页, pages为数字时可用,
                                                                                                          -      firstPage: 1,
                                                                                                          -    lastPage: 10,
                                                                                                          -  },
                                                                                                          -  element: 'body',
                                                                                                          -});
                                                                                                          -
                                                                                                          -
                                                                                                          - -

                                                                                                          参数

                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                          参数二级参数说明类型默认值
                                                                                                          height控件高度number30
                                                                                                          horizontal横向翻页设置object
                                                                                                          pages总页数number/booleanfalse
                                                                                                          curr当前页, pages为数字时可用number1
                                                                                                          hasPrev判断是否有前一页的方法functionBI.emptyFn
                                                                                                          hasNext判断是否有后一页的方法functionBI.emptyFn
                                                                                                          firstPage第一页number1
                                                                                                          lastPage最后一页number/functionBI.emptyFn
                                                                                                          vertical纵向翻页设置,参数与horizontal相同object
                                                                                                          -

                                                                                                          方法

                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                          方法名说明参数
                                                                                                          getVPage获取纵向页码
                                                                                                          getHPage获取水平向页码
                                                                                                          setVPage获取纵向页码v
                                                                                                          setHPage获取水平向页码v
                                                                                                          hasVNext纵向坐标是否有下一页
                                                                                                          hasHNext横向坐标是否有下一页
                                                                                                          hasVPrev纵向坐标是否有上一页
                                                                                                          hasHPrev横向坐标是否有上一页
                                                                                                          setHPagerVisible设置横向分页键可见
                                                                                                          setVPagerVisible设置纵向分页键可见
                                                                                                          populate清空内容
                                                                                                          -
                                                                                                          - - -
                                                                                                          - -
                                                                                                          -
                                                                                                          -
                                                                                                          - -

                                                                                                          results matching ""

                                                                                                          -
                                                                                                            - -
                                                                                                            -
                                                                                                            - -

                                                                                                            No results matching ""

                                                                                                            - -
                                                                                                            -
                                                                                                            -
                                                                                                            - -
                                                                                                            -
                                                                                                            - -
                                                                                                            - - - - -
                                                                                                            - - -
                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/pager/direction_pager.md b/docs/_book/case/pager/direction_pager.md deleted file mode 100644 index 636fd69313..0000000000 --- a/docs/_book/case/pager/direction_pager.md +++ /dev/null @@ -1,65 +0,0 @@ -# bi.direction_pager - -### 显示页码的分页控件 - -{% method %} -[source](https://jsfiddle.net/fineui/vyc36s2a/) - -{% common %} -```javascript - -var pager = BI.createWidget({ - type: 'bi.direction_pager', - height: 30, - horizontal: { - pages: 10, //必选项 - curr: 1, //初始化当前页, pages为数字时可用, - firstPage: 1, - lastPage: 10, - }, - vertical: { - pages: 10, //必选项 - curr: 1, //初始化当前页, pages为数字时可用, - firstPage: 1, - lastPage: 10, - }, - element: 'body', -}); - -``` - -{% endmethod %} - -### 参数 - -| 参数 | 二级参数 | 说明 | 类型 | 默认值 | -| ---------- | --------- | ---------------------- | --------------- | ---------- | -| height | | 控件高度 | number | 30 | -| horizontal | | 横向翻页设置 | object | — | -| | pages | 总页数 | number/boolean | false | -| | curr | 当前页, pages为数字时可用 | number | 1 | -| | hasPrev | 判断是否有前一页的方法 | function | BI.emptyFn | -| | hasNext | 判断是否有后一页的方法 | function | BI.emptyFn | -| | firstPage | 第一页 | number | 1 | -| | lastPage | 最后一页 | number/function | BI.emptyFn | -| vertical | | 纵向翻页设置,参数与horizontal相同 | object | — | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| ---------------- | ---------- | ---- | -| getVPage | 获取纵向页码 | — | -| getHPage | 获取水平向页码 | — | -| setVPage | 获取纵向页码 | v | -| setHPage | 获取水平向页码 | v | -| hasVNext | 纵向坐标是否有下一页 | — | -| hasHNext | 横向坐标是否有下一页 | — | -| hasVPrev | 纵向坐标是否有上一页 | — | -| hasHPrev | 横向坐标是否有上一页 | — | -| setHPagerVisible | 设置横向分页键可见 | — | -| setVPagerVisible | 设置纵向分页键可见 | — | -| populate | 清空内容 | — | - ------- \ No newline at end of file diff --git a/docs/_book/case/segment.html b/docs/_book/case/segment.html deleted file mode 100644 index 9c2413298e..0000000000 --- a/docs/_book/case/segment.html +++ /dev/null @@ -1,3068 +0,0 @@ - - - - - - - segment · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                            -
                                                                                                            - - - - - - - - -
                                                                                                            - -
                                                                                                            - -
                                                                                                            - - - - - - - - -
                                                                                                            -
                                                                                                            - -
                                                                                                            -
                                                                                                            - -
                                                                                                            - -

                                                                                                            bi.sgement

                                                                                                            -

                                                                                                            各种segment

                                                                                                            -
                                                                                                            
                                                                                                            -BI.createWidget({
                                                                                                            -    type: "bi.vertical",
                                                                                                            -    element: "#wrapper",
                                                                                                            -    items: [{
                                                                                                            -        type: "bi.label",
                                                                                                            -        height: 30,
                                                                                                            -        text: "默认风格"
                                                                                                            -    }, {
                                                                                                            -        type: "bi.segment",
                                                                                                            -        items: [{
                                                                                                            -            text: "tab1",
                                                                                                            -            value: 1,
                                                                                                            -            selected: true
                                                                                                            -        }, {
                                                                                                            -            text: "tab2",
                                                                                                            -            value: 2
                                                                                                            -        }, {
                                                                                                            -            text: "tab3 disabled",
                                                                                                            -            disabled: true,
                                                                                                            -            value: 3
                                                                                                            -        }]
                                                                                                            -    }],
                                                                                                            -    hgap: 50,
                                                                                                            -    vgap: 20
                                                                                                            -});
                                                                                                            -
                                                                                                            -
                                                                                                            - -

                                                                                                            API

                                                                                                            -
                                                                                                            基础属性
                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                            参数说明类型可选值默认值
                                                                                                            hgap效果相当于文本框左右padding值number10
                                                                                                            vgap效果相当于文本框上下padding值number0
                                                                                                            lgap效果相当于文本框left-padding值number0
                                                                                                            rgap效果相当于文本框right-padding值number0
                                                                                                            tgap效果相当于文本框top-padding值number0
                                                                                                            bgap效果相当于文本框bottom-padding值number0
                                                                                                            items子控件数组array[ ]
                                                                                                            width宽度number
                                                                                                            height高度number
                                                                                                            -
                                                                                                            - - -
                                                                                                            - -
                                                                                                            -
                                                                                                            -
                                                                                                            - -

                                                                                                            results matching ""

                                                                                                            -
                                                                                                              - -
                                                                                                              -
                                                                                                              - -

                                                                                                              No results matching ""

                                                                                                              - -
                                                                                                              -
                                                                                                              -
                                                                                                              - -
                                                                                                              -
                                                                                                              - -
                                                                                                              - - - - -
                                                                                                              - - -
                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/segment.md b/docs/_book/case/segment.md deleted file mode 100644 index 0a8164faa6..0000000000 --- a/docs/_book/case/segment.md +++ /dev/null @@ -1,58 +0,0 @@ -# bi.sgement - -## 各种segment - -{% method %} -[source](https://jsfiddle.net/fineui/7skvd64L/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.vertical", - element: "#wrapper", - items: [{ - type: "bi.label", - height: 30, - text: "默认风格" - }, { - type: "bi.segment", - items: [{ - text: "tab1", - value: 1, - selected: true - }, { - text: "tab2", - value: 2 - }, { - text: "tab3 disabled", - disabled: true, - value: 3 - }] - }], - hgap: 50, - vgap: 20 -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 10 | -| vgap | 效果相当于文本框上下padding值 | number | — | 0 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| items | 子控件数组 | array |— | [ ] | -| width | 宽度 | number | — | — | -| height | 高度 | number | — | — | - - ---- - - diff --git a/docs/_book/case/shelter_editor.md b/docs/_book/case/shelter_editor.md deleted file mode 100644 index 1b1e4fef31..0000000000 --- a/docs/_book/case/shelter_editor.md +++ /dev/null @@ -1,2 +0,0 @@ -# clipboard - diff --git a/docs/_book/case/table/adaptive_table.html b/docs/_book/case/table/adaptive_table.html deleted file mode 100644 index edfcf1987f..0000000000 --- a/docs/_book/case/table/adaptive_table.html +++ /dev/null @@ -1,3173 +0,0 @@ - - - - - - - adaptive_table · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                              -
                                                                                                              - - - - - - - - -
                                                                                                              - -
                                                                                                              - -
                                                                                                              - - - - - - - - -
                                                                                                              -
                                                                                                              - -
                                                                                                              -
                                                                                                              - -
                                                                                                              - -

                                                                                                              bi.adaptive_table

                                                                                                              -

                                                                                                              自适应宽度的表格

                                                                                                              -
                                                                                                              BI.createWidget({
                                                                                                              -  type: "bi.adaptive_table",
                                                                                                              -  element: 'body',
                                                                                                              -  width: 600,
                                                                                                              -  height: 500,
                                                                                                              -  isResizeAdapt: true,
                                                                                                              -  isNeedResize: true,
                                                                                                              -  isNeedFreeze: true,
                                                                                                              -  freezeCols: [0, 1],
                                                                                                              -  columnSize: [50,50,200,250,400],
                                                                                                              -  header: [],
                                                                                                              -  items: [],
                                                                                                              -});
                                                                                                              -
                                                                                                              -
                                                                                                              - -

                                                                                                              参数设置

                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                              参数说明类型默认值
                                                                                                              isNeedResize是否可改变列大小booleantrue
                                                                                                              isNeedFreeze是否需要冻结表头booleanfalse
                                                                                                              freezeCols冻结的列array[]
                                                                                                              isNeedMerge是否需要合并单元格booleanfalse
                                                                                                              mergeCols合并的单元格列号array[]
                                                                                                              mergeRule合并规则, 默认相等时合并function(row1, row2)默认row1 = row2 时合并
                                                                                                              columnSize单元格宽度集合array[]
                                                                                                              minColumnSize最小列宽array[]
                                                                                                              maxColumnSize最大列宽array[]
                                                                                                              headerRowSize表头高度number25
                                                                                                              rowSize普通单元格高度number25
                                                                                                              regionColumnSize列项间的array[]
                                                                                                              header表头array[]
                                                                                                              items子组件array[]
                                                                                                              crossHeader交叉表头array[]
                                                                                                              crossItems交叉项array[]
                                                                                                              -

                                                                                                              方法

                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                              方法名说明参数
                                                                                                              setWidth设置宽度width: 宽度
                                                                                                              setHeight设置高度height: 高度
                                                                                                              setColumnSize设置列宽columnSize: 列宽数组
                                                                                                              getColumnSize得到列宽
                                                                                                              setRegionColumnSize设置列项之间的间隙columnSize: 列宽数组
                                                                                                              getRegionColumnSize获得列项之间的间隙
                                                                                                              setVerticalScroll设置纵向滚动距离scrollTop: 纵向滚动距离
                                                                                                              setLeftHorizontalScroll设置左到右横向滚动距离scrollLeft: 横向滚动距离
                                                                                                              setRightHorizontalScroll设置右往左横向滚动距离scrollLeft: 横向滚动距离
                                                                                                              getVerticalScroll获取纵向滚动距离
                                                                                                              getLeftHorizontalScroll获取左到右横向滚动距离
                                                                                                              getRightHorizontalScroll获取右往左横向滚动距离
                                                                                                              attr设置属性key: 键 value: 值
                                                                                                              restore存储
                                                                                                              populate增加项items: array
                                                                                                              -
                                                                                                              - - -
                                                                                                              - -
                                                                                                              -
                                                                                                              -
                                                                                                              - -

                                                                                                              results matching ""

                                                                                                              -
                                                                                                                - -
                                                                                                                -
                                                                                                                - -

                                                                                                                No results matching ""

                                                                                                                - -
                                                                                                                -
                                                                                                                -
                                                                                                                - -
                                                                                                                -
                                                                                                                - -
                                                                                                                - - - - -
                                                                                                                - - -
                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/table/adaptive_table.md b/docs/_book/case/table/adaptive_table.md deleted file mode 100644 index 995c10ad86..0000000000 --- a/docs/_book/case/table/adaptive_table.md +++ /dev/null @@ -1,68 +0,0 @@ -# bi.adaptive_table - -### 自适应宽度的表格 - -{% method %} -[source](https://jsfiddle.net/fineui/pbgnjeg0/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.adaptive_table", - element: 'body', - width: 600, - height: 500, - isResizeAdapt: true, - isNeedResize: true, - isNeedFreeze: true, - freezeCols: [0, 1], - columnSize: [50,50,200,250,400], - header: [], - items: [], -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ---------------- | ------------- | -------------------- | ----------------- | -| isNeedResize | 是否可改变列大小 | boolean | true | -| isNeedFreeze | 是否需要冻结表头 | boolean | false | -| freezeCols | 冻结的列 | array | [] | -| isNeedMerge | 是否需要合并单元格 | boolean | false | -| mergeCols | 合并的单元格列号 | array | [] | -| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | -| columnSize | 单元格宽度集合 | array | [] | -| minColumnSize | 最小列宽 | array | [] | -| maxColumnSize | 最大列宽 | array | [] | -| headerRowSize | 表头高度 | number | 25 | -| rowSize | 普通单元格高度 | number | 25 | -| regionColumnSize | 列项间的 | array | [] | -| header | 表头 | array | [] | -| items | 子组件 | array | [] | -| crossHeader | 交叉表头 | array | [] | -| crossItems | 交叉项 | array | [] | - - - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------------------ | ----------- | ------------------ | -| setWidth | 设置宽度 | width: 宽度 | -| setHeight | 设置高度 | height: 高度 | -| setColumnSize | 设置列宽 | columnSize: 列宽数组 | -| getColumnSize | 得到列宽 | — | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize: 列宽数组 | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop: 纵向滚动距离 | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft: 横向滚动距离 | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft: 横向滚动距离 | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| attr | 设置属性 | key: 键 value: 值 | -| restore | 存储 | — | -| populate | 增加项 | items: array | - ------- \ No newline at end of file diff --git a/docs/_book/case/table/layer_tree_table.html b/docs/_book/case/table/layer_tree_table.html deleted file mode 100644 index 78317323e6..0000000000 --- a/docs/_book/case/table/layer_tree_table.html +++ /dev/null @@ -1,3196 +0,0 @@ - - - - - - - layer_tree_table · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                -
                                                                                                                - - - - - - - - -
                                                                                                                - -
                                                                                                                - -
                                                                                                                - - - - - - - - -
                                                                                                                -
                                                                                                                - -
                                                                                                                -
                                                                                                                - -
                                                                                                                - -

                                                                                                                bi.layer_tree_table

                                                                                                                -

                                                                                                                层级树状结构的表格

                                                                                                                -
                                                                                                                var table = BI.createWidget({
                                                                                                                -    type: "bi.layer_tree_table",
                                                                                                                -    width: 600,
                                                                                                                -    height: 400,
                                                                                                                -    columnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                                                                                                                -    minColumnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                                                                                                                -    header: header,
                                                                                                                -    items: items,
                                                                                                                -    crossHeader: crossHeader,
                                                                                                                -    crossItems: crossItems,
                                                                                                                -    element: 'body',
                                                                                                                -});
                                                                                                                -
                                                                                                                -
                                                                                                                - -

                                                                                                                参数设置

                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                参数说明类型默认值
                                                                                                                isNeedResize是否需要调整列宽booleanfalse
                                                                                                                isResizeAdapt是否需要在调整列宽或区域宽度的时候它们自适应变化booleantrue
                                                                                                                isNeedFreeze是否需要冻结表头booleanfalse
                                                                                                                freezeCols冻结的列array[]
                                                                                                                isNeedMerge是否需要合并单元格booleanfalse
                                                                                                                mergeCols合并的单元格列号array[]
                                                                                                                mergeRule合并规则, 默认相等时合并function(row1, row2)默认row1 = row2 时合并
                                                                                                                columnSize单元格宽度集合array[]
                                                                                                                minColumnSize最小列宽array[]
                                                                                                                maxColumnSize最大列宽array[]
                                                                                                                headerRowSize表头高度number25
                                                                                                                headerCellStyleGetterfunctionBI.emptyFn
                                                                                                                summaryCellStyleGetterfunctionBI.emptyFn
                                                                                                                sequenceCellStyleGetterfunctionBI.emptyFn
                                                                                                                rowSize普通单元格高度number25
                                                                                                                regionColumnSize列项间的array[]
                                                                                                                header表头array[]
                                                                                                                items子组件array[]
                                                                                                                crossHeader交叉表头array[]
                                                                                                                crossItems交叉项array[]
                                                                                                                -

                                                                                                                方法

                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                方法名说明参数
                                                                                                                setWidth设置宽度width: 宽度
                                                                                                                setHeight设置高度height: 高度
                                                                                                                setColumnSize设置列宽columnSize: 列宽数组
                                                                                                                getColumnSize得到列宽
                                                                                                                setRegionColumnSize设置列项之间的间隙columnSize: 列宽数组
                                                                                                                getRegionColumnSize获得列项之间的间隙
                                                                                                                setVerticalScroll设置纵向滚动距离scrollTop: 纵向滚动距离
                                                                                                                setLeftHorizontalScroll设置左到右横向滚动距离scrollLeft: 横向滚动距离
                                                                                                                setRightHorizontalScroll设置右往左横向滚动距离scrollLeft: 横向滚动距离
                                                                                                                getVerticalScroll获取纵向滚动距离
                                                                                                                getLeftHorizontalScroll获取左到右横向滚动距离
                                                                                                                getRightHorizontalScroll获取右往左横向滚动距离
                                                                                                                attr设置属性key: 键 value: 值
                                                                                                                restore存储
                                                                                                                populate增加项items: array
                                                                                                                -
                                                                                                                - - -
                                                                                                                - -
                                                                                                                -
                                                                                                                -
                                                                                                                - -

                                                                                                                results matching ""

                                                                                                                -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -

                                                                                                                  No results matching ""

                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - - - - -
                                                                                                                  - - -
                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/table/layer_tree_table.md b/docs/_book/case/table/layer_tree_table.md deleted file mode 100644 index cdb79a4277..0000000000 --- a/docs/_book/case/table/layer_tree_table.md +++ /dev/null @@ -1,71 +0,0 @@ -# bi.layer_tree_table - -### 层级树状结构的表格 - -{% method %} -[source](https://jsfiddle.net/fineui/pqyuLoay/) - -{% common %} -```javascript -var table = BI.createWidget({ - type: "bi.layer_tree_table", - width: 600, - height: 400, - columnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100], - minColumnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100], - header: header, - items: items, - crossHeader: crossHeader, - crossItems: crossItems, - element: 'body', -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ----------------------- | ------------------------ | -------------------- | ----------------- | -| isNeedResize | 是否需要调整列宽 | boolean | false | -| isResizeAdapt | 是否需要在调整列宽或区域宽度的时候它们自适应变化 | boolean | true | -| isNeedFreeze | 是否需要冻结表头 | boolean | false | -| freezeCols | 冻结的列 | array | [] | -| isNeedMerge | 是否需要合并单元格 | boolean | false | -| mergeCols | 合并的单元格列号 | array | [] | -| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | -| columnSize | 单元格宽度集合 | array | [] | -| minColumnSize | 最小列宽 | array | [] | -| maxColumnSize | 最大列宽 | array | [] | -| headerRowSize | 表头高度 | number | 25 | -| headerCellStyleGetter | | function | BI.emptyFn | -| summaryCellStyleGetter | | function | BI.emptyFn | -| sequenceCellStyleGetter | | function | BI.emptyFn | -| rowSize | 普通单元格高度 | number | 25 | -| regionColumnSize | 列项间的 | array | [] | -| header | 表头 | array | [] | -| items | 子组件 | array | [] | -| crossHeader | 交叉表头 | array | [] | -| crossItems | 交叉项 | array | [] | - - - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------------------ | ----------- | ------------------ | -| setWidth | 设置宽度 | width: 宽度 | -| setHeight | 设置高度 | height: 高度 | -| setColumnSize | 设置列宽 | columnSize: 列宽数组 | -| getColumnSize | 得到列宽 | — | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize: 列宽数组 | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop: 纵向滚动距离 | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft: 横向滚动距离 | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft: 横向滚动距离 | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| attr | 设置属性 | key: 键 value: 值 | -| restore | 存储 | — | -| populate | 增加项 | items: array | - ------- \ No newline at end of file diff --git a/docs/_book/case/table/tree_table.html b/docs/_book/case/table/tree_table.html deleted file mode 100644 index 2dd4b31896..0000000000 --- a/docs/_book/case/table/tree_table.html +++ /dev/null @@ -1,3198 +0,0 @@ - - - - - - - tree_table · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  -
                                                                                                                  - - - - - - - - -
                                                                                                                  - -
                                                                                                                  - -
                                                                                                                  - - - - - - - - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  - -
                                                                                                                  - -

                                                                                                                  bi.tree_table

                                                                                                                  -

                                                                                                                  树状结构的表格

                                                                                                                  -
                                                                                                                  var table = BI.createWidget({
                                                                                                                  -    type: "bi.tree_table",
                                                                                                                  -    width: 600,
                                                                                                                  -    height: 400,
                                                                                                                  -    columnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                                                                                                                  -    minColumnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
                                                                                                                  -    header: header,
                                                                                                                  -    items: items,
                                                                                                                  -    crossHeader: crossHeader,
                                                                                                                  -    crossItems: crossItems,
                                                                                                                  -    element: 'body',
                                                                                                                  -});
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -

                                                                                                                  参数设置

                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  参数说明类型默认值
                                                                                                                  isNeedResize是否需要调整列宽booleanfalse
                                                                                                                  isResizeAdapt是否需要在调整列宽或区域宽度的时候它们自适应变化booleantrue
                                                                                                                  isNeedFreeze是否需要冻结表头booleanfalse
                                                                                                                  freezeCols冻结的列array[]
                                                                                                                  isNeedMerge是否需要合并单元格booleanfalse
                                                                                                                  mergeCols合并的单元格列号array[]
                                                                                                                  mergeRule合并规则, 默认相等时合并function(row1, row2)默认row1 = row2 时合并
                                                                                                                  columnSize单元格宽度集合array[]
                                                                                                                  minColumnSize最小列宽array[]
                                                                                                                  maxColumnSize最大列宽array[]
                                                                                                                  headerRowSize表头高度number25
                                                                                                                  headerCellStyleGetterfunctionBI.emptyFn
                                                                                                                  summaryCellStyleGetterfunctionBI.emptyFn
                                                                                                                  sequenceCellStyleGetterfunctionBI.emptyFn
                                                                                                                  rowSize普通单元格高度number25
                                                                                                                  regionColumnSize列项间的array[]
                                                                                                                  header表头array[]
                                                                                                                  items子组件array[]
                                                                                                                  crossHeader交叉表头array[]
                                                                                                                  crossItems交叉项array[]
                                                                                                                  -

                                                                                                                  方法

                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                  方法名说明参数
                                                                                                                  setWidth设置宽度width: 宽度
                                                                                                                  setHeight设置高度height: 高度
                                                                                                                  setColumnSize设置列宽columnSize: 列宽数组
                                                                                                                  getColumnSize得到列宽
                                                                                                                  setRegionColumnSize设置列项之间的间隙columnSize: 列宽数组
                                                                                                                  getRegionColumnSize获得列项之间的间隙
                                                                                                                  setVerticalScroll设置纵向滚动距离scrollTop: 纵向滚动距离
                                                                                                                  setLeftHorizontalScroll设置左到右横向滚动距离scrollLeft: 横向滚动距离
                                                                                                                  setRightHorizontalScroll设置右往左横向滚动距离scrollLeft: 横向滚动距离
                                                                                                                  getVerticalScroll获取纵向滚动距离
                                                                                                                  getLeftHorizontalScroll获取左到右横向滚动距离
                                                                                                                  getRightHorizontalScroll获取右往左横向滚动距离
                                                                                                                  attr设置属性key: 键 value: 值
                                                                                                                  restore存储
                                                                                                                  populate增加项items: array
                                                                                                                  -
                                                                                                                  - - -
                                                                                                                  - -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  - -

                                                                                                                  results matching ""

                                                                                                                  -
                                                                                                                    - -
                                                                                                                    -
                                                                                                                    - -

                                                                                                                    No results matching ""

                                                                                                                    - -
                                                                                                                    -
                                                                                                                    -
                                                                                                                    - -
                                                                                                                    -
                                                                                                                    - -
                                                                                                                    - - - - -
                                                                                                                    - - -
                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/table/tree_table.md b/docs/_book/case/table/tree_table.md deleted file mode 100644 index f05b8bee3c..0000000000 --- a/docs/_book/case/table/tree_table.md +++ /dev/null @@ -1,72 +0,0 @@ -# bi.tree_table - -### 树状结构的表格 - -{% method %} -[source](https://jsfiddle.net/fineui/a0m21ozk/) - -{% common %} -```javascript -var table = BI.createWidget({ - type: "bi.tree_table", - width: 600, - height: 400, - columnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100], - minColumnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100], - header: header, - items: items, - crossHeader: crossHeader, - crossItems: crossItems, - element: 'body', -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ----------------------- | ------------------------ | -------------------- | ----------------- | -| isNeedResize | 是否需要调整列宽 | boolean | false | -| isResizeAdapt | 是否需要在调整列宽或区域宽度的时候它们自适应变化 | boolean | true | -| isNeedFreeze | 是否需要冻结表头 | boolean | false | -| freezeCols | 冻结的列 | array | [] | -| isNeedMerge | 是否需要合并单元格 | boolean | false | -| mergeCols | 合并的单元格列号 | array | [] | -| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | -| columnSize | 单元格宽度集合 | array | [] | -| minColumnSize | 最小列宽 | array | [] | -| maxColumnSize | 最大列宽 | array | [] | -| headerRowSize | 表头高度 | number | 25 | -| headerCellStyleGetter | | function | BI.emptyFn | -| summaryCellStyleGetter | | function | BI.emptyFn | -| sequenceCellStyleGetter | | function | BI.emptyFn | -| rowSize | 普通单元格高度 | number | 25 | -| regionColumnSize | 列项间的 | array | [] | -| header | 表头 | array | [] | -| items | 子组件 | array | [] | -| crossHeader | 交叉表头 | array | [] | -| crossItems | 交叉项 | array | [] | - - - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------------------ | ----------- | ------------------ | -| setWidth | 设置宽度 | width: 宽度 | -| setHeight | 设置高度 | height: 高度 | -| setColumnSize | 设置列宽 | columnSize: 列宽数组 | -| getColumnSize | 得到列宽 | — | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize: 列宽数组 | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop: 纵向滚动距离 | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft: 横向滚动距离 | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft: 横向滚动距离 | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| attr | 设置属性 | key: 键 value: 值 | -| restore | 存储 | — | -| populate | 增加项 | items: array | - ------- - diff --git a/docs/_book/case/tree/branch_relation.html b/docs/_book/case/tree/branch_relation.html deleted file mode 100644 index c050f1cbd1..0000000000 --- a/docs/_book/case/tree/branch_relation.html +++ /dev/null @@ -1,3028 +0,0 @@ - - - - - - - branch_relation · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                    -
                                                                                                                    - - - - - - - - -
                                                                                                                    - -
                                                                                                                    - -
                                                                                                                    - - - - - - - - -
                                                                                                                    -
                                                                                                                    - -
                                                                                                                    -
                                                                                                                    - -
                                                                                                                    - -

                                                                                                                    bi.branch_relation

                                                                                                                    -

                                                                                                                    表关联树

                                                                                                                    -
                                                                                                                    var tree = BI.createWidget({
                                                                                                                    -  type: "bi.branch_relation",
                                                                                                                    -  element: 'body',
                                                                                                                    -  items: [],
                                                                                                                    -  direction: BI.Direction.Right,
                                                                                                                    -  align: BI.HorizontalAlign.Right,
                                                                                                                    -  centerOffset: -50
                                                                                                                    -});
                                                                                                                    -
                                                                                                                    -
                                                                                                                    - - - -

                                                                                                                    参数设置

                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                    参数说明类型默认值
                                                                                                                    centerOffset重心偏移量number0
                                                                                                                    direction根节点所在方向stringBI.Direction.Bottom
                                                                                                                    align对齐方向stringBI.VerticalAlign.Top
                                                                                                                    items元素arraynull
                                                                                                                    -

                                                                                                                    方法

                                                                                                                    - - - - - - - - - - - - - - - -
                                                                                                                    方法名说明参数
                                                                                                                    populate去掉所有内容items: 子项数组
                                                                                                                    -
                                                                                                                    - - -
                                                                                                                    - -
                                                                                                                    -
                                                                                                                    -
                                                                                                                    - -

                                                                                                                    results matching ""

                                                                                                                    -
                                                                                                                      - -
                                                                                                                      -
                                                                                                                      - -

                                                                                                                      No results matching ""

                                                                                                                      - -
                                                                                                                      -
                                                                                                                      -
                                                                                                                      - -
                                                                                                                      -
                                                                                                                      - -
                                                                                                                      - - - - -
                                                                                                                      - - -
                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/tree/branch_relation.md b/docs/_book/case/tree/branch_relation.md deleted file mode 100644 index 7976786946..0000000000 --- a/docs/_book/case/tree/branch_relation.md +++ /dev/null @@ -1,41 +0,0 @@ -# bi.branch_relation - -### 表关联树 - -{% method %} -[source](https://jsfiddle.net/fineui/z5hLcruk/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.branch_relation", - element: 'body', - items: [], - direction: BI.Direction.Right, - align: BI.HorizontalAlign.Right, - centerOffset: -50 -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | ------- | ------ | -------------------- | -| centerOffset | 重心偏移量 | number | 0 | -| direction | 根节点所在方向 | string | BI.Direction.Bottom | -| align | 对齐方向 | string | BI.VerticalAlign.Top | -| items | 元素 | array | null | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ---- | ----------- | -| populate | 去掉所有内容 | items: 子项数组 | - ------- \ No newline at end of file diff --git a/docs/_book/case/tree/branch_tree.html b/docs/_book/case/tree/branch_tree.html deleted file mode 100644 index 977da90b17..0000000000 --- a/docs/_book/case/tree/branch_tree.html +++ /dev/null @@ -1,3031 +0,0 @@ - - - - - - - branch_tree · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                      -
                                                                                                                      - - - - - - - - -
                                                                                                                      - -
                                                                                                                      - -
                                                                                                                      - - - - - - - - -
                                                                                                                      -
                                                                                                                      - -
                                                                                                                      -
                                                                                                                      - -
                                                                                                                      - -

                                                                                                                      bi.branch_tree

                                                                                                                      -

                                                                                                                      横向分支的树

                                                                                                                      -
                                                                                                                      BI.createWidget({
                                                                                                                      -  type: "bi.branch_tree",
                                                                                                                      -  element: 'body',
                                                                                                                      -  items: [{
                                                                                                                      -    el: {},
                                                                                                                      -    children: [{
                                                                                                                      -        el: {},
                                                                                                                      -        children: {},
                                                                                                                      -        // ...
                                                                                                                      -    }]
                                                                                                                      -  }]
                                                                                                                      -});
                                                                                                                      -
                                                                                                                      -
                                                                                                                      - - - -

                                                                                                                      参数设置

                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                      参数说明类型默认值
                                                                                                                      expanderbranch_expander组件配置项object{}
                                                                                                                      el基础元素object{}
                                                                                                                      items子项array[]
                                                                                                                      -

                                                                                                                      方法

                                                                                                                      - - - - - - - - - - - - - - - - - - - - -
                                                                                                                      方法名说明参数
                                                                                                                      populate去掉所有内容
                                                                                                                      getValue获取所选项值
                                                                                                                      -
                                                                                                                      - - -
                                                                                                                      - -
                                                                                                                      -
                                                                                                                      -
                                                                                                                      - -

                                                                                                                      results matching ""

                                                                                                                      -
                                                                                                                        - -
                                                                                                                        -
                                                                                                                        - -

                                                                                                                        No results matching ""

                                                                                                                        - -
                                                                                                                        -
                                                                                                                        -
                                                                                                                        - -
                                                                                                                        -
                                                                                                                        - -
                                                                                                                        - - - - -
                                                                                                                        - - -
                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/tree/branch_tree.md b/docs/_book/case/tree/branch_tree.md deleted file mode 100644 index 76e1837051..0000000000 --- a/docs/_book/case/tree/branch_tree.md +++ /dev/null @@ -1,44 +0,0 @@ -# bi.branch_tree -### 横向分支的树 - -{% method %} -[source](https://jsfiddle.net/fineui/mLq3e170/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.branch_tree", - element: 'body', - items: [{ - el: {}, - children: [{ - el: {}, - children: {}, - // ... - }] - }] -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| -------- | -------------------- | ------ | ---- | -| expander | branch_expander组件配置项 | object | {} | -| el | 基础元素 | object | {} | -| items | 子项 | array | [] | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ------ | ---- | -| populate | 去掉所有内容 | — | -| getValue | 获取所选项值 | — | - ------- \ No newline at end of file diff --git a/docs/_book/case/tree/display_tree.html b/docs/_book/case/tree/display_tree.html deleted file mode 100644 index 379fda22b1..0000000000 --- a/docs/_book/case/tree/display_tree.html +++ /dev/null @@ -1,2994 +0,0 @@ - - - - - - - display_tree · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                        -
                                                                                                                        - - - - - - - - -
                                                                                                                        - -
                                                                                                                        - -
                                                                                                                        - - - - - - - - -
                                                                                                                        -
                                                                                                                        - -
                                                                                                                        -
                                                                                                                        - -
                                                                                                                        - -

                                                                                                                        bi.display_tree

                                                                                                                        -

                                                                                                                        树展示控件

                                                                                                                        -
                                                                                                                        var tree = BI.createWidget({
                                                                                                                        -  type: "bi.display_tree",
                                                                                                                        -  element: 'body',
                                                                                                                        -});
                                                                                                                        -
                                                                                                                        -tree.initTree({
                                                                                                                        -    id: 1,
                                                                                                                        -    text: '',
                                                                                                                        -    open: true,
                                                                                                                        -});
                                                                                                                        -
                                                                                                                        -
                                                                                                                        - - -

                                                                                                                        方法

                                                                                                                        - - - - - - - - - - - - - - - -
                                                                                                                        方法名说明参数
                                                                                                                        initTree加载tree结构node: 节点数组 settings: 配置项
                                                                                                                        -
                                                                                                                        - - -
                                                                                                                        - -
                                                                                                                        -
                                                                                                                        -
                                                                                                                        - -

                                                                                                                        results matching ""

                                                                                                                        -
                                                                                                                          - -
                                                                                                                          -
                                                                                                                          - -

                                                                                                                          No results matching ""

                                                                                                                          - -
                                                                                                                          -
                                                                                                                          -
                                                                                                                          - -
                                                                                                                          -
                                                                                                                          - -
                                                                                                                          - - - - -
                                                                                                                          - - -
                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/tree/display_tree.md b/docs/_book/case/tree/display_tree.md deleted file mode 100644 index c0978e68bc..0000000000 --- a/docs/_book/case/tree/display_tree.md +++ /dev/null @@ -1,32 +0,0 @@ -# bi.display_tree - -### 树展示控件 - -{% method %} -[source](https://jsfiddle.net/fineui/cfL6fpa1/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.display_tree", - element: 'body', -}); - -tree.initTree({ - id: 1, - text: '', - open: true, -}); -``` - -{% endmethod %} - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ------ | ---- | -| initTree | 加载tree结构 | node: 节点数组 settings: 配置项 | - ------- - diff --git a/docs/_book/case/tree/handstand_branch_tree.html b/docs/_book/case/tree/handstand_branch_tree.html deleted file mode 100644 index f85035d881..0000000000 --- a/docs/_book/case/tree/handstand_branch_tree.html +++ /dev/null @@ -1,3034 +0,0 @@ - - - - - - - handstand_branch_tree · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                          -
                                                                                                                          - - - - - - - - -
                                                                                                                          - -
                                                                                                                          - -
                                                                                                                          - - - - - - - - -
                                                                                                                          -
                                                                                                                          - -
                                                                                                                          -
                                                                                                                          - -
                                                                                                                          - -

                                                                                                                          bi.handstand_branch_tree

                                                                                                                          -

                                                                                                                          纵向分支的树

                                                                                                                          -
                                                                                                                          BI.createWidget({
                                                                                                                          -  type: "bi.handstand_branch_tree",
                                                                                                                          -  element: 'body',
                                                                                                                          -  el: {},
                                                                                                                          -  items: [{
                                                                                                                          -    el: {},
                                                                                                                          -    children: [{
                                                                                                                          -        el: {},
                                                                                                                          -        children: {},
                                                                                                                          -        // ...
                                                                                                                          -    }]
                                                                                                                          -  }]
                                                                                                                          -});
                                                                                                                          -
                                                                                                                          -
                                                                                                                          - - - -

                                                                                                                          参数设置

                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                          参数说明类型默认值
                                                                                                                          expanderbranch_expander组件配置项object{}
                                                                                                                          el基础元素object{}
                                                                                                                          items子项array[]
                                                                                                                          -

                                                                                                                          方法

                                                                                                                          - - - - - - - - - - - - - - - - - - - - -
                                                                                                                          方法名说明参数
                                                                                                                          populate去掉所有内容
                                                                                                                          getValue获取所选项值
                                                                                                                          -
                                                                                                                          - - -
                                                                                                                          - -
                                                                                                                          -
                                                                                                                          -
                                                                                                                          - -

                                                                                                                          results matching ""

                                                                                                                          -
                                                                                                                            - -
                                                                                                                            -
                                                                                                                            - -

                                                                                                                            No results matching ""

                                                                                                                            - -
                                                                                                                            -
                                                                                                                            -
                                                                                                                            - -
                                                                                                                            -
                                                                                                                            - -
                                                                                                                            - - - - -
                                                                                                                            - - -
                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/tree/handstand_branch_tree.md b/docs/_book/case/tree/handstand_branch_tree.md deleted file mode 100644 index bac0a81eb9..0000000000 --- a/docs/_book/case/tree/handstand_branch_tree.md +++ /dev/null @@ -1,46 +0,0 @@ -# bi.handstand_branch_tree -### 纵向分支的树 - -{% method %} -[source](https://jsfiddle.net/fineui/c2kaoc7x/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.handstand_branch_tree", - element: 'body', - el: {}, - items: [{ - el: {}, - children: [{ - el: {}, - children: {}, - // ... - }] - }] -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| -------- | -------------------- | ------ | ---- | -| expander | branch_expander组件配置项 | object | {} | -| el | 基础元素 | object | {} | -| items | 子项 | array | [] | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ------ | ---- | -| populate | 去掉所有内容 | — | -| getValue | 获取所选项值 | — | - ------- - diff --git a/docs/_book/case/tree/level_tree.html b/docs/_book/case/tree/level_tree.html deleted file mode 100644 index b3a07cbccf..0000000000 --- a/docs/_book/case/tree/level_tree.html +++ /dev/null @@ -1,3050 +0,0 @@ - - - - - - - level_tree · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                            -
                                                                                                                            - - - - - - - - -
                                                                                                                            - -
                                                                                                                            - -
                                                                                                                            - - - - - - - - -
                                                                                                                            -
                                                                                                                            - -
                                                                                                                            -
                                                                                                                            - -
                                                                                                                            - -

                                                                                                                            bi.level_tree

                                                                                                                            -

                                                                                                                            二级树

                                                                                                                            -
                                                                                                                            var tree = BI.createWidget({
                                                                                                                            -  type: "bi.level_tree",
                                                                                                                            -  element: 'body',
                                                                                                                            -  items: [],
                                                                                                                            -});
                                                                                                                            -
                                                                                                                            -
                                                                                                                            - - - -

                                                                                                                            参数设置

                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                            参数说明类型默认值
                                                                                                                            expanderbranch_expander配置object{}
                                                                                                                            items元素array[]
                                                                                                                            -

                                                                                                                            方法

                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                            方法名说明参数
                                                                                                                            initTree构造树结构nodes
                                                                                                                            stroke生成树方法nodes
                                                                                                                            populate去掉所有内容items: 子项数组
                                                                                                                            setValue设置值v
                                                                                                                            getValue获得值
                                                                                                                            getAllLeaves获取所有叶节点
                                                                                                                            getNodeById根据Id获取节点id
                                                                                                                            getNodeByValue根据值获取节点id
                                                                                                                            -
                                                                                                                            - - -
                                                                                                                            - -
                                                                                                                            -
                                                                                                                            -
                                                                                                                            - -

                                                                                                                            results matching ""

                                                                                                                            -
                                                                                                                              - -
                                                                                                                              -
                                                                                                                              - -

                                                                                                                              No results matching ""

                                                                                                                              - -
                                                                                                                              -
                                                                                                                              -
                                                                                                                              - -
                                                                                                                              -
                                                                                                                              - -
                                                                                                                              - - - - -
                                                                                                                              - - -
                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/tree/level_tree.md b/docs/_book/case/tree/level_tree.md deleted file mode 100644 index e444f27e78..0000000000 --- a/docs/_book/case/tree/level_tree.md +++ /dev/null @@ -1,43 +0,0 @@ -# bi.level_tree - -### 二级树 - -{% method %} -[source](https://jsfiddle.net/fineui/nvvkwhfo/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.level_tree", - element: 'body', - items: [], -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| -------- | ----------------- | ------ | ---- | -| expander | branch_expander配置 | object | {} | -| items | 元素 | array | [] | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------------- | -------- | ----------- | -| initTree | 构造树结构 | nodes | -| stroke | 生成树方法 | nodes | -| populate | 去掉所有内容 | items: 子项数组 | -| setValue | 设置值 | v | -| getValue | 获得值 | — | -| getAllLeaves | 获取所有叶节点 | — | -| getNodeById | 根据Id获取节点 | id | -| getNodeByValue | 根据值获取节点 | id | - ------- \ No newline at end of file diff --git a/docs/_book/case/tree/simple_tree.html b/docs/_book/case/tree/simple_tree.html deleted file mode 100644 index 962880fbfa..0000000000 --- a/docs/_book/case/tree/simple_tree.html +++ /dev/null @@ -1,3026 +0,0 @@ - - - - - - - simple_tree · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                              -
                                                                                                                              - - - - - - - - -
                                                                                                                              - -
                                                                                                                              - -
                                                                                                                              - - - - - - - - -
                                                                                                                              -
                                                                                                                              - -
                                                                                                                              -
                                                                                                                              - -
                                                                                                                              - -

                                                                                                                              bi.simple_tree

                                                                                                                              -

                                                                                                                              简单的多选树

                                                                                                                              -
                                                                                                                              var tree = BI.createWidget({
                                                                                                                              -  type: "bi.simple_tree",
                                                                                                                              -  element: 'body',
                                                                                                                              -});
                                                                                                                              -
                                                                                                                              -tree.populate(items);
                                                                                                                              -
                                                                                                                              -
                                                                                                                              - - - -

                                                                                                                              参数设置

                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                              参数说明类型默认值
                                                                                                                              itemsCreatoritems构造器functionBI.emptyFn
                                                                                                                              items元素arraynull
                                                                                                                              -

                                                                                                                              方法

                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                              方法名说明参数
                                                                                                                              populate去掉所有内容items: 子项数组 keywords: 关键字标红字符串
                                                                                                                              setValue设置值v
                                                                                                                              getValue获得值
                                                                                                                              -
                                                                                                                              - - -
                                                                                                                              - -
                                                                                                                              -
                                                                                                                              -
                                                                                                                              - -

                                                                                                                              results matching ""

                                                                                                                              -
                                                                                                                                - -
                                                                                                                                -
                                                                                                                                - -

                                                                                                                                No results matching ""

                                                                                                                                - -
                                                                                                                                -
                                                                                                                                -
                                                                                                                                - -
                                                                                                                                -
                                                                                                                                - -
                                                                                                                                - - - - -
                                                                                                                                - - -
                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/tree/simple_tree.md b/docs/_book/case/tree/simple_tree.md deleted file mode 100644 index 2dafb078fe..0000000000 --- a/docs/_book/case/tree/simple_tree.md +++ /dev/null @@ -1,39 +0,0 @@ -# bi.simple_tree - -### 简单的多选树 - -{% method %} -[source](https://jsfiddle.net/fineui/5qtobqxb/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.simple_tree", - element: 'body', -}); - -tree.populate(items); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | -------- | -------- | ---------- | -| itemsCreator | items构造器 | function | BI.emptyFn | -| items | 元素 | array | null | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ---- | ------------------------------ | -| populate | 去掉所有内容 | items: 子项数组 keywords: 关键字标红字符串 | -| setValue | 设置值 | v | -| getValue | 获得值 | — | - ------- \ No newline at end of file diff --git a/docs/_book/case/trigger/editor_trigger.html b/docs/_book/case/trigger/editor_trigger.html deleted file mode 100644 index 02e82c7319..0000000000 --- a/docs/_book/case/trigger/editor_trigger.html +++ /dev/null @@ -1,3047 +0,0 @@ - - - - - - - editor_trigger · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                -
                                                                                                                                - - - - - - - - -
                                                                                                                                - -
                                                                                                                                - -
                                                                                                                                - - - - - - - - -
                                                                                                                                -
                                                                                                                                - -
                                                                                                                                -
                                                                                                                                - -
                                                                                                                                - -

                                                                                                                                bi.editor_trigger

                                                                                                                                -

                                                                                                                                文本输入框trigger

                                                                                                                                -
                                                                                                                                
                                                                                                                                -BI.createWidget({
                                                                                                                                -  type: "bi.editor_trigger",
                                                                                                                                -  element: "body",
                                                                                                                                -});
                                                                                                                                -
                                                                                                                                -
                                                                                                                                - - - -

                                                                                                                                参数

                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                参数说明类型默认值
                                                                                                                                validationChecker验证函数functionBI.emptyFn
                                                                                                                                quitChecker退出时验证函数functionBI.emptyFn
                                                                                                                                allowBlank是否允许为空booleanfalse
                                                                                                                                watermark水印string""
                                                                                                                                errorText错误信息string""
                                                                                                                                triggerWidth触发器宽度number30
                                                                                                                                -

                                                                                                                                方法

                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                方法名说明参数
                                                                                                                                setValue设置值value
                                                                                                                                getValue获得值
                                                                                                                                setTexttext
                                                                                                                                -
                                                                                                                                - - -
                                                                                                                                - -
                                                                                                                                -
                                                                                                                                -
                                                                                                                                - -

                                                                                                                                results matching ""

                                                                                                                                -
                                                                                                                                  - -
                                                                                                                                  -
                                                                                                                                  - -

                                                                                                                                  No results matching ""

                                                                                                                                  - -
                                                                                                                                  -
                                                                                                                                  -
                                                                                                                                  - -
                                                                                                                                  -
                                                                                                                                  - -
                                                                                                                                  - - - - -
                                                                                                                                  - - -
                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/trigger/editor_trigger.md b/docs/_book/case/trigger/editor_trigger.md deleted file mode 100644 index fbbfe9d50a..0000000000 --- a/docs/_book/case/trigger/editor_trigger.md +++ /dev/null @@ -1,44 +0,0 @@ -# bi.editor_trigger - -### 文本输入框trigger - -{% method %} -[source](https://jsfiddle.net/fineui/8ttm4g1u/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.editor_trigger", - element: "body", -}); - -``` - -{% endmethod %} - - - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ----------------- | ------- | -------- | ---------- | -| validationChecker | 验证函数 | function | BI.emptyFn | -| quitChecker | 退出时验证函数 | function | BI.emptyFn | -| allowBlank | 是否允许为空 | boolean | false | -| watermark | 水印 | string | "" | -| errorText | 错误信息 | string | "" | -| triggerWidth | 触发器宽度 | number | 30 | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ---- | ----- | -| setValue | 设置值 | value | -| getValue | 获得值 | — | -| setText | | text | - ------- - diff --git a/docs/_book/case/trigger/icon_trigger.html b/docs/_book/case/trigger/icon_trigger.html deleted file mode 100644 index d8f7c54b80..0000000000 --- a/docs/_book/case/trigger/icon_trigger.html +++ /dev/null @@ -1,2971 +0,0 @@ - - - - - - - icon_trigger · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                  -
                                                                                                                                  - - - - - - - - -
                                                                                                                                  - -
                                                                                                                                  - -
                                                                                                                                  - - - - - - - - -
                                                                                                                                  -
                                                                                                                                  - -
                                                                                                                                  -
                                                                                                                                  - -
                                                                                                                                  - -

                                                                                                                                  bi.icon_trigger

                                                                                                                                  -

                                                                                                                                  图标按钮trigger

                                                                                                                                  -
                                                                                                                                  
                                                                                                                                  -BI.createWidget({
                                                                                                                                  -  type: "bi.icon_trigger",
                                                                                                                                  -  element: "body",
                                                                                                                                  -});
                                                                                                                                  -
                                                                                                                                  -
                                                                                                                                  - -
                                                                                                                                  - - -
                                                                                                                                  - -
                                                                                                                                  -
                                                                                                                                  -
                                                                                                                                  - -

                                                                                                                                  results matching ""

                                                                                                                                  -
                                                                                                                                    - -
                                                                                                                                    -
                                                                                                                                    - -

                                                                                                                                    No results matching ""

                                                                                                                                    - -
                                                                                                                                    -
                                                                                                                                    -
                                                                                                                                    - -
                                                                                                                                    -
                                                                                                                                    - -
                                                                                                                                    - - - - -
                                                                                                                                    - - -
                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/trigger/icon_trigger.md b/docs/_book/case/trigger/icon_trigger.md deleted file mode 100644 index e61f8cf77f..0000000000 --- a/docs/_book/case/trigger/icon_trigger.md +++ /dev/null @@ -1,21 +0,0 @@ -# bi.icon_trigger - -### 图标按钮trigger - -{% method %} -[source](https://jsfiddle.net/fineui/qs44h1xy/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.icon_trigger", - element: "body", -}); - -``` - -{% endmethod %} - ------- - diff --git a/docs/_book/case/trigger/select_text_trigger.html b/docs/_book/case/trigger/select_text_trigger.html deleted file mode 100644 index d070466a5e..0000000000 --- a/docs/_book/case/trigger/select_text_trigger.html +++ /dev/null @@ -1,3006 +0,0 @@ - - - - - - - select_text_trigger · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                    -
                                                                                                                                    - - - - - - - - -
                                                                                                                                    - -
                                                                                                                                    - -
                                                                                                                                    - - - - - - - - -
                                                                                                                                    -
                                                                                                                                    - -
                                                                                                                                    -
                                                                                                                                    - -
                                                                                                                                    - -

                                                                                                                                    select_text_trigger

                                                                                                                                    -

                                                                                                                                    选择字段trigger

                                                                                                                                    -
                                                                                                                                    
                                                                                                                                    -BI.createWidget({
                                                                                                                                    -   type: "bi.select_text_trigger",
                                                                                                                                    -   text: "这是一个简单的trigger",
                                                                                                                                    -   width: 200,
                                                                                                                                    -   height: 30
                                                                                                                                    -});
                                                                                                                                    -
                                                                                                                                    -
                                                                                                                                    - -

                                                                                                                                    API

                                                                                                                                    -
                                                                                                                                    基础属性
                                                                                                                                    - - - - - - - - - - - - - - - -
                                                                                                                                    参数说明类型可选值默认值
                                                                                                                                    -

                                                                                                                                    对外方法

                                                                                                                                    - - - - - - - - - - - - - - - -
                                                                                                                                    名称说明回调参数
                                                                                                                                    populate刷新trigger选项items
                                                                                                                                    -
                                                                                                                                    - - -
                                                                                                                                    - -
                                                                                                                                    -
                                                                                                                                    -
                                                                                                                                    - -

                                                                                                                                    results matching ""

                                                                                                                                    -
                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      No results matching ""

                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      - - - - -
                                                                                                                                      - - -
                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/trigger/select_text_trigger.md b/docs/_book/case/trigger/select_text_trigger.md deleted file mode 100644 index 50f7efb0ed..0000000000 --- a/docs/_book/case/trigger/select_text_trigger.md +++ /dev/null @@ -1,38 +0,0 @@ -# select_text_trigger - -选择字段trigger - -{% method %} -[source](https://jsfiddle.net/fineui/c6xpsks4/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.select_text_trigger", - text: "这是一个简单的trigger", - width: 200, - height: 30 -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新trigger选项 | items | - - - ---- diff --git a/docs/_book/case/trigger/text_trigger.html b/docs/_book/case/trigger/text_trigger.html deleted file mode 100644 index 3e9517ffdf..0000000000 --- a/docs/_book/case/trigger/text_trigger.html +++ /dev/null @@ -1,2993 +0,0 @@ - - - - - - - text_trigger · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      - -
                                                                                                                                      - -
                                                                                                                                      - - - - - - - - -
                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      - -
                                                                                                                                      - -

                                                                                                                                      bi.text_trigger

                                                                                                                                      -

                                                                                                                                      文本输入框trigger

                                                                                                                                      -
                                                                                                                                      
                                                                                                                                      -BI.createWidget({
                                                                                                                                      -  type: "bi.editor_trigger",
                                                                                                                                      -  element: "body",
                                                                                                                                      -});
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      方法

                                                                                                                                      - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                      方法名说明参数
                                                                                                                                      setValue设置值value
                                                                                                                                      getValue获得值
                                                                                                                                      -
                                                                                                                                      - - -
                                                                                                                                      - -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - -

                                                                                                                                      results matching ""

                                                                                                                                      -
                                                                                                                                        - -
                                                                                                                                        -
                                                                                                                                        - -

                                                                                                                                        No results matching ""

                                                                                                                                        - -
                                                                                                                                        -
                                                                                                                                        -
                                                                                                                                        - -
                                                                                                                                        -
                                                                                                                                        - -
                                                                                                                                        - - - - -
                                                                                                                                        - - -
                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/case/trigger/text_trigger.md b/docs/_book/case/trigger/text_trigger.md deleted file mode 100644 index 52d3dc28f9..0000000000 --- a/docs/_book/case/trigger/text_trigger.md +++ /dev/null @@ -1,28 +0,0 @@ -# bi.text_trigger - -### 文本输入框trigger - -{% method %} -[source](https://jsfiddle.net/fineui/6pz5pjp6/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.editor_trigger", - element: "body", -}); - -``` - -{% endmethod %} - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ---- | ----- | -| setValue | 设置值 | value | -| getValue | 获得值 | — | - ------- - diff --git a/docs/_book/components/all_value_chooser_combo.html b/docs/_book/components/all_value_chooser_combo.html deleted file mode 100644 index 3e8d48269b..0000000000 --- a/docs/_book/components/all_value_chooser_combo.html +++ /dev/null @@ -1,3004 +0,0 @@ - - - - - - - all_value_chooser_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                        -
                                                                                                                                        - - - - - - - - -
                                                                                                                                        - -
                                                                                                                                        - -
                                                                                                                                        - - - - - - - - -
                                                                                                                                        -
                                                                                                                                        - -
                                                                                                                                        -
                                                                                                                                        - -
                                                                                                                                        - -

                                                                                                                                        all_value_chooser_combo

                                                                                                                                        -

                                                                                                                                        简单的复选下拉框控件, 适用于数据量少的情况,getValue返回所有值,基类BI.Widget

                                                                                                                                        -
                                                                                                                                        
                                                                                                                                        -BI.createWidget({
                                                                                                                                        -   type: "bi.all_value_chooser_combo",
                                                                                                                                        -   items: []
                                                                                                                                        -});
                                                                                                                                        -
                                                                                                                                        -
                                                                                                                                        - -

                                                                                                                                        API

                                                                                                                                        -
                                                                                                                                        基础属性
                                                                                                                                        - - - - - - - - - - - - - - - -
                                                                                                                                        参数说明类型可选值默认值
                                                                                                                                        -

                                                                                                                                        对外方法

                                                                                                                                        - - - - - - - - - - - - - -
                                                                                                                                        名称说明回调参数
                                                                                                                                        -
                                                                                                                                        - - -
                                                                                                                                        - -
                                                                                                                                        -
                                                                                                                                        -
                                                                                                                                        - -

                                                                                                                                        results matching ""

                                                                                                                                        -
                                                                                                                                          - -
                                                                                                                                          -
                                                                                                                                          - -

                                                                                                                                          No results matching ""

                                                                                                                                          - -
                                                                                                                                          -
                                                                                                                                          -
                                                                                                                                          - -
                                                                                                                                          -
                                                                                                                                          - -
                                                                                                                                          - - - - -
                                                                                                                                          - - -
                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/components/all_value_chooser_combo.md b/docs/_book/components/all_value_chooser_combo.md deleted file mode 100644 index d06bbdec47..0000000000 --- a/docs/_book/components/all_value_chooser_combo.md +++ /dev/null @@ -1,35 +0,0 @@ -# all_value_chooser_combo - -## 简单的复选下拉框控件, 适用于数据量少的情况,getValue返回所有值,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/q076jyfL/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.all_value_chooser_combo", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/_book/components/tree_value_chooser_combo.html b/docs/_book/components/tree_value_chooser_combo.html deleted file mode 100644 index 34df8a37c7..0000000000 --- a/docs/_book/components/tree_value_chooser_combo.html +++ /dev/null @@ -1,3004 +0,0 @@ - - - - - - - tree_value_chooser_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                          -
                                                                                                                                          - - - - - - - - -
                                                                                                                                          - -
                                                                                                                                          - -
                                                                                                                                          - - - - - - - - -
                                                                                                                                          -
                                                                                                                                          - -
                                                                                                                                          -
                                                                                                                                          - -
                                                                                                                                          - -

                                                                                                                                          tree_value_chooser_combo

                                                                                                                                          -

                                                                                                                                          简单的复选下拉树控件, 适用于数据量少的情况,getValue返回所有值,基类BI.Widget

                                                                                                                                          -
                                                                                                                                          
                                                                                                                                          -BI.createWidget({
                                                                                                                                          -   type: "bi.tree_value_chooser_combo",
                                                                                                                                          -   items: []
                                                                                                                                          -});
                                                                                                                                          -
                                                                                                                                          -
                                                                                                                                          - -

                                                                                                                                          API

                                                                                                                                          -
                                                                                                                                          基础属性
                                                                                                                                          - - - - - - - - - - - - - - - -
                                                                                                                                          参数说明类型可选值默认值
                                                                                                                                          -

                                                                                                                                          对外方法

                                                                                                                                          - - - - - - - - - - - - - -
                                                                                                                                          名称说明回调参数
                                                                                                                                          -
                                                                                                                                          - - -
                                                                                                                                          - -
                                                                                                                                          -
                                                                                                                                          -
                                                                                                                                          - -

                                                                                                                                          results matching ""

                                                                                                                                          -
                                                                                                                                            - -
                                                                                                                                            -
                                                                                                                                            - -

                                                                                                                                            No results matching ""

                                                                                                                                            - -
                                                                                                                                            -
                                                                                                                                            -
                                                                                                                                            - -
                                                                                                                                            -
                                                                                                                                            - -
                                                                                                                                            - - - - -
                                                                                                                                            - - -
                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/components/tree_value_chooser_combo.md b/docs/_book/components/tree_value_chooser_combo.md deleted file mode 100644 index ff77f34909..0000000000 --- a/docs/_book/components/tree_value_chooser_combo.md +++ /dev/null @@ -1,35 +0,0 @@ -# tree_value_chooser_combo - -## 简单的复选下拉树控件, 适用于数据量少的情况,getValue返回所有值,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/prwxr2rb/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.tree_value_chooser_combo", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/_book/components/tree_value_chooser_pane.html b/docs/_book/components/tree_value_chooser_pane.html deleted file mode 100644 index 9ddfed1baf..0000000000 --- a/docs/_book/components/tree_value_chooser_pane.html +++ /dev/null @@ -1,3002 +0,0 @@ - - - - - - - tree_value_chooser_pane · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                            -
                                                                                                                                            - - - - - - - - -
                                                                                                                                            - -
                                                                                                                                            - -
                                                                                                                                            - - - - - - - - -
                                                                                                                                            -
                                                                                                                                            - -
                                                                                                                                            -
                                                                                                                                            - -
                                                                                                                                            - -

                                                                                                                                            tree_value_chooser_pane

                                                                                                                                            -

                                                                                                                                            简单的复选下拉树面板, 适用于数据量少的情况,getValue返回所有值,基类BI.Widget

                                                                                                                                            -
                                                                                                                                            
                                                                                                                                            -BI.createWidget({
                                                                                                                                            -   type: "bi.tree_value_chooser_pane",
                                                                                                                                            -   items: []
                                                                                                                                            -});
                                                                                                                                            -
                                                                                                                                            -
                                                                                                                                            - -

                                                                                                                                            API

                                                                                                                                            -
                                                                                                                                            基础属性
                                                                                                                                            - - - - - - - - - - - - - - - -
                                                                                                                                            参数说明类型可选值默认值
                                                                                                                                            -

                                                                                                                                            对外方法

                                                                                                                                            - - - - - - - - - - - - - -
                                                                                                                                            名称说明回调参数
                                                                                                                                            -
                                                                                                                                            - - -
                                                                                                                                            - -
                                                                                                                                            -
                                                                                                                                            -
                                                                                                                                            - -

                                                                                                                                            results matching ""

                                                                                                                                            -
                                                                                                                                              - -
                                                                                                                                              -
                                                                                                                                              - -

                                                                                                                                              No results matching ""

                                                                                                                                              - -
                                                                                                                                              -
                                                                                                                                              -
                                                                                                                                              - -
                                                                                                                                              -
                                                                                                                                              - -
                                                                                                                                              - - - - -
                                                                                                                                              - - -
                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/components/tree_value_chooser_pane.md b/docs/_book/components/tree_value_chooser_pane.md deleted file mode 100644 index a9f9e6d6b5..0000000000 --- a/docs/_book/components/tree_value_chooser_pane.md +++ /dev/null @@ -1,35 +0,0 @@ -# tree_value_chooser_pane - -## 简单的复选下拉树面板, 适用于数据量少的情况,getValue返回所有值,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/ofhLmdkc/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.tree_value_chooser_pane", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/_book/components/value_chooser_combo.html b/docs/_book/components/value_chooser_combo.html deleted file mode 100644 index f3984c39a6..0000000000 --- a/docs/_book/components/value_chooser_combo.html +++ /dev/null @@ -1,3004 +0,0 @@ - - - - - - - value_chooser_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                              -
                                                                                                                                              - - - - - - - - -
                                                                                                                                              - -
                                                                                                                                              - -
                                                                                                                                              - - - - - - - - -
                                                                                                                                              -
                                                                                                                                              - -
                                                                                                                                              -
                                                                                                                                              - -
                                                                                                                                              - -

                                                                                                                                              value_chooser_combo

                                                                                                                                              -

                                                                                                                                              复选下拉框控件 基类BI.Widget

                                                                                                                                              -
                                                                                                                                              
                                                                                                                                              -BI.createWidget({
                                                                                                                                              -   type: "bi.value_chooser_combo",
                                                                                                                                              -   items: []
                                                                                                                                              -});
                                                                                                                                              -
                                                                                                                                              -
                                                                                                                                              - -

                                                                                                                                              API

                                                                                                                                              -
                                                                                                                                              基础属性
                                                                                                                                              - - - - - - - - - - - - - - - -
                                                                                                                                              参数说明类型可选值默认值
                                                                                                                                              -

                                                                                                                                              对外方法

                                                                                                                                              - - - - - - - - - - - - - -
                                                                                                                                              名称说明回调参数
                                                                                                                                              -
                                                                                                                                              - - -
                                                                                                                                              - -
                                                                                                                                              -
                                                                                                                                              -
                                                                                                                                              - -

                                                                                                                                              results matching ""

                                                                                                                                              -
                                                                                                                                                - -
                                                                                                                                                -
                                                                                                                                                - -

                                                                                                                                                No results matching ""

                                                                                                                                                - -
                                                                                                                                                -
                                                                                                                                                -
                                                                                                                                                - -
                                                                                                                                                -
                                                                                                                                                - -
                                                                                                                                                - - - - -
                                                                                                                                                - - -
                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/components/value_chooser_combo.md b/docs/_book/components/value_chooser_combo.md deleted file mode 100644 index 3e252ba6f0..0000000000 --- a/docs/_book/components/value_chooser_combo.md +++ /dev/null @@ -1,35 +0,0 @@ -# value_chooser_combo - -## 复选下拉框控件 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/1bsvvayt/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.value_chooser_combo", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/_book/components/value_chooser_pane.html b/docs/_book/components/value_chooser_pane.html deleted file mode 100644 index 188b6b79ac..0000000000 --- a/docs/_book/components/value_chooser_pane.html +++ /dev/null @@ -1,3004 +0,0 @@ - - - - - - - value_chooser_pane · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                -
                                                                                                                                                - - - - - - - - -
                                                                                                                                                - -
                                                                                                                                                - -
                                                                                                                                                - - - - - - - - -
                                                                                                                                                -
                                                                                                                                                - -
                                                                                                                                                -
                                                                                                                                                - -
                                                                                                                                                - -

                                                                                                                                                value_chooser_pane

                                                                                                                                                -

                                                                                                                                                复选面板 基类BI.Widget

                                                                                                                                                -
                                                                                                                                                
                                                                                                                                                -BI.createWidget({
                                                                                                                                                -   type: "bi.value_chooser_pane",
                                                                                                                                                -   items: []
                                                                                                                                                -});
                                                                                                                                                -
                                                                                                                                                -
                                                                                                                                                - -

                                                                                                                                                API

                                                                                                                                                -
                                                                                                                                                基础属性
                                                                                                                                                - - - - - - - - - - - - - - - -
                                                                                                                                                参数说明类型可选值默认值
                                                                                                                                                -

                                                                                                                                                对外方法

                                                                                                                                                - - - - - - - - - - - - - -
                                                                                                                                                名称说明回调参数
                                                                                                                                                -
                                                                                                                                                - - -
                                                                                                                                                - -
                                                                                                                                                -
                                                                                                                                                -
                                                                                                                                                - -

                                                                                                                                                results matching ""

                                                                                                                                                -
                                                                                                                                                  - -
                                                                                                                                                  -
                                                                                                                                                  - -

                                                                                                                                                  No results matching ""

                                                                                                                                                  - -
                                                                                                                                                  -
                                                                                                                                                  -
                                                                                                                                                  - -
                                                                                                                                                  -
                                                                                                                                                  - -
                                                                                                                                                  - - - - -
                                                                                                                                                  - - -
                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/components/value_chooser_pane.md b/docs/_book/components/value_chooser_pane.md deleted file mode 100644 index b42bdd138d..0000000000 --- a/docs/_book/components/value_chooser_pane.md +++ /dev/null @@ -1,35 +0,0 @@ -# value_chooser_pane - -## 复选面板 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/ezxp578m/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.value_chooser_pane", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/_book/core/abstract/button_group.html b/docs/_book/core/abstract/button_group.html deleted file mode 100644 index c2def02a37..0000000000 --- a/docs/_book/core/abstract/button_group.html +++ /dev/null @@ -1,3126 +0,0 @@ - - - - - - - button_group · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                  -
                                                                                                                                                  - - - - - - - - -
                                                                                                                                                  - -
                                                                                                                                                  - -
                                                                                                                                                  - - - - - - - - -
                                                                                                                                                  -
                                                                                                                                                  - -
                                                                                                                                                  -
                                                                                                                                                  - -
                                                                                                                                                  - -

                                                                                                                                                  bi.button_group

                                                                                                                                                  -

                                                                                                                                                  一组具有相同属性的元素集合,基类BI.Widget

                                                                                                                                                  -
                                                                                                                                                  
                                                                                                                                                  -BI.createWidget({
                                                                                                                                                  -    element: "#wrapper",
                                                                                                                                                  -    type: "bi.button_group",
                                                                                                                                                  -    chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE,
                                                                                                                                                  -    layouts: [{
                                                                                                                                                  -      type: "bi.vertical"
                                                                                                                                                  -    }],
                                                                                                                                                  -    items: [{
                                                                                                                                                  -      el: {
                                                                                                                                                  -        type: "bi.label",
                                                                                                                                                  -        text: "button_group"
                                                                                                                                                  -      },
                                                                                                                                                  -      height: 50,
                                                                                                                                                  -    }]
                                                                                                                                                  -})
                                                                                                                                                  -
                                                                                                                                                  -
                                                                                                                                                  - -

                                                                                                                                                  API

                                                                                                                                                  -
                                                                                                                                                  基础属性
                                                                                                                                                  -
                                                                                                                                                  chooseType可选值为 CHOOSE_TYPE_SINGLE,CHOOSE_TYPE_MULTI,CHOOSE_TYPE_ALL,CHOOSE_TYPE_NONE,CHOOSE_TYPE_DEFAULT
                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                  参数说明类型可选值默认值
                                                                                                                                                  behaviors行为,如高亮,标红等object{ }
                                                                                                                                                  items子组件数组array[ ]
                                                                                                                                                  chooseType选择类型const见上BI.ButtonGroup.CHOOSE_TYPE_SINGLE
                                                                                                                                                  layouts布局array[{type: "bi.center",hgap: 0,vgap: 0}]
                                                                                                                                                  -

                                                                                                                                                  对外方法

                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                  名称说明回调参数
                                                                                                                                                  doBehavior执行行为,一般不会手动调用
                                                                                                                                                  prependItemsprepend元素items
                                                                                                                                                  addItemsappend元素items
                                                                                                                                                  removeItemAt移除指定索引处的itemindexs
                                                                                                                                                  removeItems移除制定元素values
                                                                                                                                                  populate刷新列表items
                                                                                                                                                  setNotSelectedValue设置未被选中的值value,可以是单个值也可以是个数组
                                                                                                                                                  setEnabledValue设置value值可用value,可以是单个值也可以是个数组
                                                                                                                                                  setValue设置value值value,可以是单个值也可以是个数组
                                                                                                                                                  getNotSelectedValue获取没有被选中的值
                                                                                                                                                  getValue获取被选中的值
                                                                                                                                                  getAllButtons获取所有button
                                                                                                                                                  getAllLeaves获取所有的叶子节点
                                                                                                                                                  getSelectedButtons获取所有被选中的元素
                                                                                                                                                  getNotSelectedButtons获取所有未被选中的元素
                                                                                                                                                  getIndexByValue根据value值获取value在数组中的索引value
                                                                                                                                                  getNodeById根据id获取节点id
                                                                                                                                                  getNodeByValue根据value值获取节点value
                                                                                                                                                  -
                                                                                                                                                  - - -
                                                                                                                                                  - -
                                                                                                                                                  -
                                                                                                                                                  -
                                                                                                                                                  - -

                                                                                                                                                  results matching ""

                                                                                                                                                  -
                                                                                                                                                    - -
                                                                                                                                                    -
                                                                                                                                                    - -

                                                                                                                                                    No results matching ""

                                                                                                                                                    - -
                                                                                                                                                    -
                                                                                                                                                    -
                                                                                                                                                    - -
                                                                                                                                                    -
                                                                                                                                                    - -
                                                                                                                                                    - - - - -
                                                                                                                                                    - - -
                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/abstract/button_group.md b/docs/_book/core/abstract/button_group.md deleted file mode 100644 index 5604dc4564..0000000000 --- a/docs/_book/core/abstract/button_group.md +++ /dev/null @@ -1,66 +0,0 @@ -# bi.button_group - -## 一组具有相同属性的元素集合,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/te0nLap1/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.button_group", - chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE, - layouts: [{ - type: "bi.vertical" - }], - items: [{ - el: { - type: "bi.label", - text: "button_group" - }, - height: 50, - }] -}) - -``` - -{% endmethod %} - -## API -##### 基础属性 -###### chooseType可选值为 CHOOSE_TYPE_SINGLE,CHOOSE_TYPE_MULTI,CHOOSE_TYPE_ALL,CHOOSE_TYPE_NONE,CHOOSE_TYPE_DEFAULT -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| behaviors | 行为,如高亮,标红等 |object | — |{ }| -| items | 子组件数组 | array | — | [ ] | -| chooseType | 选择类型 | const | 见上| BI.ButtonGroup.CHOOSE_TYPE_SINGLE | -| layouts | 布局 | array | — | [{type: "bi.center",hgap: 0,vgap: 0}] | - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| doBehavior | 执行行为,一般不会手动调用 | — | -| prependItems | prepend元素 | items | -| addItems | append元素 | items | -| removeItemAt | 移除指定索引处的item | indexs | -| removeItems | 移除制定元素 | values | -| populate | 刷新列表 | items | -| setNotSelectedValue| 设置未被选中的值 | value,可以是单个值也可以是个数组| -| setEnabledValue | 设置value值可用| value,可以是单个值也可以是个数组 | -| setValue | 设置value值 | value,可以是单个值也可以是个数组 | -| getNotSelectedValue | 获取没有被选中的值 | —| -| getValue | 获取被选中的值 |—| -| getAllButtons | 获取所有button |—| -| getAllLeaves | 获取所有的叶子节点 | —| -| getSelectedButtons | 获取所有被选中的元素 | —| -| getNotSelectedButtons | 获取所有未被选中的元素 | —| -| getIndexByValue | 根据value值获取value在数组中的索引 | value| -| getNodeById | 根据id获取节点 | id | -| getNodeByValue | 根据value值获取节点 | value | - - ---- - - diff --git a/docs/_book/core/abstract/button_tree.html b/docs/_book/core/abstract/button_tree.html deleted file mode 100644 index 0c29e90737..0000000000 --- a/docs/_book/core/abstract/button_tree.html +++ /dev/null @@ -1,2997 +0,0 @@ - - - - - - - button_tree · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                    -
                                                                                                                                                    - - - - - - - - -
                                                                                                                                                    - -
                                                                                                                                                    - -
                                                                                                                                                    - - - - - - - - -
                                                                                                                                                    -
                                                                                                                                                    - -
                                                                                                                                                    -
                                                                                                                                                    - -
                                                                                                                                                    - -

                                                                                                                                                    bi.button_tree

                                                                                                                                                    -

                                                                                                                                                    一组具有相同属性的元素集合,与button_group的区别是可以处理树状结构,基类BI.ButtonGroup

                                                                                                                                                    -
                                                                                                                                                    
                                                                                                                                                    -BI.createWidget({
                                                                                                                                                    -  element: "#wrapper",
                                                                                                                                                    -  type: "bi.button_tree",
                                                                                                                                                    -  chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI,
                                                                                                                                                    -  layouts: [{
                                                                                                                                                    -      type: "bi.vertical"
                                                                                                                                                    -  }],
                                                                                                                                                    -  items: [{
                                                                                                                                                    -      type: "bi.label",
                                                                                                                                                    -      text: "0",
                                                                                                                                                    -      value: "label1",
                                                                                                                                                    -      height:50,
                                                                                                                                                    -      vgap:10
                                                                                                                                                    -  }]
                                                                                                                                                    -})
                                                                                                                                                    -
                                                                                                                                                    -
                                                                                                                                                    - -

                                                                                                                                                    对外方法

                                                                                                                                                    - - - - - - - - - - - - - -
                                                                                                                                                    名称说明回调参数
                                                                                                                                                    -
                                                                                                                                                    - - -
                                                                                                                                                    - -
                                                                                                                                                    -
                                                                                                                                                    -
                                                                                                                                                    - -

                                                                                                                                                    results matching ""

                                                                                                                                                    -
                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      - -

                                                                                                                                                      No results matching ""

                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      - -
                                                                                                                                                      - - - - -
                                                                                                                                                      - - -
                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/abstract/button_tree.md b/docs/_book/core/abstract/button_tree.md deleted file mode 100644 index 292b108297..0000000000 --- a/docs/_book/core/abstract/button_tree.md +++ /dev/null @@ -1,38 +0,0 @@ -# bi.button_tree - -## 一组具有相同属性的元素集合,与button_group的区别是可以处理树状结构,基类[BI.ButtonGroup](/core/abstract/button_group.md) - -{% method %} -[source](https://jsfiddle.net/fineui/pgwpw4n9/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.button_tree", - chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI, - layouts: [{ - type: "bi.vertical" - }], - items: [{ - type: "bi.label", - text: "0", - value: "label1", - height:50, - vgap:10 - }] -}) -``` - -{% endmethod %} - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- - - diff --git a/docs/_book/core/abstract/collection_view.html b/docs/_book/core/abstract/collection_view.html deleted file mode 100644 index 13313fd678..0000000000 --- a/docs/_book/core/abstract/collection_view.html +++ /dev/null @@ -1,3146 +0,0 @@ - - - - - - - collection_view · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                      -
                                                                                                                                                      - - - - - - - - -
                                                                                                                                                      - -
                                                                                                                                                      - -
                                                                                                                                                      - - - - - - - - -
                                                                                                                                                      -
                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      - -
                                                                                                                                                      - -

                                                                                                                                                      bi.collection_view

                                                                                                                                                      -

                                                                                                                                                      视图集合,高性能容器,可处理大集合,事先需要知道每一个视图的宽度、高度位置等信息 基类BI.Widget

                                                                                                                                                      -
                                                                                                                                                      
                                                                                                                                                      -BI.createWidget({
                                                                                                                                                      -  type: "bi.collection_view",
                                                                                                                                                      -  element:"#wrapper",
                                                                                                                                                      -  width: 400,
                                                                                                                                                      -  height: 300,
                                                                                                                                                      -  items: [],
                                                                                                                                                      -  cellSizeAndPositionGetter: function (index) {
                                                                                                                                                      -      return {
                                                                                                                                                      -          x: index % 10 * 50,
                                                                                                                                                      -          y: Math.floor(index / 10) * 50,
                                                                                                                                                      -          width: 50,
                                                                                                                                                      -          height: 50
                                                                                                                                                      -      }
                                                                                                                                                      -  }
                                                                                                                                                      -});
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      - -

                                                                                                                                                      API

                                                                                                                                                      -
                                                                                                                                                      基础属性
                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                      参数说明类型可选值默认值
                                                                                                                                                      items子组件数组array[ ]
                                                                                                                                                      overflowX是否显示横向滚动条booleantrue,falsetrue
                                                                                                                                                      overflowY是否显示纵向滚动条booleantrue,falsetrue
                                                                                                                                                      cellSizeAndPositionGetter设置每个单元格的位置坐标和宽高function
                                                                                                                                                      horizontalOverscanSize横向超出可视范围区域预加载的数量number0
                                                                                                                                                      verticalOverscanSize纵向超出可视范围区域预加载的数量number0
                                                                                                                                                      width行宽,必设number
                                                                                                                                                      height列宽,必设number
                                                                                                                                                      scrollLeft滚动条相对于左边的偏移number0
                                                                                                                                                      scrollTop滚动条相对于顶部的偏移number0
                                                                                                                                                      -

                                                                                                                                                      对外方法

                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                      名称说明回调参数
                                                                                                                                                      setScrollLeft设置滚动条相对于左边的偏移scrollLeft
                                                                                                                                                      setScrollTop设置滚动条相对于顶部的偏移scrollTop
                                                                                                                                                      setOverflowX设置是否显示横向滚动条b
                                                                                                                                                      setOverflowY设置是否显示横向滚动条b
                                                                                                                                                      getScrollLeft获取滚动条相对于左边的偏移
                                                                                                                                                      getScrollTop获取滚动条相对于顶部的偏移
                                                                                                                                                      getMaxScrollLeft获取滚动条相对于左边的最大偏移
                                                                                                                                                      getMaxScrollTop获取滚动条相对于顶部的最大偏移
                                                                                                                                                      restore还原列表设置
                                                                                                                                                      populate刷新列表items
                                                                                                                                                      -

                                                                                                                                                      事件

                                                                                                                                                      - - - - - - - - - - - - - - - -
                                                                                                                                                      事件说明回调参数
                                                                                                                                                      BI.CollectionView.EVENT_SCROLL滚动时触发的事件{scrollLeft: scrollLeft, scrollTop: scrollTop}
                                                                                                                                                      -
                                                                                                                                                      - - -
                                                                                                                                                      - -
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      - -

                                                                                                                                                      results matching ""

                                                                                                                                                      -
                                                                                                                                                        - -
                                                                                                                                                        -
                                                                                                                                                        - -

                                                                                                                                                        No results matching ""

                                                                                                                                                        - -
                                                                                                                                                        -
                                                                                                                                                        -
                                                                                                                                                        - -
                                                                                                                                                        -
                                                                                                                                                        - -
                                                                                                                                                        - - - - -
                                                                                                                                                        - - -
                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/abstract/collection_view.md b/docs/_book/core/abstract/collection_view.md deleted file mode 100644 index 7201b3a4c5..0000000000 --- a/docs/_book/core/abstract/collection_view.md +++ /dev/null @@ -1,71 +0,0 @@ -# bi.collection_view - -## 视图集合,高性能容器,可处理大集合,事先需要知道每一个视图的宽度、高度位置等信息 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/cmq0b3v0/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.collection_view", - element:"#wrapper", - width: 400, - height: 300, - items: [], - cellSizeAndPositionGetter: function (index) { - return { - x: index % 10 * 50, - y: Math.floor(index / 10) * 50, - width: 50, - height: 50 - } - } -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| items | 子组件数组 | array | — | [ ] | -| overflowX | 是否显示横向滚动条| boolean | true,false | true | -| overflowY | 是否显示纵向滚动条 | boolean | true,false | true | -| cellSizeAndPositionGetter | 设置每个单元格的位置坐标和宽高 | function|— | — | -| horizontalOverscanSize | 横向超出可视范围区域预加载的数量 | number | — | 0 | -| verticalOverscanSize | 纵向超出可视范围区域预加载的数量 | number | — | 0 | -| width | 行宽,必设 |number| — | — | -| height | 列宽,必设 | number | —| — | -| scrollLeft | 滚动条相对于左边的偏移 | number | — | 0 | -| scrollTop | 滚动条相对于顶部的偏移 | number | — | 0 | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setScrollLeft | 设置滚动条相对于左边的偏移 | scrollLeft| -| setScrollTop | 设置滚动条相对于顶部的偏移 | scrollTop | -| setOverflowX | 设置是否显示横向滚动条 | b | -| setOverflowY | 设置是否显示横向滚动条 | b| -| getScrollLeft | 获取滚动条相对于左边的偏移 | —| -| getScrollTop | 获取滚动条相对于顶部的偏移 | — | -| getMaxScrollLeft | 获取滚动条相对于左边的最大偏移 | — | -| getMaxScrollTop | 获取滚动条相对于顶部的最大偏移 |—| -| restore | 还原列表设置 | — | -| populate | 刷新列表 | items | - - -## 事件 -| 事件 | 说明 | 回调参数 | -| :------ |:------------- |:------------------------| -|BI.CollectionView.EVENT_SCROLL| 滚动时触发的事件 | {scrollLeft: scrollLeft, scrollTop: scrollTop} | - ---- - - diff --git a/docs/_book/core/abstract/custom_tree.html b/docs/_book/core/abstract/custom_tree.html deleted file mode 100644 index e6af36a252..0000000000 --- a/docs/_book/core/abstract/custom_tree.html +++ /dev/null @@ -1,3080 +0,0 @@ - - - - - - - custom_tree · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                        -
                                                                                                                                                        - - - - - - - - -
                                                                                                                                                        - -
                                                                                                                                                        - -
                                                                                                                                                        - - - - - - - - -
                                                                                                                                                        -
                                                                                                                                                        - -
                                                                                                                                                        -
                                                                                                                                                        - -
                                                                                                                                                        - -

                                                                                                                                                        bi.custom_tree

                                                                                                                                                        -

                                                                                                                                                        自定义树,基类BI.Widget

                                                                                                                                                        -
                                                                                                                                                        
                                                                                                                                                        -BI.createWidget({
                                                                                                                                                        -    type: "bi.custom_tree",
                                                                                                                                                        -    el: {
                                                                                                                                                        -        type: "bi.button_tree",
                                                                                                                                                        -        chooseType: 0,
                                                                                                                                                        -        layouts: [{
                                                                                                                                                        -            type: "bi.vertical",
                                                                                                                                                        -            hgap: 30
                                                                                                                                                        -        }]
                                                                                                                                                        -    },
                                                                                                                                                        -    items: [{
                                                                                                                                                        -               id: -1,
                                                                                                                                                        -               pId: -2,
                                                                                                                                                        -               value: "根目录",
                                                                                                                                                        -               open: true,
                                                                                                                                                        -               type: "bi.plus_group_node",
                                                                                                                                                        -               height: 25
                                                                                                                                                        -           },
                                                                                                                                                        -           {
                                                                                                                                                        -               id: 1,
                                                                                                                                                        -               pId: -1,
                                                                                                                                                        -               value: "第一级目录1",
                                                                                                                                                        -               type: "bi.plus_group_node",
                                                                                                                                                        -               height: 25
                                                                                                                                                        -           },
                                                                                                                                                        -           {
                                                                                                                                                        -               id: 11,
                                                                                                                                                        -               pId: 1,
                                                                                                                                                        -               value: "第二级文件1",
                                                                                                                                                        -               type: "bi.single_select_item",
                                                                                                                                                        -               height: 25
                                                                                                                                                        -           }]
                                                                                                                                                        -});
                                                                                                                                                        -
                                                                                                                                                        -
                                                                                                                                                        - -

                                                                                                                                                        API

                                                                                                                                                        -
                                                                                                                                                        基础属性
                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                        参数说明类型可选值默认值
                                                                                                                                                        items子组件数组array[ ]
                                                                                                                                                        itemsCreator子组件构造器object{ }
                                                                                                                                                        expanderpopup组件object{el: {},popup: {type: "bi.custom_tree"}}
                                                                                                                                                        el当前元素object{type: "bi.button_tree",chooseType: 0,layouts: [{type: "bi.vertical"}]}
                                                                                                                                                        -

                                                                                                                                                        对外方法

                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                        名称说明回调参数
                                                                                                                                                        populate刷新列表nodes
                                                                                                                                                        getAllButtons获取所有button
                                                                                                                                                        getAllLeaves获取所有的叶子节点
                                                                                                                                                        getNodeById根据id获取节点id
                                                                                                                                                        getNodeByValue根据value值获取节点value
                                                                                                                                                        -
                                                                                                                                                        - - -
                                                                                                                                                        - -
                                                                                                                                                        -
                                                                                                                                                        -
                                                                                                                                                        - -

                                                                                                                                                        results matching ""

                                                                                                                                                        -
                                                                                                                                                          - -
                                                                                                                                                          -
                                                                                                                                                          - -

                                                                                                                                                          No results matching ""

                                                                                                                                                          - -
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          - -
                                                                                                                                                          -
                                                                                                                                                          - -
                                                                                                                                                          - - - - -
                                                                                                                                                          - - -
                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/abstract/custom_tree.md b/docs/_book/core/abstract/custom_tree.md deleted file mode 100644 index 2593d6bf38..0000000000 --- a/docs/_book/core/abstract/custom_tree.md +++ /dev/null @@ -1,76 +0,0 @@ -# bi.custom_tree - -## 自定义树,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/gesh31xg/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.custom_tree", - el: { - type: "bi.button_tree", - chooseType: 0, - layouts: [{ - type: "bi.vertical", - hgap: 30 - }] - }, - items: [{ - id: -1, - pId: -2, - value: "根目录", - open: true, - type: "bi.plus_group_node", - height: 25 - }, - { - id: 1, - pId: -1, - value: "第一级目录1", - type: "bi.plus_group_node", - height: 25 - }, - { - id: 11, - pId: 1, - value: "第二级文件1", - type: "bi.single_select_item", - height: 25 - }] -}); - - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| items | 子组件数组 | array | — | [ ] | -| itemsCreator| 子组件构造器 | object | — | { } | -| expander | popup组件 | object | — | {el: {},popup: {type: "bi.custom_tree"}}| -| el | 当前元素 | object | — | {type: "bi.button_tree",chooseType: 0,layouts: [{type: "bi.vertical"}]}| - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | nodes| -| getAllButtons | 获取所有button |—| -| getAllLeaves | 获取所有的叶子节点 | —| -| getNodeById | 根据id获取节点 | id | -| getNodeByValue | 根据value值获取节点 | value | - - - ---- - - diff --git a/docs/_book/core/abstract/grid_view.html b/docs/_book/core/abstract/grid_view.html deleted file mode 100644 index 317203f83b..0000000000 --- a/docs/_book/core/abstract/grid_view.html +++ /dev/null @@ -1,3177 +0,0 @@ - - - - - - - grid_view · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                          -
                                                                                                                                                          - - - - - - - - -
                                                                                                                                                          - -
                                                                                                                                                          - -
                                                                                                                                                          - - - - - - - - -
                                                                                                                                                          -
                                                                                                                                                          - -
                                                                                                                                                          -
                                                                                                                                                          - -
                                                                                                                                                          - -

                                                                                                                                                          bi.grid_view

                                                                                                                                                          -

                                                                                                                                                          网格视图集合,高性能组件,可以处理网格状的大集合,实现需要知道每一个视图的高度信息,基类BI.Widget

                                                                                                                                                          -
                                                                                                                                                          
                                                                                                                                                          -BI.createWidget({
                                                                                                                                                          -    type: "bi.grid_view",
                                                                                                                                                          -    width: 400,
                                                                                                                                                          -    height: 300,
                                                                                                                                                          -    estimatedRowSize: 30,
                                                                                                                                                          -    estimatedColumnSize: 100,
                                                                                                                                                          -    items: [],
                                                                                                                                                          -    scrollTop: 100,
                                                                                                                                                          -    rowHeightGetter: function () {
                                                                                                                                                          -        return 30;
                                                                                                                                                          -    },
                                                                                                                                                          -    columnWidthGetter: function () {
                                                                                                                                                          -        return 100;
                                                                                                                                                          -    }
                                                                                                                                                          -});
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          - -

                                                                                                                                                          API

                                                                                                                                                          -
                                                                                                                                                          基础属性
                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                          参数说明类型可选值默认值
                                                                                                                                                          items子组件数组array[ ]
                                                                                                                                                          overflowX是否显示横向滚动条booleantrue,falsetrue
                                                                                                                                                          overflowY是否显示纵向滚动条booleantrue,falsetrue
                                                                                                                                                          overscanColumnCount超出可视范围区域预加载多少列number0
                                                                                                                                                          overscanRowCount超出可视范围区域预加载多少行number0
                                                                                                                                                          width行宽,必设number
                                                                                                                                                          height列宽,必设number
                                                                                                                                                          rowHeightGetter每格行宽number,functionfunction
                                                                                                                                                          columnWidthGetter每格列宽number,functionfunction
                                                                                                                                                          estimatedColumnSize预估行宽,columnWidthGetter为function时必设number,functionfunction
                                                                                                                                                          estimatedRowSize预估列宽,rowHeightGetter为function时必设number,functionfunction
                                                                                                                                                          scrollLeft滚动条相对于左边的偏移number0
                                                                                                                                                          scrollTop滚动条相对于顶部的偏移number0
                                                                                                                                                          -

                                                                                                                                                          对外方法

                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                          名称说明回调参数
                                                                                                                                                          setScrollLeft设置滚动条相对于左边的偏移scrollLeft
                                                                                                                                                          setScrollTop设置滚动条相对于顶部的偏移scrollTop
                                                                                                                                                          setOverflowX设置是否显示横向滚动条b
                                                                                                                                                          setOverflowY设置是否显示横向滚动条b
                                                                                                                                                          getScrollLeft获取滚动条相对于左边的偏移
                                                                                                                                                          getScrollTop获取滚动条相对于顶部的偏移
                                                                                                                                                          getMaxScrollLeft获取滚动条相对于左边的最大偏移
                                                                                                                                                          getMaxScrollTop获取滚动条相对于顶部的最大偏移
                                                                                                                                                          setEstimatedColumnSize设置列宽width
                                                                                                                                                          setEstimatedRowSize设置行宽height
                                                                                                                                                          restore还原列表设置
                                                                                                                                                          populate刷新列表items
                                                                                                                                                          -

                                                                                                                                                          事件

                                                                                                                                                          - - - - - - - - - - - - - - - -
                                                                                                                                                          事件说明回调参数
                                                                                                                                                          BI.GridView.EVENT_SCROLL滚动时触发的事件{scrollLeft: scrollLeft, scrollTop: scrollTop}
                                                                                                                                                          -
                                                                                                                                                          - - -
                                                                                                                                                          - -
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          - -

                                                                                                                                                          results matching ""

                                                                                                                                                          -
                                                                                                                                                            - -
                                                                                                                                                            -
                                                                                                                                                            - -

                                                                                                                                                            No results matching ""

                                                                                                                                                            - -
                                                                                                                                                            -
                                                                                                                                                            -
                                                                                                                                                            - -
                                                                                                                                                            -
                                                                                                                                                            - -
                                                                                                                                                            - - - - -
                                                                                                                                                            - - -
                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/abstract/grid_view.md b/docs/_book/core/abstract/grid_view.md deleted file mode 100644 index e36d84137d..0000000000 --- a/docs/_book/core/abstract/grid_view.md +++ /dev/null @@ -1,78 +0,0 @@ -# bi.grid_view - -## 网格视图集合,高性能组件,可以处理网格状的大集合,实现需要知道每一个视图的高度信息,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/fkntzLq5/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.grid_view", - width: 400, - height: 300, - estimatedRowSize: 30, - estimatedColumnSize: 100, - items: [], - scrollTop: 100, - rowHeightGetter: function () { - return 30; - }, - columnWidthGetter: function () { - return 100; - } -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| items | 子组件数组 | array | — | [ ] | -| overflowX | 是否显示横向滚动条| boolean | true,false | true | -| overflowY | 是否显示纵向滚动条 | boolean | true,false | true | -| overscanColumnCount| 超出可视范围区域预加载多少列 | number|— | 0 | -| overscanRowCount| 超出可视范围区域预加载多少行 | number | — | 0 | -| width | 行宽,必设 |number| — | — | -| height | 列宽,必设 | number | —| — | -| rowHeightGetter| 每格行宽 |number,function | —| function | -| columnWidthGetter| 每格列宽 | number,function |— | function | -| estimatedColumnSize| 预估行宽,columnWidthGetter为function时必设 |number,function |— | function | -| estimatedRowSize | 预估列宽,rowHeightGetter为function时必设 | number,function | —| function | -| scrollLeft | 滚动条相对于左边的偏移 | number | — | 0 | -| scrollTop | 滚动条相对于顶部的偏移 | number | —|0 | - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setScrollLeft | 设置滚动条相对于左边的偏移 | scrollLeft| -| setScrollTop | 设置滚动条相对于顶部的偏移 | scrollTop | -| setOverflowX | 设置是否显示横向滚动条 | b | -| setOverflowY | 设置是否显示横向滚动条 | b| -| getScrollLeft | 获取滚动条相对于左边的偏移 | —| -| getScrollTop | 获取滚动条相对于顶部的偏移 | — | -| getMaxScrollLeft | 获取滚动条相对于左边的最大偏移 | — | -| getMaxScrollTop | 获取滚动条相对于顶部的最大偏移 |—| -| setEstimatedColumnSize | 设置列宽 |width| -| setEstimatedRowSize | 设置行宽 | height | -| restore | 还原列表设置 | — | -| populate | 刷新列表 | items | - -## 事件 -| 事件 | 说明 | 回调参数 -| :------ |:------------- |:----------| -|BI.GridView.EVENT_SCROLL| 滚动时触发的事件 | {scrollLeft: scrollLeft, scrollTop: scrollTop} | - - ---- - - diff --git a/docs/_book/core/abstract/list_view.html b/docs/_book/core/abstract/list_view.html deleted file mode 100644 index f91cea1070..0000000000 --- a/docs/_book/core/abstract/list_view.html +++ /dev/null @@ -1,3020 +0,0 @@ - - - - - - - list_view · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                            -
                                                                                                                                                            - - - - - - - - -
                                                                                                                                                            - -
                                                                                                                                                            - -
                                                                                                                                                            - - - - - - - - -
                                                                                                                                                            -
                                                                                                                                                            - -
                                                                                                                                                            -
                                                                                                                                                            - -
                                                                                                                                                            - -

                                                                                                                                                            list_view

                                                                                                                                                            -

                                                                                                                                                            优化过性能的列表,基类BI.Widget

                                                                                                                                                            -
                                                                                                                                                            
                                                                                                                                                            -BI.createWidget({
                                                                                                                                                            -   type: "bi.list_view",
                                                                                                                                                            -   el: {
                                                                                                                                                            -        type: "bi.left"
                                                                                                                                                            -   },
                                                                                                                                                            -   items: []
                                                                                                                                                            -});
                                                                                                                                                            -
                                                                                                                                                            -
                                                                                                                                                            - -

                                                                                                                                                            API

                                                                                                                                                            -
                                                                                                                                                            基础属性
                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                            参数说明类型可选值默认值
                                                                                                                                                            overscanHeight超出可视范围区域多少高度预加载number100
                                                                                                                                                            blockSize块大小以多少项为单位number-0
                                                                                                                                                            -

                                                                                                                                                            对外方法

                                                                                                                                                            - - - - - - - - - - - - - - - -
                                                                                                                                                            名称说明回调参数
                                                                                                                                                            populate刷新列表items
                                                                                                                                                            -
                                                                                                                                                            - - -
                                                                                                                                                            - -
                                                                                                                                                            -
                                                                                                                                                            -
                                                                                                                                                            - -

                                                                                                                                                            results matching ""

                                                                                                                                                            -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              - -

                                                                                                                                                              No results matching ""

                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              - - - - -
                                                                                                                                                              - - -
                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/abstract/list_view.md b/docs/_book/core/abstract/list_view.md deleted file mode 100644 index 04263cff6c..0000000000 --- a/docs/_book/core/abstract/list_view.md +++ /dev/null @@ -1,41 +0,0 @@ -# list_view - -## 优化过性能的列表,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/ueutn0sj/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.list_view", - el: { - type: "bi.left" - }, - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| overscanHeight | 超出可视范围区域多少高度预加载 | number | — | 100 | -| blockSize | 块大小以多少项为单位 | number | - | 0 | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | - - - ---- \ No newline at end of file diff --git a/docs/_book/core/abstract/virtual_group.html b/docs/_book/core/abstract/virtual_group.html deleted file mode 100644 index 4079642597..0000000000 --- a/docs/_book/core/abstract/virtual_group.html +++ /dev/null @@ -1,3051 +0,0 @@ - - - - - - - virtual_group · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                              -
                                                                                                                                                              - - - - - - - - -
                                                                                                                                                              - -
                                                                                                                                                              - -
                                                                                                                                                              - - - - - - - - -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              - -
                                                                                                                                                              - -

                                                                                                                                                              bi.virtual_group

                                                                                                                                                              -

                                                                                                                                                              优化过的buttonGroup,刷新不会删掉所有元素 基类BI.Widget

                                                                                                                                                              -
                                                                                                                                                              
                                                                                                                                                              -BI.createWidget({
                                                                                                                                                              -  element: "#wrapper",
                                                                                                                                                              -  type: "bi.virtual_group",
                                                                                                                                                              -  width: 500,
                                                                                                                                                              -  height: 300,
                                                                                                                                                              -  chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI,
                                                                                                                                                              -  layouts: [{
                                                                                                                                                              -      type: "bi.vertical"
                                                                                                                                                              -  }, {
                                                                                                                                                              -      type: "bi.center_adapt",
                                                                                                                                                              -  }],
                                                                                                                                                              -  items:[]
                                                                                                                                                              -})
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -

                                                                                                                                                              API

                                                                                                                                                              -
                                                                                                                                                              基础属性
                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                              参数说明类型可选值默认值
                                                                                                                                                              items子组件数组array[ ]
                                                                                                                                                              layouts布局array[{type: "bi.center",hgap: 0,vgap: 0}]
                                                                                                                                                              -

                                                                                                                                                              对外方法

                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                              名称说明回调参数
                                                                                                                                                              setValue设置value值value,可以是单个值也可以是个数组
                                                                                                                                                              getValue获取被选中的值
                                                                                                                                                              prependItems内部前插入items
                                                                                                                                                              addItems内部后插入items
                                                                                                                                                              populate刷新列表items
                                                                                                                                                              render渲染列表
                                                                                                                                                              -
                                                                                                                                                              - - -
                                                                                                                                                              - -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - -

                                                                                                                                                              results matching ""

                                                                                                                                                              -
                                                                                                                                                                - -
                                                                                                                                                                -
                                                                                                                                                                - -

                                                                                                                                                                No results matching ""

                                                                                                                                                                - -
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                                - -
                                                                                                                                                                -
                                                                                                                                                                - -
                                                                                                                                                                - - - - -
                                                                                                                                                                - - -
                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/abstract/virtual_group.md b/docs/_book/core/abstract/virtual_group.md deleted file mode 100644 index 39f2788655..0000000000 --- a/docs/_book/core/abstract/virtual_group.md +++ /dev/null @@ -1,51 +0,0 @@ -# bi.virtual_group - -## 优化过的buttonGroup,刷新不会删掉所有元素 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/9pd0dct0/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.virtual_group", - width: 500, - height: 300, - chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI, - layouts: [{ - type: "bi.vertical" - }, { - type: "bi.center_adapt", - }], - items:[] -}) -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| items | 子组件数组 | array | — | [ ] | -| layouts | 布局 | array | — | [{type: "bi.center",hgap: 0,vgap: 0}] | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setValue | 设置value值 | value,可以是单个值也可以是个数组 | -| getValue | 获取被选中的值 |—| -| prependItems | 内部前插入 | items | -| addItems | 内部后插入 | items | -| populate | 刷新列表 | items | -| render | 渲染列表 | —| - - - ---- - - diff --git a/docs/_book/core/abstract/virtual_list.html b/docs/_book/core/abstract/virtual_list.html deleted file mode 100644 index f36b26ef10..0000000000 --- a/docs/_book/core/abstract/virtual_list.html +++ /dev/null @@ -1,3056 +0,0 @@ - - - - - - - virtual_list · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                -
                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                - -
                                                                                                                                                                - -
                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                -
                                                                                                                                                                - -
                                                                                                                                                                -
                                                                                                                                                                - -
                                                                                                                                                                - -

                                                                                                                                                                bi.virtual_list

                                                                                                                                                                -

                                                                                                                                                                一个动态加载的列表项,事先可以不知道列表项高度,可以处理大列表,基类BI.Widget

                                                                                                                                                                -
                                                                                                                                                                
                                                                                                                                                                -BI.createWidget({
                                                                                                                                                                -    type: "bi.virtual_list",
                                                                                                                                                                -    element:"body",
                                                                                                                                                                -    items: BI.map([{value: "xxxx"}], function (i, item) {
                                                                                                                                                                -          return BI.extend({}, item, {
                                                                                                                                                                -              type: "bi.label",
                                                                                                                                                                -              height: 30,
                                                                                                                                                                -              text: (i + 1) + "." + item.text,
                                                                                                                                                                -          });
                                                                                                                                                                -      })
                                                                                                                                                                -    })
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                                - -

                                                                                                                                                                API

                                                                                                                                                                -
                                                                                                                                                                基础属性
                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                参数说明类型可选值默认值
                                                                                                                                                                items子组件数组array[ ]
                                                                                                                                                                blockSize滚动加载的个数number10
                                                                                                                                                                overscanHeight超出可视范围区域的高度number100
                                                                                                                                                                scrollTop滚动条相对于顶部的偏移number0
                                                                                                                                                                -

                                                                                                                                                                对外方法

                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                名称说明回调参数
                                                                                                                                                                render渲染列表
                                                                                                                                                                mounted组件挂载
                                                                                                                                                                restore还原列表设置
                                                                                                                                                                populate刷新列表items
                                                                                                                                                                destroyed销毁组件
                                                                                                                                                                -
                                                                                                                                                                - - -
                                                                                                                                                                - -
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                                - -

                                                                                                                                                                results matching ""

                                                                                                                                                                -
                                                                                                                                                                  - -
                                                                                                                                                                  -
                                                                                                                                                                  - -

                                                                                                                                                                  No results matching ""

                                                                                                                                                                  - -
                                                                                                                                                                  -
                                                                                                                                                                  -
                                                                                                                                                                  - -
                                                                                                                                                                  -
                                                                                                                                                                  - -
                                                                                                                                                                  - - - - -
                                                                                                                                                                  - - -
                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/abstract/virtual_list.md b/docs/_book/core/abstract/virtual_list.md deleted file mode 100644 index 854d76522e..0000000000 --- a/docs/_book/core/abstract/virtual_list.md +++ /dev/null @@ -1,52 +0,0 @@ -# bi.virtual_list - -## 一个动态加载的列表项,事先可以不知道列表项高度,可以处理大列表,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/L995LrL9/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.virtual_list", - element:"body", - items: BI.map([{value: "xxxx"}], function (i, item) { - return BI.extend({}, item, { - type: "bi.label", - height: 30, - text: (i + 1) + "." + item.text, - }); - }) - }) - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| items | 子组件数组 | array | — | [ ] | -| blockSize | 滚动加载的个数 | number | — | 10 | -| overscanHeight | 超出可视范围区域的高度 | number | — | 100 | -| scrollTop | 滚动条相对于顶部的偏移 | number | — | 0 | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| render | 渲染列表 | —| -| mounted | 组件挂载 | —| -| restore | 还原列表设置 | — | -| populate | 刷新列表 | items | -| destroyed | 销毁组件 | —| - - - ---- - - diff --git a/docs/_book/core/basic_button.html b/docs/_book/core/basic_button.html deleted file mode 100644 index 603574bb8e..0000000000 --- a/docs/_book/core/basic_button.html +++ /dev/null @@ -1,3150 +0,0 @@ - - - - - - - BasicButton · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                  -
                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                  - -
                                                                                                                                                                  - -
                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                  -
                                                                                                                                                                  - -
                                                                                                                                                                  -
                                                                                                                                                                  - -
                                                                                                                                                                  - -

                                                                                                                                                                  bi.basic_button

                                                                                                                                                                  -

                                                                                                                                                                  一般的button父级,表示一个可以点击的区域,基类BI.Single

                                                                                                                                                                  -

                                                                                                                                                                  API

                                                                                                                                                                  -
                                                                                                                                                                  基础属性
                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                  参数说明类型可选值默认值
                                                                                                                                                                  stopEvent是否阻止事件booleantrue,falsefalse
                                                                                                                                                                  stopPropagation是否阻止冒泡booleantrue,falsefalse
                                                                                                                                                                  selectedbutton的选中状态booleantrue,falsefalse
                                                                                                                                                                  once点击一次选中有效,再点无效booleantrue,falsefalse
                                                                                                                                                                  forceSelected点击即选中, 选中了就不会被取消,与once的区别是forceSelected不影响事件的触发booleantrue,falsefalse
                                                                                                                                                                  forceNotSelected无论怎么点击都不会被选中booleantrue,falsefalse
                                                                                                                                                                  disableSelected使能选中booleantrue,falsefalse
                                                                                                                                                                  shadow是否显示阴影booleantrue,falsefalse
                                                                                                                                                                  isShadowShowingOnSelected选中状态下是否显示阴影booleantrue,falsefalse
                                                                                                                                                                  trigger被选元素要触发的事件stringmousedown, mouseup, click, dblclick, lclicknull
                                                                                                                                                                  text文本string""
                                                                                                                                                                  handler点击事件回调functionBI.emptyFn
                                                                                                                                                                  -

                                                                                                                                                                  对外方法

                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                  名称说明回调参数
                                                                                                                                                                  hover触发hover
                                                                                                                                                                  dishover取消触发hover
                                                                                                                                                                  setSelected设置选中b
                                                                                                                                                                  isSelected是否被选中
                                                                                                                                                                  isOnce是否只允许点击一次
                                                                                                                                                                  isForceSelected判断是否点击即选中
                                                                                                                                                                  isForceNotSelected判断是否怎么点击都不会被选中
                                                                                                                                                                  isDisableSelected判断是否不让选中
                                                                                                                                                                  setText设置文本值
                                                                                                                                                                  getText获取文本值
                                                                                                                                                                  -

                                                                                                                                                                  用于继承的方法

                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                  名称说明回调参数
                                                                                                                                                                  beforeClick点击事件之前钩子
                                                                                                                                                                  doClick点击之后钩子
                                                                                                                                                                  handle获取事件作用的对象
                                                                                                                                                                  -
                                                                                                                                                                  - - -
                                                                                                                                                                  - -
                                                                                                                                                                  -
                                                                                                                                                                  -
                                                                                                                                                                  - -

                                                                                                                                                                  results matching ""

                                                                                                                                                                  -
                                                                                                                                                                    - -
                                                                                                                                                                    -
                                                                                                                                                                    - -

                                                                                                                                                                    No results matching ""

                                                                                                                                                                    - -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    - -
                                                                                                                                                                    -
                                                                                                                                                                    - -
                                                                                                                                                                    - - - - -
                                                                                                                                                                    - - -
                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/basic_button.md b/docs/_book/core/basic_button.md deleted file mode 100644 index 37e9b4e048..0000000000 --- a/docs/_book/core/basic_button.md +++ /dev/null @@ -1,47 +0,0 @@ -# bi.basic_button - -## 一般的button父级,表示一个可以点击的区域,基类[BI.Single](/core/single.md) - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| stopEvent | 是否阻止事件 |boolean | true,false | false | -| stopPropagation | 是否阻止冒泡 | boolean | true,false| false | -| selected | button的选中状态 | boolean | true,false |false | -| once | 点击一次选中有效,再点无效 | boolean | true,false | false| -| forceSelected | 点击即选中, 选中了就不会被取消,与once的区别是forceSelected不影响事件的触发| boolean | true,false| false| -| forceNotSelected | 无论怎么点击都不会被选中 | boolean| true,false | false| -| disableSelected | 使能选中| boolean | true,false| false| -| shadow | 是否显示阴影 | boolean| true,false| false| -| isShadowShowingOnSelected| 选中状态下是否显示阴影|boolean| true,false | false| -| trigger | 被选元素要触发的事件 | string | mousedown, mouseup, click, dblclick, lclick | null| -| text | 文本 | string | —| "" | -| handler | 点击事件回调 | function | —| BI.emptyFn | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| hover | 触发hover| —| -| dishover | 取消触发hover| —| -| setSelected | 设置选中| b| -| isSelected | 是否被选中| —| -| isOnce | 是否只允许点击一次| —| -| isForceSelected| 判断是否点击即选中| —| -| isForceNotSelected| 判断是否怎么点击都不会被选中|—| -| isDisableSelected| 判断是否不让选中|—| -| setText| 设置文本值|—| -| getText| 获取文本值|—| - -## 用于继承的方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| beforeClick | 点击事件之前钩子 | —| -| doClick | 点击之后钩子 | — | -| handle | 获取事件作用的对象 | —| - - ---- - - diff --git a/docs/_book/core/combination/bi.combo.html b/docs/_book/core/combination/bi.combo.html deleted file mode 100644 index b1ec2b76e5..0000000000 --- a/docs/_book/core/combination/bi.combo.html +++ /dev/null @@ -1,3241 +0,0 @@ - - - - - - - combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                    -
                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                    - -
                                                                                                                                                                    - -
                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                    -
                                                                                                                                                                    - -
                                                                                                                                                                    -
                                                                                                                                                                    - -
                                                                                                                                                                    - -

                                                                                                                                                                    bi.combo

                                                                                                                                                                    -

                                                                                                                                                                    combo,基类BI.Widget

                                                                                                                                                                    -
                                                                                                                                                                    
                                                                                                                                                                    -BI.createWidget({
                                                                                                                                                                    -   type: "bi.combo",
                                                                                                                                                                    -   element: "body",
                                                                                                                                                                    -   adjustLength: 2,
                                                                                                                                                                    -   el: {
                                                                                                                                                                    -       type: "bi.button",
                                                                                                                                                                    -       text: "测试",
                                                                                                                                                                    -       height: 25
                                                                                                                                                                    -    },
                                                                                                                                                                    -   popup: {}
                                                                                                                                                                    -});
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    - -

                                                                                                                                                                    API

                                                                                                                                                                    -
                                                                                                                                                                    基础属性
                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                    参数说明类型可选值默认值
                                                                                                                                                                    el自定义下拉框triggerobject{ }
                                                                                                                                                                    trigger下拉列表的弹出方式stringclick,hover"click"
                                                                                                                                                                    adjustLength弹出列表和trigger的距离number0
                                                                                                                                                                    toggle切换状态booleantrue,falsetrue
                                                                                                                                                                    direction弹出列表和trigger的位置关系stringtop | bottom | left | right | top,left | top,right | bottom,left | bottom,right"bottom"
                                                                                                                                                                    isDefaultInit是否默认初始化子节点booleantrue,falsefalse
                                                                                                                                                                    destroyWhenHide隐藏弹窗层是否销毁booleantrue,falsefalse
                                                                                                                                                                    isNeedAdjustHeight是否需要高度调整booleantrue,falsetrue
                                                                                                                                                                    isNeedAdjustWidth是否需要宽度调整booleantrue,falsetrue
                                                                                                                                                                    stopEvent是否阻止事件booleantrue,falsefalse
                                                                                                                                                                    stopPropagation阻止事件冒泡booleantrue,falsefalse
                                                                                                                                                                    adjustXOffset调整横向偏移number0
                                                                                                                                                                    adjustYOffset调整纵向偏移number0
                                                                                                                                                                    hideChecker是否隐藏弹出层检测function
                                                                                                                                                                    offsetStyle弹出层显示位置stringleft,right,center"left,right,center"
                                                                                                                                                                    popup弹出层object{ }
                                                                                                                                                                    comboClasscombo类string"bi-combo-popup"
                                                                                                                                                                    hoverClasshover类string"bi-combo-hover"
                                                                                                                                                                    -

                                                                                                                                                                    对外方法

                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                    名称说明回调参数
                                                                                                                                                                    adjustWidth调整宽度
                                                                                                                                                                    adjustHeight调整高度
                                                                                                                                                                    resetListHeight重置列表高度height
                                                                                                                                                                    resetListWidth重置列表宽度width
                                                                                                                                                                    populate刷新列表items
                                                                                                                                                                    setValue设置combo value值v
                                                                                                                                                                    getValue获取combo value值
                                                                                                                                                                    isViewVisible弹窗层是否可见
                                                                                                                                                                    showView显示弹出层
                                                                                                                                                                    hideView隐藏弹出层
                                                                                                                                                                    getView获取弹出层
                                                                                                                                                                    getPopupPosition获取弹出层的位置
                                                                                                                                                                    toggle开启或者隐藏弹出层
                                                                                                                                                                    -

                                                                                                                                                                    事件

                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                    名称说明
                                                                                                                                                                    BI.Combo.EVENT_TRIGGER_CHANGEtrigger发生改变触发
                                                                                                                                                                    BI.Combo.EVENT_CHANGE弹出层点击触发
                                                                                                                                                                    BI.Combo.EVENT_EXPAND下拉框展开触发
                                                                                                                                                                    BI.Combo.EVENT_COLLAPSE下拉框收起触发
                                                                                                                                                                    BI.Combo.EVENT_AFTER_INIT下拉框初始化后触发
                                                                                                                                                                    BI.Combo.EVENT_BEFORE_POPUPVIEW下拉列表弹出前触发
                                                                                                                                                                    BI.Combo.EVENT_AFTER_POPUPVIEW下拉列表弹出后触发
                                                                                                                                                                    BI.Combo.EVENT_BEFORE_HIDEVIEW下拉列表收起前触发
                                                                                                                                                                    BI.Combo.EVENT_AFTER_HIDEVIEW下拉列表收起后触发
                                                                                                                                                                    -
                                                                                                                                                                    - - -
                                                                                                                                                                    - -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    - -

                                                                                                                                                                    results matching ""

                                                                                                                                                                    -
                                                                                                                                                                      - -
                                                                                                                                                                      -
                                                                                                                                                                      - -

                                                                                                                                                                      No results matching ""

                                                                                                                                                                      - -
                                                                                                                                                                      -
                                                                                                                                                                      -
                                                                                                                                                                      - -
                                                                                                                                                                      -
                                                                                                                                                                      - -
                                                                                                                                                                      - - - - -
                                                                                                                                                                      - - -
                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/combination/bi.combo.md b/docs/_book/core/combination/bi.combo.md deleted file mode 100644 index 10157e81b0..0000000000 --- a/docs/_book/core/combination/bi.combo.md +++ /dev/null @@ -1,87 +0,0 @@ -# bi.combo - -## combo,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/wxykkjou/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.combo", - element: "body", - adjustLength: 2, - el: { - type: "bi.button", - text: "测试", - height: 25 - }, - popup: {} -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| el | 自定义下拉框trigger | object | — |{ }| -| trigger | 下拉列表的弹出方式 | string | click,hover | "click" | -| adjustLength | 弹出列表和trigger的距离 | number | — | 0 | -| toggle | 切换状态 | boolean | true,false | true | -| direction | 弹出列表和trigger的位置关系 | string | top | bottom | left | right | top,left | top,right | bottom,left | bottom,right | "bottom"| -| isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false | -| destroyWhenHide | 隐藏弹窗层是否销毁 | boolean | true,false | false | -| isNeedAdjustHeight | 是否需要高度调整 | boolean | true,false | true | -| isNeedAdjustWidth | 是否需要宽度调整 | boolean | true,false | true | -| stopEvent | 是否阻止事件 | boolean | true,false | false | -| stopPropagation | 阻止事件冒泡 | boolean | true,false | false | -| adjustXOffset | 调整横向偏移 | number | — | 0 | -| adjustYOffset |调整纵向偏移 | number | — | 0 | -| hideChecker | 是否隐藏弹出层检测 | function | — | —| -| offsetStyle | 弹出层显示位置 | string | left,right,center | "left,right,center"| -| popup | 弹出层 | object | — | { }| -| comboClass | combo类 | string | — | "bi-combo-popup" | -| hoverClass | hover类 | string | — | "bi-combo-hover" | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| adjustWidth | 调整宽度 | —| -| adjustHeight | 调整高度 | —| -| resetListHeight | 重置列表高度 | height | -| resetListWidth | 重置列表宽度 | width | -| populate | 刷新列表 | items | -| setValue |设置combo value值| v | -| getValue | 获取combo value值 | —| -| isViewVisible | 弹窗层是否可见 | —| -| showView | 显示弹出层 | —| -| hideView | 隐藏弹出层 |—| -| getView | 获取弹出层 | —| -| getPopupPosition | 获取弹出层的位置 | —| -| toggle | 开启或者隐藏弹出层 | —| - -## 事件 -| 名称 | 说明 | -| :------ |:------------- | -|BI.Combo.EVENT_TRIGGER_CHANGE | trigger发生改变触发 | -|BI.Combo.EVENT_CHANGE | 弹出层点击触发 | -|BI.Combo.EVENT_EXPAND | 下拉框展开触发 | -|BI.Combo.EVENT_COLLAPSE | 下拉框收起触发 -|BI.Combo.EVENT_AFTER_INIT | 下拉框初始化后触发 | -|BI.Combo.EVENT_BEFORE_POPUPVIEW | 下拉列表弹出前触发 | -|BI.Combo.EVENT_AFTER_POPUPVIEW | 下拉列表弹出后触发 | -|BI.Combo.EVENT_BEFORE_HIDEVIEW | 下拉列表收起前触发 | -|BI.Combo.EVENT_AFTER_HIDEVIEW | 下拉列表收起后触发 | - - ---- - - diff --git a/docs/_book/core/combination/bi.expander.html b/docs/_book/core/combination/bi.expander.html deleted file mode 100644 index 31ccf404d3..0000000000 --- a/docs/_book/core/combination/bi.expander.html +++ /dev/null @@ -1,3182 +0,0 @@ - - - - - - - expander · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                      -
                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                      - -
                                                                                                                                                                      - -
                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                      -
                                                                                                                                                                      - -
                                                                                                                                                                      -
                                                                                                                                                                      - -
                                                                                                                                                                      - -

                                                                                                                                                                      bi.expander

                                                                                                                                                                      -

                                                                                                                                                                      可以实现展开收起的面板,基类BI.Widget

                                                                                                                                                                      -
                                                                                                                                                                      
                                                                                                                                                                      -BI.createWidget({
                                                                                                                                                                      -  type: "bi.expander",
                                                                                                                                                                      -  element: "#wrapper",
                                                                                                                                                                      -  el: {
                                                                                                                                                                      -    type: "bi.icon_text_node",
                                                                                                                                                                      -    cls: "pull-right-ha-font",
                                                                                                                                                                      -    height: 25,
                                                                                                                                                                      -    text: "Expander"
                                                                                                                                                                      -  },
                                                                                                                                                                      -  popup: {
                                                                                                                                                                      -    items: [{
                                                                                                                                                                      -      type: "bi.single_select_item",
                                                                                                                                                                      -      height: 25,
                                                                                                                                                                      -      text: "项目1",
                                                                                                                                                                      -      value: 1
                                                                                                                                                                      -    }, {
                                                                                                                                                                      -      type: "bi.single_select_item",
                                                                                                                                                                      -      height: 25,
                                                                                                                                                                      -      text: "项目2",
                                                                                                                                                                      -      value: 2
                                                                                                                                                                      -    }]
                                                                                                                                                                      -  }
                                                                                                                                                                      -});
                                                                                                                                                                      -
                                                                                                                                                                      -
                                                                                                                                                                      - -

                                                                                                                                                                      API

                                                                                                                                                                      -
                                                                                                                                                                      基础属性
                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                      参数说明类型可选值默认值
                                                                                                                                                                      el自定义下拉框triggerobject{ }
                                                                                                                                                                      trigger下拉列表的弹出方式stringclick,hover"click"
                                                                                                                                                                      adjustLength弹出列表和trigger的距离number0
                                                                                                                                                                      toggle切换状态booleantrue,falsetrue
                                                                                                                                                                      direction弹出列表和trigger的位置关系stringtop | bottom | left | right | top,left | top,right | bottom,left | bottom,right"bottom"
                                                                                                                                                                      isDefaultInit是否默认初始化子节点booleantrue,falsefalse
                                                                                                                                                                      popup弹出层object{ }
                                                                                                                                                                      expanderClass展开类string"bi-expander-popup"
                                                                                                                                                                      hoverClasshover类string"bi-expander-hover"
                                                                                                                                                                      -

                                                                                                                                                                      对外方法

                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                      名称说明回调参数
                                                                                                                                                                      populate刷新列表items
                                                                                                                                                                      setValue设置combo value值v
                                                                                                                                                                      getValue获取combo value值
                                                                                                                                                                      isViewVisible弹窗层是否可见
                                                                                                                                                                      showView显示弹出层
                                                                                                                                                                      hideView隐藏弹出层
                                                                                                                                                                      getView获取弹出层
                                                                                                                                                                      getAllLeaves获取所有的叶子节点
                                                                                                                                                                      getNodeById根据id获取节点id
                                                                                                                                                                      getNodeByValue根据value值获取节点value
                                                                                                                                                                      isExpanded节点是否展开
                                                                                                                                                                      -

                                                                                                                                                                      事件

                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                      名称说明
                                                                                                                                                                      BI.Expander.EVENT_TRIGGER_CHANGEtrigger发生改变触发
                                                                                                                                                                      BI.Expander.EVENT_CHANGE弹出层点击触发
                                                                                                                                                                      BI.Expander.EVENT_EXPANDExpander展开触发
                                                                                                                                                                      BI.Expander.EVENT_COLLAPSEExpander收起触发
                                                                                                                                                                      BI.Expander.EVENT_AFTER_INITExpander初始化后触发
                                                                                                                                                                      BI.Expander.EVENT_BEFORE_POPUPVIEW下拉列表弹出前触发
                                                                                                                                                                      BI.Expander.EVENT_AFTER_POPUPVIEW下拉列表弹出后触发
                                                                                                                                                                      BI.Expander.EVENT_BEFORE_HIDEVIEW下拉列表收起前触发
                                                                                                                                                                      BI.Expander.EVENT_AFTER_HIDEVIEW下拉列表收起后触发
                                                                                                                                                                      -
                                                                                                                                                                      - - -
                                                                                                                                                                      - -
                                                                                                                                                                      -
                                                                                                                                                                      -
                                                                                                                                                                      - -

                                                                                                                                                                      results matching ""

                                                                                                                                                                      -
                                                                                                                                                                        - -
                                                                                                                                                                        -
                                                                                                                                                                        - -

                                                                                                                                                                        No results matching ""

                                                                                                                                                                        - -
                                                                                                                                                                        -
                                                                                                                                                                        -
                                                                                                                                                                        - -
                                                                                                                                                                        -
                                                                                                                                                                        - -
                                                                                                                                                                        - - - - -
                                                                                                                                                                        - - -
                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/combination/bi.expander.md b/docs/_book/core/combination/bi.expander.md deleted file mode 100644 index a264f425f1..0000000000 --- a/docs/_book/core/combination/bi.expander.md +++ /dev/null @@ -1,87 +0,0 @@ -# bi.expander - -## 可以实现展开收起的面板,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/2xavqk4k/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.expander", - element: "#wrapper", - el: { - type: "bi.icon_text_node", - cls: "pull-right-ha-font", - height: 25, - text: "Expander" - }, - popup: { - items: [{ - type: "bi.single_select_item", - height: 25, - text: "项目1", - value: 1 - }, { - type: "bi.single_select_item", - height: 25, - text: "项目2", - value: 2 - }] - } -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| el | 自定义下拉框trigger | object | — |{ }| -| trigger | 下拉列表的弹出方式 | string | click,hover | "click" | -| adjustLength | 弹出列表和trigger的距离 | number | — | 0 | -| toggle | 切换状态 | boolean | true,false | true | -| direction | 弹出列表和trigger的位置关系 | string | top | bottom | left | right | top,left | top,right | bottom,left | bottom,right | "bottom"| -| isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false | -| popup | 弹出层 | object | — | { }| -| expanderClass | 展开类 | string | —| "bi-expander-popup" | -| hoverClass | hover类| string | — | "bi-expander-hover" | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | -| setValue | 设置combo value值| v | -| getValue | 获取combo value值 | —| -| isViewVisible | 弹窗层是否可见 | —| -| showView | 显示弹出层| —| -| hideView | 隐藏弹出层| —| -| getView | 获取弹出层| —| -| getAllLeaves | 获取所有的叶子节点 | —| -| getNodeById | 根据id获取节点 | id | -| getNodeByValue | 根据value值获取节点 | value | -| isExpanded | 节点是否展开 | — | - -## 事件 -| 名称 | 说明 | -| :------ |:------------- | -|BI.Expander.EVENT_TRIGGER_CHANGE | trigger发生改变触发 | -|BI.Expander.EVENT_CHANGE | 弹出层点击触发 | -|BI.Expander.EVENT_EXPAND | Expander展开触发 | -|BI.Expander.EVENT_COLLAPSE | Expander收起触发 -|BI.Expander.EVENT_AFTER_INIT | Expander初始化后触发 | -|BI.Expander.EVENT_BEFORE_POPUPVIEW | 下拉列表弹出前触发 | -|BI.Expander.EVENT_AFTER_POPUPVIEW | 下拉列表弹出后触发 | -|BI.Expander.EVENT_BEFORE_HIDEVIEW | 下拉列表收起前触发 | -|BI.Expander.EVENT_AFTER_HIDEVIEW | 下拉列表收起后触发 | - ---- - - diff --git a/docs/_book/core/combination/combo_group.html b/docs/_book/core/combination/combo_group.html deleted file mode 100644 index 0b00a71766..0000000000 --- a/docs/_book/core/combination/combo_group.html +++ /dev/null @@ -1,3085 +0,0 @@ - - - - - - - combo_group · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                        -
                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                        - -
                                                                                                                                                                        - -
                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                        -
                                                                                                                                                                        - -
                                                                                                                                                                        -
                                                                                                                                                                        - -
                                                                                                                                                                        - -

                                                                                                                                                                        bi.combo_group

                                                                                                                                                                        -

                                                                                                                                                                        基类BI.Widget

                                                                                                                                                                        -
                                                                                                                                                                        
                                                                                                                                                                        -BI.createWidget({
                                                                                                                                                                        -  element: "#wrapper",
                                                                                                                                                                        -  type: "bi.combo_group",
                                                                                                                                                                        -  el: {
                                                                                                                                                                        -    type: "bi.icon_text_icon_item",
                                                                                                                                                                        -    text: "2010年",
                                                                                                                                                                        -    value: 2010,
                                                                                                                                                                        -    height: 25,
                                                                                                                                                                        -    iconCls: "close-ha-font"
                                                                                                                                                                        -  },
                                                                                                                                                                        -  children: [{
                                                                                                                                                                        -    type: "bi.single_select_item",
                                                                                                                                                                        -    height: 25,
                                                                                                                                                                        -    text: "一月",
                                                                                                                                                                        -    value: 11
                                                                                                                                                                        -  }]
                                                                                                                                                                        -});
                                                                                                                                                                        -
                                                                                                                                                                        -
                                                                                                                                                                        - - -

                                                                                                                                                                        API

                                                                                                                                                                        -
                                                                                                                                                                        基础属性
                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                        参数说明类型可选值默认值
                                                                                                                                                                        children子组件配置array[ ]
                                                                                                                                                                        popup弹出层object{el: {type: "bi.button_tree",chooseType: 0,layouts: [{type: "bi.vertical"}]}}
                                                                                                                                                                        isDefaultInit是否默认初始化子节点booleantrue,falsefalse
                                                                                                                                                                        isNeedAdjustHeight是否需要高度调整booleantrue,falsefalse
                                                                                                                                                                        isNeedAdjustWidth是否需要宽度调整booleantrue,falsefalse
                                                                                                                                                                        el自定义下拉框triggerobject{type: "bi.text_button", text: "", value: ""}
                                                                                                                                                                        trigger下拉列表的弹出方式stringclick,hover"click"
                                                                                                                                                                        adjustLength弹出列表和trigger的距离number0
                                                                                                                                                                        direction弹出列表和trigger的位置关系stringtop | bottom | left | right | top,left | top,right | bottom,left | bottom,right"bottom"
                                                                                                                                                                        -

                                                                                                                                                                        对外方法

                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                        名称说明回调参数
                                                                                                                                                                        setValue设置combo value值v
                                                                                                                                                                        getValue获取combo value值
                                                                                                                                                                        -
                                                                                                                                                                        - - -
                                                                                                                                                                        - -
                                                                                                                                                                        -
                                                                                                                                                                        -
                                                                                                                                                                        - -

                                                                                                                                                                        results matching ""

                                                                                                                                                                        -
                                                                                                                                                                          - -
                                                                                                                                                                          -
                                                                                                                                                                          - -

                                                                                                                                                                          No results matching ""

                                                                                                                                                                          - -
                                                                                                                                                                          -
                                                                                                                                                                          -
                                                                                                                                                                          - -
                                                                                                                                                                          -
                                                                                                                                                                          - -
                                                                                                                                                                          - - - - -
                                                                                                                                                                          - - -
                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/combination/combo_group.md b/docs/_book/core/combination/combo_group.md deleted file mode 100644 index 25d16a5eb8..0000000000 --- a/docs/_book/core/combination/combo_group.md +++ /dev/null @@ -1,63 +0,0 @@ -# bi.combo_group - -## 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/x32ue8xv/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.combo_group", - el: { - type: "bi.icon_text_icon_item", - text: "2010年", - value: 2010, - height: 25, - iconCls: "close-ha-font" - }, - children: [{ - type: "bi.single_select_item", - height: 25, - text: "一月", - value: 11 - }] -}); - - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| children | 子组件配置 | array | — | [ ] | -| popup | 弹出层 | object | — |{el: {type: "bi.button_tree",chooseType: 0,layouts: [{type: "bi.vertical"}]}}| -| isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false | -| isNeedAdjustHeight | 是否需要高度调整 | boolean | true,false | false | -| isNeedAdjustWidth | 是否需要宽度调整 | boolean | true,false | false | -| el | 自定义下拉框trigger | object | — |{type: "bi.text_button", text: "", value: ""}| -| trigger | 下拉列表的弹出方式 | string | click,hover | "click" | -| adjustLength | 弹出列表和trigger的距离 | number | — | 0 | -| direction | 弹出列表和trigger的位置关系 | string | top | bottom | left | right | top,left | top,right | bottom,left | bottom,right | "bottom"| - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setValue | 设置combo value值| v | -| getValue | 获取combo value值 | — | - - - ---- - - diff --git a/docs/_book/core/combination/loader.html b/docs/_book/core/combination/loader.html deleted file mode 100644 index fe0755f5a9..0000000000 --- a/docs/_book/core/combination/loader.html +++ /dev/null @@ -1,3167 +0,0 @@ - - - - - - - loader · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                          -
                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                          - -
                                                                                                                                                                          - -
                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                          -
                                                                                                                                                                          - -
                                                                                                                                                                          -
                                                                                                                                                                          - -
                                                                                                                                                                          - -

                                                                                                                                                                          bi.loader

                                                                                                                                                                          -

                                                                                                                                                                          加载控件,BI.Widget

                                                                                                                                                                          -
                                                                                                                                                                          
                                                                                                                                                                          -BI.createWidget({
                                                                                                                                                                          -  element: "#wrapper",
                                                                                                                                                                          -  type: "bi.loader",
                                                                                                                                                                          -  itemsCreator: function(options, populate) {
                                                                                                                                                                          -    populate(BI.map(BI.map(BI.makeArray(3, null), function(idx, value){
                                                                                                                                                                          -        return {
                                                                                                                                                                          -             text: faker.name.findName(),
                                                                                                                                                                          -        value: BI.UUID()
                                                                                                                                                                          -      };
                                                                                                                                                                          -    }), function(i, v) {
                                                                                                                                                                          -        return BI.extend(v, {
                                                                                                                                                                          -          type: "bi.single_select_item",
                                                                                                                                                                          -          height: 25
                                                                                                                                                                          -        })
                                                                                                                                                                          -      }))
                                                                                                                                                                          -  },
                                                                                                                                                                          -  hasNext: function(option) {
                                                                                                                                                                          -    return option.count < 10;
                                                                                                                                                                          -  }
                                                                                                                                                                          -});
                                                                                                                                                                          -
                                                                                                                                                                          -
                                                                                                                                                                          - - -

                                                                                                                                                                          API

                                                                                                                                                                          -
                                                                                                                                                                          基础属性
                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                          参数说明类型可选值默认值
                                                                                                                                                                          directioncombo弹出层位置stringtop,bottom,left,right,(top,left),(top,right),(bottom,left),(bottom,right)"top"
                                                                                                                                                                          isDefaultInit是否默认初始化子数据booleantrue,falsetrue
                                                                                                                                                                          logic布局逻辑object{dynamic:true,scrolly:true}
                                                                                                                                                                          items子组件array[]
                                                                                                                                                                          itemsCreator子组件构造器function
                                                                                                                                                                          onLoaded加载中function
                                                                                                                                                                          count是否显示总页数booleantrue,falseboolean
                                                                                                                                                                          prev上一页booleantrue,falseboolean
                                                                                                                                                                          next下一页booleantrue,falseboolean
                                                                                                                                                                          hasPrev判断是否有上一页function
                                                                                                                                                                          hasNext判断是否有下一页function
                                                                                                                                                                          -

                                                                                                                                                                          对外方法

                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                          名称说明回调参数
                                                                                                                                                                          hasNext判断是否有下一页
                                                                                                                                                                          prependItems内部前插入items
                                                                                                                                                                          addItems内部后插入items
                                                                                                                                                                          populate刷新列表items
                                                                                                                                                                          setNotSelectedValue设置未被选中的值value,可以是单个值也可以是个数组
                                                                                                                                                                          setValue设置value值value,可以是单个值也可以是个数组
                                                                                                                                                                          getNotSelectedValue获取没有被选中的值
                                                                                                                                                                          getValue获取被选中的值
                                                                                                                                                                          getAllButtons获取所有button
                                                                                                                                                                          getAllLeaves获取所有的叶子节点
                                                                                                                                                                          getSelectedButtons获取所有被选中的元素
                                                                                                                                                                          getNotSelectedButtons获取所有未被选中的元素
                                                                                                                                                                          getIndexByValue根据value值获取value在数组中的索引value
                                                                                                                                                                          getNodeById根据id获取节点id
                                                                                                                                                                          getNodeByValue根据value值获取节点value
                                                                                                                                                                          -
                                                                                                                                                                          - - -
                                                                                                                                                                          - -
                                                                                                                                                                          -
                                                                                                                                                                          -
                                                                                                                                                                          - -

                                                                                                                                                                          results matching ""

                                                                                                                                                                          -
                                                                                                                                                                            - -
                                                                                                                                                                            -
                                                                                                                                                                            - -

                                                                                                                                                                            No results matching ""

                                                                                                                                                                            - -
                                                                                                                                                                            -
                                                                                                                                                                            -
                                                                                                                                                                            - -
                                                                                                                                                                            -
                                                                                                                                                                            - -
                                                                                                                                                                            - - - - -
                                                                                                                                                                            - - -
                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/combination/loader.md b/docs/_book/core/combination/loader.md deleted file mode 100644 index 860431a70e..0000000000 --- a/docs/_book/core/combination/loader.md +++ /dev/null @@ -1,81 +0,0 @@ -# bi.loader - -## 加载控件,[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/qgLtctnx/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.loader", - itemsCreator: function(options, populate) { - populate(BI.map(BI.map(BI.makeArray(3, null), function(idx, value){ - return { - text: faker.name.findName(), - value: BI.UUID() - }; - }), function(i, v) { - return BI.extend(v, { - type: "bi.single_select_item", - height: 25 - }) - })) - }, - hasNext: function(option) { - return option.count < 10; - } -}); - - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| direction | combo弹出层位置 | string | top,bottom,left,right,(top,left),(top,right),(bottom,left),(bottom,right) | "top"| -| isDefaultInit | 是否默认初始化子数据 |boolean | true,false | true | -| logic | 布局逻辑 | object | —| {dynamic:true,scrolly:true} | -| items| 子组件 | array | — | []| -| itemsCreator | 子组件构造器 | function | — | — | -| onLoaded | 加载中 | function | — | — | -| count | 是否显示总页数 | boolean| true,false|boolean| -| prev | 上一页 | boolean | true,false | boolean | -| next | 下一页 | boolean | true,false | boolean | -| hasPrev | 判断是否有上一页 | function | — | — | -| hasNext | 判断是否有下一页 | function | — | — | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| hasNext | 判断是否有下一页 | — | -| prependItems | 内部前插入 | items | -| addItems | 内部后插入 | items | -| populate | 刷新列表 | items | -| setNotSelectedValue| 设置未被选中的值 | value,可以是单个值也可以是个数组| -| setValue | 设置value值 | value,可以是单个值也可以是个数组 | -| getNotSelectedValue | 获取没有被选中的值 | —| -| getValue | 获取被选中的值 |—| -| getAllButtons | 获取所有button |—| -| getAllLeaves | 获取所有的叶子节点 | —| -| getSelectedButtons | 获取所有被选中的元素 | —| -| getNotSelectedButtons | 获取所有未被选中的元素 | —| -| getIndexByValue | 根据value值获取value在数组中的索引 | value| -| getNodeById | 根据id获取节点 | id | -| getNodeByValue | 根据value值获取节点 | value | - - - ---- - - diff --git a/docs/_book/core/combination/navigation.html b/docs/_book/core/combination/navigation.html deleted file mode 100644 index a550dc4667..0000000000 --- a/docs/_book/core/combination/navigation.html +++ /dev/null @@ -1,3124 +0,0 @@ - - - - - - - navigation · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                            -
                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                            - -
                                                                                                                                                                            - -
                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                            -
                                                                                                                                                                            - -
                                                                                                                                                                            -
                                                                                                                                                                            - -
                                                                                                                                                                            - -

                                                                                                                                                                            bi.navigation

                                                                                                                                                                            -

                                                                                                                                                                            导航栏控件,BI.Widget

                                                                                                                                                                            -
                                                                                                                                                                            
                                                                                                                                                                            -
                                                                                                                                                                            -BI.createWidget({
                                                                                                                                                                            -  element: "#wrapper",
                                                                                                                                                                            -  type: "bi.navigation",
                                                                                                                                                                            -  tab: {
                                                                                                                                                                            -    height: 30,
                                                                                                                                                                            -    items: [{
                                                                                                                                                                            -      once: false,
                                                                                                                                                                            -      text: "后退",
                                                                                                                                                                            -      value: -1
                                                                                                                                                                            -    }, {
                                                                                                                                                                            -      once: false,
                                                                                                                                                                            -      text: "前进",
                                                                                                                                                                            -      value: 1
                                                                                                                                                                            -    }]
                                                                                                                                                                            -  },
                                                                                                                                                                            -  cardCreator: function(v) {
                                                                                                                                                                            -    return BI.createWidget({
                                                                                                                                                                            -      type: "bi.label",
                                                                                                                                                                            -      cls: "layout-bg" + BI.random(1, 8),
                                                                                                                                                                            -      text: "第" + v + "页"
                                                                                                                                                                            -    })
                                                                                                                                                                            -  }
                                                                                                                                                                            -})
                                                                                                                                                                            -
                                                                                                                                                                            -
                                                                                                                                                                            - -

                                                                                                                                                                            API

                                                                                                                                                                            -
                                                                                                                                                                            基础属性
                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                            参数说明类型可选值默认值
                                                                                                                                                                            direction控件位置stringtop,bottom,left,right,custom"bottom"
                                                                                                                                                                            single是否为单页booleantrue,falsetrue
                                                                                                                                                                            defaultShowIndex默认显示页码number,falsenumber,falsefalse
                                                                                                                                                                            tabtab页元素object
                                                                                                                                                                            logic布局逻辑object{dynamic:false}
                                                                                                                                                                            cardCreator面板构造器functionv
                                                                                                                                                                            afterCardCreated面板构造之后function
                                                                                                                                                                            afterCardShow面板显示之后function
                                                                                                                                                                            -

                                                                                                                                                                            对外方法

                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                            名称说明回调参数
                                                                                                                                                                            render渲染组件
                                                                                                                                                                            mounted挂载组件
                                                                                                                                                                            afterCardCreated创建卡导航页页之后v
                                                                                                                                                                            afterCardShow导航页展示之后v
                                                                                                                                                                            setSelect设置选中的indexv
                                                                                                                                                                            getSelect获取选中的index
                                                                                                                                                                            getSelectedCard获取选中的导航页
                                                                                                                                                                            populate刷新列表items
                                                                                                                                                                            setValue设置value值value
                                                                                                                                                                            getValue获取被选中的值
                                                                                                                                                                            -
                                                                                                                                                                            - - -
                                                                                                                                                                            - -
                                                                                                                                                                            -
                                                                                                                                                                            -
                                                                                                                                                                            - -

                                                                                                                                                                            results matching ""

                                                                                                                                                                            -
                                                                                                                                                                              - -
                                                                                                                                                                              -
                                                                                                                                                                              - -

                                                                                                                                                                              No results matching ""

                                                                                                                                                                              - -
                                                                                                                                                                              -
                                                                                                                                                                              -
                                                                                                                                                                              - -
                                                                                                                                                                              -
                                                                                                                                                                              - -
                                                                                                                                                                              - - - - -
                                                                                                                                                                              - - -
                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/combination/navigation.md b/docs/_book/core/combination/navigation.md deleted file mode 100644 index 9c6a6a2ffc..0000000000 --- a/docs/_book/core/combination/navigation.md +++ /dev/null @@ -1,76 +0,0 @@ -# bi.navigation - -## 导航栏控件,[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/ubsren48/) - -{% common %} -```javascript - - -BI.createWidget({ - element: "#wrapper", - type: "bi.navigation", - tab: { - height: 30, - items: [{ - once: false, - text: "后退", - value: -1 - }, { - once: false, - text: "前进", - value: 1 - }] - }, - cardCreator: function(v) { - return BI.createWidget({ - type: "bi.label", - cls: "layout-bg" + BI.random(1, 8), - text: "第" + v + "页" - }) - } -}) - - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| direction | 控件位置 | string | top,bottom,left,right,custom | "bottom"| -| single | 是否为单页 | boolean | true,false | true | -| defaultShowIndex | 默认显示页码 |number,false | number,false | false | -| tab | tab页元素 | object | — | — | -| logic | 布局逻辑 | object | — | {dynamic:false} | -| cardCreator | 面板构造器 | function | — | v | -| afterCardCreated | 面板构造之后 | function | — | — | -| afterCardShow | 面板显示之后 | function | —| — | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| render | 渲染组件 | — | -| mounted | 挂载组件 | —| -| afterCardCreated | 创建卡导航页页之后 | v | -| afterCardShow | 导航页展示之后 | v | -| setSelect | 设置选中的index | v | -| getSelect | 获取选中的index| —| -| getSelectedCard | 获取选中的导航页| —| -| populate | 刷新列表 | items | -| setValue | 设置value值 | value | -| getValue | 获取被选中的值 |—| - - - ---- - - diff --git a/docs/_book/core/combination/searcher.html b/docs/_book/core/combination/searcher.html deleted file mode 100644 index aa59109ab0..0000000000 --- a/docs/_book/core/combination/searcher.html +++ /dev/null @@ -1,3262 +0,0 @@ - - - - - - - searcher · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                              -
                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                              - -
                                                                                                                                                                              - -
                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                              -
                                                                                                                                                                              - -
                                                                                                                                                                              -
                                                                                                                                                                              - -
                                                                                                                                                                              - -

                                                                                                                                                                              bi.searcher

                                                                                                                                                                              -

                                                                                                                                                                              搜索逻辑控件,BI.Widget

                                                                                                                                                                              -
                                                                                                                                                                              
                                                                                                                                                                              -BI.createWidget({
                                                                                                                                                                              -    type: "bi.searcher",
                                                                                                                                                                              -    element:"#wrapper",
                                                                                                                                                                              -    adapter: {
                                                                                                                                                                              -      getItems: function () {
                                                                                                                                                                              -        return [{
                                                                                                                                                                              -                   type: "bi.label",
                                                                                                                                                                              -                   value: "张三"
                                                                                                                                                                              -                 }]
                                                                                                                                                                              -      }
                                                                                                                                                                              -    },
                                                                                                                                                                              -    popup: {
                                                                                                                                                                              -               type: "bi.button_group",
                                                                                                                                                                              -               cls: "bi-border",
                                                                                                                                                                              -               items: items,
                                                                                                                                                                              -               layouts: [{
                                                                                                                                                                              -                 type: "bi.vertical"
                                                                                                                                                                              -               }],
                                                                                                                                                                              -    },
                                                                                                                                                                              -    masker: false
                                                                                                                                                                              -  })
                                                                                                                                                                              -
                                                                                                                                                                              -
                                                                                                                                                                              - -

                                                                                                                                                                              API

                                                                                                                                                                              -
                                                                                                                                                                              基础属性
                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                              参数说明类型可选值默认值
                                                                                                                                                                              hgap效果相当于容器左右padding值number0
                                                                                                                                                                              vgap效果相当于容器上下padding值number0
                                                                                                                                                                              lgap效果相当于容器left-padding值number0
                                                                                                                                                                              rgap效果相当于容器right-padding值number0
                                                                                                                                                                              tgap效果相当于容器top-padding值number0
                                                                                                                                                                              bgap效果相当于容器bottom-padding值number0
                                                                                                                                                                              chooseType选择类型constCHOOSE_TYPE_SINGLE
                                                                                                                                                                              isDefaultInit是否默认初始化子节点booleantrue,falsefalse
                                                                                                                                                                              isAutoSearch是否自动搜索booleantrue,falsetrue
                                                                                                                                                                              isAutoSync是否自动同步数据, 即是否保持搜索面板和adapter面板状态值的统一booleantrue,falsetrue
                                                                                                                                                                              onSearchisAutoSearch为false时启用function(op.callback)
                                                                                                                                                                              el开启弹出层的元素object{type: "bi.search_editor"}
                                                                                                                                                                              popup弹出层object{type: "bi.searcher_view"}
                                                                                                                                                                              adapter弹出层显示的位置元素objectnull
                                                                                                                                                                              maskermasker层object{offset: {}}
                                                                                                                                                                              -

                                                                                                                                                                              对外方法

                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                              名称说明回调参数
                                                                                                                                                                              populate刷新列表result, searchResult, keyword
                                                                                                                                                                              setValue设置value值value
                                                                                                                                                                              getValue获取被选中的值
                                                                                                                                                                              adapter适配器
                                                                                                                                                                              doSearch开始搜索
                                                                                                                                                                              stopSearch停止搜索
                                                                                                                                                                              isSearching是否正在搜索
                                                                                                                                                                              isViewVisible组件是否可见
                                                                                                                                                                              getView获取搜索列表栏
                                                                                                                                                                              hasMatched是否匹配
                                                                                                                                                                              adjustHeight调整高度
                                                                                                                                                                              adjustView调整搜索列表栏
                                                                                                                                                                              getKeyword获取搜索关键词
                                                                                                                                                                              getKeywords获取搜索关键词数组
                                                                                                                                                                              -

                                                                                                                                                                              事件方法

                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                              事件名称说明回调参数
                                                                                                                                                                              EVENT_START开始搜索
                                                                                                                                                                              EVENT_STOP停止搜索
                                                                                                                                                                              EVENT_PAUSE暂停搜索
                                                                                                                                                                              EVENT_SEARCHING搜索中
                                                                                                                                                                              EVENT_AFTER_INIT初始化之后
                                                                                                                                                                              -

                                                                                                                                                                              事件

                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                              事件说明
                                                                                                                                                                              BI.Searcher.EVENT_CHANGE搜索结果面板发生改变触发
                                                                                                                                                                              BI.Searcher.EVENT_START开始搜索触发
                                                                                                                                                                              BI.Searcher.EVENT_STOP停止搜索触发(搜索框为空)
                                                                                                                                                                              BI.Searcher.EVENT_PAUSE搜索暂停触发(搜索文本以空白字符结尾)
                                                                                                                                                                              BI.Searcher.EVENT_SEARCHING正在搜索时触发
                                                                                                                                                                              BI.Searcher.EVENT_AFTER_INIT搜索结果面板初始化完成后触发
                                                                                                                                                                              -
                                                                                                                                                                              - - -
                                                                                                                                                                              - -
                                                                                                                                                                              -
                                                                                                                                                                              -
                                                                                                                                                                              - -

                                                                                                                                                                              results matching ""

                                                                                                                                                                              -
                                                                                                                                                                                - -
                                                                                                                                                                                -
                                                                                                                                                                                - -

                                                                                                                                                                                No results matching ""

                                                                                                                                                                                - -
                                                                                                                                                                                -
                                                                                                                                                                                -
                                                                                                                                                                                - -
                                                                                                                                                                                -
                                                                                                                                                                                - -
                                                                                                                                                                                - - - - -
                                                                                                                                                                                - - -
                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/combination/searcher.md b/docs/_book/core/combination/searcher.md deleted file mode 100644 index 50aff71fa5..0000000000 --- a/docs/_book/core/combination/searcher.md +++ /dev/null @@ -1,100 +0,0 @@ -# bi.searcher - -## 搜索逻辑控件,[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/k6s24et1/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.searcher", - element:"#wrapper", - adapter: { - getItems: function () { - return [{ - type: "bi.label", - value: "张三" - }] - } - }, - popup: { - type: "bi.button_group", - cls: "bi-border", - items: items, - layouts: [{ - type: "bi.vertical" - }], - }, - masker: false - }) - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于容器左右padding值 | number | —| 0 | -| vgap | 效果相当于容器上下padding值 | number | — | 0 | -| lgap | 效果相当于容器left-padding值 | number | —| 0 | -| rgap | 效果相当于容器right-padding值 | number | — | 0 | -| tgap | 效果相当于容器top-padding值 | number | —| 0 | -| bgap | 效果相当于容器bottom-padding值 | number | —| 0 | -| chooseType | 选择类型 | const | | CHOOSE_TYPE_SINGLE | -| isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false | -| isAutoSearch | 是否自动搜索 |boolean | true,false | true | -| isAutoSync | 是否自动同步数据, 即是否保持搜索面板和adapter面板状态值的统一 |boolean | true,false | true | -| onSearch | isAutoSearch为false时启用 | function(op.callback) | — | —| -| el | 开启弹出层的元素 | object | — | {type: "bi.search_editor"}| -| popup | 弹出层 | object | — |{type: "bi.searcher_view"}| -| adapter | 弹出层显示的位置元素 | object | —| null| -| masker | masker层 | object | — | {offset: {}}| - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | result, searchResult, keyword | -| setValue | 设置value值 | value | -| getValue | 获取被选中的值 |—| -| adapter | 适配器 | — | -| doSearch | 开始搜索 | — | -| stopSearch | 停止搜索 | —| -| isSearching | 是否正在搜索 | —| -| isViewVisible | 组件是否可见 | —| -| getView | 获取搜索列表栏 | —| -| hasMatched | 是否匹配 | —| -| adjustHeight | 调整高度 | —| -| adjustView| 调整搜索列表栏| —| -| getKeyword | 获取搜索关键词| —| -| getKeywords | 获取搜索关键词数组| —| - - -## 事件方法 - -| 事件名称| 说明| 回调参数 | -| :------ |:------------- | :----- -| EVENT_START | 开始搜索 | —| -| EVENT_STOP | 停止搜索 | —| -| EVENT_PAUSE | 暂停搜索 | —| -| EVENT_SEARCHING | 搜索中| —| -| EVENT_AFTER_INIT | 初始化之后 | —| - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.Searcher.EVENT_CHANGE | 搜索结果面板发生改变触发 | -|BI.Searcher.EVENT_START | 开始搜索触发 | -|BI.Searcher.EVENT_STOP | 停止搜索触发(搜索框为空) | -|BI.Searcher.EVENT_PAUSE | 搜索暂停触发(搜索文本以空白字符结尾) | -|BI.Searcher.EVENT_SEARCHING | 正在搜索时触发 | -|BI.Searcher.EVENT_AFTER_INIT | 搜索结果面板初始化完成后触发 | - ---- - - diff --git a/docs/_book/core/combination/switcher.html b/docs/_book/core/combination/switcher.html deleted file mode 100644 index 4c2c1cfaca..0000000000 --- a/docs/_book/core/combination/switcher.html +++ /dev/null @@ -1,3189 +0,0 @@ - - - - - - - switcher · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                -
                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                - -
                                                                                                                                                                                - -
                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                -
                                                                                                                                                                                - -
                                                                                                                                                                                -
                                                                                                                                                                                - -
                                                                                                                                                                                - -

                                                                                                                                                                                bi.switcher

                                                                                                                                                                                -

                                                                                                                                                                                切换显示或隐藏面板,BI.Widget

                                                                                                                                                                                -
                                                                                                                                                                                
                                                                                                                                                                                -BI.createWidget({
                                                                                                                                                                                -  element: "#wrapper",
                                                                                                                                                                                -  type: "bi.switcher",
                                                                                                                                                                                -  el: {
                                                                                                                                                                                -    type: "bi.button",
                                                                                                                                                                                -    height: 25,
                                                                                                                                                                                -    text: "Switcher"
                                                                                                                                                                                -  },
                                                                                                                                                                                -  popup: {
                                                                                                                                                                                -
                                                                                                                                                                                -  },
                                                                                                                                                                                -  adapter: { 
                                                                                                                                                                                -
                                                                                                                                                                                -  }
                                                                                                                                                                                -})
                                                                                                                                                                                -
                                                                                                                                                                                -
                                                                                                                                                                                - -

                                                                                                                                                                                API

                                                                                                                                                                                -
                                                                                                                                                                                基础属性
                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                参数说明类型可选值默认值
                                                                                                                                                                                trigger下拉列表的弹出方式stringclick,hover"click"
                                                                                                                                                                                toggle切换状态booleantrue,falsetrue
                                                                                                                                                                                direction面板显示的位置stringBI.Direction.Top
                                                                                                                                                                                el自定义下拉框triggerobject{ }
                                                                                                                                                                                popup弹出层object{ }
                                                                                                                                                                                adapter弹出层的位置objectnull
                                                                                                                                                                                maskermasker层obejct{ }
                                                                                                                                                                                switcherClass切换类string"bi-switcher-popup"
                                                                                                                                                                                hoverClasshover类string"bi-switcher-hover"
                                                                                                                                                                                -

                                                                                                                                                                                对外方法

                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                名称说明回调参数
                                                                                                                                                                                setValue设置value值value
                                                                                                                                                                                getValue获取被选中的值
                                                                                                                                                                                populate刷新列表items
                                                                                                                                                                                isViewVisible弹窗层是否可见
                                                                                                                                                                                showView显示弹出层
                                                                                                                                                                                hideView隐藏弹出层
                                                                                                                                                                                getView获取弹出层
                                                                                                                                                                                getAllLeaves获取所有的叶子节点
                                                                                                                                                                                getNodeById根据id获取节点id
                                                                                                                                                                                getNodeByValue根据value值获取节点value
                                                                                                                                                                                isExpanded节点是否展开
                                                                                                                                                                                setAdapter设置弹出层显示的位置元素adapter
                                                                                                                                                                                adjustView调整弹出层显示的位置元素
                                                                                                                                                                                -

                                                                                                                                                                                事件方法

                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                事件名称说明回调参数
                                                                                                                                                                                EVENT_EXPAND面板展开
                                                                                                                                                                                EVENT_COLLAPSE面板收起
                                                                                                                                                                                EVENT_TRIGGER_CHANGE面板切换
                                                                                                                                                                                EVENT_AFTER_INIT初始化之后
                                                                                                                                                                                EVENT_BEFORE_POPUPVIEW面板显示之前
                                                                                                                                                                                EVENT_AFTER_POPUPVIEW面板显示之后
                                                                                                                                                                                EVENT_BEFORE_HIDEVIEW面板隐藏之前
                                                                                                                                                                                EVENT_AFTER_HIDEVIEW面板隐藏之后
                                                                                                                                                                                -
                                                                                                                                                                                - - -
                                                                                                                                                                                - -
                                                                                                                                                                                -
                                                                                                                                                                                -
                                                                                                                                                                                - -

                                                                                                                                                                                results matching ""

                                                                                                                                                                                -
                                                                                                                                                                                  - -
                                                                                                                                                                                  -
                                                                                                                                                                                  - -

                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                  - -
                                                                                                                                                                                  -
                                                                                                                                                                                  -
                                                                                                                                                                                  - -
                                                                                                                                                                                  -
                                                                                                                                                                                  - -
                                                                                                                                                                                  - - - - -
                                                                                                                                                                                  - - -
                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/combination/switcher.md b/docs/_book/core/combination/switcher.md deleted file mode 100644 index 0c0bf95808..0000000000 --- a/docs/_book/core/combination/switcher.md +++ /dev/null @@ -1,81 +0,0 @@ -# bi.switcher - -## 切换显示或隐藏面板,[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/4sj60ap0/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.switcher", - el: { - type: "bi.button", - height: 25, - text: "Switcher" - }, - popup: { - - }, - adapter: { - - } -}) - - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| trigger | 下拉列表的弹出方式 | string | click,hover | "click" | -| toggle | 切换状态 | boolean | true,false | true | -| direction | 面板显示的位置 | string | — | BI.Direction.Top | -| el | 自定义下拉框trigger | object | — | { }| -| popup | 弹出层 | object | — |{ }| -| adapter | 弹出层的位置 | object | — | null| -| masker | masker层 | obejct | — | { }| -| switcherClass | 切换类 | string| —| "bi-switcher-popup" | -| hoverClass | hover类 | string | — | "bi-switcher-hover" | - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setValue | 设置value值 | value | -| getValue | 获取被选中的值 |—| -| populate | 刷新列表 | items | -| isViewVisible | 弹窗层是否可见 | —| -| showView | 显示弹出层 | —| -| hideView | 隐藏弹出层|—| -| getView | 获取弹出层|—| -| getAllLeaves | 获取所有的叶子节点 | —| -| getNodeById | 根据id获取节点 | id | -| getNodeByValue | 根据value值获取节点 | value | -| isExpanded | 节点是否展开 |— | -| setAdapter | 设置弹出层显示的位置元素|adapter| -| adjustView| 调整弹出层显示的位置元素 |—| - -## 事件方法 - -| 事件名称| 说明| 回调参数 | -| :------ |:------------- | :----- -| EVENT_EXPAND | 面板展开 | —| -| EVENT_COLLAPSE | 面板收起 | —| -| EVENT_TRIGGER_CHANGE | 面板切换 | —| -| EVENT_AFTER_INIT | 初始化之后 | —| -| EVENT_BEFORE_POPUPVIEW | 面板显示之前| —| -| EVENT_AFTER_POPUPVIEW | 面板显示之后| —| -| EVENT_BEFORE_HIDEVIEW | 面板隐藏之前| —| -| EVENT_AFTER_HIDEVIEW | 面板隐藏之后 | —| - - ---- - - diff --git a/docs/_book/core/combination/tab.html b/docs/_book/core/combination/tab.html deleted file mode 100644 index 035a025c38..0000000000 --- a/docs/_book/core/combination/tab.html +++ /dev/null @@ -1,3107 +0,0 @@ - - - - - - - tab · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                  -
                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                  - -
                                                                                                                                                                                  - -
                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                  -
                                                                                                                                                                                  - -
                                                                                                                                                                                  -
                                                                                                                                                                                  - -
                                                                                                                                                                                  - -

                                                                                                                                                                                  bi.tab

                                                                                                                                                                                  -

                                                                                                                                                                                  tab面板,BI.Widget

                                                                                                                                                                                  -
                                                                                                                                                                                  
                                                                                                                                                                                  -BI.createWidget({
                                                                                                                                                                                  -  element: "#wrapper",
                                                                                                                                                                                  -  type: "bi.tab",
                                                                                                                                                                                  -  tab: {
                                                                                                                                                                                  -    type: "bi.button_group",
                                                                                                                                                                                  -    height: 30,
                                                                                                                                                                                  -    items: [{
                                                                                                                                                                                  -      text: "Tab1",
                                                                                                                                                                                  -      value: 1,
                                                                                                                                                                                  -      width: 50
                                                                                                                                                                                  -    }, {
                                                                                                                                                                                  -      text: "Tab2",
                                                                                                                                                                                  -      value: 2,
                                                                                                                                                                                  -      width: 50
                                                                                                                                                                                  -    }]
                                                                                                                                                                                  -  },
                                                                                                                                                                                  -  cardCreator: function(v) {
                                                                                                                                                                                  -    switch (v) {
                                                                                                                                                                                  -      case 1:
                                                                                                                                                                                  -        return BI.createWidget({
                                                                                                                                                                                  -          type: "bi.label",
                                                                                                                                                                                  -          cls: "bi-card",
                                                                                                                                                                                  -          text: "面板1"
                                                                                                                                                                                  -        })
                                                                                                                                                                                  -      case 2:
                                                                                                                                                                                  -        return BI.createWidget({
                                                                                                                                                                                  -          type: "bi.label",
                                                                                                                                                                                  -          cls: "bi-card",
                                                                                                                                                                                  -          text: "面板2"
                                                                                                                                                                                  -        })
                                                                                                                                                                                  -    }
                                                                                                                                                                                  -  }
                                                                                                                                                                                  -})
                                                                                                                                                                                  -
                                                                                                                                                                                  -
                                                                                                                                                                                  - -

                                                                                                                                                                                  API

                                                                                                                                                                                  -
                                                                                                                                                                                  基础属性
                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                  参数说明类型可选值默认值
                                                                                                                                                                                  direction控件位置stringtop,bottom,left,right,custom"bottom"
                                                                                                                                                                                  single是否为单页booleantrue,falsefalse
                                                                                                                                                                                  defaultShowIndex是否默认显示tab页number,falsernumber,falsefalse
                                                                                                                                                                                  tabtab标签页object{ }
                                                                                                                                                                                  logic布局逻辑object{dynamic:false}
                                                                                                                                                                                  cardCreator面板构造器functionfunction (v) {return BI.createWidget();}
                                                                                                                                                                                  -

                                                                                                                                                                                  对外方法

                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                  名称说明回调参数
                                                                                                                                                                                  removeTab移除tab面板页tabName
                                                                                                                                                                                  getTab获取tab面板页v
                                                                                                                                                                                  setSelect设置选中的indexv
                                                                                                                                                                                  getSelect获取选中的index
                                                                                                                                                                                  getSelectedTab获取选中的tab面板页
                                                                                                                                                                                  populate刷新列表items
                                                                                                                                                                                  setValue设置value值value
                                                                                                                                                                                  getValue获取被选中的值
                                                                                                                                                                                  -
                                                                                                                                                                                  - - -
                                                                                                                                                                                  - -
                                                                                                                                                                                  -
                                                                                                                                                                                  -
                                                                                                                                                                                  - -

                                                                                                                                                                                  results matching ""

                                                                                                                                                                                  -
                                                                                                                                                                                    - -
                                                                                                                                                                                    -
                                                                                                                                                                                    - -

                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                    - -
                                                                                                                                                                                    -
                                                                                                                                                                                    -
                                                                                                                                                                                    - -
                                                                                                                                                                                    -
                                                                                                                                                                                    - -
                                                                                                                                                                                    - - - - -
                                                                                                                                                                                    - - -
                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/combination/tab.md b/docs/_book/core/combination/tab.md deleted file mode 100644 index 9940afa13b..0000000000 --- a/docs/_book/core/combination/tab.md +++ /dev/null @@ -1,79 +0,0 @@ -# bi.tab - -## tab面板,[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/pdo5s8pq/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.tab", - tab: { - type: "bi.button_group", - height: 30, - items: [{ - text: "Tab1", - value: 1, - width: 50 - }, { - text: "Tab2", - value: 2, - width: 50 - }] - }, - cardCreator: function(v) { - switch (v) { - case 1: - return BI.createWidget({ - type: "bi.label", - cls: "bi-card", - text: "面板1" - }) - case 2: - return BI.createWidget({ - type: "bi.label", - cls: "bi-card", - text: "面板2" - }) - } - } -}) - - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| direction | 控件位置 | string | top,bottom,left,right,custom | "bottom"| -| single | 是否为单页 | boolean | true,false | false | -| defaultShowIndex | 是否默认显示tab页 | number,falser | number,false | false | -| tab | tab标签页 | object | — | { } | -| logic | 布局逻辑 | object | — | {dynamic:false} | -| cardCreator | 面板构造器| function | — | function (v) {return BI.createWidget();} | - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| removeTab | 移除tab面板页 | tabName | -| getTab | 获取tab面板页 | v | -| setSelect | 设置选中的index | v | -| getSelect | 获取选中的index| —| -| getSelectedTab | 获取选中的tab面板页 | —| -| populate | 刷新列表 | items | -| setValue | 设置value值 | value | -| getValue | 获取被选中的值 |—| - - - ---- - - diff --git a/docs/_book/core/layer/layer_float_box.html b/docs/_book/core/layer/layer_float_box.html deleted file mode 100644 index f3acf700c1..0000000000 --- a/docs/_book/core/layer/layer_float_box.html +++ /dev/null @@ -1,3071 +0,0 @@ - - - - - - - float_box · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                    -
                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                    - -
                                                                                                                                                                                    - -
                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                    -
                                                                                                                                                                                    - -
                                                                                                                                                                                    -
                                                                                                                                                                                    - -
                                                                                                                                                                                    - -

                                                                                                                                                                                    bi.float_box

                                                                                                                                                                                    -

                                                                                                                                                                                    floatBox弹出层,BI.Widget

                                                                                                                                                                                    -
                                                                                                                                                                                    
                                                                                                                                                                                    -var id = BI.UUID();
                                                                                                                                                                                    -
                                                                                                                                                                                    -BI.createWidget({
                                                                                                                                                                                    -  element: "#wrapper",
                                                                                                                                                                                    -  type: "bi.text_button",
                                                                                                                                                                                    -  text: "点击弹出FloatBox",
                                                                                                                                                                                    -  width: 200,
                                                                                                                                                                                    -  height: 80,
                                                                                                                                                                                    -  handler: function() {
                                                                                                                                                                                    -    BI.Popovers.remove(id);
                                                                                                                                                                                    -    BI.Popovers.create(id, new BI.BarPopoverSection()).open(id);
                                                                                                                                                                                    -  }
                                                                                                                                                                                    -})
                                                                                                                                                                                    -
                                                                                                                                                                                    -
                                                                                                                                                                                    - -

                                                                                                                                                                                    API

                                                                                                                                                                                    -
                                                                                                                                                                                    基础属性
                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                    参数说明类型可选值默认值
                                                                                                                                                                                    width弹出层宽度number600
                                                                                                                                                                                    height弹出层高度number500
                                                                                                                                                                                    -

                                                                                                                                                                                    对外方法

                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                    名称说明回调参数
                                                                                                                                                                                    populate刷新列表sectionProvider
                                                                                                                                                                                    show显示
                                                                                                                                                                                    hide隐藏
                                                                                                                                                                                    open打开弹出层
                                                                                                                                                                                    close关闭弹出层
                                                                                                                                                                                    setZindex设置z-indexz-index
                                                                                                                                                                                    -

                                                                                                                                                                                    事件方法

                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                    事件名称说明回调参数
                                                                                                                                                                                    EVENT_FLOAT_BOX_CLOSED关闭弹出层
                                                                                                                                                                                    EVENT_FLOAT_BOX_CLOSED打开弹出层
                                                                                                                                                                                    -
                                                                                                                                                                                    - - -
                                                                                                                                                                                    - -
                                                                                                                                                                                    -
                                                                                                                                                                                    -
                                                                                                                                                                                    - -

                                                                                                                                                                                    results matching ""

                                                                                                                                                                                    -
                                                                                                                                                                                      - -
                                                                                                                                                                                      -
                                                                                                                                                                                      - -

                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                      - -
                                                                                                                                                                                      -
                                                                                                                                                                                      -
                                                                                                                                                                                      - -
                                                                                                                                                                                      -
                                                                                                                                                                                      - -
                                                                                                                                                                                      - - - - -
                                                                                                                                                                                      - - -
                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layer/layer_float_box.md b/docs/_book/core/layer/layer_float_box.md deleted file mode 100644 index d3ebea679e..0000000000 --- a/docs/_book/core/layer/layer_float_box.md +++ /dev/null @@ -1,62 +0,0 @@ -# bi.float_box - -## floatBox弹出层,[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/72gp1n0p/) - -{% common %} -```javascript - -var id = BI.UUID(); - -BI.createWidget({ - element: "#wrapper", - type: "bi.text_button", - text: "点击弹出FloatBox", - width: 200, - height: 80, - handler: function() { - BI.Popovers.remove(id); - BI.Popovers.create(id, new BI.BarPopoverSection()).open(id); - } -}) - - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| width | 弹出层宽度 | number | — | 600 | -| height | 弹出层高度 | number | — | 500 | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | sectionProvider | -| show | 显示 | —| -| hide | 隐藏 | —| -| open | 打开弹出层 | —| -| close| 关闭弹出层 | —| -| setZindex | 设置z-index| z-index | - - -## 事件方法 - -| 事件名称| 说明| 回调参数 | -| :------ |:------------- | :----- -| EVENT_FLOAT_BOX_CLOSED | 关闭弹出层 | —| -| EVENT_FLOAT_BOX_CLOSED | 打开弹出层 | —| - - - ---- - - diff --git a/docs/_book/core/layer/layer_popup.html b/docs/_book/core/layer/layer_popup.html deleted file mode 100644 index d2672de491..0000000000 --- a/docs/_book/core/layer/layer_popup.html +++ /dev/null @@ -1,3172 +0,0 @@ - - - - - - - popup_view · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                      -
                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                      - -
                                                                                                                                                                                      - -
                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                      -
                                                                                                                                                                                      - -
                                                                                                                                                                                      -
                                                                                                                                                                                      - -
                                                                                                                                                                                      - -

                                                                                                                                                                                      bi.popup_view

                                                                                                                                                                                      -

                                                                                                                                                                                      下拉框弹出层, zIndex在1000w,BI.Widget

                                                                                                                                                                                      -
                                                                                                                                                                                      
                                                                                                                                                                                      -BI.createWidget({
                                                                                                                                                                                      -  element: "#wrapper",
                                                                                                                                                                                      -  type: "bi.popup_view",
                                                                                                                                                                                      -  el: {
                                                                                                                                                                                      -    type: "bi.button_group",
                                                                                                                                                                                      -    items: [{
                                                                                                                                                                                      -      text: "aaa",
                                                                                                                                                                                      -      value: "aaa"
                                                                                                                                                                                      -    }, {
                                                                                                                                                                                      -      text: "bbb",
                                                                                                                                                                                      -      value: "bbb"
                                                                                                                                                                                      -    }],
                                                                                                                                                                                      -    layouts: [{
                                                                                                                                                                                      -      type: "bi.vertical"
                                                                                                                                                                                      -    }]
                                                                                                                                                                                      -  }
                                                                                                                                                                                      -})
                                                                                                                                                                                      -
                                                                                                                                                                                      -
                                                                                                                                                                                      - -

                                                                                                                                                                                      API

                                                                                                                                                                                      -
                                                                                                                                                                                      基础属性
                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                      参数说明类型可选值默认值
                                                                                                                                                                                      maxWidth弹出层最大宽度number/string"auto"
                                                                                                                                                                                      minWidth弹出层最小宽度number100
                                                                                                                                                                                      maxHeight弹出层最大高度number/string
                                                                                                                                                                                      minHeight弹出层最小高度number25
                                                                                                                                                                                      hgap效果相当于容器左右padding值number0
                                                                                                                                                                                      vgap效果相当于容器上下padding值number0
                                                                                                                                                                                      lgap效果相当于容器left-padding值number0
                                                                                                                                                                                      rgap效果相当于容器right-padding值number0
                                                                                                                                                                                      tgap效果相当于容器top-padding值number0
                                                                                                                                                                                      bgap效果相当于容器bottom-padding值number0
                                                                                                                                                                                      direction工具栏的方向const参考button_groupBI.Direction.Top
                                                                                                                                                                                      stopEvent是否停止mousedown、mouseup事件booleantrue,falsefalse
                                                                                                                                                                                      stopPropagation是否停止mousedown、mouseup向上冒泡booleantrue,falsefalse
                                                                                                                                                                                      tabs导航栏array[]
                                                                                                                                                                                      logic布局逻辑object{dynamic:true}
                                                                                                                                                                                      tools自定义工具栏booleantrue,falsefalse
                                                                                                                                                                                      buttonstoolbar栏array[]
                                                                                                                                                                                      el子组件object{ type: "bi.button_group",items: [], chooseType: 0,behaviors: {},layouts: [{type: "bi.vertical"}]}
                                                                                                                                                                                      -

                                                                                                                                                                                      对外方法

                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                      名称说明回调参数
                                                                                                                                                                                      populate刷新列表items
                                                                                                                                                                                      resetWidth重置宽度width
                                                                                                                                                                                      resetHeight重置高度height
                                                                                                                                                                                      setValue设置value 值value
                                                                                                                                                                                      getValue获取value值
                                                                                                                                                                                      setZindex设置z-indexz-index
                                                                                                                                                                                      getView获取弹出层
                                                                                                                                                                                      -
                                                                                                                                                                                      - - -
                                                                                                                                                                                      - -
                                                                                                                                                                                      -
                                                                                                                                                                                      -
                                                                                                                                                                                      - -

                                                                                                                                                                                      results matching ""

                                                                                                                                                                                      -
                                                                                                                                                                                        - -
                                                                                                                                                                                        -
                                                                                                                                                                                        - -

                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                        - -
                                                                                                                                                                                        -
                                                                                                                                                                                        -
                                                                                                                                                                                        - -
                                                                                                                                                                                        -
                                                                                                                                                                                        - -
                                                                                                                                                                                        - - - - -
                                                                                                                                                                                        - - -
                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layer/layer_popup.md b/docs/_book/core/layer/layer_popup.md deleted file mode 100644 index 365009083e..0000000000 --- a/docs/_book/core/layer/layer_popup.md +++ /dev/null @@ -1,76 +0,0 @@ -# bi.popup_view - -## 下拉框弹出层, zIndex在1000w,[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/x95pg143/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.popup_view", - el: { - type: "bi.button_group", - items: [{ - text: "aaa", - value: "aaa" - }, { - text: "bbb", - value: "bbb" - }], - layouts: [{ - type: "bi.vertical" - }] - } -}) - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| maxWidth | 弹出层最大宽度 | number/string | — | "auto" | -| minWidth | 弹出层最小宽度 | number | — | 100 | -| maxHeight | 弹出层最大高度 | number/string | — | — | -| minHeight | 弹出层最小高度 | number | — | 25 | -| hgap | 效果相当于容器左右padding值 | number | — | 0 | -| vgap | 效果相当于容器上下padding值 | number | —| 0 | -| lgap | 效果相当于容器left-padding值 | number | — | 0 | -| rgap | 效果相当于容器right-padding值 | number | —| 0 | -| tgap | 效果相当于容器top-padding值 | number | —| 0 | -| bgap | 效果相当于容器bottom-padding值 | number | — | 0 | -| direction| 工具栏的方向| const | 参考button_group | BI.Direction.Top | -| stopEvent | 是否停止mousedown、mouseup事件 | boolean | true,false | false | -| stopPropagation | 是否停止mousedown、mouseup向上冒泡 | boolean | true,false | false | -| tabs | 导航栏 | array | — | [] | -| logic | 布局逻辑| object | — | {dynamic:true} | -| tools | 自定义工具栏 |boolean | true,false | false | -| buttons | toolbar栏 | array | — | [] | -| el | 子组件 | object | — |{ type: "bi.button_group",items: [], chooseType: 0,behaviors: {},layouts: [{type: "bi.vertical"}]} | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | -| resetWidth | 重置宽度 | width | -| resetHeight | 重置高度 | height| -| setValue | 设置value 值 | value | -| getValue| 获取value值 | —| -| setZindex | 设置z-index| z-index | -| getView | 获取弹出层 | —| - - - - - ---- - - diff --git a/docs/_book/core/layer/layer_searcher.html b/docs/_book/core/layer/layer_searcher.html deleted file mode 100644 index 9f85f6bb33..0000000000 --- a/docs/_book/core/layer/layer_searcher.html +++ /dev/null @@ -1,3056 +0,0 @@ - - - - - - - searcher_view · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                        -
                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                        - -
                                                                                                                                                                                        - -
                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                        -
                                                                                                                                                                                        - -
                                                                                                                                                                                        -
                                                                                                                                                                                        - -
                                                                                                                                                                                        - -

                                                                                                                                                                                        bi.searcher_view

                                                                                                                                                                                        -

                                                                                                                                                                                        搜索面板, 基类BI.Widget

                                                                                                                                                                                        -
                                                                                                                                                                                        
                                                                                                                                                                                        -var searcher = BI.createWidget({
                                                                                                                                                                                        -  element: "#wrapper",
                                                                                                                                                                                        -  type: "bi.searcher_view",
                                                                                                                                                                                        -});
                                                                                                                                                                                        -searcher.populate([{
                                                                                                                                                                                        -    text: "aba",
                                                                                                                                                                                        -  value: "aba"
                                                                                                                                                                                        -},{
                                                                                                                                                                                        -    text: "acc",
                                                                                                                                                                                        -  value: "acc"
                                                                                                                                                                                        -}], [{
                                                                                                                                                                                        -    text: "a",
                                                                                                                                                                                        -  value: "a"
                                                                                                                                                                                        -}], "a");
                                                                                                                                                                                        -
                                                                                                                                                                                        -
                                                                                                                                                                                        - -

                                                                                                                                                                                        API

                                                                                                                                                                                        -
                                                                                                                                                                                        基础属性
                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                        参数说明类型可选值默认值
                                                                                                                                                                                        tipTexttitle文本stringBI.i18nText("BI-No_Select")
                                                                                                                                                                                        chooseType选择类型const参考button_groupBI.Selection.Single
                                                                                                                                                                                        matcher完全匹配的构造器object{type: "bi.button_group",behaviors: { redmark: function () { return true;} },items: [], layouts: [{ type: "bi.vertical"}]}
                                                                                                                                                                                        searcher搜索到的元素object{type: "bi.button_group",behaviors: {redmark: function () {return true;}}, items: [], layouts: [{ type: "bi.vertical" }]}
                                                                                                                                                                                        -

                                                                                                                                                                                        对外方法

                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                        名称说明回调参数
                                                                                                                                                                                        populate刷新列表searchResult, matchResult, keyword
                                                                                                                                                                                        setValue设置value 值value
                                                                                                                                                                                        getValue获取value值
                                                                                                                                                                                        hasMatched是否有匹配的元素
                                                                                                                                                                                        -
                                                                                                                                                                                        - - -
                                                                                                                                                                                        - -
                                                                                                                                                                                        -
                                                                                                                                                                                        -
                                                                                                                                                                                        - -

                                                                                                                                                                                        results matching ""

                                                                                                                                                                                        -
                                                                                                                                                                                          - -
                                                                                                                                                                                          -
                                                                                                                                                                                          - -

                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                          - -
                                                                                                                                                                                          -
                                                                                                                                                                                          -
                                                                                                                                                                                          - -
                                                                                                                                                                                          -
                                                                                                                                                                                          - -
                                                                                                                                                                                          - - - - -
                                                                                                                                                                                          - - -
                                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layer/layer_searcher.md b/docs/_book/core/layer/layer_searcher.md deleted file mode 100644 index bdd6fe58f7..0000000000 --- a/docs/_book/core/layer/layer_searcher.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.searcher_view - -## 搜索面板, 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/qkfns6wm/) - -{% common %} -```javascript - -var searcher = BI.createWidget({ - element: "#wrapper", - type: "bi.searcher_view", -}); -searcher.populate([{ - text: "aba", - value: "aba" -},{ - text: "acc", - value: "acc" -}], [{ - text: "a", - value: "a" -}], "a"); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| tipText | title文本 | string | — | BI.i18nText("BI-No_Select") | -| chooseType | 选择类型 | const | 参考button_group | BI.Selection.Single | -| matcher | 完全匹配的构造器 | object | — | {type: "bi.button_group",behaviors: { redmark: function () { return true;} },items: [], layouts: [{ type: "bi.vertical"}]} | -| searcher | 搜索到的元素 | object| — | {type: "bi.button_group",behaviors: {redmark: function () {return true;}}, items: [], layouts: [{ type: "bi.vertical" }]}| - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | searchResult, matchResult, keyword | -| setValue | 设置value 值 | value | -| getValue| 获取value值 | —| -| hasMatched | 是否有匹配的元素 | —| - - - ---- - - diff --git a/docs/_book/core/layout/border.html b/docs/_book/core/layout/border.html deleted file mode 100644 index e6f84d8f29..0000000000 --- a/docs/_book/core/layout/border.html +++ /dev/null @@ -1,3016 +0,0 @@ - - - - - - - border · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                          -
                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                          - -
                                                                                                                                                                                          - -
                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                          -
                                                                                                                                                                                          - -
                                                                                                                                                                                          -
                                                                                                                                                                                          - -
                                                                                                                                                                                          - -

                                                                                                                                                                                          bi.border

                                                                                                                                                                                          -

                                                                                                                                                                                          上下的高度固定/左右的宽度固定,中间的高度/宽度自适应

                                                                                                                                                                                          -
                                                                                                                                                                                          BI.createWidget({
                                                                                                                                                                                          -    type: 'bi.border',
                                                                                                                                                                                          -    element: "#wrapper",
                                                                                                                                                                                          -    items: {
                                                                                                                                                                                          -        north: {
                                                                                                                                                                                          -            el: {type: "bi.label"},
                                                                                                                                                                                          -            height: 30,
                                                                                                                                                                                          -            top: 20,
                                                                                                                                                                                          -            left: 20,
                                                                                                                                                                                          -            right: 20
                                                                                                                                                                                          -        },
                                                                                                                                                                                          -        south: {
                                                                                                                                                                                          -            el: {type: "bi.label"},
                                                                                                                                                                                          -            height: 50,
                                                                                                                                                                                          -            bottom: 20,
                                                                                                                                                                                          -            left: 20,
                                                                                                                                                                                          -            right: 20
                                                                                                                                                                                          -        },
                                                                                                                                                                                          -        west: {
                                                                                                                                                                                          -            el: {type: "bi.label"},
                                                                                                                                                                                          -            width: 200,
                                                                                                                                                                                          -            left: 20
                                                                                                                                                                                          -        },
                                                                                                                                                                                          -        east: {
                                                                                                                                                                                          -            el: {type: "bi.label"},
                                                                                                                                                                                          -            width: 300,
                                                                                                                                                                                          -            right: 20
                                                                                                                                                                                          -        },
                                                                                                                                                                                          -        center: {el: {type: "bi.label"}}
                                                                                                                                                                                          -    }
                                                                                                                                                                                          -});
                                                                                                                                                                                          -
                                                                                                                                                                                          -
                                                                                                                                                                                          - - -

                                                                                                                                                                                          API

                                                                                                                                                                                          -
                                                                                                                                                                                          基础属性
                                                                                                                                                                                          - - - - - - - - - - - - - - - -
                                                                                                                                                                                          参数说明类型可选值默认值
                                                                                                                                                                                          -
                                                                                                                                                                                          - - -
                                                                                                                                                                                          - -
                                                                                                                                                                                          -
                                                                                                                                                                                          -
                                                                                                                                                                                          - -

                                                                                                                                                                                          results matching ""

                                                                                                                                                                                          -
                                                                                                                                                                                            - -
                                                                                                                                                                                            -
                                                                                                                                                                                            - -

                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                            - -
                                                                                                                                                                                            -
                                                                                                                                                                                            -
                                                                                                                                                                                            - -
                                                                                                                                                                                            -
                                                                                                                                                                                            - -
                                                                                                                                                                                            - - - - -
                                                                                                                                                                                            - - -
                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/border.md b/docs/_book/core/layout/border.md deleted file mode 100644 index e8520a70de..0000000000 --- a/docs/_book/core/layout/border.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.border - -#### 上下的高度固定/左右的宽度固定,中间的高度/宽度自适应 - -{% method %} -[source](https://jsfiddle.net/fineui/qtdsdegp/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.border', - element: "#wrapper", - items: { - north: { - el: {type: "bi.label"}, - height: 30, - top: 20, - left: 20, - right: 20 - }, - south: { - el: {type: "bi.label"}, - height: 50, - bottom: 20, - left: 20, - right: 20 - }, - west: { - el: {type: "bi.label"}, - width: 200, - left: 20 - }, - east: { - el: {type: "bi.label"}, - width: 300, - right: 20 - }, - center: {el: {type: "bi.label"}} - } -}); - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- - ---- \ No newline at end of file diff --git a/docs/_book/core/layout/center.html b/docs/_book/core/layout/center.html deleted file mode 100644 index 2272cb0e85..0000000000 --- a/docs/_book/core/layout/center.html +++ /dev/null @@ -1,3003 +0,0 @@ - - - - - - - center · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                            -
                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                            - -
                                                                                                                                                                                            - -
                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                            -
                                                                                                                                                                                            - -
                                                                                                                                                                                            -
                                                                                                                                                                                            - -
                                                                                                                                                                                            - -

                                                                                                                                                                                            bi.center

                                                                                                                                                                                            -

                                                                                                                                                                                            水平和垂直方向都居中容器, 非自适应,用于宽度高度固定的面板

                                                                                                                                                                                            -
                                                                                                                                                                                            
                                                                                                                                                                                            -BI.createWidget({
                                                                                                                                                                                            -    type: "bi.center",
                                                                                                                                                                                            -    element: "#wrapper",
                                                                                                                                                                                            -    items: [{
                                                                                                                                                                                            -        type: "bi.label",
                                                                                                                                                                                            -        text: "Center 1,这里虽然设置label的高度30,但是最终影响高度的是center布局",
                                                                                                                                                                                            -        cls: "layout-bg1",
                                                                                                                                                                                            -        whiteSpace: "normal"
                                                                                                                                                                                            -    },{
                                                                                                                                                                                            -        type: "bi.label",
                                                                                                                                                                                            -        text: "Center 2,为了演示label是占满整个的,用了一个whiteSpace:normal",
                                                                                                                                                                                            -        cls: "layout-bg2",
                                                                                                                                                                                            -        whiteSpace: "normal"
                                                                                                                                                                                            -    }],
                                                                                                                                                                                            -    hgap: 20,
                                                                                                                                                                                            -    vgap: 20
                                                                                                                                                                                            -});
                                                                                                                                                                                            -
                                                                                                                                                                                            -
                                                                                                                                                                                            - - -

                                                                                                                                                                                            API

                                                                                                                                                                                            -
                                                                                                                                                                                            基础属性
                                                                                                                                                                                            - - - - - - - - - - - - - - - -
                                                                                                                                                                                            参数说明类型可选值默认值
                                                                                                                                                                                            -
                                                                                                                                                                                            - - -
                                                                                                                                                                                            - -
                                                                                                                                                                                            -
                                                                                                                                                                                            -
                                                                                                                                                                                            - -

                                                                                                                                                                                            results matching ""

                                                                                                                                                                                            -
                                                                                                                                                                                              - -
                                                                                                                                                                                              -
                                                                                                                                                                                              - -

                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                              - -
                                                                                                                                                                                              -
                                                                                                                                                                                              -
                                                                                                                                                                                              - -
                                                                                                                                                                                              -
                                                                                                                                                                                              - -
                                                                                                                                                                                              - - - - -
                                                                                                                                                                                              - - -
                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/center.md b/docs/_book/core/layout/center.md deleted file mode 100644 index a9e13e424e..0000000000 --- a/docs/_book/core/layout/center.md +++ /dev/null @@ -1,41 +0,0 @@ -# bi.center - -#### 水平和垂直方向都居中容器, 非自适应,用于宽度高度固定的面板 - -{% method %} -[source](https://jsfiddle.net/fineui/8fd2nvkm/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.center", - element: "#wrapper", - items: [{ - type: "bi.label", - text: "Center 1,这里虽然设置label的高度30,但是最终影响高度的是center布局", - cls: "layout-bg1", - whiteSpace: "normal" - },{ - type: "bi.label", - text: "Center 2,为了演示label是占满整个的,用了一个whiteSpace:normal", - cls: "layout-bg2", - whiteSpace: "normal" - }], - hgap: 20, - vgap: 20 -}); - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- - - ---- \ No newline at end of file diff --git a/docs/_book/core/layout/center_adapt.html b/docs/_book/core/layout/center_adapt.html deleted file mode 100644 index 91ffbb33e9..0000000000 --- a/docs/_book/core/layout/center_adapt.html +++ /dev/null @@ -1,3006 +0,0 @@ - - - - - - - center_adapt · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                              -
                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                              - -
                                                                                                                                                                                              - -
                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                              -
                                                                                                                                                                                              - -
                                                                                                                                                                                              -
                                                                                                                                                                                              - -
                                                                                                                                                                                              - -

                                                                                                                                                                                              bi.center_adapt

                                                                                                                                                                                              -

                                                                                                                                                                                              自适应左右垂直居中布局

                                                                                                                                                                                              -
                                                                                                                                                                                              
                                                                                                                                                                                              -BI.createWidget({
                                                                                                                                                                                              -    type: "bi.center_adapt",
                                                                                                                                                                                              -    element: "#wrapper",
                                                                                                                                                                                              -    hgap: 10,
                                                                                                                                                                                              -    items: [{
                                                                                                                                                                                              -        type: "bi.label",
                                                                                                                                                                                              -        text: "Center Adapt 1",
                                                                                                                                                                                              -        cls: "layout-bg1",
                                                                                                                                                                                              -        height: 30
                                                                                                                                                                                              -    }, {
                                                                                                                                                                                              -        type: "bi.label",
                                                                                                                                                                                              -        text: "Center Adapt 2",
                                                                                                                                                                                              -        cls: "layout-bg2",
                                                                                                                                                                                              -        height: 30
                                                                                                                                                                                              -    }]
                                                                                                                                                                                              -})
                                                                                                                                                                                              -
                                                                                                                                                                                              -
                                                                                                                                                                                              - - -

                                                                                                                                                                                              API

                                                                                                                                                                                              -
                                                                                                                                                                                              基础属性
                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                              参数说明类型可选值默认值
                                                                                                                                                                                              columnSize列宽array[ ]
                                                                                                                                                                                              -
                                                                                                                                                                                              - - -
                                                                                                                                                                                              - -
                                                                                                                                                                                              -
                                                                                                                                                                                              -
                                                                                                                                                                                              - -

                                                                                                                                                                                              results matching ""

                                                                                                                                                                                              -
                                                                                                                                                                                                - -
                                                                                                                                                                                                -
                                                                                                                                                                                                - -

                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                - -
                                                                                                                                                                                                -
                                                                                                                                                                                                -
                                                                                                                                                                                                - -
                                                                                                                                                                                                -
                                                                                                                                                                                                - -
                                                                                                                                                                                                - - - - -
                                                                                                                                                                                                - - -
                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/center_adapt.md b/docs/_book/core/layout/center_adapt.md deleted file mode 100644 index fd2de475c2..0000000000 --- a/docs/_book/core/layout/center_adapt.md +++ /dev/null @@ -1,41 +0,0 @@ -# bi.center_adapt - -#### 自适应左右垂直居中布局 - -{% method %} -[source](https://jsfiddle.net/fineui/7bsxw7u5/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.center_adapt", - element: "#wrapper", - hgap: 10, - items: [{ - type: "bi.label", - text: "Center Adapt 1", - cls: "layout-bg1", - height: 30 - }, { - type: "bi.label", - text: "Center Adapt 2", - cls: "layout-bg2", - height: 30 - }] -}) - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| columnSize | 列宽 | array | — | [ ] | - ---- \ No newline at end of file diff --git a/docs/_book/core/layout/float_center.html b/docs/_book/core/layout/float_center.html deleted file mode 100644 index 52057c3f51..0000000000 --- a/docs/_book/core/layout/float_center.html +++ /dev/null @@ -1,3004 +0,0 @@ - - - - - - - float_center · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                -
                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                - -
                                                                                                                                                                                                - -
                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                -
                                                                                                                                                                                                - -
                                                                                                                                                                                                -
                                                                                                                                                                                                - -
                                                                                                                                                                                                - -

                                                                                                                                                                                                bi.float_center

                                                                                                                                                                                                -

                                                                                                                                                                                                浮动布局实现的Center居中容器

                                                                                                                                                                                                -
                                                                                                                                                                                                
                                                                                                                                                                                                -BI.createWidget({
                                                                                                                                                                                                -    type: 'bi.float_center',
                                                                                                                                                                                                -    element: "#wrapper",
                                                                                                                                                                                                -    items: [{
                                                                                                                                                                                                -        type: "bi.label",
                                                                                                                                                                                                -        text: "floatCenter与center的不同在于,它可以控制最小宽度和最大宽度",
                                                                                                                                                                                                -        cls: "layout-bg1",
                                                                                                                                                                                                -        whiteSpace: "normal"
                                                                                                                                                                                                -    }, {
                                                                                                                                                                                                -        type: "bi.label",
                                                                                                                                                                                                -        text: "floatCenter与center的不同在于,它可以控制最小宽度和最大宽度",
                                                                                                                                                                                                -        cls: "layout-bg2",
                                                                                                                                                                                                -        whiteSpace: "normal"
                                                                                                                                                                                                -    }],
                                                                                                                                                                                                -    height: 300,
                                                                                                                                                                                                -    hgap: 20,
                                                                                                                                                                                                -    vgap: 20
                                                                                                                                                                                                -});
                                                                                                                                                                                                -
                                                                                                                                                                                                -
                                                                                                                                                                                                - - -

                                                                                                                                                                                                API

                                                                                                                                                                                                -
                                                                                                                                                                                                基础属性
                                                                                                                                                                                                - - - - - - - - - - - - - - - -
                                                                                                                                                                                                参数说明类型可选值默认值
                                                                                                                                                                                                -
                                                                                                                                                                                                - - -
                                                                                                                                                                                                - -
                                                                                                                                                                                                -
                                                                                                                                                                                                -
                                                                                                                                                                                                - -

                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                -
                                                                                                                                                                                                  - -
                                                                                                                                                                                                  -
                                                                                                                                                                                                  - -

                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                  - -
                                                                                                                                                                                                  -
                                                                                                                                                                                                  -
                                                                                                                                                                                                  - -
                                                                                                                                                                                                  -
                                                                                                                                                                                                  - -
                                                                                                                                                                                                  - - - - -
                                                                                                                                                                                                  - - -
                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/float_center.md b/docs/_book/core/layout/float_center.md deleted file mode 100644 index cd00d8fcd8..0000000000 --- a/docs/_book/core/layout/float_center.md +++ /dev/null @@ -1,42 +0,0 @@ -# bi.float_center - -#### 浮动布局实现的Center居中容器 - -{% method %} -[source](https://jsfiddle.net/fineui/1vgn555m/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.float_center', - element: "#wrapper", - items: [{ - type: "bi.label", - text: "floatCenter与center的不同在于,它可以控制最小宽度和最大宽度", - cls: "layout-bg1", - whiteSpace: "normal" - }, { - type: "bi.label", - text: "floatCenter与center的不同在于,它可以控制最小宽度和最大宽度", - cls: "layout-bg2", - whiteSpace: "normal" - }], - height: 300, - hgap: 20, - vgap: 20 -}); - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- - - ---- \ No newline at end of file diff --git a/docs/_book/core/layout/flow.html b/docs/_book/core/layout/flow.html deleted file mode 100644 index e4ca1e6dcf..0000000000 --- a/docs/_book/core/layout/flow.html +++ /dev/null @@ -1,3025 +0,0 @@ - - - - - - - flow · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                  -
                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                  - -
                                                                                                                                                                                                  - -
                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                  -
                                                                                                                                                                                                  - -
                                                                                                                                                                                                  -
                                                                                                                                                                                                  - -
                                                                                                                                                                                                  - -

                                                                                                                                                                                                  bi.flow

                                                                                                                                                                                                  -

                                                                                                                                                                                                  靠左/右对齐的自由浮动布局

                                                                                                                                                                                                  -
                                                                                                                                                                                                  
                                                                                                                                                                                                  -BI.createWidget({
                                                                                                                                                                                                  -    type: "bi.center_adapt",
                                                                                                                                                                                                  -    element: "#wrapper",
                                                                                                                                                                                                  -    items: [{
                                                                                                                                                                                                  -        type: "bi.left",
                                                                                                                                                                                                  -        items: [{
                                                                                                                                                                                                  -            type: "bi.label",
                                                                                                                                                                                                  -            height: 30,
                                                                                                                                                                                                  -            text: "Left-1",
                                                                                                                                                                                                  -            cls: "layout-bg1",
                                                                                                                                                                                                  -            hgap: 20
                                                                                                                                                                                                  -        }, {
                                                                                                                                                                                                  -            type: "bi.label",
                                                                                                                                                                                                  -            height: 30,
                                                                                                                                                                                                  -            text: "Left-2",
                                                                                                                                                                                                  -            cls: "layout-bg2",
                                                                                                                                                                                                  -            hgap: 20
                                                                                                                                                                                                  -        }],
                                                                                                                                                                                                  -        hgap: 20,
                                                                                                                                                                                                  -        vgap: 20
                                                                                                                                                                                                  -    }, {
                                                                                                                                                                                                  -        type: "bi.right",
                                                                                                                                                                                                  -        items: [{
                                                                                                                                                                                                  -            type: "bi.label",
                                                                                                                                                                                                  -            height: 30,
                                                                                                                                                                                                  -            text: "Right-1",
                                                                                                                                                                                                  -            cls: "layout-bg3",
                                                                                                                                                                                                  -            hgap: 20
                                                                                                                                                                                                  -        }, {
                                                                                                                                                                                                  -            type: "bi.label",
                                                                                                                                                                                                  -            height: 30,
                                                                                                                                                                                                  -            text: "Right-2",
                                                                                                                                                                                                  -            cls: "layout-bg4",
                                                                                                                                                                                                  -            hgap: 20
                                                                                                                                                                                                  -        }],
                                                                                                                                                                                                  -        hgap: 20,
                                                                                                                                                                                                  -        vgap: 20
                                                                                                                                                                                                  -    }]
                                                                                                                                                                                                  -});
                                                                                                                                                                                                  -
                                                                                                                                                                                                  -
                                                                                                                                                                                                  - - -

                                                                                                                                                                                                  API

                                                                                                                                                                                                  -
                                                                                                                                                                                                  基础属性
                                                                                                                                                                                                  - - - - - - - - - - - - - - - -
                                                                                                                                                                                                  参数说明类型可选值默认值
                                                                                                                                                                                                  -
                                                                                                                                                                                                  - - -
                                                                                                                                                                                                  - -
                                                                                                                                                                                                  -
                                                                                                                                                                                                  -
                                                                                                                                                                                                  - -

                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                  -
                                                                                                                                                                                                    - -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - -

                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                    - -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - -
                                                                                                                                                                                                    - - - - -
                                                                                                                                                                                                    - - -
                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/flow.md b/docs/_book/core/layout/flow.md deleted file mode 100644 index 852ce974a4..0000000000 --- a/docs/_book/core/layout/flow.md +++ /dev/null @@ -1,68 +0,0 @@ -# bi.flow - -#### 靠左/右对齐的自由浮动布局 - -{% method %} -[source](https://jsfiddle.net/fineui/c761a856/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.center_adapt", - element: "#wrapper", - items: [{ - type: "bi.left", - items: [{ - type: "bi.label", - height: 30, - text: "Left-1", - cls: "layout-bg1", - hgap: 20 - }, { - type: "bi.label", - height: 30, - text: "Left-2", - cls: "layout-bg2", - hgap: 20 - }], - hgap: 20, - vgap: 20 - }, { - type: "bi.right", - items: [{ - type: "bi.label", - height: 30, - text: "Right-1", - cls: "layout-bg3", - hgap: 20 - }, { - type: "bi.label", - height: 30, - text: "Right-2", - cls: "layout-bg4", - hgap: 20 - }], - hgap: 20, - vgap: 20 - }] -}); - - - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- - - - ---- \ No newline at end of file diff --git a/docs/_book/core/layout/grid.html b/docs/_book/core/layout/grid.html deleted file mode 100644 index 68b6342167..0000000000 --- a/docs/_book/core/layout/grid.html +++ /dev/null @@ -1,3043 +0,0 @@ - - - - - - - grid · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                    - -
                                                                                                                                                                                                    - -
                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - -
                                                                                                                                                                                                    - -

                                                                                                                                                                                                    bi.grid

                                                                                                                                                                                                    -

                                                                                                                                                                                                    网格布局

                                                                                                                                                                                                    -
                                                                                                                                                                                                    
                                                                                                                                                                                                    -BI.createWidget({
                                                                                                                                                                                                    -    type: 'bi.grid',
                                                                                                                                                                                                    -    element: "#wrapper",
                                                                                                                                                                                                    -    columns: 2,
                                                                                                                                                                                                    -    rows: 2,
                                                                                                                                                                                                    -    items: [{
                                                                                                                                                                                                    -        column: 0,
                                                                                                                                                                                                    -        row: 0,
                                                                                                                                                                                                    -        el: {
                                                                                                                                                                                                    -            type: "bi.label",
                                                                                                                                                                                                    -            text: "column-0, row-0",
                                                                                                                                                                                                    -            cls: "layout-bg1"
                                                                                                                                                                                                    -        }
                                                                                                                                                                                                    -        }, {
                                                                                                                                                                                                    -        column: 1,
                                                                                                                                                                                                    -        row: 0,
                                                                                                                                                                                                    -        el: {
                                                                                                                                                                                                    -            type: "bi.label",
                                                                                                                                                                                                    -            text: "column-1, row-0",
                                                                                                                                                                                                    -            cls: "layout-bg2"
                                                                                                                                                                                                    -        }
                                                                                                                                                                                                    -        }  {
                                                                                                                                                                                                    -        column: 0,
                                                                                                                                                                                                    -        row: 1,
                                                                                                                                                                                                    -        el: {
                                                                                                                                                                                                    -            type: "bi.label",
                                                                                                                                                                                                    -            text: "column-0, row-1",
                                                                                                                                                                                                    -            cls: "layout-bg5"
                                                                                                                                                                                                    -        }
                                                                                                                                                                                                    -        }, {
                                                                                                                                                                                                    -        column: 1,
                                                                                                                                                                                                    -        row: 1,
                                                                                                                                                                                                    -        el: {
                                                                                                                                                                                                    -            type: "bi.label",
                                                                                                                                                                                                    -            text: "column-1, row-1",
                                                                                                                                                                                                    -            cls: "layout-bg6"
                                                                                                                                                                                                    -        }
                                                                                                                                                                                                    -    }]
                                                                                                                                                                                                    -});
                                                                                                                                                                                                    -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - - -

                                                                                                                                                                                                    API

                                                                                                                                                                                                    -
                                                                                                                                                                                                    基础属性
                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                    参数说明类型可选值默认值
                                                                                                                                                                                                    columns列数numbernull
                                                                                                                                                                                                    rows行数numbernull
                                                                                                                                                                                                    items子控件数组,二维数组的时候行和列个数就表示了rows和columnsarray[]或[[]]
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - - -
                                                                                                                                                                                                    - -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - -

                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                    -
                                                                                                                                                                                                      - -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      - -

                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                      - -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      - -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      - -
                                                                                                                                                                                                      - - - - -
                                                                                                                                                                                                      - - -
                                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/grid.md b/docs/_book/core/layout/grid.md deleted file mode 100644 index e0c7dffc6f..0000000000 --- a/docs/_book/core/layout/grid.md +++ /dev/null @@ -1,71 +0,0 @@ -# bi.grid - -#### 网格布局 - -{% method %} -[source](https://jsfiddle.net/fineui/1gwjbpL6/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.grid', - element: "#wrapper", - columns: 2, - rows: 2, - items: [{ - column: 0, - row: 0, - el: { - type: "bi.label", - text: "column-0, row-0", - cls: "layout-bg1" - } - }, { - column: 1, - row: 0, - el: { - type: "bi.label", - text: "column-1, row-0", - cls: "layout-bg2" - } - } { - column: 0, - row: 1, - el: { - type: "bi.label", - text: "column-0, row-1", - cls: "layout-bg5" - } - }, { - column: 1, - row: 1, - el: { - type: "bi.label", - text: "column-1, row-1", - cls: "layout-bg6" - } - }] -}); - - - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| columns | 列数 | number | — | null | -| rows | 行数 | number | — | null | -| items | 子控件数组,二维数组的时候行和列个数就表示了rows和columns | array | — | []或[[]] | - - - ---- \ No newline at end of file diff --git a/docs/_book/core/layout/horizontal.html b/docs/_book/core/layout/horizontal.html deleted file mode 100644 index 6ba2f9a4f7..0000000000 --- a/docs/_book/core/layout/horizontal.html +++ /dev/null @@ -1,3021 +0,0 @@ - - - - - - - horizontal · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                                      - -
                                                                                                                                                                                                      - -
                                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      - -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      - -
                                                                                                                                                                                                      - -

                                                                                                                                                                                                      bi.horizontal

                                                                                                                                                                                                      -

                                                                                                                                                                                                      水平流式布局

                                                                                                                                                                                                      -
                                                                                                                                                                                                      
                                                                                                                                                                                                      -BI.createWidget({
                                                                                                                                                                                                      -    type: 'bi.horizontal',
                                                                                                                                                                                                      -    element: "#wrapper",
                                                                                                                                                                                                      -    items: [{
                                                                                                                                                                                                      -        type: "bi.text_button",
                                                                                                                                                                                                      -        cls: "layout-bg1",
                                                                                                                                                                                                      -        text: "这里设置了lgap,rgap,tgap,bgap",
                                                                                                                                                                                                      -        height: 30,
                                                                                                                                                                                                      -        width: 200
                                                                                                                                                                                                      -    }, {
                                                                                                                                                                                                      -        type: "bi.text_button",
                                                                                                                                                                                                      -        cls: "layout-bg2",
                                                                                                                                                                                                      -        text: "这里设置了lgap,rgap,tgap,bgap",
                                                                                                                                                                                                      -        height: 30,
                                                                                                                                                                                                      -        width: 200
                                                                                                                                                                                                      -    }]
                                                                                                                                                                                                      -});
                                                                                                                                                                                                      -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      - - -

                                                                                                                                                                                                      API

                                                                                                                                                                                                      -
                                                                                                                                                                                                      基础属性
                                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                      参数说明类型可选值默认值
                                                                                                                                                                                                      columnSize每列宽度所组成的数组array[ ]
                                                                                                                                                                                                      verticalAlign元素的垂直对齐方式string参考相关css属性"middle"
                                                                                                                                                                                                      scrollx设置水平方向是否有滚动条booleantrue,falsetrue
                                                                                                                                                                                                      -
                                                                                                                                                                                                      - - -
                                                                                                                                                                                                      - -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      - -

                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                      -
                                                                                                                                                                                                        - -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        - -

                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                        - -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        - -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        - -
                                                                                                                                                                                                        - - - - -
                                                                                                                                                                                                        - - -
                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/horizontal.md b/docs/_book/core/layout/horizontal.md deleted file mode 100644 index ca39a83f22..0000000000 --- a/docs/_book/core/layout/horizontal.md +++ /dev/null @@ -1,45 +0,0 @@ -# bi.horizontal - -#### 水平流式布局 - -{% method %} -[source](https://jsfiddle.net/fineui/oj7y7q3o/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.horizontal', - element: "#wrapper", - items: [{ - type: "bi.text_button", - cls: "layout-bg1", - text: "这里设置了lgap,rgap,tgap,bgap", - height: 30, - width: 200 - }, { - type: "bi.text_button", - cls: "layout-bg2", - text: "这里设置了lgap,rgap,tgap,bgap", - height: 30, - width: 200 - }] -}); - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| columnSize | 每列宽度所组成的数组 | array | — | [ ] | -| verticalAlign | 元素的垂直对齐方式 | string | 参考相关css属性 | "middle" | -| scrollx | 设置水平方向是否有滚动条 | boolean | true,false | true | - ---- \ No newline at end of file diff --git a/docs/_book/core/layout/horizontal_adapt.html b/docs/_book/core/layout/horizontal_adapt.html deleted file mode 100644 index 6ac9dedff2..0000000000 --- a/docs/_book/core/layout/horizontal_adapt.html +++ /dev/null @@ -1,3015 +0,0 @@ - - - - - - - horizontal_adapt · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                                        - -
                                                                                                                                                                                                        - -
                                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        - -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        - -
                                                                                                                                                                                                        - -

                                                                                                                                                                                                        bi.horizontal_adapt

                                                                                                                                                                                                        -

                                                                                                                                                                                                        自适应横向居中布局

                                                                                                                                                                                                        -
                                                                                                                                                                                                        
                                                                                                                                                                                                        -BI.createWidget({
                                                                                                                                                                                                        -    type: "bi.horizontal_adapt",
                                                                                                                                                                                                        -    element: "#wrapper",
                                                                                                                                                                                                        -    vgap: 10,
                                                                                                                                                                                                        -    items: [{
                                                                                                                                                                                                        -        type: "bi.label",
                                                                                                                                                                                                        -        text: "Horizontal Adapt左右自适应",
                                                                                                                                                                                                        -        cls: "layout-bg1",
                                                                                                                                                                                                        -        width: 300,
                                                                                                                                                                                                        -        height: 30
                                                                                                                                                                                                        -    }, {
                                                                                                                                                                                                        -        type: "bi.label",
                                                                                                                                                                                                        -        text: "Horizontal Adapt左右自适应",
                                                                                                                                                                                                        -        cls: "layout-bg2",
                                                                                                                                                                                                        -        //width: 300,
                                                                                                                                                                                                        -        height: 30
                                                                                                                                                                                                        -    }]
                                                                                                                                                                                                        -})
                                                                                                                                                                                                        -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        - - -

                                                                                                                                                                                                        API

                                                                                                                                                                                                        -
                                                                                                                                                                                                        基础属性
                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                        参数说明类型可选值默认值
                                                                                                                                                                                                        columnSize每列宽度所组成的数组array[ ]
                                                                                                                                                                                                        verticalAlign元素的垂直对齐方式const参考相关css属性BI.VerticalAlign.Middle
                                                                                                                                                                                                        -
                                                                                                                                                                                                        - - -
                                                                                                                                                                                                        - -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        - -

                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                        -
                                                                                                                                                                                                          - -
                                                                                                                                                                                                          -
                                                                                                                                                                                                          - -

                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                          - -
                                                                                                                                                                                                          -
                                                                                                                                                                                                          -
                                                                                                                                                                                                          - -
                                                                                                                                                                                                          -
                                                                                                                                                                                                          - -
                                                                                                                                                                                                          - - - - -
                                                                                                                                                                                                          - - -
                                                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/horizontal_adapt.md b/docs/_book/core/layout/horizontal_adapt.md deleted file mode 100644 index 64f61980e2..0000000000 --- a/docs/_book/core/layout/horizontal_adapt.md +++ /dev/null @@ -1,46 +0,0 @@ -# bi.horizontal_adapt - - -#### 自适应横向居中布局 - -{% method %} -[source](https://jsfiddle.net/fineui/Lgobog42/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.horizontal_adapt", - element: "#wrapper", - vgap: 10, - items: [{ - type: "bi.label", - text: "Horizontal Adapt左右自适应", - cls: "layout-bg1", - width: 300, - height: 30 - }, { - type: "bi.label", - text: "Horizontal Adapt左右自适应", - cls: "layout-bg2", - //width: 300, - height: 30 - }] -}) - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| columnSize | 每列宽度所组成的数组 | array | — | [ ] | -| verticalAlign | 元素的垂直对齐方式 | const | 参考相关css属性 | BI.VerticalAlign.Middle | - - ---- - diff --git a/docs/_book/core/layout/horizontal_auto.html b/docs/_book/core/layout/horizontal_auto.html deleted file mode 100644 index ec0b7ebcce..0000000000 --- a/docs/_book/core/layout/horizontal_auto.html +++ /dev/null @@ -1,3004 +0,0 @@ - - - - - - - horizontal_auto · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                          -
                                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                                          - -
                                                                                                                                                                                                          - -
                                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                                          -
                                                                                                                                                                                                          - -
                                                                                                                                                                                                          -
                                                                                                                                                                                                          - -
                                                                                                                                                                                                          - -

                                                                                                                                                                                                          bi.horizontal_auto

                                                                                                                                                                                                          -

                                                                                                                                                                                                          水平方向居中容器,水平居中推荐使用这种布局

                                                                                                                                                                                                          -
                                                                                                                                                                                                          
                                                                                                                                                                                                          -BI.createWidget({
                                                                                                                                                                                                          -    type: "bi.horizontal_auto",
                                                                                                                                                                                                          -    element: "#wrapper",
                                                                                                                                                                                                          -    vgap: 10,
                                                                                                                                                                                                          -    items: [{
                                                                                                                                                                                                          -        type: "bi.label",
                                                                                                                                                                                                          -        text: "Horizontal Auto左右自适应",
                                                                                                                                                                                                          -        cls: "layout-bg1",
                                                                                                                                                                                                          -        width: 300,
                                                                                                                                                                                                          -        height: 30
                                                                                                                                                                                                          -    }, {
                                                                                                                                                                                                          -        type: "bi.label",
                                                                                                                                                                                                          -        text: "Horizontal Auto左右自适应",
                                                                                                                                                                                                          -        cls: "layout-bg2",
                                                                                                                                                                                                          -        width: 300,
                                                                                                                                                                                                          -        height: 30
                                                                                                                                                                                                          -    }]
                                                                                                                                                                                                          -})
                                                                                                                                                                                                          -
                                                                                                                                                                                                          -
                                                                                                                                                                                                          - - -

                                                                                                                                                                                                          API

                                                                                                                                                                                                          -
                                                                                                                                                                                                          基础属性
                                                                                                                                                                                                          - - - - - - - - - - - - - - - -
                                                                                                                                                                                                          参数说明类型可选值默认值
                                                                                                                                                                                                          -
                                                                                                                                                                                                          - - -
                                                                                                                                                                                                          - -
                                                                                                                                                                                                          -
                                                                                                                                                                                                          -
                                                                                                                                                                                                          - -

                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                          -
                                                                                                                                                                                                            - -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            - -

                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                            - -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            - -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            - -
                                                                                                                                                                                                            - - - - -
                                                                                                                                                                                                            - - -
                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/horizontal_auto.md b/docs/_book/core/layout/horizontal_auto.md deleted file mode 100644 index dec46ed26b..0000000000 --- a/docs/_book/core/layout/horizontal_auto.md +++ /dev/null @@ -1,43 +0,0 @@ -# bi.horizontal_auto - -#### 水平方向居中容器,水平居中推荐使用这种布局 - -{% method %} -[source](https://jsfiddle.net/fineui/ej2j8umg/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.horizontal_auto", - element: "#wrapper", - vgap: 10, - items: [{ - type: "bi.label", - text: "Horizontal Auto左右自适应", - cls: "layout-bg1", - width: 300, - height: 30 - }, { - type: "bi.label", - text: "Horizontal Auto左右自适应", - cls: "layout-bg2", - width: 300, - height: 30 - }] -}) - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- - - - ---- \ No newline at end of file diff --git a/docs/_book/core/layout/horizontal_float.html b/docs/_book/core/layout/horizontal_float.html deleted file mode 100644 index d32e64c030..0000000000 --- a/docs/_book/core/layout/horizontal_float.html +++ /dev/null @@ -1,2998 +0,0 @@ - - - - - - - horizontal_float · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                                            - -
                                                                                                                                                                                                            - -
                                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            - -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            - -
                                                                                                                                                                                                            - -

                                                                                                                                                                                                            bi.horizontal_float

                                                                                                                                                                                                            -

                                                                                                                                                                                                            浮动的水平居中布局,适用于宽度不定元素的水平居中

                                                                                                                                                                                                            -
                                                                                                                                                                                                            
                                                                                                                                                                                                            -BI.createWidget({
                                                                                                                                                                                                            -    type: "bi.horizontal_float",
                                                                                                                                                                                                            -    element: "#wrapper",
                                                                                                                                                                                                            -    vgap: 10,
                                                                                                                                                                                                            -    items: [{
                                                                                                                                                                                                            -        type: "bi.label",
                                                                                                                                                                                                            -        text: "Horizontal Float左右自适应",
                                                                                                                                                                                                            -        cls: "layout-bg1",
                                                                                                                                                                                                            -        width: 200,
                                                                                                                                                                                                            -        height:30
                                                                                                                                                                                                            -    }]
                                                                                                                                                                                                            -})
                                                                                                                                                                                                            -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            - - -

                                                                                                                                                                                                            API

                                                                                                                                                                                                            -
                                                                                                                                                                                                            基础属性
                                                                                                                                                                                                            - - - - - - - - - - - - - - - -
                                                                                                                                                                                                            参数说明类型可选值默认值
                                                                                                                                                                                                            -
                                                                                                                                                                                                            - - -
                                                                                                                                                                                                            - -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            -
                                                                                                                                                                                                            - -

                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                            -
                                                                                                                                                                                                              - -
                                                                                                                                                                                                              -
                                                                                                                                                                                                              - -

                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                              - -
                                                                                                                                                                                                              -
                                                                                                                                                                                                              -
                                                                                                                                                                                                              - -
                                                                                                                                                                                                              -
                                                                                                                                                                                                              - -
                                                                                                                                                                                                              - - - - -
                                                                                                                                                                                                              - - -
                                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/horizontal_float.md b/docs/_book/core/layout/horizontal_float.md deleted file mode 100644 index 5ca1060c89..0000000000 --- a/docs/_book/core/layout/horizontal_float.md +++ /dev/null @@ -1,37 +0,0 @@ -# bi.horizontal_float - -#### 浮动的水平居中布局,适用于宽度不定元素的水平居中 - -{% method %} -[source](https://jsfiddle.net/fineui/91rd0zpe/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.horizontal_float", - element: "#wrapper", - vgap: 10, - items: [{ - type: "bi.label", - text: "Horizontal Float左右自适应", - cls: "layout-bg1", - width: 200, - height:30 - }] -}) - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- - - ---- \ No newline at end of file diff --git a/docs/_book/core/layout/htape.html b/docs/_book/core/layout/htape.html deleted file mode 100644 index 2fd0b0614f..0000000000 --- a/docs/_book/core/layout/htape.html +++ /dev/null @@ -1,3018 +0,0 @@ - - - - - - - htape · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                              -
                                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                                              - -
                                                                                                                                                                                                              - -
                                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                                              -
                                                                                                                                                                                                              - -
                                                                                                                                                                                                              -
                                                                                                                                                                                                              - -
                                                                                                                                                                                                              - -

                                                                                                                                                                                                              bi.htape

                                                                                                                                                                                                              -

                                                                                                                                                                                                              水平tape布局,n列定宽,一列自适应

                                                                                                                                                                                                              -
                                                                                                                                                                                                              
                                                                                                                                                                                                              -BI.createWidget({
                                                                                                                                                                                                              -  type: "bi.htape",
                                                                                                                                                                                                              -  element: "#wrapper",         
                                                                                                                                                                                                              -  items : [
                                                                                                                                                                                                              -    {
                                                                                                                                                                                                              -      width: 100,
                                                                                                                                                                                                              -      el : {
                                                                                                                                                                                                              -        type : 'bi.label',
                                                                                                                                                                                                              -        text : '1',
                                                                                                                                                                                                              -        cls: "layout-bg1"
                                                                                                                                                                                                              -      }
                                                                                                                                                                                                              -    }, {
                                                                                                                                                                                                              -      width: 200,
                                                                                                                                                                                                              -      el : {
                                                                                                                                                                                                              -        type : 'bi.label',
                                                                                                                                                                                                              -        text : '2',
                                                                                                                                                                                                              -        cls: "layout-bg2"
                                                                                                                                                                                                              -      }
                                                                                                                                                                                                              -    }, {
                                                                                                                                                                                                              -      width: 'fill',
                                                                                                                                                                                                              -      el : {
                                                                                                                                                                                                              -        type : 'bi.label',
                                                                                                                                                                                                              -        text : '3',
                                                                                                                                                                                                              -        cls: "layout-bg3"
                                                                                                                                                                                                              -      }
                                                                                                                                                                                                              -    }
                                                                                                                                                                                                              -  ]
                                                                                                                                                                                                              -});
                                                                                                                                                                                                              -
                                                                                                                                                                                                              -
                                                                                                                                                                                                              - - -

                                                                                                                                                                                                              API

                                                                                                                                                                                                              -
                                                                                                                                                                                                              基础属性
                                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                              参数说明类型可选值默认值
                                                                                                                                                                                                              items子控件数组array[{width: 100,el: {type: 'bi.button', text: 'button1'}},{width: 'fill',el: {type: 'bi.button', text: 'button2'}},{width: 200,el: {type: 'bi.button', text: 'button3'}}]
                                                                                                                                                                                                              -
                                                                                                                                                                                                              - - -
                                                                                                                                                                                                              - -
                                                                                                                                                                                                              -
                                                                                                                                                                                                              -
                                                                                                                                                                                                              - -

                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                              -
                                                                                                                                                                                                                - -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                - -

                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                - -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                - -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                - -
                                                                                                                                                                                                                - - - - -
                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/htape.md b/docs/_book/core/layout/htape.md deleted file mode 100644 index 2fac5c0f39..0000000000 --- a/docs/_book/core/layout/htape.md +++ /dev/null @@ -1,58 +0,0 @@ -# bi.htape - -#### 水平tape布局,n列定宽,一列自适应 - -{% method %} -[source](https://jsfiddle.net/fineui/ry7Lnhgw/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.htape", - element: "#wrapper", - items : [ - { - width: 100, - el : { - type : 'bi.label', - text : '1', - cls: "layout-bg1" - } - }, { - width: 200, - el : { - type : 'bi.label', - text : '2', - cls: "layout-bg2" - } - }, { - width: 'fill', - el : { - type : 'bi.label', - text : '3', - cls: "layout-bg3" - } - } - ] -}); - - - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| items | 子控件数组 | array | — | [{width: 100,el: {type: 'bi.button', text: 'button1'}},{width: 'fill',el: {type: 'bi.button', text: 'button2'}},{width: 200,el: {type: 'bi.button', text: 'button3'}}] | - - - ---- \ No newline at end of file diff --git a/docs/_book/core/layout/left_right_vertical_adapt.html b/docs/_book/core/layout/left_right_vertical_adapt.html deleted file mode 100644 index 91879b131b..0000000000 --- a/docs/_book/core/layout/left_right_vertical_adapt.html +++ /dev/null @@ -1,3054 +0,0 @@ - - - - - - - left_right_vertical_adapt · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                                - -
                                                                                                                                                                                                                - -
                                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                - -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                - -
                                                                                                                                                                                                                - -

                                                                                                                                                                                                                bi.left_right_vertical_adapt

                                                                                                                                                                                                                -

                                                                                                                                                                                                                左右分离,垂直方向居中容器

                                                                                                                                                                                                                -
                                                                                                                                                                                                                
                                                                                                                                                                                                                -BI.createWidget({
                                                                                                                                                                                                                -    type: 'bi.left_right_vertical_adapt',
                                                                                                                                                                                                                -    element: "#wrapper",
                                                                                                                                                                                                                -    lhgap: 10,
                                                                                                                                                                                                                -    rhgap: 10,
                                                                                                                                                                                                                -    items: {
                                                                                                                                                                                                                -        left: [{
                                                                                                                                                                                                                -            type: "bi.label",
                                                                                                                                                                                                                -            text: "左边的垂直居中",
                                                                                                                                                                                                                -            cls: "layout-bg1",
                                                                                                                                                                                                                -            width: 100,
                                                                                                                                                                                                                -            height: 30
                                                                                                                                                                                                                -        }],
                                                                                                                                                                                                                -        right: [{
                                                                                                                                                                                                                -            type: "bi.label",
                                                                                                                                                                                                                -            text: "右边的垂直居中",
                                                                                                                                                                                                                -            cls: "layout-bg1",
                                                                                                                                                                                                                -            width: 100,
                                                                                                                                                                                                                -            height: 30
                                                                                                                                                                                                                -        }]
                                                                                                                                                                                                                -    }
                                                                                                                                                                                                                -});
                                                                                                                                                                                                                -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                - - -

                                                                                                                                                                                                                API

                                                                                                                                                                                                                -
                                                                                                                                                                                                                基础属性
                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                参数说明类型可选值默认值
                                                                                                                                                                                                                lhgap左边容器左右padding值number0
                                                                                                                                                                                                                lrgap左边容器right-padding值number0
                                                                                                                                                                                                                llgap左边容器left-padding值number0
                                                                                                                                                                                                                rhgap右边容器左右padding值number0
                                                                                                                                                                                                                rrgap右边容器right-padding值number0
                                                                                                                                                                                                                rhgap右边容器left-padding值number0
                                                                                                                                                                                                                items子控件数组array[ ]
                                                                                                                                                                                                                -
                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                - -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                - -

                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                -
                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                  - - - - -
                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/left_right_vertical_adapt.md b/docs/_book/core/layout/left_right_vertical_adapt.md deleted file mode 100644 index 8c101a587b..0000000000 --- a/docs/_book/core/layout/left_right_vertical_adapt.md +++ /dev/null @@ -1,55 +0,0 @@ - -# bi.left_right_vertical_adapt - -#### 左右分离,垂直方向居中容器 - -{% method %} -[source](https://jsfiddle.net/fineui/2udhep9z/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.left_right_vertical_adapt', - element: "#wrapper", - lhgap: 10, - rhgap: 10, - items: { - left: [{ - type: "bi.label", - text: "左边的垂直居中", - cls: "layout-bg1", - width: 100, - height: 30 - }], - right: [{ - type: "bi.label", - text: "右边的垂直居中", - cls: "layout-bg1", - width: 100, - height: 30 - }] - } -}); - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| lhgap | 左边容器左右padding值 | number | — | 0 | -| lrgap | 左边容器right-padding值 | number | — | 0 | -| llgap | 左边容器left-padding值 | number | — | 0 | -| rhgap | 右边容器左右padding值 | number | — | 0 | -| rrgap | 右边容器right-padding值 | number | — | 0 | -| rhgap | 右边容器left-padding值 | number | — | 0 | -| items | 子控件数组 | array | — | [ ] | - - ---- \ No newline at end of file diff --git a/docs/_book/core/layout/table.html b/docs/_book/core/layout/table.html deleted file mode 100644 index a749f1435f..0000000000 --- a/docs/_book/core/layout/table.html +++ /dev/null @@ -1,3045 +0,0 @@ - - - - - - - table · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                  bi.table

                                                                                                                                                                                                                  -

                                                                                                                                                                                                                  htape与vertical混合形成的布局,用于二维表结构的布局

                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  BI.createWidget({
                                                                                                                                                                                                                  -  element: "body",
                                                                                                                                                                                                                  -  type: "bi.table",
                                                                                                                                                                                                                  -  items: [],
                                                                                                                                                                                                                  -  columnSize: [100, "fill", 200],
                                                                                                                                                                                                                  -  rowSize: [10, 30, 50, 70, 90, 110, 130],
                                                                                                                                                                                                                  -  hgap: 20,
                                                                                                                                                                                                                  -  vgap: 10
                                                                                                                                                                                                                  -});
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                  参数设置

                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                  参数说明类型默认值
                                                                                                                                                                                                                  scrolly是否出现滚动条booleantrue
                                                                                                                                                                                                                  columnSize列项宽度array/number[200, 200, 'fill']
                                                                                                                                                                                                                  rowSize行高array/number30
                                                                                                                                                                                                                  hgap内部元素间纵向距离number0
                                                                                                                                                                                                                  vgap内部元素间横向距离number0
                                                                                                                                                                                                                  items子项array[{width: 100,el: {type: 'bi.button', text: 'button1'}},{width: 'fill',el: {type: 'bi.button', text: 'button2'}},{width: 200,el: {type: 'bi.button', text: 'button3'}}]
                                                                                                                                                                                                                  -

                                                                                                                                                                                                                  方法

                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                  方法名说明用法
                                                                                                                                                                                                                  addItem增加内容addItem(arr)
                                                                                                                                                                                                                  populate刷新populate(items)
                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                  -
                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                    - - - - -
                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/table.md b/docs/_book/core/layout/table.md deleted file mode 100644 index ad64bca116..0000000000 --- a/docs/_book/core/layout/table.md +++ /dev/null @@ -1,37 +0,0 @@ -# bi.table - -### htape与vertical混合形成的布局,用于二维表结构的布局 -{% method %} -[source](https://jsfiddle.net/fineui/8t2en619/) - -{% common %} -```javascript -BI.createWidget({ - element: "body", - type: "bi.table", - items: [], - columnSize: [100, "fill", 200], - rowSize: [10, 30, 50, 70, 90, 110, 130], - hgap: 20, - vgap: 10 -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ---------- | --------- | ------------ | ---------------------------------------- | -| scrolly | 是否出现滚动条 | boolean | true | -| columnSize | 列项宽度 | array/number | [200, 200, 'fill'] | -| rowSize | 行高 | array/number | 30 | -| hgap | 内部元素间纵向距离 | number | 0 | -| vgap | 内部元素间横向距离 | number | 0 | -| items | 子项 | array | [{width: 100,el: {type: 'bi.button', text: 'button1'}},{width: 'fill',el: {type: 'bi.button', text: 'button2'}},{width: 200,el: {type: 'bi.button', text: 'button3'}}] | - -## 方法 -| 方法名 | 说明 | 用法 | -| :------- | ------ | ---------------- | -| addItem | 增加内容 | addItem(arr) | -| populate | 刷新 | populate(items) | - diff --git a/docs/_book/core/layout/td.html b/docs/_book/core/layout/td.html deleted file mode 100644 index 9793a56081..0000000000 --- a/docs/_book/core/layout/td.html +++ /dev/null @@ -1,3018 +0,0 @@ - - - - - - - td · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                    bi.td

                                                                                                                                                                                                                    -

                                                                                                                                                                                                                    单元格布局

                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    BI.createWidget({
                                                                                                                                                                                                                    -  type: "bi.td",
                                                                                                                                                                                                                    -  element: 'body',
                                                                                                                                                                                                                    -  columnSize: [20, 20, 'fill'],
                                                                                                                                                                                                                    -  items: []
                                                                                                                                                                                                                    -});
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    - - - -

                                                                                                                                                                                                                    参数

                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                    参数说明类型默认值
                                                                                                                                                                                                                    columnSize列宽array[200, 200, 200]
                                                                                                                                                                                                                    items内容项array[[{el: {text: 'label1'}},{ el: {text: 'label2'},{ el: {text: 'label3'}
                                                                                                                                                                                                                    -

                                                                                                                                                                                                                    方法

                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                    方法名说明用法
                                                                                                                                                                                                                    addItem增加内容addItem(arr)
                                                                                                                                                                                                                    populate更换新的内容poplulate(items)
                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                    -
                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                      - - - - -
                                                                                                                                                                                                                      - - -
                                                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/td.md b/docs/_book/core/layout/td.md deleted file mode 100644 index 64e2485997..0000000000 --- a/docs/_book/core/layout/td.md +++ /dev/null @@ -1,36 +0,0 @@ -# bi.td - -### 单元格布局 - -{% method %} -[source](https://jsfiddle.net/fineui/v4jrz6a3/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.td", - element: 'body', - columnSize: [20, 20, 'fill'], - items: [] -}); -``` - -{% endmethod %} - - - -##参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ---------- | ---- | ------ | ---------------------------------------- | -| columnSize | 列宽 | array | [200, 200, 200] | -| items | 内容项 | array | [[{el: {text: 'label1'}},{ el: {text: 'label2'},{ el: {text: 'label3'} | - - -## 方法 - -| 方法名 | 说明 | 用法 | -| -------- | ------ | ---------------- | -| addItem | 增加内容 | addItem(arr) | -| populate | 更换新的内容 | poplulate(items) | - diff --git a/docs/_book/core/layout/vertical.html b/docs/_book/core/layout/vertical.html deleted file mode 100644 index 323687f5a0..0000000000 --- a/docs/_book/core/layout/vertical.html +++ /dev/null @@ -1,3003 +0,0 @@ - - - - - - - vertical · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                      bi.vertical

                                                                                                                                                                                                                      -

                                                                                                                                                                                                                      垂直流式布局

                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      
                                                                                                                                                                                                                      -BI.createWidget({
                                                                                                                                                                                                                      -    type: 'demo.vertical',
                                                                                                                                                                                                                      -    element: "#wrapper",
                                                                                                                                                                                                                      -    items: [{
                                                                                                                                                                                                                      -        type: "bi.label",
                                                                                                                                                                                                                      -        cls: "layout-bg1",
                                                                                                                                                                                                                      -        text: "这里设置了hgap(水平间距),vgap(垂直间距)",
                                                                                                                                                                                                                      -        height: 30
                                                                                                                                                                                                                      -    }, {
                                                                                                                                                                                                                      -        type: "bi.label",
                                                                                                                                                                                                                      -        cls: "layout-bg2",
                                                                                                                                                                                                                      -        text: "这里设置了hgap(水平间距),vgap(垂直间距)",
                                                                                                                                                                                                                      -        height: 30
                                                                                                                                                                                                                      -    }]
                                                                                                                                                                                                                      -});
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      - - -

                                                                                                                                                                                                                      API

                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      基础属性
                                                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                      参数说明类型可选值默认值
                                                                                                                                                                                                                      scrolly设置垂直方向是否有滚动条booleantrue,falsetrue
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      - - -
                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                      -
                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                        - - - - -
                                                                                                                                                                                                                        - - -
                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/vertical.md b/docs/_book/core/layout/vertical.md deleted file mode 100644 index f69554ed7e..0000000000 --- a/docs/_book/core/layout/vertical.md +++ /dev/null @@ -1,40 +0,0 @@ -# bi.vertical - -#### 垂直流式布局 - -{% method %} -[source](https://jsfiddle.net/fineui/zjyaz9fn/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'demo.vertical', - element: "#wrapper", - items: [{ - type: "bi.label", - cls: "layout-bg1", - text: "这里设置了hgap(水平间距),vgap(垂直间距)", - height: 30 - }, { - type: "bi.label", - cls: "layout-bg2", - text: "这里设置了hgap(水平间距),vgap(垂直间距)", - height: 30 - }] -}); - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| scrolly | 设置垂直方向是否有滚动条 | boolean | true,false | true | - ---- \ No newline at end of file diff --git a/docs/_book/core/layout/vertical_adapt.html b/docs/_book/core/layout/vertical_adapt.html deleted file mode 100644 index c734bb76ff..0000000000 --- a/docs/_book/core/layout/vertical_adapt.html +++ /dev/null @@ -1,3008 +0,0 @@ - - - - - - - vertical_adapt · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                        bi.vertical_adapt

                                                                                                                                                                                                                        -

                                                                                                                                                                                                                        自适应垂直居中布局

                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        
                                                                                                                                                                                                                        -BI.createWidget({
                                                                                                                                                                                                                        -    type: "bi.vertical_adapt",
                                                                                                                                                                                                                        -    element: "#wrapper",
                                                                                                                                                                                                                        -    vgap: 10,
                                                                                                                                                                                                                        -    items: [{
                                                                                                                                                                                                                        -        type: "bi.label",
                                                                                                                                                                                                                        -        text: "Vertical Adapt上下自适应",
                                                                                                                                                                                                                        -        cls: "layout-bg1",
                                                                                                                                                                                                                        -        width: 300,
                                                                                                                                                                                                                        -        height: 30
                                                                                                                                                                                                                        -    }, {
                                                                                                                                                                                                                        -        type: "bi.label",
                                                                                                                                                                                                                        -        text: "Vertical Adapt上下自适应",
                                                                                                                                                                                                                        -        cls: "layout-bg2",
                                                                                                                                                                                                                        -        width: 300,
                                                                                                                                                                                                                        -        height: 30
                                                                                                                                                                                                                        -    }]
                                                                                                                                                                                                                        -})
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        - - -

                                                                                                                                                                                                                        API

                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        基础属性
                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                        参数说明类型可选值默认值
                                                                                                                                                                                                                        columnSize列宽array[ ]
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        - - -
                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                        -
                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                          - - - - -
                                                                                                                                                                                                                          - - -
                                                                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/vertical_adapt.md b/docs/_book/core/layout/vertical_adapt.md deleted file mode 100644 index a0d958c627..0000000000 --- a/docs/_book/core/layout/vertical_adapt.md +++ /dev/null @@ -1,43 +0,0 @@ -# bi.vertical_adapt - -#### 自适应垂直居中布局 - -{% method %} -[source](https://jsfiddle.net/fineui/7t1bsfy0/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.vertical_adapt", - element: "#wrapper", - vgap: 10, - items: [{ - type: "bi.label", - text: "Vertical Adapt上下自适应", - cls: "layout-bg1", - width: 300, - height: 30 - }, { - type: "bi.label", - text: "Vertical Adapt上下自适应", - cls: "layout-bg2", - width: 300, - height: 30 - }] -}) - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| columnSize | 列宽 | array | — | [ ] | - ---- \ No newline at end of file diff --git a/docs/_book/core/layout/vtape.html b/docs/_book/core/layout/vtape.html deleted file mode 100644 index bb68e4aec5..0000000000 --- a/docs/_book/core/layout/vtape.html +++ /dev/null @@ -1,3018 +0,0 @@ - - - - - - - vtape · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                          bi.vtape

                                                                                                                                                                                                                          -

                                                                                                                                                                                                                          垂直tape布局,n列定高,一列自适应

                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          
                                                                                                                                                                                                                          -BI.createWidget({
                                                                                                                                                                                                                          -  type: "bi.vtape",
                                                                                                                                                                                                                          -  element: "#wrapper",         
                                                                                                                                                                                                                          -  items : [
                                                                                                                                                                                                                          -    {
                                                                                                                                                                                                                          -      height: 100,
                                                                                                                                                                                                                          -      el : {
                                                                                                                                                                                                                          -        type : 'bi.label',
                                                                                                                                                                                                                          -        text : '1',
                                                                                                                                                                                                                          -        cls: "layout-bg1"
                                                                                                                                                                                                                          -      }
                                                                                                                                                                                                                          -    }, {
                                                                                                                                                                                                                          -      height: 200,
                                                                                                                                                                                                                          -      el : {
                                                                                                                                                                                                                          -        type : 'bi.label',
                                                                                                                                                                                                                          -        text : '2',
                                                                                                                                                                                                                          -        cls: "layout-bg2"
                                                                                                                                                                                                                          -      }
                                                                                                                                                                                                                          -    }, {
                                                                                                                                                                                                                          -      height: 'fill',
                                                                                                                                                                                                                          -      el : {
                                                                                                                                                                                                                          -        type : 'bi.label',
                                                                                                                                                                                                                          -        text : '3',
                                                                                                                                                                                                                          -        cls: "layout-bg3"
                                                                                                                                                                                                                          -      }
                                                                                                                                                                                                                          -    }
                                                                                                                                                                                                                          -  ]
                                                                                                                                                                                                                          -});
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          - - -

                                                                                                                                                                                                                          API

                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          基础属性
                                                                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                          参数说明类型可选值默认值
                                                                                                                                                                                                                          items子控件数组array{height: 100,el: {type: 'bi.button', text: 'button1'}},{height: 'fill',el: {type: 'bi.button', text: 'button2'}},{height: 200,el: {type: 'bi.button', text: 'button3'}}
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          - - -
                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                          -
                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                            - - - - -
                                                                                                                                                                                                                            - - -
                                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/layout/vtape.md b/docs/_book/core/layout/vtape.md deleted file mode 100644 index 3a2d6382ee..0000000000 --- a/docs/_book/core/layout/vtape.md +++ /dev/null @@ -1,58 +0,0 @@ -# bi.vtape - -#### 垂直tape布局,n列定高,一列自适应 - -{% method %} -[source](https://jsfiddle.net/fineui/ufpnz53d/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.vtape", - element: "#wrapper", - items : [ - { - height: 100, - el : { - type : 'bi.label', - text : '1', - cls: "layout-bg1" - } - }, { - height: 200, - el : { - type : 'bi.label', - text : '2', - cls: "layout-bg2" - } - }, { - height: 'fill', - el : { - type : 'bi.label', - text : '3', - cls: "layout-bg3" - } - } - ] -}); - - - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| items | 子控件数组 | array | — | {height: 100,el: {type: 'bi.button', text: 'button1'}},{height: 'fill',el: {type: 'bi.button', text: 'button2'}},{height: 200,el: {type: 'bi.button', text: 'button3'}} | - - - ---- \ No newline at end of file diff --git a/docs/_book/core/node_button.html b/docs/_book/core/node_button.html deleted file mode 100644 index a77b9dd7ef..0000000000 --- a/docs/_book/core/node_button.html +++ /dev/null @@ -1,3016 +0,0 @@ - - - - - - - NodeButton · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                            bi.NodeButton

                                                                                                                                                                                                                            -

                                                                                                                                                                                                                            表示一个可以展开的节点,用于树状结构的节点元素, 不仅有选中状态而且有展开状态, BI.BasicButton

                                                                                                                                                                                                                            -

                                                                                                                                                                                                                            API

                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            基础属性
                                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                            参数说明类型可选值默认值
                                                                                                                                                                                                                            open节点是否展开booleantrue,falsefalse
                                                                                                                                                                                                                            -

                                                                                                                                                                                                                            对外方法

                                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                            名称说明回调参数
                                                                                                                                                                                                                            isOpened判断节点是否展开
                                                                                                                                                                                                                            setOpened设置节点展开状态b
                                                                                                                                                                                                                            triggerCollapse触发节点收起
                                                                                                                                                                                                                            triggerExpand触发节点展开
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            - - -
                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                            -
                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                              - - - - -
                                                                                                                                                                                                                              - - -
                                                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/node_button.md b/docs/_book/core/node_button.md deleted file mode 100644 index 416af5a092..0000000000 --- a/docs/_book/core/node_button.md +++ /dev/null @@ -1,26 +0,0 @@ -# bi.NodeButton - -## 表示一个可以展开的节点,用于树状结构的节点元素, 不仅有选中状态而且有展开状态, [BI.BasicButton](/core/basic_button.md) - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| open | 节点是否展开 | boolean | true,false | false | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| isOpened | 判断节点是否展开| — -| setOpened | 设置节点展开状态| b -| triggerCollapse | 触发节点收起 | — -| triggerExpand | 触发节点展开| — - - - - ---- - - diff --git a/docs/_book/core/pane.html b/docs/_book/core/pane.html deleted file mode 100644 index 43935a2fcc..0000000000 --- a/docs/_book/core/pane.html +++ /dev/null @@ -1,3035 +0,0 @@ - - - - - - - Pane · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                              bi.pane

                                                                                                                                                                                                                              -

                                                                                                                                                                                                                              没有元素有提示信息,可以提供loading和loaded状态的面板, BI.Widget

                                                                                                                                                                                                                              -

                                                                                                                                                                                                                              API

                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              基础属性
                                                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                              参数说明类型可选值默认值
                                                                                                                                                                                                                              tipText提示文本stringBI.i18nText("BI-No_Selected_Item")
                                                                                                                                                                                                                              overlaploading图标是否在元素内部创建,true表示覆盖一层创建booleantrue,falsetrue
                                                                                                                                                                                                                              onLoaded加载之后的钩子function
                                                                                                                                                                                                                              -

                                                                                                                                                                                                                              对外方法

                                                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                              名称说明回调参数
                                                                                                                                                                                                                              populate刷新列表items
                                                                                                                                                                                                                              hasMatched是否有匹配的元素
                                                                                                                                                                                                                              loading设置加载中,一般在继承类中调用
                                                                                                                                                                                                                              loaded设置加载完毕,一般在继承类中调用
                                                                                                                                                                                                                              check检查当前面板状态
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              - - -
                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                - - - - -
                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/pane.md b/docs/_book/core/pane.md deleted file mode 100644 index 4d2a475632..0000000000 --- a/docs/_book/core/pane.md +++ /dev/null @@ -1,29 +0,0 @@ -# bi.pane - -## 没有元素有提示信息,可以提供loading和loaded状态的面板, [BI.Widget](/core/widget.md) - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| tipText | 提示文本 | string | — | BI.i18nText("BI-No_Selected_Item") | -| overlap| loading图标是否在元素内部创建,true表示覆盖一层创建 | boolean | true,false | true | -| onLoaded | 加载之后的钩子 | function | — | — | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | -| hasMatched | 是否有匹配的元素 | —| -| loading | 设置加载中,一般在继承类中调用 | — | -| loaded | 设置加载完毕,一般在继承类中调用 | — -| check | 检查当前面板状态| — - - - - ---- - - diff --git a/docs/_book/core/single.html b/docs/_book/core/single.html deleted file mode 100644 index 05c99b14e0..0000000000 --- a/docs/_book/core/single.html +++ /dev/null @@ -1,3079 +0,0 @@ - - - - - - - Single · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                bi.single

                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                这仅仅只是一个超类, 所有简单控件的基类,title的控制,文字超过边界显示3个点,基类BI.Widget

                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                API

                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                基础属性
                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                参数说明类型可选值默认值
                                                                                                                                                                                                                                readonly是否只读booleantrue,falsefalse
                                                                                                                                                                                                                                titletitlestringnull
                                                                                                                                                                                                                                warningTitle错误titlestringnull
                                                                                                                                                                                                                                tipTypetitle类型stringsuccess,warningnull
                                                                                                                                                                                                                                valuevalue值stringnull
                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                对外方法

                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                名称说明回调参数
                                                                                                                                                                                                                                enableHover恢复hover可用opt
                                                                                                                                                                                                                                disabledHover取消hover事件
                                                                                                                                                                                                                                populate刷新或者清空列表items
                                                                                                                                                                                                                                setTitle设置titletitle,opt
                                                                                                                                                                                                                                setWarningTitle设置错误titletitle,opt
                                                                                                                                                                                                                                getTipType获取tipType
                                                                                                                                                                                                                                isReadOnly是否只读
                                                                                                                                                                                                                                getTitle获取title
                                                                                                                                                                                                                                getWarningTitle获取warningTitle
                                                                                                                                                                                                                                setValue设置value值value
                                                                                                                                                                                                                                getValue获取value值
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                  - - - - -
                                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/single.md b/docs/_book/core/single.md deleted file mode 100644 index fad6646e57..0000000000 --- a/docs/_book/core/single.md +++ /dev/null @@ -1,39 +0,0 @@ -# bi.single - -## 这仅仅只是一个超类, 所有简单控件的基类,title的控制,文字超过边界显示3个点,基类[BI.Widget](/core/widget.md) - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| readonly | 是否只读 | boolean | true,false| false | -| title | title | string |— | null | -| warningTitle | 错误title | string | —| null| -| tipType | title类型 | string | success,warning | null | -| value | value值 | string |— | null | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| enableHover | 恢复hover可用| opt | -| disabledHover | 取消hover事件 | —| -| populate | 刷新或者清空列表 | items | -| setTitle | 设置title| title,opt | -| setWarningTitle | 设置错误title | title,opt| -| getTipType | 获取tipType|—| -| isReadOnly | 是否只读| —| -| getTitle | 获取title|—| -| getWarningTitle | 获取warningTitle| —| -| setValue | 设置value值| value| -| getValue| 获取value值| —| - - - - - ---- - - diff --git a/docs/_book/core/widget.html b/docs/_book/core/widget.html deleted file mode 100644 index ba30fc36c3..0000000000 --- a/docs/_book/core/widget.html +++ /dev/null @@ -1,3278 +0,0 @@ - - - - - - - Widget · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                  bi.widget

                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                  所有控件的超类

                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                  API

                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  基础属性
                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                  参数说明类型可选值默认值
                                                                                                                                                                                                                                  root是否是根组件booleantrue,falsefalse
                                                                                                                                                                                                                                  tagNamehtml标签string"div"
                                                                                                                                                                                                                                  attributes属性objectnull
                                                                                                                                                                                                                                  data数据objectnull
                                                                                                                                                                                                                                  disabled是否可用booleantrue,falsefalse
                                                                                                                                                                                                                                  invisible是否可见booleantrue,falsefalse
                                                                                                                                                                                                                                  invalid是否有效booleantrue,falsefalse
                                                                                                                                                                                                                                  baseCls基础class类string" "
                                                                                                                                                                                                                                  extraCls扩展class类,用于继承类中string" "
                                                                                                                                                                                                                                  clsclass,用于对外调用string" "
                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                  生命周期函数

                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                  名称说明回调参数
                                                                                                                                                                                                                                  beforeCreate组件实例刚被创建
                                                                                                                                                                                                                                  created组件实例创建完成
                                                                                                                                                                                                                                  render渲染组件
                                                                                                                                                                                                                                  beforeMount组件挂载之前
                                                                                                                                                                                                                                  mounted组件挂载
                                                                                                                                                                                                                                  update组件更新
                                                                                                                                                                                                                                  beforeDestroy组件销毁前调用
                                                                                                                                                                                                                                  destroyed组件销毁后调用
                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                  对外方法

                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  (注: fineui2.0引入生命周期后,widget的实现类不需要重写setEnable,setValid等方法,会自动调用子组件的对应方法
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  ,一些需要在设置状态后做的额外工作可以通过重写_setXXX来实现)
                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                  名称说明回调参数
                                                                                                                                                                                                                                  isMounted判断组件是否挂载
                                                                                                                                                                                                                                  setWidth设置组件宽度width
                                                                                                                                                                                                                                  setHeight设置组件高度height
                                                                                                                                                                                                                                  setEnable设置组件是否可用enable
                                                                                                                                                                                                                                  setVisible设置组件是否可见visible
                                                                                                                                                                                                                                  setValid设置组件是否有效valid
                                                                                                                                                                                                                                  doBehavior行为,如高亮,标红等
                                                                                                                                                                                                                                  getWidth获取组件宽度
                                                                                                                                                                                                                                  getHeight获取组件高度
                                                                                                                                                                                                                                  isValid判断是否有效
                                                                                                                                                                                                                                  addWidget添加组件name,widget
                                                                                                                                                                                                                                  getWidgetByName根据组件名称获取组件name
                                                                                                                                                                                                                                  removeWidget移除组件nameOrWidget
                                                                                                                                                                                                                                  hasWidget判断是否有该组件name
                                                                                                                                                                                                                                  getName获取组件名称
                                                                                                                                                                                                                                  setTag设置tagtag
                                                                                                                                                                                                                                  getTag获取tag
                                                                                                                                                                                                                                  attr设置组件属性key,value
                                                                                                                                                                                                                                  getText获取text值
                                                                                                                                                                                                                                  setText设置text值text
                                                                                                                                                                                                                                  getValue获取value值
                                                                                                                                                                                                                                  setValue设置value值value
                                                                                                                                                                                                                                  isEnabled是否可用
                                                                                                                                                                                                                                  isVisible是否可见
                                                                                                                                                                                                                                  disable设置组件不可用
                                                                                                                                                                                                                                  enable设置组件可用
                                                                                                                                                                                                                                  valid设置组件有效
                                                                                                                                                                                                                                  invalid设置组件无效
                                                                                                                                                                                                                                  invisible设置组件不可见
                                                                                                                                                                                                                                  visible设置组件可见
                                                                                                                                                                                                                                  isolate类似于destroy,但元素并不会被销毁,只是被挂载起来了
                                                                                                                                                                                                                                  empty清空组件
                                                                                                                                                                                                                                  destroy销毁组件
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                    - - - - -
                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/core/widget.md b/docs/_book/core/widget.md deleted file mode 100644 index 632a9810e0..0000000000 --- a/docs/_book/core/widget.md +++ /dev/null @@ -1,77 +0,0 @@ -# bi.widget - -## 所有控件的超类 - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| root | 是否是根组件 | boolean | true,false | false | -| tagName | html标签 | string| —| "div" | -| attributes | 属性 | object | —| null | -| data | 数据 | object | — | null | -| disabled | 是否可用 | boolean |true,false | false | -| invisible | 是否可见 | boolean | true,false | false| -| invalid | 是否有效 | boolean | true,false |false | -| baseCls | 基础class类 | string | —| " "| -| extraCls | 扩展class类,用于继承类中 | string| — | " "| -| cls | class,用于对外调用 | string |— | " "| - -## 生命周期函数 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| beforeCreate | 组件实例刚被创建 |— | -| created | 组件实例创建完成 | —| -| render | 渲染组件 | — | -| beforeMount | 组件挂载之前| —| -| mounted | 组件挂载 |—| -| update | 组件更新 | —| -| beforeDestroy | 组件销毁前调用| —| -| destroyed | 组件销毁后调用 | —| - - -## 对外方法 -#####(注: fineui2.0引入生命周期后,widget的实现类不需要重写setEnable,setValid等方法,会自动调用子组件的对应方法 -#####,一些需要在设置状态后做的额外工作可以通过重写_setXXX来实现) - -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| isMounted | 判断组件是否挂载| — | -| setWidth | 设置组件宽度 | width | -| setHeight | 设置组件高度 | height | -| setEnable | 设置组件是否可用 | enable | -| setVisible | 设置组件是否可见 | visible | -| setValid | 设置组件是否有效 | valid| -| doBehavior | 行为,如高亮,标红等 | —| -| getWidth | 获取组件宽度 | —| -| getHeight| 获取组件高度| —| -| isValid | 判断是否有效 | —| -| addWidget | 添加组件 | name,widget| -| getWidgetByName | 根据组件名称获取组件| name | -| removeWidget | 移除组件 | nameOrWidget | -| hasWidget | 判断是否有该组件 | name | -| getName | 获取组件名称 | —| -| setTag | 设置tag | tag | -| getTag | 获取tag | —| -| attr | 设置组件属性 | key,value | -| getText | 获取text值 | —| -| setText | 设置text值 | text| -| getValue | 获取value值 | —| -| setValue| 设置value值| value| -| isEnabled | 是否可用 | —| -| isVisible | 是否可见 | —| -| disable | 设置组件不可用 | —| -| enable | 设置组件可用| —| -| valid | 设置组件有效| —| -| invalid | 设置组件无效 | —| -| invisible | 设置组件不可见 | —| -| visible | 设置组件可见 | —| -| isolate | 类似于destroy,但元素并不会被销毁,只是被挂载起来了 | —| -| empty | 清空组件 | —| -| destroy | 销毁组件| —| - - - ---- - - diff --git a/docs/_book/detailed/bi.button/general.html b/docs/_book/detailed/bi.button/general.html deleted file mode 100644 index 8949e5e141..0000000000 --- a/docs/_book/detailed/bi.button/general.html +++ /dev/null @@ -1,2959 +0,0 @@ - - - - - - - 通用按钮 · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                    bi.button

                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                    通用按钮,详情见BI.button

                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                      - - - - -
                                                                                                                                                                                                                                      - - -
                                                                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/bi.button/general.md b/docs/_book/detailed/bi.button/general.md deleted file mode 100644 index 76adf095cf..0000000000 --- a/docs/_book/detailed/bi.button/general.md +++ /dev/null @@ -1,7 +0,0 @@ -# bi.button - -## 通用按钮,详情见[BI.button](/base/button/button.md) - - - - diff --git a/docs/_book/detailed/bi.button/items.html b/docs/_book/detailed/bi.button/items.html deleted file mode 100644 index 6103f0574b..0000000000 --- a/docs/_book/detailed/bi.button/items.html +++ /dev/null @@ -1,3063 +0,0 @@ - - - - - - - 各种items · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                      各种items

                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                      -BI.createWidget({
                                                                                                                                                                                                                                      -    type: 'bi.vertical',
                                                                                                                                                                                                                                      -    element: "#wrapper",
                                                                                                                                                                                                                                      -    items: [{
                                                                                                                                                                                                                                      -        type: "bi.label",
                                                                                                                                                                                                                                      -        height: 30,
                                                                                                                                                                                                                                      -        text: "单选item"
                                                                                                                                                                                                                                      -    }, {
                                                                                                                                                                                                                                      -        type: "bi.single_select_item",
                                                                                                                                                                                                                                      -        text: "单选项"
                                                                                                                                                                                                                                      -    }, {
                                                                                                                                                                                                                                      -        type: "bi.label",
                                                                                                                                                                                                                                      -        height: 30,
                                                                                                                                                                                                                                      -        text: "复选item"
                                                                                                                                                                                                                                      -    }, {
                                                                                                                                                                                                                                      -        type: "bi.multi_select_item",
                                                                                                                                                                                                                                      -        text: "复选项"
                                                                                                                                                                                                                                      -    }]
                                                                                                                                                                                                                                      -});
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                      API

                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      基础属性
                                                                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                      参数说明类型可选值默认值
                                                                                                                                                                                                                                      hgap效果相当于文本框左右padding值,如果clear属性为true,该属性值置0number10
                                                                                                                                                                                                                                      vgap效果相当于文本框上下padding值number0
                                                                                                                                                                                                                                      lgap效果相当于文本框left-padding值number0
                                                                                                                                                                                                                                      rgap效果相当于文本框right-padding值number0
                                                                                                                                                                                                                                      tgap效果相当于文本框top-padding值number0
                                                                                                                                                                                                                                      bgap效果相当于文本框bottom-padding值number0
                                                                                                                                                                                                                                      items子控件数组array[ ]
                                                                                                                                                                                                                                      width宽度number
                                                                                                                                                                                                                                      height高度number
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      - - -
                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                        - - - - -
                                                                                                                                                                                                                                        - - -
                                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/bi.button/items.md b/docs/_book/detailed/bi.button/items.md deleted file mode 100644 index 57bc8ae655..0000000000 --- a/docs/_book/detailed/bi.button/items.md +++ /dev/null @@ -1,52 +0,0 @@ -## 各种items - -{% method %} -[source](https://jsfiddle.net/fineui/jyo0qdwL/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.vertical', - element: "#wrapper", - items: [{ - type: "bi.label", - height: 30, - text: "单选item" - }, { - type: "bi.single_select_item", - text: "单选项" - }, { - type: "bi.label", - height: 30, - text: "复选item" - }, { - type: "bi.multi_select_item", - text: "复选项" - }] -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值,如果clear属性为true,该属性值置0 | number | — | 10 | -| vgap | 效果相当于文本框上下padding值 | number | — | 0 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| items | 子控件数组 | array | — | [ ] | -| width | 宽度 | number | — | — | -| height | 高度 | number | — | — | - - - ---- - - diff --git a/docs/_book/detailed/bi.button/node.html b/docs/_book/detailed/bi.button/node.html deleted file mode 100644 index a074a45cf3..0000000000 --- a/docs/_book/detailed/bi.button/node.html +++ /dev/null @@ -1,3070 +0,0 @@ - - - - - - - 各种节点nodes · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                        各种节点nodes

                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                        -BI.createWidget({
                                                                                                                                                                                                                                        -    type: 'bi.vertical',
                                                                                                                                                                                                                                        -    element: "#wrapper",
                                                                                                                                                                                                                                        -    items: [{
                                                                                                                                                                                                                                        -        type: "bi.label",
                                                                                                                                                                                                                                        -        height: 30,
                                                                                                                                                                                                                                        -        text: "十字形的节点"
                                                                                                                                                                                                                                        -    }, {
                                                                                                                                                                                                                                        -        type: "bi.plus_group_node",
                                                                                                                                                                                                                                        -        text: "十字形的节点"
                                                                                                                                                                                                                                        -    }, {
                                                                                                                                                                                                                                        -        type: "bi.label",
                                                                                                                                                                                                                                        -        height: 30,
                                                                                                                                                                                                                                        -        text: "三角形的节点"
                                                                                                                                                                                                                                        -    }, {
                                                                                                                                                                                                                                        -        type: "bi.triangle_group_node",
                                                                                                                                                                                                                                        -        text: "三角形的节点"
                                                                                                                                                                                                                                        -    }, {
                                                                                                                                                                                                                                        -        type: "bi.label",
                                                                                                                                                                                                                                        -        height: 30,
                                                                                                                                                                                                                                        -        text: "箭头节点"
                                                                                                                                                                                                                                        -    }, {
                                                                                                                                                                                                                                        -        type: "bi.arrow_group_node",
                                                                                                                                                                                                                                        -        text: "箭头节点"
                                                                                                                                                                                                                                        -    }]
                                                                                                                                                                                                                                        -});
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                        API

                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        基础属性
                                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                        参数说明类型可选值默认值
                                                                                                                                                                                                                                        hgap效果相当于文本框左右padding值,如果clear属性为true,该属性值置0number10
                                                                                                                                                                                                                                        vgap效果相当于文本框上下padding值number0
                                                                                                                                                                                                                                        lgap效果相当于文本框left-padding值number0
                                                                                                                                                                                                                                        rgap效果相当于文本框right-padding值number0
                                                                                                                                                                                                                                        tgap效果相当于文本框top-padding值number0
                                                                                                                                                                                                                                        bgap效果相当于文本框bottom-padding值number0
                                                                                                                                                                                                                                        items子控件数组array[ ]
                                                                                                                                                                                                                                        width宽度number
                                                                                                                                                                                                                                        height高度number
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        - - -
                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                          - - - - -
                                                                                                                                                                                                                                          - - -
                                                                                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/bi.button/node.md b/docs/_book/detailed/bi.button/node.md deleted file mode 100644 index 1445723baf..0000000000 --- a/docs/_book/detailed/bi.button/node.md +++ /dev/null @@ -1,58 +0,0 @@ -## 各种节点nodes - -{% method %} -[source](https://jsfiddle.net/fineui/jg257cog/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.vertical', - element: "#wrapper", - items: [{ - type: "bi.label", - height: 30, - text: "十字形的节点" - }, { - type: "bi.plus_group_node", - text: "十字形的节点" - }, { - type: "bi.label", - height: 30, - text: "三角形的节点" - }, { - type: "bi.triangle_group_node", - text: "三角形的节点" - }, { - type: "bi.label", - height: 30, - text: "箭头节点" - }, { - type: "bi.arrow_group_node", - text: "箭头节点" - }] -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值,如果clear属性为true,该属性值置0 | number | — | 10 | -| vgap | 效果相当于文本框上下padding值 | number | — | 0 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| items | 子控件数组 | array | — | [ ] | -| width | 宽度 | number | — | — | -| height | 高度 | number | — | — | - - ---- - - diff --git a/docs/_book/detailed/bi.button/segment.html b/docs/_book/detailed/bi.button/segment.html deleted file mode 100644 index 583a18ca9b..0000000000 --- a/docs/_book/detailed/bi.button/segment.html +++ /dev/null @@ -1,3068 +0,0 @@ - - - - - - - 各种segment · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                          bi.sgement

                                                                                                                                                                                                                                          -

                                                                                                                                                                                                                                          各种segment

                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                          -BI.createWidget({
                                                                                                                                                                                                                                          -    type: "bi.vertical",
                                                                                                                                                                                                                                          -    element: "#wrapper",
                                                                                                                                                                                                                                          -    items: [{
                                                                                                                                                                                                                                          -        type: "bi.label",
                                                                                                                                                                                                                                          -        height: 30,
                                                                                                                                                                                                                                          -        text: "默认风格"
                                                                                                                                                                                                                                          -    }, {
                                                                                                                                                                                                                                          -        type: "bi.segment",
                                                                                                                                                                                                                                          -        items: [{
                                                                                                                                                                                                                                          -            text: "tab1",
                                                                                                                                                                                                                                          -            value: 1,
                                                                                                                                                                                                                                          -            selected: true
                                                                                                                                                                                                                                          -        }, {
                                                                                                                                                                                                                                          -            text: "tab2",
                                                                                                                                                                                                                                          -            value: 2
                                                                                                                                                                                                                                          -        }, {
                                                                                                                                                                                                                                          -            text: "tab3 disabled",
                                                                                                                                                                                                                                          -            disabled: true,
                                                                                                                                                                                                                                          -            value: 3
                                                                                                                                                                                                                                          -        }]
                                                                                                                                                                                                                                          -    }],
                                                                                                                                                                                                                                          -    hgap: 50,
                                                                                                                                                                                                                                          -    vgap: 20
                                                                                                                                                                                                                                          -});
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                          API

                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          基础属性
                                                                                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                          参数说明类型可选值默认值
                                                                                                                                                                                                                                          hgap效果相当于文本框左右padding值number10
                                                                                                                                                                                                                                          vgap效果相当于文本框上下padding值number0
                                                                                                                                                                                                                                          lgap效果相当于文本框left-padding值number0
                                                                                                                                                                                                                                          rgap效果相当于文本框right-padding值number0
                                                                                                                                                                                                                                          tgap效果相当于文本框top-padding值number0
                                                                                                                                                                                                                                          bgap效果相当于文本框bottom-padding值number0
                                                                                                                                                                                                                                          items子控件数组array[ ]
                                                                                                                                                                                                                                          width宽度number
                                                                                                                                                                                                                                          height高度number
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          - - -
                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                            - - - - -
                                                                                                                                                                                                                                            - - -
                                                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/bi.button/segment.md b/docs/_book/detailed/bi.button/segment.md deleted file mode 100644 index 2261e781ea..0000000000 --- a/docs/_book/detailed/bi.button/segment.md +++ /dev/null @@ -1,58 +0,0 @@ -# bi.sgement - -## 各种segment - -{% method %} -[source](https://jsfiddle.net/fineui/7skvd64L/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.vertical", - element: "#wrapper", - items: [{ - type: "bi.label", - height: 30, - text: "默认风格" - }, { - type: "bi.segment", - items: [{ - text: "tab1", - value: 1, - selected: true - }, { - text: "tab2", - value: 2 - }, { - text: "tab3 disabled", - disabled: true, - value: 3 - }] - }], - hgap: 50, - vgap: 20 -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 10 | -| vgap | 效果相当于文本框上下padding值 | number | — | 0 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| items | 子控件数组 | array | — | [ ] | -| width | 宽度 | number | — | — | -| height | 高度 | number | — | — | - - ---- - - diff --git a/docs/_book/detailed/bi.button/tooltip.html b/docs/_book/detailed/bi.button/tooltip.html deleted file mode 100644 index c736fda25b..0000000000 --- a/docs/_book/detailed/bi.button/tooltip.html +++ /dev/null @@ -1,3058 +0,0 @@ - - - - - - - 提示性信息 · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                            提示性信息

                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            var toast = BI.createWidget({
                                                                                                                                                                                                                                            -    type: "bi.vertical",
                                                                                                                                                                                                                                            -    element: "#wrapper",
                                                                                                                                                                                                                                            -    items: [{
                                                                                                                                                                                                                                            -        el: {
                                                                                                                                                                                                                                            -            type: 'bi.button',
                                                                                                                                                                                                                                            -            text: '简单Toast测试',
                                                                                                                                                                                                                                            -            height: 30,
                                                                                                                                                                                                                                            -            handler: function () {
                                                                                                                                                                                                                                            -                BI.Msg.toast("这是一条简单的数据");
                                                                                                                                                                                                                                            -            }
                                                                                                                                                                                                                                            -        }
                                                                                                                                                                                                                                            -    }],
                                                                                                                                                                                                                                            -    vgap: 20
                                                                                                                                                                                                                                            -});
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                            API

                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            基础属性
                                                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                            参数说明类型可选值默认值
                                                                                                                                                                                                                                            hgap效果相当于文本框左右padding值number10
                                                                                                                                                                                                                                            vgap效果相当于文本框上下padding值number0
                                                                                                                                                                                                                                            lgap效果相当于文本框left-padding值number0
                                                                                                                                                                                                                                            rgap效果相当于文本框right-padding值number0
                                                                                                                                                                                                                                            tgap效果相当于文本框top-padding值number0
                                                                                                                                                                                                                                            bgap效果相当于文本框bottom-padding值number0
                                                                                                                                                                                                                                            items子控件数组array[ ]
                                                                                                                                                                                                                                            width宽度number
                                                                                                                                                                                                                                            height高度number
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            - - -
                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                              - - - - -
                                                                                                                                                                                                                                              - - -
                                                                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/bi.button/tooltip.md b/docs/_book/detailed/bi.button/tooltip.md deleted file mode 100644 index ad2075e880..0000000000 --- a/docs/_book/detailed/bi.button/tooltip.md +++ /dev/null @@ -1,46 +0,0 @@ -## 提示性信息 - -{% method %} -[source](https://jsfiddle.net/fineui/gn25yyrx/) - -{% common %} -```javascript -var toast = BI.createWidget({ - type: "bi.vertical", - element: "#wrapper", - items: [{ - el: { - type: 'bi.button', - text: '简单Toast测试', - height: 30, - handler: function () { - BI.Msg.toast("这是一条简单的数据"); - } - } - }], - vgap: 20 -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 10 | -| vgap | 效果相当于文本框上下padding值 | number | — | 0 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| items | 子控件数组 | array | — | [ ] | -| width | 宽度 | number | — | — | -| height | 高度 | number | — | — | - - - ---- - - diff --git a/docs/_book/detailed/combo/multilayer_select_tree_combo.html b/docs/_book/detailed/combo/multilayer_select_tree_combo.html deleted file mode 100644 index 17a85ccf07..0000000000 --- a/docs/_book/detailed/combo/multilayer_select_tree_combo.html +++ /dev/null @@ -1,3029 +0,0 @@ - - - - - - - multilayer_select_tree_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                              bi.multilayer_select_tree_combo

                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                              多层级下拉可选节点树

                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              var tree = BI.createWidget({
                                                                                                                                                                                                                                              -  type: "bi.multilayer_select_tree_combo",
                                                                                                                                                                                                                                              -  element: 'body',
                                                                                                                                                                                                                                              -  items: [],
                                                                                                                                                                                                                                              -  text: "默认值",
                                                                                                                                                                                                                                              -  width: 300,
                                                                                                                                                                                                                                              -});
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              - - - -

                                                                                                                                                                                                                                              参数设置

                                                                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                              参数说明类型默认值
                                                                                                                                                                                                                                              height高度number30
                                                                                                                                                                                                                                              text文本框值string''
                                                                                                                                                                                                                                              items元素arraynull
                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                              方法

                                                                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                              方法名说明回调参数
                                                                                                                                                                                                                                              populate刷新内容items: 子项数组
                                                                                                                                                                                                                                              setValue设置值setValue
                                                                                                                                                                                                                                              getValue获取值getValue
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              - - -
                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                - - - - -
                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/combo/multilayer_select_tree_combo.md b/docs/_book/detailed/combo/multilayer_select_tree_combo.md deleted file mode 100644 index f5934c7a68..0000000000 --- a/docs/_book/detailed/combo/multilayer_select_tree_combo.md +++ /dev/null @@ -1,41 +0,0 @@ -# bi.multilayer_select_tree_combo - -### 多层级下拉可选节点树 - -{% method %} -[source](https://jsfiddle.net/fineui/ryo1cnrL/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.multilayer_select_tree_combo", - element: 'body', - items: [], - text: "默认值", - width: 300, -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| ------ | ---- | ------ | ---- | -| height | 高度 | number | 30 | -| text | 文本框值 | string | '' | -| items | 元素 | array | null | - - - -### 方法 - -| 方法名 | 说明 | 回调参数 | -| -------- | ---- | ----------- | -| populate | 刷新内容 | items: 子项数组 | -| setValue | 设置值 | setValue | -| getValue | 获取值 | getValue | - ------- \ No newline at end of file diff --git a/docs/_book/detailed/combo/multilayer_single_tree_combo.html b/docs/_book/detailed/combo/multilayer_single_tree_combo.html deleted file mode 100644 index 587b5afb5c..0000000000 --- a/docs/_book/detailed/combo/multilayer_single_tree_combo.html +++ /dev/null @@ -1,3035 +0,0 @@ - - - - - - - multilayer_single_tree_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                bi.multilayer_single_tree_combo

                                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                                多层级下拉单选树

                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                var tree = BI.createWidget({
                                                                                                                                                                                                                                                -  type: "bi.multilayer_single_tree_combo",
                                                                                                                                                                                                                                                -  element: 'body',
                                                                                                                                                                                                                                                -  items: [],
                                                                                                                                                                                                                                                -  text: "默认值",
                                                                                                                                                                                                                                                -  width: 300,
                                                                                                                                                                                                                                                -});
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                - - - -

                                                                                                                                                                                                                                                参数设置

                                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                参数说明类型默认值
                                                                                                                                                                                                                                                height高度number30
                                                                                                                                                                                                                                                text文本框值string''
                                                                                                                                                                                                                                                itemsCreator元素创造器functionBI.emptyFn
                                                                                                                                                                                                                                                items元素arraynull
                                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                                方法

                                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                方法名说明回调参数
                                                                                                                                                                                                                                                populate刷新内容items: 子项数组
                                                                                                                                                                                                                                                setValue设置值setValue
                                                                                                                                                                                                                                                getValue获取值getValue
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                  - - - - -
                                                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/combo/multilayer_single_tree_combo.md b/docs/_book/detailed/combo/multilayer_single_tree_combo.md deleted file mode 100644 index de905edcec..0000000000 --- a/docs/_book/detailed/combo/multilayer_single_tree_combo.md +++ /dev/null @@ -1,42 +0,0 @@ -# bi.multilayer_single_tree_combo - -### 多层级下拉单选树 - -{% method %} -[source](https://jsfiddle.net/fineui/o0u3vp83/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.multilayer_single_tree_combo", - element: 'body', - items: [], - text: "默认值", - width: 300, -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | ----- | -------- | ---------- | -| height | 高度 | number | 30 | -| text | 文本框值 | string | '' | -| itemsCreator | 元素创造器 | function | BI.emptyFn | -| items | 元素 | array | null | - - - -### 方法 - -| 方法名 | 说明 | 回调参数 | -| -------- | ---- | ----------- | -| populate | 刷新内容 | items: 子项数组 | -| setValue | 设置值 | setValue | -| getValue | 获取值 | getValue | - ------- \ No newline at end of file diff --git a/docs/_book/detailed/combo/select_tree_combo.html b/docs/_book/detailed/combo/select_tree_combo.html deleted file mode 100644 index 3cf32f6abe..0000000000 --- a/docs/_book/detailed/combo/select_tree_combo.html +++ /dev/null @@ -1,3029 +0,0 @@ - - - - - - - select_tree_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                  bi.select_tree_combo

                                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                                  二级可选节点下拉框树

                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  var tree = BI.createWidget({
                                                                                                                                                                                                                                                  -  type: "bi.select_tree_combo",
                                                                                                                                                                                                                                                  -  element: 'body',
                                                                                                                                                                                                                                                  -  items: [],
                                                                                                                                                                                                                                                  -  text: "默认值",
                                                                                                                                                                                                                                                  -  width: 300,
                                                                                                                                                                                                                                                  -});
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  - - - -

                                                                                                                                                                                                                                                  参数设置

                                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                  参数说明类型默认值
                                                                                                                                                                                                                                                  height高度number30
                                                                                                                                                                                                                                                  text文本框值string''
                                                                                                                                                                                                                                                  items元素arraynull
                                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                                  方法

                                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                  方法名说明回调参数
                                                                                                                                                                                                                                                  populate刷新内容items: 子项数组
                                                                                                                                                                                                                                                  setValue设置值setValue
                                                                                                                                                                                                                                                  getValue获取值getValue
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                    - - - - -
                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/combo/select_tree_combo.md b/docs/_book/detailed/combo/select_tree_combo.md deleted file mode 100644 index 30d7679c02..0000000000 --- a/docs/_book/detailed/combo/select_tree_combo.md +++ /dev/null @@ -1,41 +0,0 @@ -# bi.select_tree_combo - -### 二级可选节点下拉框树 - -{% method %} -[source](https://jsfiddle.net/fineui/Lgqr17tg/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.select_tree_combo", - element: 'body', - items: [], - text: "默认值", - width: 300, -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| ------- | ---- | ------ | ---- | -| height | 高度 | number | 30 | -| text | 文本框值 | string | '' | -| items | 元素 | array | null | - - - -### 方法 - -| 方法名 | 说明 | 回调参数 | -| -------- | ---- | ----------- | -| populate | 刷新内容 | items: 子项数组 | -| setValue | 设置值 | setValue | -| getValue | 获取值 | getValue | - ------- \ No newline at end of file diff --git a/docs/_book/detailed/combo/single_tree_combo.html b/docs/_book/detailed/combo/single_tree_combo.html deleted file mode 100644 index 3c71eb2d09..0000000000 --- a/docs/_book/detailed/combo/single_tree_combo.html +++ /dev/null @@ -1,3051 +0,0 @@ - - - - - - - single_tree_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                    bi.single_tree_combo

                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                    二级树下拉框

                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    var tree = BI.createWidget({
                                                                                                                                                                                                                                                    -  type: "bi.single_tree_combo",
                                                                                                                                                                                                                                                    -  element: 'body',
                                                                                                                                                                                                                                                    -  items: [],
                                                                                                                                                                                                                                                    -  text: "默认值",
                                                                                                                                                                                                                                                    -  width: 300,
                                                                                                                                                                                                                                                    -});
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    - - - -

                                                                                                                                                                                                                                                    参数设置

                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                    参数说明类型默认值
                                                                                                                                                                                                                                                    trigger下拉列表的弹出方式object{}
                                                                                                                                                                                                                                                    height高度number30
                                                                                                                                                                                                                                                    text文本框值string''
                                                                                                                                                                                                                                                    items元素arraynull
                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                    方法

                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                    方法名说明参数
                                                                                                                                                                                                                                                    populate刷新内容items: 子项数组
                                                                                                                                                                                                                                                    setValue设置值setValue
                                                                                                                                                                                                                                                    getValue获取值getValue
                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                    事件

                                                                                                                                                                                                                                                    - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                    事件说明
                                                                                                                                                                                                                                                    BI.SingleTreeCombo.EVENT_BEFORE_POPUPVIEW下拉框弹出前触发
                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                    其他事件详见Input

                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                      - - - - -
                                                                                                                                                                                                                                                      - - -
                                                                                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/combo/single_tree_combo.md b/docs/_book/detailed/combo/single_tree_combo.md deleted file mode 100644 index e404841467..0000000000 --- a/docs/_book/detailed/combo/single_tree_combo.md +++ /dev/null @@ -1,51 +0,0 @@ -# bi.single_tree_combo - -### 二级树下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/oxkb9uw5/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.single_tree_combo", - element: 'body', - items: [], - text: "默认值", - width: 300, -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| ------- | ---- | ------ | ---- | -| trigger | 下拉列表的弹出方式 | object | {} | -| height | 高度 | number | 30 | -| text | 文本框值 | string | '' | -| items | 元素 | array | null | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ---- | ----------- | -| populate | 刷新内容 | items: 子项数组 | -| setValue | 设置值 | setValue | -| getValue | 获取值 | getValue | - - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.SingleTreeCombo.EVENT_BEFORE_POPUPVIEW| 下拉框弹出前触发 | -其他事件详见[Input](../../base/editor/editor.md) - - ---- - diff --git a/docs/_book/detailed/date/date_combo.html b/docs/_book/detailed/date/date_combo.html deleted file mode 100644 index 44be17b67f..0000000000 --- a/docs/_book/detailed/date/date_combo.html +++ /dev/null @@ -1,2988 +0,0 @@ - - - - - - - date_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                      date_combo

                                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                                      日期选择下拉框(弹出的年月选择可以进一步选择日期)

                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      BI.createWidget({
                                                                                                                                                                                                                                                      -    type: "bi.date_combo",
                                                                                                                                                                                                                                                      -    element: "#wrapper",
                                                                                                                                                                                                                                                      -    width: 300
                                                                                                                                                                                                                                                      -});
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                      参数

                                                                                                                                                                                                                                                      - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                      参数说明类型可选值默认值
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      - - -
                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                        - - - - -
                                                                                                                                                                                                                                                        - - -
                                                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/date/date_combo.md b/docs/_book/detailed/date/date_combo.md deleted file mode 100644 index 0db0306f39..0000000000 --- a/docs/_book/detailed/date/date_combo.md +++ /dev/null @@ -1,25 +0,0 @@ -# date_combo - -##日期选择下拉框(弹出的年月选择可以进一步选择日期) - -{% method %} -[source](https://jsfiddle.net/fineui/ebps32uy/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.date_combo", - element: "#wrapper", - width: 300 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/date/date_pane.html b/docs/_book/detailed/date/date_pane.html deleted file mode 100644 index 66f21fe1f8..0000000000 --- a/docs/_book/detailed/date/date_pane.html +++ /dev/null @@ -1,3006 +0,0 @@ - - - - - - - date_pane · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                        date_pane_widget

                                                                                                                                                                                                                                                        -

                                                                                                                                                                                                                                                        日期选择下拉框的弹出面板

                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        BI.createWidget({
                                                                                                                                                                                                                                                        -    type: "bi.date_pane_widget",
                                                                                                                                                                                                                                                        -    element: "#wrapper",
                                                                                                                                                                                                                                                        -    width: 300
                                                                                                                                                                                                                                                        -});
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                        参数

                                                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                        参数说明类型可选值默认值
                                                                                                                                                                                                                                                        min限定可选日期的下限string'1900-01-01'
                                                                                                                                                                                                                                                        max限定可选日期的上限string'2099-12-31'
                                                                                                                                                                                                                                                        selectedTime选中的初始年月obj({year: y, month: m})
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        - - -
                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                          - - - - -
                                                                                                                                                                                                                                                          - - -
                                                                                                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/date/date_pane.md b/docs/_book/detailed/date/date_pane.md deleted file mode 100644 index 57a0172208..0000000000 --- a/docs/_book/detailed/date/date_pane.md +++ /dev/null @@ -1,28 +0,0 @@ -# date_pane_widget - -##日期选择下拉框的弹出面板 - -{% method %} -[source](https://jsfiddle.net/fineui/rL9005u6/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.date_pane_widget", - element: "#wrapper", - width: 300 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| min | 限定可选日期的下限 | string | | '1900-01-01' | -| max | 限定可选日期的上限 | string | | '2099-12-31' | -| selectedTime | 选中的初始年月 | obj({year: y, month: m}) | — | — | - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/date/date_time.html b/docs/_book/detailed/date/date_time.html deleted file mode 100644 index a747ac7ef7..0000000000 --- a/docs/_book/detailed/date/date_time.html +++ /dev/null @@ -1,3006 +0,0 @@ - - - - - - - date_time · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                          custom_date_time

                                                                                                                                                                                                                                                          -

                                                                                                                                                                                                                                                          日期选择下拉框(可以选择时分秒)

                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          BI.createWidget({
                                                                                                                                                                                                                                                          -    type: "bi.custom_date_time_combo",
                                                                                                                                                                                                                                                          -    element: "#wrapper",
                                                                                                                                                                                                                                                          -});
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                          参数

                                                                                                                                                                                                                                                          - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                          参数说明类型可选值默认值
                                                                                                                                                                                                                                                          -

                                                                                                                                                                                                                                                          事件

                                                                                                                                                                                                                                                          - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                          事件说明
                                                                                                                                                                                                                                                          BI.CustomDateTimeCombo.EVENT_CANCEL点击取消触发
                                                                                                                                                                                                                                                          BI.CustomDateTimeCombo.EVENT_CONFIRM点击确认触发
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          - - -
                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                            - - - - -
                                                                                                                                                                                                                                                            - - -
                                                                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/date/date_time.md b/docs/_book/detailed/date/date_time.md deleted file mode 100644 index cd2b1d4564..0000000000 --- a/docs/_book/detailed/date/date_time.md +++ /dev/null @@ -1,30 +0,0 @@ -# custom_date_time - -## 日期选择下拉框(可以选择时分秒) - -{% method %} -[source](https://jsfiddle.net/fineui/2d9dcxov/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.custom_date_time_combo", - element: "#wrapper", -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -| BI.CustomDateTimeCombo.EVENT_CANCEL| 点击取消触发 | -| BI.CustomDateTimeCombo.EVENT_CONFIRM| 点击确认触发 | - ---- diff --git a/docs/_book/detailed/date/multidate_combo.html b/docs/_book/detailed/date/multidate_combo.html deleted file mode 100644 index a48fb67bb3..0000000000 --- a/docs/_book/detailed/date/multidate_combo.html +++ /dev/null @@ -1,3003 +0,0 @@ - - - - - - - multidate_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                            multidate_combo

                                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                            日期下拉框,基类BI.Widget

                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                            -BI.createWidget({
                                                                                                                                                                                                                                                            -   type: "bi.multidate_combo"
                                                                                                                                                                                                                                                            -});
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                            API

                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            基础属性
                                                                                                                                                                                                                                                            - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                            参数说明类型可选值默认值
                                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                            对外方法

                                                                                                                                                                                                                                                            - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                            名称说明回调参数
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            - - -
                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                              - - - - -
                                                                                                                                                                                                                                                              - - -
                                                                                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/date/multidate_combo.md b/docs/_book/detailed/date/multidate_combo.md deleted file mode 100644 index 7eba70ec04..0000000000 --- a/docs/_book/detailed/date/multidate_combo.md +++ /dev/null @@ -1,34 +0,0 @@ -# multidate_combo - -## 日期下拉框,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/dutd5534/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.multidate_combo" -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/date/time_interval.html b/docs/_book/detailed/date/time_interval.html deleted file mode 100644 index 916b09b339..0000000000 --- a/docs/_book/detailed/date/time_interval.html +++ /dev/null @@ -1,3001 +0,0 @@ - - - - - - - time_interval · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                              time_interval

                                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                                              日期区间,基类BI.Widget

                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                              -BI.createWidget({
                                                                                                                                                                                                                                                              -   type: "bi.time_interval"
                                                                                                                                                                                                                                                              -});
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                              API

                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              基础属性
                                                                                                                                                                                                                                                              - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                              参数说明类型可选值默认值
                                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                                              对外方法

                                                                                                                                                                                                                                                              - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                              名称说明回调参数
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              - - -
                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                - - - - -
                                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/date/time_interval.md b/docs/_book/detailed/date/time_interval.md deleted file mode 100644 index 2b360d06b9..0000000000 --- a/docs/_book/detailed/date/time_interval.md +++ /dev/null @@ -1,34 +0,0 @@ -# time_interval - -## 日期区间,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/fcfwjsuk/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.time_interval" -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/date/year_month_combo.html b/docs/_book/detailed/date/year_month_combo.html deleted file mode 100644 index f7c1d371ed..0000000000 --- a/docs/_book/detailed/date/year_month_combo.html +++ /dev/null @@ -1,3017 +0,0 @@ - - - - - - - year_month_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                year_month_combo

                                                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                                                年月选择下拉框

                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                BI.createWidget({
                                                                                                                                                                                                                                                                -    type: "bi.year_month_combo",
                                                                                                                                                                                                                                                                -    width: 300
                                                                                                                                                                                                                                                                -});
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                参数

                                                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                参数说明类型可选值默认值
                                                                                                                                                                                                                                                                yearBehaviors自定义年份选择的行为(详见button_group)object{ }
                                                                                                                                                                                                                                                                monthBehaviors自定义年份选择的行为(详见button_group)object{ }
                                                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                                                事件

                                                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                事件说明
                                                                                                                                                                                                                                                                BI.YearMonthCombo.EVENT_BEFORE_POPUPVIEW弹出框弹出前触发
                                                                                                                                                                                                                                                                BI.YearMonthCombo.EVENT_CONFIRM点击确认触发
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                  - - - - -
                                                                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/date/year_month_combo.md b/docs/_book/detailed/date/year_month_combo.md deleted file mode 100644 index f22537f98b..0000000000 --- a/docs/_book/detailed/date/year_month_combo.md +++ /dev/null @@ -1,33 +0,0 @@ -# year_month_combo - -##年月选择下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/ehvjj3xt/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.year_month_combo", - width: 300 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| yearBehaviors |自定义年份选择的行为(详见[button_group](../../core/abstract/button_group.md)) | object| —| { } | -| monthBehaviors |自定义年份选择的行为(详见[button_group](../../core/abstract/button_group.md)) | object|— | { }| - - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -| BI.YearMonthCombo.EVENT_BEFORE_POPUPVIEW | 弹出框弹出前触发 | -| BI.YearMonthCombo.EVENT_CONFIRM| 点击确认触发 | - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/date/year_quarter_combo.html b/docs/_book/detailed/date/year_quarter_combo.html deleted file mode 100644 index 12b3c53cb5..0000000000 --- a/docs/_book/detailed/date/year_quarter_combo.html +++ /dev/null @@ -1,3017 +0,0 @@ - - - - - - - year_quarter_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                  year_quarter_combo

                                                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                                                  年季度选择下拉框

                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  BI.createWidget({
                                                                                                                                                                                                                                                                  -    type: "bi.year_quarter_combo",
                                                                                                                                                                                                                                                                  -    width: 300
                                                                                                                                                                                                                                                                  -});
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                  参数

                                                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                  参数说明类型可选值默认值
                                                                                                                                                                                                                                                                  yearBehaviors自定义年份选择的行为(详见button_group)object
                                                                                                                                                                                                                                                                  monthBehaviors自定义年份选择的行为(详见button_group)object{ }
                                                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                                                  事件

                                                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                  事件说明
                                                                                                                                                                                                                                                                  BI.YearQuarterCombo.EVENT_BEFORE_POPUPVIEW弹出框弹出前触发
                                                                                                                                                                                                                                                                  BI.YearQuarterCombo.EVENT_CONFIRM点击确认触发
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                    - - - - -
                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/date/year_quarter_combo.md b/docs/_book/detailed/date/year_quarter_combo.md deleted file mode 100644 index 6389cf304d..0000000000 --- a/docs/_book/detailed/date/year_quarter_combo.md +++ /dev/null @@ -1,34 +0,0 @@ -# year_quarter_combo - -##年季度选择下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/xe6Lt6mo/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.year_quarter_combo", - width: 300 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| yearBehaviors |自定义年份选择的行为(详见[button_group](../../core/abstract/button_group.md)) | object| | | -| monthBehaviors |自定义年份选择的行为(详见[button_group](../../core/abstract/button_group.md)) | object| —|{ } | - - - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -| BI.YearQuarterCombo.EVENT_BEFORE_POPUPVIEW | 弹出框弹出前触发 | -| BI.YearQuarterCombo.EVENT_CONFIRM| 点击确认触发 | - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/down_list_combo.html b/docs/_book/detailed/down_list_combo.html deleted file mode 100644 index 2ca2b300d5..0000000000 --- a/docs/_book/detailed/down_list_combo.html +++ /dev/null @@ -1,3073 +0,0 @@ - - - - - - - down_list_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                    down_list_combo

                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                    多层下拉列表的下拉框

                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    BI.createWidget({
                                                                                                                                                                                                                                                                    -    type: 'bi.down_list_combo',
                                                                                                                                                                                                                                                                    -    element: '#wrapper',
                                                                                                                                                                                                                                                                    -    width: 300,
                                                                                                                                                                                                                                                                    -    items: [
                                                                                                                                                                                                                                                                    -                [{
                                                                                                                                                                                                                                                                    -                    el: {
                                                                                                                                                                                                                                                                    -                        text: "column 1111",
                                                                                                                                                                                                                                                                    -                        iconCls1: "check-mark-e-font",
                                                                                                                                                                                                                                                                    -                        value: 11
                                                                                                                                                                                                                                                                    -                    },
                                                                                                                                                                                                                                                                    -                    children: [{
                                                                                                                                                                                                                                                                    -                        text: "column 1.1",
                                                                                                                                                                                                                                                                    -                        value: 21,
                                                                                                                                                                                                                                                                    -                        cls: "dot-e-font",
                                                                                                                                                                                                                                                                    -                        selected: true
                                                                                                                                                                                                                                                                    -                    }, {
                                                                                                                                                                                                                                                                    -                        text: "column 1.222222222222222222222222222222222222",
                                                                                                                                                                                                                                                                    -                        cls: "dot-e-font",
                                                                                                                                                                                                                                                                    -                        value: 22,
                                                                                                                                                                                                                                                                    -                    }]
                                                                                                                                                                                                                                                                    -                }],
                                                                                                                                                                                                                                                                    -                [{
                                                                                                                                                                                                                                                                    -                    el: {
                                                                                                                                                                                                                                                                    -                        type: "bi.icon_text_icon_item",
                                                                                                                                                                                                                                                                    -                        text: "column 2",
                                                                                                                                                                                                                                                                    -                        iconCls1: "chart-type-e-font",
                                                                                                                                                                                                                                                                    -                        cls: "dot-e-font",
                                                                                                                                                                                                                                                                    -                        value: 12
                                                                                                                                                                                                                                                                    -                    },
                                                                                                                                                                                                                                                                    -                    disabled: true,
                                                                                                                                                                                                                                                                    -                    children: [{
                                                                                                                                                                                                                                                                    -                            type: "bi.icon_text_item",
                                                                                                                                                                                                                                                                    -                            cls: "dot-e-font",
                                                                                                                                                                                                                                                                    -                            height: 25,
                                                                                                                                                                                                                                                                    -                            text: "column 2.1",
                                                                                                                                                                                                                                                                    -                            value: 11
                                                                                                                                                                                                                                                                    -                           }, {
                                                                                                                                                                                                                                                                    -                            text: "column 2.2",
                                                                                                                                                                                                                                                                    -                            value: 12,
                                                                                                                                                                                                                                                                    -                            cls: "dot-e-font"
                                                                                                                                                                                                                                                                    -                          }]
                                                                                                                                                                                                                                                                    -                    }]
                                                                                                                                                                                                                                                                    -                ]
                                                                                                                                                                                                                                                                    -});
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                    参数

                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                    参数说明类型可选值默认值
                                                                                                                                                                                                                                                                    el自定义下拉框triggerobject
                                                                                                                                                                                                                                                                    trigger下拉列表的弹出方式stringclick, hoverclick
                                                                                                                                                                                                                                                                    direction弹出列表和trigger的位置关系stringtop | bottom | left | right | top,left | top,right | bottom,left | bottom,rightbottom
                                                                                                                                                                                                                                                                    adjustLength弹出列表和trigger的距离number0
                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                    事件

                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                    事件说明
                                                                                                                                                                                                                                                                    BI.DownListCombo.EVENT_CHANGE点击一级节点触发
                                                                                                                                                                                                                                                                    BI.DownListCombo.EVENT_SON_VALUE_CHANGE点击二级节点触发
                                                                                                                                                                                                                                                                    BI.DownListCombo.EVENT_BEFORE_POPUPVIEW下拉列表弹出前触发
                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                    具体配置方法见Combo

                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                      - - - - -
                                                                                                                                                                                                                                                                      - - -
                                                                                                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/down_list_combo.md b/docs/_book/detailed/down_list_combo.md deleted file mode 100644 index 5766bd5325..0000000000 --- a/docs/_book/detailed/down_list_combo.md +++ /dev/null @@ -1,80 +0,0 @@ -# down_list_combo - -## 多层下拉列表的下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/p0hykqo9/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.down_list_combo', - element: '#wrapper', - width: 300, - items: [ - [{ - el: { - text: "column 1111", - iconCls1: "check-mark-e-font", - value: 11 - }, - children: [{ - text: "column 1.1", - value: 21, - cls: "dot-e-font", - selected: true - }, { - text: "column 1.222222222222222222222222222222222222", - cls: "dot-e-font", - value: 22, - }] - }], - [{ - el: { - type: "bi.icon_text_icon_item", - text: "column 2", - iconCls1: "chart-type-e-font", - cls: "dot-e-font", - value: 12 - }, - disabled: true, - children: [{ - type: "bi.icon_text_item", - cls: "dot-e-font", - height: 25, - text: "column 2.1", - value: 11 - }, { - text: "column 2.2", - value: 12, - cls: "dot-e-font" - }] - }] - ] -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| el | 自定义下拉框trigger | object | | | -| trigger | 下拉列表的弹出方式 | string | click, hover | click | -| direction | 弹出列表和trigger的位置关系 | string | top | bottom | left | right | top,left | top,right | bottom,left | bottom,right | bottom | -| adjustLength | 弹出列表和trigger的距离 | number | | 0 | - - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.DownListCombo.EVENT_CHANGE| 点击一级节点触发 | -|BI.DownListCombo.EVENT_SON_VALUE_CHANGE| 点击二级节点触发 | -|BI.DownListCombo.EVENT_BEFORE_POPUPVIEW| 下拉列表弹出前触发 | - -##具体配置方法见[Combo](../core/combination/bi.combo.md) - - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/file_manager.html b/docs/_book/detailed/file_manager.html deleted file mode 100644 index 5939f6088f..0000000000 --- a/docs/_book/detailed/file_manager.html +++ /dev/null @@ -1,3003 +0,0 @@ - - - - - - - file_manager · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                                      file_manager

                                                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                                                      文件管理器

                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      BI.createWidget({
                                                                                                                                                                                                                                                                      -    type: "bi.file_manager",
                                                                                                                                                                                                                                                                      -    items: [{
                                                                                                                                                                                                                                                                      -                id: "1",
                                                                                                                                                                                                                                                                      -                value: "1",
                                                                                                                                                                                                                                                                      -                text: "根目录"
                                                                                                                                                                                                                                                                      -              }, {
                                                                                                                                                                                                                                                                      -                id: "11",
                                                                                                                                                                                                                                                                      -                pId: "1",
                                                                                                                                                                                                                                                                      -                value: "11",
                                                                                                                                                                                                                                                                      -                text: "第一级子目录1"
                                                                                                                                                                                                                                                                      -              }, {
                                                                                                                                                                                                                                                                      -                id: "12",
                                                                                                                                                                                                                                                                      -                pId: "1",
                                                                                                                                                                                                                                                                      -                value: "12",
                                                                                                                                                                                                                                                                      -                text: "第一级子目录2"
                                                                                                                                                                                                                                                                      -              }]
                                                                                                                                                                                                                                                                      -})
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      - - - -

                                                                                                                                                                                                                                                                      方法

                                                                                                                                                                                                                                                                      - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                      方法说明
                                                                                                                                                                                                                                                                      getSelectedValue()获取当前选中项的value值
                                                                                                                                                                                                                                                                      getSelectedId获取当前选中项的id属性
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      - - -
                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                        - - - - -
                                                                                                                                                                                                                                                                        - - -
                                                                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/file_manager.md b/docs/_book/detailed/file_manager.md deleted file mode 100644 index dbad359670..0000000000 --- a/docs/_book/detailed/file_manager.md +++ /dev/null @@ -1,42 +0,0 @@ -# file_manager - -## 文件管理器 - -{% method %} -[source](https://jsfiddle.net/fineui/2g4k0kxh/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.file_manager", - items: [{ - id: "1", - value: "1", - text: "根目录" - }, { - id: "11", - pId: "1", - value: "11", - text: "第一级子目录1" - }, { - id: "12", - pId: "1", - value: "12", - text: "第一级子目录2" - }] -}) -``` - -{% endmethod %} - - - -##方法 - -| 方法 | 说明 | -| :------ |:------------- | -| getSelectedValue() | 获取当前选中项的value值 | -| getSelectedId | 获取当前选中项的id属性 | - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/month_combo.html b/docs/_book/detailed/month_combo.html deleted file mode 100644 index 9e6e251f5c..0000000000 --- a/docs/_book/detailed/month_combo.html +++ /dev/null @@ -1,3011 +0,0 @@ - - - - - - - month_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                                        month_combo

                                                                                                                                                                                                                                                                        -

                                                                                                                                                                                                                                                                        月份选择下拉框

                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        BI.createWidget({
                                                                                                                                                                                                                                                                        -    type: 'bi.month_combo',
                                                                                                                                                                                                                                                                        -    element: '#wrapper',
                                                                                                                                                                                                                                                                        -    width: 300
                                                                                                                                                                                                                                                                        -});
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                                        参数

                                                                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                        参数说明类型可选值默认值
                                                                                                                                                                                                                                                                        behaviors自定义下拉列表中item项的行为,如高亮,标红等(详见button_group)object{}
                                                                                                                                                                                                                                                                        -

                                                                                                                                                                                                                                                                        事件

                                                                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                        事件说明
                                                                                                                                                                                                                                                                        BI.MonthCombo.EVENT_CONFIRM选中日期或者退出编辑状态触发
                                                                                                                                                                                                                                                                        BI.MonthCombo.EVENT_BEFORE_POPUPVIEW选中日期或者退出编辑状态触发
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        - - -
                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                          - - - - -
                                                                                                                                                                                                                                                                          - - -
                                                                                                                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/month_combo.md b/docs/_book/detailed/month_combo.md deleted file mode 100644 index ea87ce4bc5..0000000000 --- a/docs/_book/detailed/month_combo.md +++ /dev/null @@ -1,34 +0,0 @@ -# month_combo - -## 月份选择下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/u4u04ntn/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.month_combo', - element: '#wrapper', - width: 300 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| behaviors | 自定义下拉列表中item项的行为,如高亮,标红等(详见[button_group](../core/abstract/button_group.md)) | object | | {} | - - - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.MonthCombo.EVENT_CONFIRM| 选中日期或者退出编辑状态触发 | -|BI.MonthCombo.EVENT_BEFORE_POPUPVIEW| 选中日期或者退出编辑状态触发 | - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/multi_select_combo.html b/docs/_book/detailed/multi_select_combo.html deleted file mode 100644 index edfd61ef33..0000000000 --- a/docs/_book/detailed/multi_select_combo.html +++ /dev/null @@ -1,2988 +0,0 @@ - - - - - - - multi_select_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                                          multi_select_combo

                                                                                                                                                                                                                                                                          -

                                                                                                                                                                                                                                                                          带确定的复选下拉框

                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          BI.createWidget({
                                                                                                                                                                                                                                                                          -    type: "bi.multi_select_combo",
                                                                                                                                                                                                                                                                          -    element: '#wrapper',
                                                                                                                                                                                                                                                                          -    width: 500,
                                                                                                                                                                                                                                                                          -    itemsCreator: function(){
                                                                                                                                                                                                                                                                          -        return {
                                                                                                                                                                                                                                                                          -            items: [],
                                                                                                                                                                                                                                                                          -            hasNext: false
                                                                                                                                                                                                                                                                          -        }
                                                                                                                                                                                                                                                                          -    }
                                                                                                                                                                                                                                                                          -});
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                          事件说明
                                                                                                                                                                                                                                                                          BI.MultiSelectCombo.EVENT_CONFIRM点击确定触发
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          - - -
                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                            - - - - -
                                                                                                                                                                                                                                                                            - - -
                                                                                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/multi_select_combo.md b/docs/_book/detailed/multi_select_combo.md deleted file mode 100644 index f0b44627d0..0000000000 --- a/docs/_book/detailed/multi_select_combo.md +++ /dev/null @@ -1,31 +0,0 @@ -# multi_select_combo - -## 带确定的复选下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/oskypvLe/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.multi_select_combo", - element: '#wrapper', - width: 500, - itemsCreator: function(){ - return { - items: [], - hasNext: false - } - } -}); -``` - -{% endmethod %} - - -| 事件 | 说明 | -| :------ |:------------- | -|BI.MultiSelectCombo.EVENT_CONFIRM| 点击确定触发 | - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/number_interval.html b/docs/_book/detailed/number_interval.html deleted file mode 100644 index 939b9fafc4..0000000000 --- a/docs/_book/detailed/number_interval.html +++ /dev/null @@ -1,3070 +0,0 @@ - - - - - - - number_interval · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                                            bi.number_interval

                                                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                                            数值区间控件

                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            BI.createWidget({
                                                                                                                                                                                                                                                                            -    type: "bi.number_interval",
                                                                                                                                                                                                                                                                            -    element: 'body',
                                                                                                                                                                                                                                                                            -    width: 500
                                                                                                                                                                                                                                                                            -});
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                                            参数

                                                                                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                            参数说明类型可选值默认值
                                                                                                                                                                                                                                                                            min最小值初始值number
                                                                                                                                                                                                                                                                            max最大值初始值number
                                                                                                                                                                                                                                                                            closeMin左区间初始状态booleantrue
                                                                                                                                                                                                                                                                            closeMax右区间初始状态booleantrue
                                                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                                            方法

                                                                                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                            方法说明用法
                                                                                                                                                                                                                                                                            isStateValid()当前状态是否有效(输入是否合法, 区间是否成立)
                                                                                                                                                                                                                                                                            setMinEnable(boolean)设置左区间输入框disable状态
                                                                                                                                                                                                                                                                            setCloseMinEnable(boolean)设置左区间开闭combo的disable状态
                                                                                                                                                                                                                                                                            setMaxEnable(boolean)设置右区间输入框disable状态
                                                                                                                                                                                                                                                                            setCloseMaxEnable(boolean)设置右区间开闭combo的disable状态
                                                                                                                                                                                                                                                                            setNumTip(string)设置数值区间的tip提示
                                                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                                            事件

                                                                                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                            事件说明
                                                                                                                                                                                                                                                                            BI.NumberInterval.EVENT_VALID区间合法的状态事件
                                                                                                                                                                                                                                                                            BI.NumberInterval.EVENT_ERROR区间不合法的状态事件
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            - - -
                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                              - - - - -
                                                                                                                                                                                                                                                                              - - -
                                                                                                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/number_interval.md b/docs/_book/detailed/number_interval.md deleted file mode 100644 index 9c781fb650..0000000000 --- a/docs/_book/detailed/number_interval.md +++ /dev/null @@ -1,45 +0,0 @@ -# bi.number_interval - -## 数值区间控件 - -{% method %} -[source](https://jsfiddle.net/fineui/5mmj70j5/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.number_interval", - element: 'body', - width: 500 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| min | 最小值初始值 | number | | 无 | -| max | 最大值初始值 | number | | 无 | -| closeMin | 左区间初始状态 | boolean | | true | -| closeMax | 右区间初始状态 | boolean | | true | - -## 方法 -| 方法 | 说明 | 用法 | -| ---------------------------- | ---------------- | ------------------------------------ | -| isStateValid() | 当前状态是否有效(输入是否合法, 区间是否成立) | | -| setMinEnable(boolean) | 设置左区间输入框disable状态 | | -| setCloseMinEnable(boolean) | 设置左区间开闭combo的disable状态 | | -| setMaxEnable(boolean) | 设置右区间输入框disable状态 | | -| setCloseMaxEnable(boolean) | 设置右区间开闭combo的disable状态 | | -| setNumTip(string) | 设置数值区间的tip提示 | — | - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.NumberInterval.EVENT_VALID| 区间合法的状态事件 | -|BI.NumberInterval.EVENT_ERROR| 区间不合法的状态事件 | - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/path/direction_path_chooser.html b/docs/_book/detailed/path/direction_path_chooser.html deleted file mode 100644 index e09d92152c..0000000000 --- a/docs/_book/detailed/path/direction_path_chooser.html +++ /dev/null @@ -1,3004 +0,0 @@ - - - - - - - direction_path_chooser · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                                              direction_path_chooser

                                                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                                                              带方向的路径选择

                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              BI.createWidget({
                                                                                                                                                                                                                                                                              -    type: "bi.direction_path_chooser",
                                                                                                                                                                                                                                                                              -    element: "#wrapper",
                                                                                                                                                                                                                                                                              -    items: [[{
                                                                                                                                                                                                                                                                              -                "region": "合同信息",
                                                                                                                                                                                                                                                                              -                "text": "客户ID",
                                                                                                                                                                                                                                                                              -                "value": "defa1f7ba8b2684a客户ID"
                                                                                                                                                                                                                                                                              -            }, {
                                                                                                                                                                                                                                                                              -                "region": "客户信息",
                                                                                                                                                                                                                                                                              -                "text": "主键",
                                                                                                                                                                                                                                                                              -                "value": "1f4711c201ef1842",
                                                                                                                                                                                                                                                                              -                "direction": -1
                                                                                                                                                                                                                                                                              -            }, {
                                                                                                                                                                                                                                                                              -                "region": "合同的回款信息",
                                                                                                                                                                                                                                                                              -                "text": "合同ID",
                                                                                                                                                                                                                                                                              -                "value": "e351e9f1d8147947合同ID",
                                                                                                                                                                                                                                                                              -                "direction": -1
                                                                                                                                                                                                                                                                              -            }]]
                                                                                                                                                                                                                                                                              -});
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                                              参数

                                                                                                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                              参数说明类型可选值默认值
                                                                                                                                                                                                                                                                              items二维数组,每个元素代表一条路径,相较于path_chooser多一个属性direction来指定方向array[ ]
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              - - -
                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                - - - - -
                                                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/path/direction_path_chooser.md b/docs/_book/detailed/path/direction_path_chooser.md deleted file mode 100644 index e22203d234..0000000000 --- a/docs/_book/detailed/path/direction_path_chooser.md +++ /dev/null @@ -1,40 +0,0 @@ -# direction_path_chooser - -## 带方向的路径选择 - -{% method %} -[source](https://jsfiddle.net/fineui/04h6gsps/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.direction_path_chooser", - element: "#wrapper", - items: [[{ - "region": "合同信息", - "text": "客户ID", - "value": "defa1f7ba8b2684a客户ID" - }, { - "region": "客户信息", - "text": "主键", - "value": "1f4711c201ef1842", - "direction": -1 - }, { - "region": "合同的回款信息", - "text": "合同ID", - "value": "e351e9f1d8147947合同ID", - "direction": -1 - }]] -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| items |二维数组,每个元素代表一条路径,相较于[path_chooser](path_chooser.md)多一个属性direction来指定方向 | array| — | [ ]| - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/path/path_chooser.html b/docs/_book/detailed/path/path_chooser.html deleted file mode 100644 index f627e59383..0000000000 --- a/docs/_book/detailed/path/path_chooser.html +++ /dev/null @@ -1,3005 +0,0 @@ - - - - - - - path_chooser · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                path_chooser

                                                                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                                                                路径选择

                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                BI.createWidget({
                                                                                                                                                                                                                                                                                -    type: "bi.path_chooser",
                                                                                                                                                                                                                                                                                -    element: "#wrapper",
                                                                                                                                                                                                                                                                                -    items: [[{
                                                                                                                                                                                                                                                                                -        "region": "8c4460bc3605685e",
                                                                                                                                                                                                                                                                                -        "regionText": "采购订单XXX",
                                                                                                                                                                                                                                                                                -        "text": "ID",
                                                                                                                                                                                                                                                                                -        "value": "1"
                                                                                                                                                                                                                                                                                -    }, {
                                                                                                                                                                                                                                                                                -        "region": "0fbd0dc648f41e97",
                                                                                                                                                                                                                                                                                -        "regionText": "采购订单",
                                                                                                                                                                                                                                                                                -        "text": "学号",
                                                                                                                                                                                                                                                                                -        "value": "3"
                                                                                                                                                                                                                                                                                -    }, {
                                                                                                                                                                                                                                                                                -        "region": "c6d72d6c7e19a667",
                                                                                                                                                                                                                                                                                -        "regionText": "供应商基本信息",
                                                                                                                                                                                                                                                                                -        "text": "ID",
                                                                                                                                                                                                                                                                                -        "value": "5"
                                                                                                                                                                                                                                                                                -    }]]
                                                                                                                                                                                                                                                                                -});
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                参数

                                                                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                参数说明类型可选值默认值
                                                                                                                                                                                                                                                                                items二维数组,每个元素代表一条路径array[ ]
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                  - - - - -
                                                                                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/path/path_chooser.md b/docs/_book/detailed/path/path_chooser.md deleted file mode 100644 index 097ecb0607..0000000000 --- a/docs/_book/detailed/path/path_chooser.md +++ /dev/null @@ -1,42 +0,0 @@ -# path_chooser - -## 路径选择 - -{% method %} -[source](https://jsfiddle.net/fineui/5519b4xo/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.path_chooser", - element: "#wrapper", - items: [[{ - "region": "8c4460bc3605685e", - "regionText": "采购订单XXX", - "text": "ID", - "value": "1" - }, { - "region": "0fbd0dc648f41e97", - "regionText": "采购订单", - "text": "学号", - "value": "3" - }, { - "region": "c6d72d6c7e19a667", - "regionText": "供应商基本信息", - "text": "ID", - "value": "5" - }]] -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| items |二维数组,每个元素代表一条路径 | array| — | [ ] | - - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/quarter_combo.html b/docs/_book/detailed/quarter_combo.html deleted file mode 100644 index 0f2e6b977c..0000000000 --- a/docs/_book/detailed/quarter_combo.html +++ /dev/null @@ -1,3011 +0,0 @@ - - - - - - - quarter_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                                  quarter_combo

                                                                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                                                                  季度选择下拉框

                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  BI.createWidget({
                                                                                                                                                                                                                                                                                  -    type: 'bi.quarter_combo',
                                                                                                                                                                                                                                                                                  -    element: '#wrapper',
                                                                                                                                                                                                                                                                                  -    width: 300
                                                                                                                                                                                                                                                                                  -});
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                                  参数

                                                                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                  参数说明类型可选值默认值
                                                                                                                                                                                                                                                                                  behaviors自定义下拉列表中item项的行为,如高亮,标红等(详见button_group)object{}
                                                                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                                                                  事件

                                                                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                  事件说明
                                                                                                                                                                                                                                                                                  BI.QuarterCombo.EVENT_CONFIRM选中日期或者退出编辑状态触发
                                                                                                                                                                                                                                                                                  BI.QuarterCombo.EVENT_BEFORE_POPUPVIEW选中日期或者退出编辑状态触发
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                    - - - - -
                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/quarter_combo.md b/docs/_book/detailed/quarter_combo.md deleted file mode 100644 index e15d26d540..0000000000 --- a/docs/_book/detailed/quarter_combo.md +++ /dev/null @@ -1,34 +0,0 @@ -# quarter_combo - -## 季度选择下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/rw7ubwtj/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.quarter_combo', - element: '#wrapper', - width: 300 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| behaviors | 自定义下拉列表中item项的行为,如高亮,标红等(详见[button_group](../core/abstract/button_group.md)) | object | | {} | - - - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.QuarterCombo.EVENT_CONFIRM| 选中日期或者退出编辑状态触发 | -|BI.QuarterCombo.EVENT_BEFORE_POPUPVIEW| 选中日期或者退出编辑状态触发 | - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/relation_view.html b/docs/_book/detailed/relation_view.html deleted file mode 100644 index 82785f5c16..0000000000 --- a/docs/_book/detailed/relation_view.html +++ /dev/null @@ -1,2993 +0,0 @@ - - - - - - - relation_view · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                                    relation_view

                                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                                    关联视图

                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    BI.createWidget({
                                                                                                                                                                                                                                                                                    -    type: "bi.relation_view",
                                                                                                                                                                                                                                                                                    -    items: [{
                                                                                                                                                                                                                                                                                    -                primary: {
                                                                                                                                                                                                                                                                                    -                     region: "B", regionText: "比",
                                                                                                                                                                                                                                                                                    -                     title: "b2...",
                                                                                                                                                                                                                                                                                    -                     value: "b2", text: "b2字段"
                                                                                                                                                                                                                                                                                    -                },
                                                                                                                                                                                                                                                                                    -                foreign: {region: "C", value: "c1", text: "c1字段"}
                                                                                                                                                                                                                                                                                    -             }, {
                                                                                                                                                                                                                                                                                    -                  primary: {region: "A", value: "a1", text: "a1字段"},
                                                                                                                                                                                                                                                                                    -                  foreign: {region: "C", value: "c2", text: "c2字段"}
                                                                                                                                                                                                                                                                                    -             }]
                                                                                                                                                                                                                                                                                    -});
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                                    参数

                                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                    参数说明类型可选值默认值
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                      - - - - -
                                                                                                                                                                                                                                                                                      - - -
                                                                                                                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/relation_view.md b/docs/_book/detailed/relation_view.md deleted file mode 100644 index d2997620d7..0000000000 --- a/docs/_book/detailed/relation_view.md +++ /dev/null @@ -1,35 +0,0 @@ -# relation_view - -## 关联视图 - -{% method %} -[source](https://jsfiddle.net/fineui/k19mvL7q/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.relation_view", - items: [{ - primary: { - region: "B", regionText: "比", - title: "b2...", - value: "b2", text: "b2字段" - }, - foreign: {region: "C", value: "c1", text: "c1字段"} - }, { - primary: {region: "A", value: "a1", text: "a1字段"}, - foreign: {region: "C", value: "c2", text: "c2字段"} - }] -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| - - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/single_slider.html b/docs/_book/detailed/single_slider.html deleted file mode 100644 index f219f22907..0000000000 --- a/docs/_book/detailed/single_slider.html +++ /dev/null @@ -1,3026 +0,0 @@ - - - - - - - single_slider · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                                                      bi.single_slider

                                                                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                                                                      数值滑块

                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      var singleSlider = BI.createWidget({
                                                                                                                                                                                                                                                                                      -    type: "bi.single_slider",
                                                                                                                                                                                                                                                                                      -    element: "body",
                                                                                                                                                                                                                                                                                      -    width: 200,
                                                                                                                                                                                                                                                                                      -    height: 50,
                                                                                                                                                                                                                                                                                      -    cls: "demo-slider"
                                                                                                                                                                                                                                                                                      -});
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      -singleSlider.setMinAndMax({
                                                                                                                                                                                                                                                                                      -    min: 10,
                                                                                                                                                                                                                                                                                      -    max: 100
                                                                                                                                                                                                                                                                                      -});
                                                                                                                                                                                                                                                                                      -singleSlider.setValue(30);
                                                                                                                                                                                                                                                                                      -singleSlider.populate();
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      - - - -

                                                                                                                                                                                                                                                                                      参数

                                                                                                                                                                                                                                                                                      - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                      参数说明类型默认值
                                                                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                                                                      方法

                                                                                                                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                      方法名说明参数
                                                                                                                                                                                                                                                                                      setMinAndMax设置最大值最小值{min: number, max: number}
                                                                                                                                                                                                                                                                                      getValue获得当前值
                                                                                                                                                                                                                                                                                      setValue设置当前值value
                                                                                                                                                                                                                                                                                      populate加载设置后的控件
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      - - -
                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                        - - - - -
                                                                                                                                                                                                                                                                                        - - -
                                                                                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/single_slider.md b/docs/_book/detailed/single_slider.md deleted file mode 100644 index 2618951ee7..0000000000 --- a/docs/_book/detailed/single_slider.md +++ /dev/null @@ -1,48 +0,0 @@ -# bi.single_slider - -## 数值滑块 - -{% method %} -[source](https://jsfiddle.net/fineui/k6svamdz/) - -{% common %} -```javascript -var singleSlider = BI.createWidget({ - type: "bi.single_slider", - element: "body", - width: 200, - height: 50, - cls: "demo-slider" -}); - -singleSlider.setMinAndMax({ - min: 10, - max: 100 -}); -singleSlider.setValue(30); -singleSlider.populate(); - -``` - -{% endmethod %} - - - -##参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ---- | ---- | ------ | ---- | - - - -## 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ---- | ----- | -| setMinAndMax | 设置最大值最小值 | {min: number, max: number} | -| getValue | 获得当前值 | — | -| setValue | 设置当前值 | value | -| populate | 加载设置后的控件 | — | - ------- - diff --git a/docs/_book/detailed/table/bi.page_table.html b/docs/_book/detailed/table/bi.page_table.html deleted file mode 100644 index b06f47dca7..0000000000 --- a/docs/_book/detailed/table/bi.page_table.html +++ /dev/null @@ -1,3315 +0,0 @@ - - - - - - - page_table · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                                                        bi.page_table

                                                                                                                                                                                                                                                                                        -

                                                                                                                                                                                                                                                                                        分页表格

                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        BI.createWidget({
                                                                                                                                                                                                                                                                                        -  type: "bi.page_table",
                                                                                                                                                                                                                                                                                        -  element: "body",
                                                                                                                                                                                                                                                                                        -  columnSize: [200,200],
                                                                                                                                                                                                                                                                                        -  items: [],
                                                                                                                                                                                                                                                                                        -  pager: {
                                                                                                                                                                                                                                                                                        -    horizontal : {},
                                                                                                                                                                                                                                                                                        -    vertical: {}
                                                                                                                                                                                                                                                                                        -  } 
                                                                                                                                                                                                                                                                                        -});
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                                                        参数设置

                                                                                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                        参数二级参数三级参数说明类型默认值
                                                                                                                                                                                                                                                                                        pager分页选项object
                                                                                                                                                                                                                                                                                        horizontal水平分页选项object
                                                                                                                                                                                                                                                                                        pages显示总页数booleanfalse
                                                                                                                                                                                                                                                                                        curr当前页number1
                                                                                                                                                                                                                                                                                        hasPrev判断是否有前一页的函数functionBI.emptyFn
                                                                                                                                                                                                                                                                                        hasNext是否有下一页functionBI.emptyFn
                                                                                                                                                                                                                                                                                        firstPage第一页number1
                                                                                                                                                                                                                                                                                        lastPage最后一页number/functionBI.emptyFn
                                                                                                                                                                                                                                                                                        vertical纵向分页,参数与horizontalobject
                                                                                                                                                                                                                                                                                        itemsCreator元素创造器functionBI.emptyFn
                                                                                                                                                                                                                                                                                        isNeedFreeze是否需要冻结表头booleanfalse
                                                                                                                                                                                                                                                                                        freezeCols冻结的列array[]
                                                                                                                                                                                                                                                                                        isNeedMerge是否需要合并单元格booleanfalse
                                                                                                                                                                                                                                                                                        mergeCols合并的单元格列号array[]
                                                                                                                                                                                                                                                                                        mergeRule合并规则, 默认相等时合并function(row1, row2)默认row1 = row2 时合并
                                                                                                                                                                                                                                                                                        columnSize单元格宽度集合array[]
                                                                                                                                                                                                                                                                                        minColumnSize最小列宽array[]
                                                                                                                                                                                                                                                                                        maxColumnSize最大列宽array[]
                                                                                                                                                                                                                                                                                        headerRowSize表头高度number25
                                                                                                                                                                                                                                                                                        rowSize普通单元格高度number25
                                                                                                                                                                                                                                                                                        regionColumnSize列项间的array[]
                                                                                                                                                                                                                                                                                        headerCellStyleGetterfunctionBI.emptyFn
                                                                                                                                                                                                                                                                                        summaryCellStyleGetterfunctionBI.emptyFn
                                                                                                                                                                                                                                                                                        sequenceCellStyleGetterfunctionBI.emptyFn
                                                                                                                                                                                                                                                                                        header表头array[]
                                                                                                                                                                                                                                                                                        items子组件array[]
                                                                                                                                                                                                                                                                                        crossHeader交叉表头array[]
                                                                                                                                                                                                                                                                                        crossItems交叉项array[]
                                                                                                                                                                                                                                                                                        -

                                                                                                                                                                                                                                                                                        方法

                                                                                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                        方法名说明参数
                                                                                                                                                                                                                                                                                        setHPage设置水平页数v: 页码
                                                                                                                                                                                                                                                                                        setVpage设置纵向页数v: 页码
                                                                                                                                                                                                                                                                                        getHPage获得水平页数
                                                                                                                                                                                                                                                                                        getVPage获得垂直页数
                                                                                                                                                                                                                                                                                        setWidth设置宽度width: 宽度
                                                                                                                                                                                                                                                                                        setHeight设置高度height: 高度
                                                                                                                                                                                                                                                                                        setColumnSize设置列宽columnSize: 列宽数组
                                                                                                                                                                                                                                                                                        getColumnSize得到列宽
                                                                                                                                                                                                                                                                                        setRegionColumnSize设置列项之间的间隙columnSize: 列宽数组
                                                                                                                                                                                                                                                                                        getRegionColumnSize获得列项之间的间隙
                                                                                                                                                                                                                                                                                        setVerticalScroll设置纵向滚动距离scrollTop: 纵向滚动距离
                                                                                                                                                                                                                                                                                        setLeftHorizontalScroll设置左到右横向滚动距离scrollLeft: 横向滚动距离
                                                                                                                                                                                                                                                                                        setRightHorizontalScroll设置右往左横向滚动距离scrollLeft: 横向滚动距离
                                                                                                                                                                                                                                                                                        getVerticalScroll获取纵向滚动距离
                                                                                                                                                                                                                                                                                        getLeftHorizontalScroll获取左到右横向滚动距离
                                                                                                                                                                                                                                                                                        getRightHorizontalScroll获取右往左横向滚动距离
                                                                                                                                                                                                                                                                                        attr设置属性key: 键 value: 值
                                                                                                                                                                                                                                                                                        populate增加
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        - - -
                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                          - - - - -
                                                                                                                                                                                                                                                                                          - - -
                                                                                                                                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/table/bi.page_table.md b/docs/_book/detailed/table/bi.page_table.md deleted file mode 100644 index c60bb9f00c..0000000000 --- a/docs/_book/detailed/table/bi.page_table.md +++ /dev/null @@ -1,80 +0,0 @@ -# bi.page_table - -### 分页表格 - -{% method %} -[source](https://jsfiddle.net/fineui/4egug10x/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.page_table", - element: "body", - columnSize: [200,200], - items: [], - pager: { - horizontal : {}, - vertical: {} - } -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 二级参数 | 三级参数 | 说明 | 类型 | 默认值 | -| ----------------------- | ---------- | --------- | ------------------ | -------------------- | ----------------- | -| pager | | | 分页选项 | object | — | -| | horizontal | | 水平分页选项 | object | — | -| | | pages | 显示总页数 | boolean | false | -| | | curr | 当前页 | number | 1 | -| | | hasPrev | 判断是否有前一页的函数 | function | BI.emptyFn | -| | | hasNext | 是否有下一页 | function | BI.emptyFn | -| | | firstPage | 第一页 | number | 1 | -| | | lastPage | 最后一页 | number/function | BI.emptyFn | -| | vertical | | 纵向分页,参数与horizontal | object | — | -| itemsCreator | | | 元素创造器 | function | BI.emptyFn | -| isNeedFreeze | | | 是否需要冻结表头 | boolean | false | -| freezeCols | | | 冻结的列 | array | [] | -| isNeedMerge | | | 是否需要合并单元格 | boolean | false | -| mergeCols | | | 合并的单元格列号 | array | [] | -| mergeRule | | | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | -| columnSize | | | 单元格宽度集合 | array | [] | -| minColumnSize | | | 最小列宽 | array | [] | -| maxColumnSize | | | 最大列宽 | array | [] | -| headerRowSize | | | 表头高度 | number | 25 | -| rowSize | | | 普通单元格高度 | number | 25 | -| regionColumnSize | | | 列项间的 | array | [] | -| headerCellStyleGetter | | | | function | BI.emptyFn | -| summaryCellStyleGetter | | | | function | BI.emptyFn | -| sequenceCellStyleGetter | | | | function | BI.emptyFn | -| header | | | 表头 | array | [] | -| items | | | 子组件 | array | [] | -| crossHeader | | | 交叉表头 | array | [] | -| crossItems | | | 交叉项 | array | [] | - - - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------------------ | ----------- | ------------------ | -| setHPage | 设置水平页数 | v: 页码 | -| setVpage | 设置纵向页数 | v: 页码 | -| getHPage | 获得水平页数 | — | -| getVPage | 获得垂直页数 | — | -| setWidth | 设置宽度 | width: 宽度 | -| setHeight | 设置高度 | height: 高度 | -| setColumnSize | 设置列宽 | columnSize: 列宽数组 | -| getColumnSize | 得到列宽 | — | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize: 列宽数组 | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop: 纵向滚动距离 | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft: 横向滚动距离 | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft: 横向滚动距离 | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| attr | 设置属性 | key: 键 value: 值 | -| populate | 增加 | — | - ------- \ No newline at end of file diff --git a/docs/_book/detailed/table/bi.preview_table.html b/docs/_book/detailed/table/bi.preview_table.html deleted file mode 100644 index 14a39a0bf9..0000000000 --- a/docs/_book/detailed/table/bi.preview_table.html +++ /dev/null @@ -1,3166 +0,0 @@ - - - - - - - preview_table · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                                                          bi.preview_table

                                                                                                                                                                                                                                                                                          -

                                                                                                                                                                                                                                                                                          用于表格预览,继承BI.Widget

                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                          -BI.createWidget({
                                                                                                                                                                                                                                                                                          -  type: "bi.preview_table",
                                                                                                                                                                                                                                                                                          -  header: [[{
                                                                                                                                                                                                                                                                                          -    text: "表头1"
                                                                                                                                                                                                                                                                                          -  }, {
                                                                                                                                                                                                                                                                                          -    text: "表头2"
                                                                                                                                                                                                                                                                                          -  }, {
                                                                                                                                                                                                                                                                                          -    text: "表头3"
                                                                                                                                                                                                                                                                                          -  }]],
                                                                                                                                                                                                                                                                                          -  element: 'body',
                                                                                                                                                                                                                                                                                          -  columnSize: [100, "", 50],
                                                                                                                                                                                                                                                                                          -  items: [[{
                                                                                                                                                                                                                                                                                          -    text: "第一行第一列"
                                                                                                                                                                                                                                                                                          -  }, {
                                                                                                                                                                                                                                                                                          -    text: "第一行第二列"
                                                                                                                                                                                                                                                                                          -  }, {
                                                                                                                                                                                                                                                                                          -    text: "第一行第三列"
                                                                                                                                                                                                                                                                                          -  }]]
                                                                                                                                                                                                                                                                                          -});
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                                                          参数

                                                                                                                                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                          参数说明类型默认值
                                                                                                                                                                                                                                                                                          isNeedFreeze是否冻结booleanfalse
                                                                                                                                                                                                                                                                                          freezeCols冻结的列array[]
                                                                                                                                                                                                                                                                                          rowSize行高array/numbernull
                                                                                                                                                                                                                                                                                          columnSize列宽array[]
                                                                                                                                                                                                                                                                                          headerRowSize表头行高number30
                                                                                                                                                                                                                                                                                          header表头内容array[]
                                                                                                                                                                                                                                                                                          items子组件array[]
                                                                                                                                                                                                                                                                                          -

                                                                                                                                                                                                                                                                                          方法

                                                                                                                                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                          方法名说明参数
                                                                                                                                                                                                                                                                                          resize调整表格
                                                                                                                                                                                                                                                                                          setColumnSize设置列宽columnSize
                                                                                                                                                                                                                                                                                          getColumnSize得到列宽
                                                                                                                                                                                                                                                                                          getCalculateColumnSize获得计算后的列宽
                                                                                                                                                                                                                                                                                          setHeaderColumnSize设置表头的列宽columnSize
                                                                                                                                                                                                                                                                                          setRegionColumnSize设置列项之间的间隙columnSize
                                                                                                                                                                                                                                                                                          getRegionColumnSize获得列项之间的间隙
                                                                                                                                                                                                                                                                                          getCalculateRegionColumnSize获取计算后的列项之间的间隙
                                                                                                                                                                                                                                                                                          getCalculateRegionRowSize获取计算后的列项上下之间的间隙
                                                                                                                                                                                                                                                                                          getClientRegionColumnSize获取浏览器中显示的列项之间的间隙
                                                                                                                                                                                                                                                                                          getScrollRegionColumnSize获取横向滚动条宽度
                                                                                                                                                                                                                                                                                          getScrollRegionRowSize获取纵向滚动条宽度
                                                                                                                                                                                                                                                                                          hasVerticalScroll是否含有数值滚动条
                                                                                                                                                                                                                                                                                          setVerticalScroll设置纵向滚动距离scrollTop
                                                                                                                                                                                                                                                                                          setLeftHorizontalScroll设置左到右横向滚动距离scrollLeft
                                                                                                                                                                                                                                                                                          setRightHorizontalScroll设置右往左横向滚动距离scrollLeft
                                                                                                                                                                                                                                                                                          getVerticalScroll获取纵向滚动距离
                                                                                                                                                                                                                                                                                          getLeftHorizontalScroll获取左到右横向滚动距离
                                                                                                                                                                                                                                                                                          getRightHorizontalScroll获取右往左横向滚动距离
                                                                                                                                                                                                                                                                                          getColumns获取列项
                                                                                                                                                                                                                                                                                          resizeHeader调整表头
                                                                                                                                                                                                                                                                                          attr设置属性key:键,value:值
                                                                                                                                                                                                                                                                                          populate替换为新的内容rows
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          - - -
                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                            - - - - -
                                                                                                                                                                                                                                                                                            - - -
                                                                                                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/table/bi.preview_table.md b/docs/_book/detailed/table/bi.preview_table.md deleted file mode 100644 index e5876b55d8..0000000000 --- a/docs/_book/detailed/table/bi.preview_table.md +++ /dev/null @@ -1,74 +0,0 @@ -# bi.preview_table - -### 用于表格预览,继承BI.Widget - -{% method %} -[source](https://jsfiddle.net/fineui/po4s0hub/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.preview_table", - header: [[{ - text: "表头1" - }, { - text: "表头2" - }, { - text: "表头3" - }]], - element: 'body', - columnSize: [100, "", 50], - items: [[{ - text: "第一行第一列" - }, { - text: "第一行第二列" - }, { - text: "第一行第三列" - }]] -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------- | ---- | ------------ | ----- | -| isNeedFreeze | 是否冻结 | boolean | false | -| freezeCols | 冻结的列 | array | [] | -| rowSize | 行高 | array/number | null | -| columnSize | 列宽 | array | [] | -| headerRowSize | 表头行高 | number | 30 | -| header | 表头内容 | array | [] | -| items | 子组件 | array | [] | - -## 方法 -| 方法名 | 说明 | 参数 | -| ---------------------------- | ---------------- | ------------- | -| resize | 调整表格 | — | -| setColumnSize | 设置列宽 | columnSize | -| getColumnSize | 得到列宽 | — | -| getCalculateColumnSize | 获得计算后的列宽 | — | -| setHeaderColumnSize | 设置表头的列宽 | columnSize | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| getCalculateRegionColumnSize | 获取计算后的列项之间的间隙 | — | -| getCalculateRegionRowSize | 获取计算后的列项上下之间的间隙 | — | -| getClientRegionColumnSize | 获取浏览器中显示的列项之间的间隙 | — | -| getScrollRegionColumnSize | 获取横向滚动条宽度 | — | -| getScrollRegionRowSize | 获取纵向滚动条宽度 | — | -| hasVerticalScroll | 是否含有数值滚动条 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| getColumns | 获取列项 | — | -| resizeHeader | 调整表头 | — | -| attr | 设置属性 | key:键,value:值 | -| populate | 替换为新的内容 | rows | - ---- - diff --git a/docs/_book/detailed/table/bi.responsive_table.html b/docs/_book/detailed/table/bi.responsive_table.html deleted file mode 100644 index f795cf49e4..0000000000 --- a/docs/_book/detailed/table/bi.responsive_table.html +++ /dev/null @@ -1,3219 +0,0 @@ - - - - - - - responsive_table · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                                                            bi.responsive_table

                                                                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                                                            自适应宽度的表格,继承BI.Widget

                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                            -BI.createWidget({
                                                                                                                                                                                                                                                                                            -  type: "bi.responsive_table",
                                                                                                                                                                                                                                                                                            -  isNeedMerge: true,
                                                                                                                                                                                                                                                                                            -  isNeedFreeze: true,
                                                                                                                                                                                                                                                                                            -  mergeCols: [0, 1],
                                                                                                                                                                                                                                                                                            -  columnSize: ["", "", ""],
                                                                                                                                                                                                                                                                                            -  items: [[{
                                                                                                                                                                                                                                                                                            -    text: "第一行第一列"
                                                                                                                                                                                                                                                                                            -  }, {
                                                                                                                                                                                                                                                                                            -    text: "第一行第二列"
                                                                                                                                                                                                                                                                                            -  }, {
                                                                                                                                                                                                                                                                                            -    text: "第一行第三列"
                                                                                                                                                                                                                                                                                            -  }]],
                                                                                                                                                                                                                                                                                            -  header: [[{
                                                                                                                                                                                                                                                                                            -    text: "表头1"
                                                                                                                                                                                                                                                                                            -  }, {
                                                                                                                                                                                                                                                                                            -    text: "表头2"
                                                                                                                                                                                                                                                                                            -  }, {
                                                                                                                                                                                                                                                                                            -    text: "表头3"
                                                                                                                                                                                                                                                                                            -  }]],
                                                                                                                                                                                                                                                                                            -  element: 'body'
                                                                                                                                                                                                                                                                                            -});
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                                                            参数

                                                                                                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                            参数说明类型默认值
                                                                                                                                                                                                                                                                                            isNeedFreeze是否需要冻结单元格booleanfalse
                                                                                                                                                                                                                                                                                            freezeCols冻结的列号,从0开始,isNeedFreeze为true时生效array[]
                                                                                                                                                                                                                                                                                            isNeedMerge是否需要合并单元格booleanfalse
                                                                                                                                                                                                                                                                                            mergeRulefunction (row1, row2) 合并规则, 默认相等时合并functionfunction
                                                                                                                                                                                                                                                                                            columnSize列宽array[]
                                                                                                                                                                                                                                                                                            headerRowSize表头行高number25
                                                                                                                                                                                                                                                                                            footerRowSize表尾行高number25
                                                                                                                                                                                                                                                                                            rowSize行高number25
                                                                                                                                                                                                                                                                                            columnSize列宽array[]
                                                                                                                                                                                                                                                                                            regionColumnSizebooleanfalse
                                                                                                                                                                                                                                                                                            header表头内容array[]
                                                                                                                                                                                                                                                                                            footer是否需要表尾booleanfalse
                                                                                                                                                                                                                                                                                            items子组件二维数组array[]
                                                                                                                                                                                                                                                                                            crossHeader交叉表头array[]
                                                                                                                                                                                                                                                                                            crossItems交叉表内容二维数组array[]
                                                                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                                                            方法

                                                                                                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                            方法名说明参数
                                                                                                                                                                                                                                                                                            resize调整表格
                                                                                                                                                                                                                                                                                            setColumnSize设置列宽columnSize
                                                                                                                                                                                                                                                                                            getColumnSize得到列宽
                                                                                                                                                                                                                                                                                            getCalculateColumnSize获得计算后的列宽
                                                                                                                                                                                                                                                                                            setHeaderColumnSize设置表头的列宽columnSize
                                                                                                                                                                                                                                                                                            setRegionColumnSize设置列项之间的间隙columnSize
                                                                                                                                                                                                                                                                                            getRegionColumnSize获得列项之间的间隙
                                                                                                                                                                                                                                                                                            getCalculateRegionColumnSize获取计算后的列项之间的间隙
                                                                                                                                                                                                                                                                                            getCalculateRegionRowSize获取计算后的列项上下之间的间隙
                                                                                                                                                                                                                                                                                            getClientRegionColumnSize获取浏览器中显示的列项之间的间隙
                                                                                                                                                                                                                                                                                            getScrollRegionColumnSize获取横向滚动条宽度
                                                                                                                                                                                                                                                                                            getScrollRegionRowSize获取纵向滚动条宽度
                                                                                                                                                                                                                                                                                            hasVerticalScroll是否含有数值滚动条
                                                                                                                                                                                                                                                                                            setVerticalScroll设置纵向滚动距离scrollTop
                                                                                                                                                                                                                                                                                            setLeftHorizontalScroll设置左到右横向滚动距离scrollLeft
                                                                                                                                                                                                                                                                                            setRightHorizontalScroll设置右往左横向滚动距离scrollLeft
                                                                                                                                                                                                                                                                                            getVerticalScroll获取纵向滚动距离
                                                                                                                                                                                                                                                                                            getLeftHorizontalScroll获取左到右横向滚动距离
                                                                                                                                                                                                                                                                                            getRightHorizontalScroll获取右往左横向滚动距离
                                                                                                                                                                                                                                                                                            getColumns获取列项
                                                                                                                                                                                                                                                                                            resizeHeader调整表头
                                                                                                                                                                                                                                                                                            attr设置属性key:键,value:值
                                                                                                                                                                                                                                                                                            populate替换为新内容rows
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            - - -
                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                              - - - - -
                                                                                                                                                                                                                                                                                              - - -
                                                                                                                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/table/bi.responsive_table.md b/docs/_book/detailed/table/bi.responsive_table.md deleted file mode 100644 index 5210f0f075..0000000000 --- a/docs/_book/detailed/table/bi.responsive_table.md +++ /dev/null @@ -1,85 +0,0 @@ -# bi.responsive_table - -### 自适应宽度的表格,继承BI.Widget - -{% method %} -[source](https://jsfiddle.net/fineui/y70jwztm/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.responsive_table", - isNeedMerge: true, - isNeedFreeze: true, - mergeCols: [0, 1], - columnSize: ["", "", ""], - items: [[{ - text: "第一行第一列" - }, { - text: "第一行第二列" - }, { - text: "第一行第三列" - }]], - header: [[{ - text: "表头1" - }, { - text: "表头2" - }, { - text: "表头3" - }]], - element: 'body' -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ---------------- | ------------------------------------ | -------- | -------- | -| isNeedFreeze | 是否需要冻结单元格 | boolean | false | -| freezeCols | 冻结的列号,从0开始,isNeedFreeze为true时生效 | array | [] | -| isNeedMerge | 是否需要合并单元格 | boolean | false | -| mergeRule | function (row1, row2) 合并规则, 默认相等时合并 | function | function | -| columnSize | 列宽 | array | [] | -| headerRowSize | 表头行高 | number | 25 | -| footerRowSize | 表尾行高 | number | 25 | -| rowSize | 行高 | number | 25 | -| columnSize | 列宽 | array | [] | -| regionColumnSize | | boolean | false | -| header | 表头内容 | array | [] | -| footer | 是否需要表尾 | boolean | false | -| items | 子组件二维数组 | array | [] | -| crossHeader | 交叉表头 | array | [] | -| crossItems | 交叉表内容二维数组 | array | [] | - -## 方法 -| 方法名 | 说明 | 参数 | -| ---------------------------- | ---------------- | ------------- | -| resize | 调整表格 | — | -| setColumnSize | 设置列宽 | columnSize | -| getColumnSize | 得到列宽 | — | -| getCalculateColumnSize | 获得计算后的列宽 | — | -| setHeaderColumnSize | 设置表头的列宽 | columnSize | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| getCalculateRegionColumnSize | 获取计算后的列项之间的间隙 | — | -| getCalculateRegionRowSize | 获取计算后的列项上下之间的间隙 | — | -| getClientRegionColumnSize | 获取浏览器中显示的列项之间的间隙 | — | -| getScrollRegionColumnSize | 获取横向滚动条宽度 | — | -| getScrollRegionRowSize | 获取纵向滚动条宽度 | — | -| hasVerticalScroll | 是否含有数值滚动条 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| getColumns | 获取列项 | — | -| resizeHeader | 调整表头 | — | -| attr | 设置属性 | key:键,value:值 | -| populate | 替换为新内容 | rows | - ------- - diff --git a/docs/_book/detailed/table/bi.sequence_table.html b/docs/_book/detailed/table/bi.sequence_table.html deleted file mode 100644 index e77f8f189c..0000000000 --- a/docs/_book/detailed/table/bi.sequence_table.html +++ /dev/null @@ -1,3060 +0,0 @@ - - - - - - - sequence_table · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                                                              sequence_table

                                                                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                                                                              优化过性能的列表,基类BI.Widget

                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                              -BI.createWidget({
                                                                                                                                                                                                                                                                                              -   type: "bi.sequence_table",
                                                                                                                                                                                                                                                                                              -   header: [],
                                                                                                                                                                                                                                                                                              -   items: [],
                                                                                                                                                                                                                                                                                              -});
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                                                              API

                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              基础属性
                                                                                                                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                              参数说明类型可选值默认值
                                                                                                                                                                                                                                                                                              crossHeader列表头array100
                                                                                                                                                                                                                                                                                              crossItems列itemsarray-0
                                                                                                                                                                                                                                                                                              freezeCols冻结Columnarray-0
                                                                                                                                                                                                                                                                                              mergeCols合并Columnarray-0
                                                                                                                                                                                                                                                                                              header行表头array-0
                                                                                                                                                                                                                                                                                              items行itemsarray-0
                                                                                                                                                                                                                                                                                              columnSize列宽array-0
                                                                                                                                                                                                                                                                                              minColumnSize最小列宽array-0
                                                                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                                                                              对外方法

                                                                                                                                                                                                                                                                                              - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                              名称说明回调参数
                                                                                                                                                                                                                                                                                              populate刷新列表items
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              - - -
                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                - - - - -
                                                                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/table/bi.sequence_table.md b/docs/_book/detailed/table/bi.sequence_table.md deleted file mode 100644 index bdc9c93324..0000000000 --- a/docs/_book/detailed/table/bi.sequence_table.md +++ /dev/null @@ -1,45 +0,0 @@ -# sequence_table - -## 优化过性能的列表,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/ggcdop1x/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.sequence_table", - header: [], - items: [], -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| crossHeader | 列表头 | array | — | 100 | -| crossItems | 列items | array | - | 0 | -| freezeCols | 冻结Column | array | - | 0 | -| mergeCols | 合并Column | array | - | 0 | -| header | 行表头 | array | - | 0 | -| items | 行items | array | - | 0 | -| columnSize | 列宽 | array | - | 0 | -| minColumnSize | 最小列宽 | array | - | 0 | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | - - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/text_input/bi.clear_editor.html b/docs/_book/detailed/text_input/bi.clear_editor.html deleted file mode 100644 index d653d87caf..0000000000 --- a/docs/_book/detailed/text_input/bi.clear_editor.html +++ /dev/null @@ -1,3099 +0,0 @@ - - - - - - - clear_editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                                bi.clear_editor

                                                                                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                                                                                带清除按钮的输入框

                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                BI.createWidget({
                                                                                                                                                                                                                                                                                                -    type: 'bi.clear_editor',
                                                                                                                                                                                                                                                                                                -    cls: "bi-border",
                                                                                                                                                                                                                                                                                                -    element: '#wrapper',
                                                                                                                                                                                                                                                                                                -    width: 300,
                                                                                                                                                                                                                                                                                                -    watermark:"带清除按钮的输入框",
                                                                                                                                                                                                                                                                                                -});
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                                API

                                                                                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                参数说明类型可选值默认值
                                                                                                                                                                                                                                                                                                hgap效果相当于文本框左右padding值number4
                                                                                                                                                                                                                                                                                                vgap效果相当于文本框上下padding值number2
                                                                                                                                                                                                                                                                                                lgap效果相当于文本框left-padding值number0
                                                                                                                                                                                                                                                                                                rgap效果相当于文本框right-padding值number0
                                                                                                                                                                                                                                                                                                tgap效果相当于文本框top-padding值number0
                                                                                                                                                                                                                                                                                                bgap效果相当于文本框bottom-padding值number0
                                                                                                                                                                                                                                                                                                validationChecker输入较验函数function
                                                                                                                                                                                                                                                                                                quitChecker是否允许退出编辑函数function
                                                                                                                                                                                                                                                                                                allowBlank是否允许空值booleantrue,falsefalse
                                                                                                                                                                                                                                                                                                watermark文本框placeholderstringnull
                                                                                                                                                                                                                                                                                                value文本框默认值string" "
                                                                                                                                                                                                                                                                                                errorText错误提示stringnull
                                                                                                                                                                                                                                                                                                width文本框宽度number
                                                                                                                                                                                                                                                                                                height文本框高度number30
                                                                                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                                                                                事件

                                                                                                                                                                                                                                                                                                - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                事件说明
                                                                                                                                                                                                                                                                                                BI.ClearEditor.EVENT_CLEAR点击清空按钮触发
                                                                                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                                                                                其他事件详见Input

                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                  - - - - -
                                                                                                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/text_input/bi.clear_editor.md b/docs/_book/detailed/text_input/bi.clear_editor.md deleted file mode 100644 index 63a1303d8f..0000000000 --- a/docs/_book/detailed/text_input/bi.clear_editor.md +++ /dev/null @@ -1,51 +0,0 @@ -# bi.clear_editor - -## 带清除按钮的输入框 - -{% method %} -[source](https://jsfiddle.net/fineui/ppgph3qu/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.clear_editor', - cls: "bi-border", - element: '#wrapper', - width: 300, - watermark:"带清除按钮的输入框", -}); -``` - -{% endmethod %} - -##API - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | — | 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| validationChecker | 输入较验函数 | function | — | — | -| quitChecker | 是否允许退出编辑函数 | function | — | — | -| allowBlank | 是否允许空值 | boolean | true,false | false | -| watermark | 文本框placeholder | string | — | null | -| value | 文本框默认值 | string | — | " " | -| errorText | 错误提示 | string | — | null | -| width | 文本框宽度 | number | — | — | -| height | 文本框高度 | number | — | 30 | - - - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.ClearEditor.EVENT_CLEAR| 点击清空按钮触发 | - -### 其他事件详见[Input](../../base/editor/editor.md) - - ---- - diff --git a/docs/_book/detailed/text_input/bi.search_editor.html b/docs/_book/detailed/text_input/bi.search_editor.html deleted file mode 100644 index f5f0af0d91..0000000000 --- a/docs/_book/detailed/text_input/bi.search_editor.html +++ /dev/null @@ -1,3100 +0,0 @@ - - - - - - - search_editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                                                  bi.search_editor

                                                                                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                                                                                  搜索框

                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  BI.createWidget({
                                                                                                                                                                                                                                                                                                  -    type: 'bi.search_editor',
                                                                                                                                                                                                                                                                                                  -    element: '#wrapper',
                                                                                                                                                                                                                                                                                                  -    width: 300,
                                                                                                                                                                                                                                                                                                  -    watermark:"搜索",
                                                                                                                                                                                                                                                                                                  -});
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                                                  API

                                                                                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                  参数说明类型可选值默认值
                                                                                                                                                                                                                                                                                                  hgap效果相当于文本框左右padding值number4
                                                                                                                                                                                                                                                                                                  vgap效果相当于文本框上下padding值number2
                                                                                                                                                                                                                                                                                                  lgap效果相当于文本框left-padding值number0
                                                                                                                                                                                                                                                                                                  rgap效果相当于文本框right-padding值number0
                                                                                                                                                                                                                                                                                                  tgap效果相当于文本框top-padding值number0
                                                                                                                                                                                                                                                                                                  bgap效果相当于文本框bottom-padding值number0
                                                                                                                                                                                                                                                                                                  validationChecker输入较验函数function
                                                                                                                                                                                                                                                                                                  quitChecker是否允许退出编辑函数function
                                                                                                                                                                                                                                                                                                  allowBlank是否允许空值booleantrue,falsefalse
                                                                                                                                                                                                                                                                                                  watermark文本框placeholderstringnull
                                                                                                                                                                                                                                                                                                  value文本框默认值string" "
                                                                                                                                                                                                                                                                                                  errorText错误提示stringnull
                                                                                                                                                                                                                                                                                                  width文本框宽度number
                                                                                                                                                                                                                                                                                                  height文本框高度number30
                                                                                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                                                                                  事件

                                                                                                                                                                                                                                                                                                  - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                  事件说明
                                                                                                                                                                                                                                                                                                  BI.SearchEditor.EVENT_CLEAR点击清空按钮触发
                                                                                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                                                                                  其他事件详见Editor

                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                    - - - - -
                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/text_input/bi.search_editor.md b/docs/_book/detailed/text_input/bi.search_editor.md deleted file mode 100644 index 62a967f490..0000000000 --- a/docs/_book/detailed/text_input/bi.search_editor.md +++ /dev/null @@ -1,50 +0,0 @@ - -## bi.search_editor -### 搜索框 - -{% method %} -[source](https://jsfiddle.net/fineui/4a1rLppw/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.search_editor', - element: '#wrapper', - width: 300, - watermark:"搜索", -}); -``` - -{% endmethod %} - -##API - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | — | 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| validationChecker | 输入较验函数 |function| — | — | -| quitChecker | 是否允许退出编辑函数 | function | — | — | -| allowBlank | 是否允许空值 | boolean | true,false | false | -| watermark | 文本框placeholder | string | — | null | -| value | 文本框默认值 | string | — | " " | -| errorText | 错误提示 | string | —| null | -| width | 文本框宽度 | number | — | — | -| height | 文本框高度 | number | — | 30 | - - - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.SearchEditor.EVENT_CLEAR| 点击清空按钮触发 | - -### 其他事件详见[Editor](../../base/editor/editor.md) - - ---- - diff --git a/docs/_book/detailed/text_input/bi.text_editor.html b/docs/_book/detailed/text_input/bi.text_editor.html deleted file mode 100644 index 7127769966..0000000000 --- a/docs/_book/detailed/text_input/bi.text_editor.html +++ /dev/null @@ -1,3085 +0,0 @@ - - - - - - - text_editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                                                    bi.text_editor

                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    通过鼠标或键盘输入字符
                                                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                                                    基础用法

                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    BI.createWidget({
                                                                                                                                                                                                                                                                                                    -  type: "bi.text_editor",
                                                                                                                                                                                                                                                                                                    -  element: "#wrapper",
                                                                                                                                                                                                                                                                                                    -  width: 200,
                                                                                                                                                                                                                                                                                                    -  height: 30,
                                                                                                                                                                                                                                                                                                    -  watermark:"请输入内容"
                                                                                                                                                                                                                                                                                                    -});
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                                                    API

                                                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                    参数说明类型可选值默认值
                                                                                                                                                                                                                                                                                                    hgap效果相当于文本框左右padding值number4
                                                                                                                                                                                                                                                                                                    vgap效果相当于文本框上下padding值number2
                                                                                                                                                                                                                                                                                                    lgap效果相当于文本框left-padding值number0
                                                                                                                                                                                                                                                                                                    rgap效果相当于文本框right-padding值number0
                                                                                                                                                                                                                                                                                                    tgap效果相当于文本框top-padding值number0
                                                                                                                                                                                                                                                                                                    bgap效果相当于文本框bottom-padding值number0
                                                                                                                                                                                                                                                                                                    validationChecker输入较验函数function
                                                                                                                                                                                                                                                                                                    quitChecker是否允许退出编辑函数function
                                                                                                                                                                                                                                                                                                    allowBlank是否允许空值booleantrue,falsefalse
                                                                                                                                                                                                                                                                                                    watermark文本框placeholderstringnull
                                                                                                                                                                                                                                                                                                    value文本框默认值string" "
                                                                                                                                                                                                                                                                                                    errorText错误提示stringnull
                                                                                                                                                                                                                                                                                                    width文本框宽度number
                                                                                                                                                                                                                                                                                                    height文本框高度number30
                                                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                                                    事件详见Editor

                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                                      - - - - -
                                                                                                                                                                                                                                                                                                      - - -
                                                                                                                                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/text_input/bi.text_editor.md b/docs/_book/detailed/text_input/bi.text_editor.md deleted file mode 100644 index 8ee6de74d3..0000000000 --- a/docs/_book/detailed/text_input/bi.text_editor.md +++ /dev/null @@ -1,48 +0,0 @@ -#bi.text_editor -#####通过鼠标或键盘输入字符 - -## 基础用法 - -{% method %} -[source](https://jsfiddle.net/fineui/cna5o200/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.text_editor", - element: "#wrapper", - width: 200, - height: 30, - watermark:"请输入内容" -}); -``` - -{% endmethod %} - -## API - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | — | 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| validationChecker | 输入较验函数 |function| — | — | -| quitChecker | 是否允许退出编辑函数 | function | — | — | -| allowBlank | 是否允许空值 | boolean | true,false | false | -| watermark | 文本框placeholder | string | — | null | -| value | 文本框默认值 | string | — | " " | -| errorText | 错误提示 | string | — | null | -| width | 文本框宽度 | number | — | — | -| height | 文本框高度 | number | — | 30 | - - - - -### 事件详见[Editor](../../base/editor/editor.md) - - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/text_input/number_editor.html b/docs/_book/detailed/text_input/number_editor.html deleted file mode 100644 index ea5aa6bef9..0000000000 --- a/docs/_book/detailed/text_input/number_editor.html +++ /dev/null @@ -1,3005 +0,0 @@ - - - - - - - number_editor · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                                      - - - - - - - - -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                                                                      number_editor

                                                                                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                                                                                      数值微调器

                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      BI.createWidget({
                                                                                                                                                                                                                                                                                                      -    type: 'bi.number_editor',
                                                                                                                                                                                                                                                                                                      -    element: '#wrapper',
                                                                                                                                                                                                                                                                                                      -    width: 300
                                                                                                                                                                                                                                                                                                      -});
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                                                                      参数

                                                                                                                                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                      参数说明类型可选值默认值
                                                                                                                                                                                                                                                                                                      value编辑框中的值,-1表示自动number-1
                                                                                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                                                                                      事件

                                                                                                                                                                                                                                                                                                      - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                      事件说明
                                                                                                                                                                                                                                                                                                      BI.NumberEditor.EVENT_CONFIRM点击增加/减少按钮或者编辑框确定时触发
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      - - -
                                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                                                                      results matching ""

                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                                                                        No results matching ""

                                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                                        - - - - -
                                                                                                                                                                                                                                                                                                        - - -
                                                                                                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/text_input/number_editor.md b/docs/_book/detailed/text_input/number_editor.md deleted file mode 100644 index bd70b79ee1..0000000000 --- a/docs/_book/detailed/text_input/number_editor.md +++ /dev/null @@ -1,34 +0,0 @@ -# number_editor - -## 数值微调器 - -{% method %} -[source](https://jsfiddle.net/fineui/52dhwtfz/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.number_editor', - element: '#wrapper', - width: 300 -}); -``` - -{% endmethod %} - -## 参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| value | 编辑框中的值,-1表示自动 | number | | -1 | - - - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.NumberEditor.EVENT_CONFIRM| 点击增加/减少按钮或者编辑框确定时触发 | - - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/tree/bi.multi_tree_combo.html b/docs/_book/detailed/tree/bi.multi_tree_combo.html deleted file mode 100644 index 9775d6195b..0000000000 --- a/docs/_book/detailed/tree/bi.multi_tree_combo.html +++ /dev/null @@ -1,3067 +0,0 @@ - - - - - - - multi_tree_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                                        - - - - - - - - -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                                                                        bi.multi_tree_combo

                                                                                                                                                                                                                                                                                                        -

                                                                                                                                                                                                                                                                                                        树下拉框,继承BI.Widget

                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        var items = [{
                                                                                                                                                                                                                                                                                                        -    id: -1,
                                                                                                                                                                                                                                                                                                        -  pId: -2,
                                                                                                                                                                                                                                                                                                        -  value: "根目录",
                                                                                                                                                                                                                                                                                                        -  text: "根目录"
                                                                                                                                                                                                                                                                                                        -}, {
                                                                                                                                                                                                                                                                                                        -    id: 1,
                                                                                                                                                                                                                                                                                                        -  pId: -1,
                                                                                                                                                                                                                                                                                                        -  value: "第一级目录1",
                                                                                                                                                                                                                                                                                                        -  text: "第一级目录1"
                                                                                                                                                                                                                                                                                                        -}, {
                                                                                                                                                                                                                                                                                                        -    id: 11,
                                                                                                                                                                                                                                                                                                        -  pId: 1,
                                                                                                                                                                                                                                                                                                        -  value: "第二级文件1",
                                                                                                                                                                                                                                                                                                        -  text: "第二级文件1"
                                                                                                                                                                                                                                                                                                        -}];
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        -BI.createWidget({
                                                                                                                                                                                                                                                                                                        -  type: "bi.multi_tree_combo",
                                                                                                                                                                                                                                                                                                        -  itemsCreator: function (options, callback) {
                                                                                                                                                                                                                                                                                                        -        callback({
                                                                                                                                                                                                                                                                                                        -          items: items
                                                                                                                                                                                                                                                                                                        -        });
                                                                                                                                                                                                                                                                                                        -  },
                                                                                                                                                                                                                                                                                                        -  width: 300
                                                                                                                                                                                                                                                                                                        -})
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                                                                        参数设置

                                                                                                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                        参数说明类型默认值
                                                                                                                                                                                                                                                                                                        width宽度number200
                                                                                                                                                                                                                                                                                                        height高度number30
                                                                                                                                                                                                                                                                                                        items子项,pId代表父节点IDarraynull
                                                                                                                                                                                                                                                                                                        itemsCreator子项创建函数functionfunction() {}
                                                                                                                                                                                                                                                                                                        -

                                                                                                                                                                                                                                                                                                        方法

                                                                                                                                                                                                                                                                                                        - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                        方法名说明参数
                                                                                                                                                                                                                                                                                                        setValue设置文本框值v
                                                                                                                                                                                                                                                                                                        getValue获取文本框值
                                                                                                                                                                                                                                                                                                        populate更改树结构内容items
                                                                                                                                                                                                                                                                                                        -

                                                                                                                                                                                                                                                                                                        事件

                                                                                                                                                                                                                                                                                                        - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                        事件说明
                                                                                                                                                                                                                                                                                                        BI.MultiTreeCombo.EVENT_CONFIRM点击一级节点触发
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        - - -
                                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        - -

                                                                                                                                                                                                                                                                                                        results matching ""

                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                                                                          No results matching ""

                                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                                          - - - - -
                                                                                                                                                                                                                                                                                                          - - -
                                                                                                                                                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/tree/bi.multi_tree_combo.md b/docs/_book/detailed/tree/bi.multi_tree_combo.md deleted file mode 100644 index dca879fad4..0000000000 --- a/docs/_book/detailed/tree/bi.multi_tree_combo.md +++ /dev/null @@ -1,60 +0,0 @@ -# bi.multi_tree_combo - -### 树下拉框,继承BI.Widget - -{% method %} -[source](https://jsfiddle.net/fineui/caw7efpf/) - -{% common %} -```javascript -var items = [{ - id: -1, - pId: -2, - value: "根目录", - text: "根目录" -}, { - id: 1, - pId: -1, - value: "第一级目录1", - text: "第一级目录1" -}, { - id: 11, - pId: 1, - value: "第二级文件1", - text: "第二级文件1" -}]; - -BI.createWidget({ - type: "bi.multi_tree_combo", - itemsCreator: function (options, callback) { - callback({ - items: items - }); - }, - width: 300 -}) -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | ------------- | -------- | ------------- | -| width | 宽度 | number | 200 | -| height | 高度 | number | 30 | -| items | 子项,pId代表父节点ID | array | null | -| itemsCreator | 子项创建函数 | function | function() {} | - -## 方法 -| 方法名 | 说明 | 参数 | -| -------- | ------- | --------------- | -| setValue | 设置文本框值 | v | -| getValue | 获取文本框值 | — | -| populate | 更改树结构内容 | items | - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.MultiTreeCombo.EVENT_CONFIRM| 点击一级节点触发 | ---- - diff --git a/docs/_book/detailed/tree/bi.switch_tree.html b/docs/_book/detailed/tree/bi.switch_tree.html deleted file mode 100644 index ba1b7cdf9b..0000000000 --- a/docs/_book/detailed/tree/bi.switch_tree.html +++ /dev/null @@ -1,3046 +0,0 @@ - - - - - - - switch_tree · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                                          - - - - - - - - -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                                                                          bi.switch_tree

                                                                                                                                                                                                                                                                                                          -

                                                                                                                                                                                                                                                                                                          可以单选多选切换的树,继承BI.Widget

                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          var items = [{
                                                                                                                                                                                                                                                                                                          -  id: -1,
                                                                                                                                                                                                                                                                                                          -  pId: -2,
                                                                                                                                                                                                                                                                                                          -  value: "根目录",
                                                                                                                                                                                                                                                                                                          -  text: "根目录"
                                                                                                                                                                                                                                                                                                          -}, {
                                                                                                                                                                                                                                                                                                          -  id: 1,
                                                                                                                                                                                                                                                                                                          -  pId: -1,
                                                                                                                                                                                                                                                                                                          -  value: "第一级目录1",
                                                                                                                                                                                                                                                                                                          -  text: "第一级目录1"
                                                                                                                                                                                                                                                                                                          -}, {
                                                                                                                                                                                                                                                                                                          -  id: 11,
                                                                                                                                                                                                                                                                                                          -  pId: 1,
                                                                                                                                                                                                                                                                                                          -  value: "第二级文件1",
                                                                                                                                                                                                                                                                                                          -  text: "第二级文件1"
                                                                                                                                                                                                                                                                                                          -}];
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          -var tree = BI.createWidget({
                                                                                                                                                                                                                                                                                                          -  type: "bi.switch_tree",
                                                                                                                                                                                                                                                                                                          -  items: items,
                                                                                                                                                                                                                                                                                                          -});
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                                                                          参数设置

                                                                                                                                                                                                                                                                                                          - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                          参数说明类型默认值
                                                                                                                                                                                                                                                                                                          items子项,pId代表父节点IDarray[]
                                                                                                                                                                                                                                                                                                          -

                                                                                                                                                                                                                                                                                                          方法

                                                                                                                                                                                                                                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                          方法名说明参数
                                                                                                                                                                                                                                                                                                          switchSelect切换树结构
                                                                                                                                                                                                                                                                                                          setSelect设置选中项v
                                                                                                                                                                                                                                                                                                          getSelect获取选中项
                                                                                                                                                                                                                                                                                                          setValue设置当前选中项内容v
                                                                                                                                                                                                                                                                                                          getValue获取当前选中项内容v
                                                                                                                                                                                                                                                                                                          populate更改树结构内容items
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          - - -
                                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          - -

                                                                                                                                                                                                                                                                                                          results matching ""

                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                                                                            No results matching ""

                                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                                            - - - - -
                                                                                                                                                                                                                                                                                                            - - -
                                                                                                                                                                                                                                                                                                            - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/tree/bi.switch_tree.md b/docs/_book/detailed/tree/bi.switch_tree.md deleted file mode 100644 index b1e3302078..0000000000 --- a/docs/_book/detailed/tree/bi.switch_tree.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.switch_tree - -### 可以单选多选切换的树,继承BI.Widget - -{% method %} -[source](https://jsfiddle.net/fineui/crd4z1nd/) - -{% common %} -```javascript -var items = [{ - id: -1, - pId: -2, - value: "根目录", - text: "根目录" -}, { - id: 1, - pId: -1, - value: "第一级目录1", - text: "第一级目录1" -}, { - id: 11, - pId: 1, - value: "第二级文件1", - text: "第二级文件1" -}]; - -var tree = BI.createWidget({ - type: "bi.switch_tree", - items: items, -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ----- | ------------- | ----- | ---- | -| items | 子项,pId代表父节点ID | array | [] | - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------ | --------- | ------------ | -| switchSelect | 切换树结构 | — | -| setSelect | 设置选中项 | v | -| getSelect | 获取选中项 | — | -| setValue | 设置当前选中项内容 | v | -| getValue | 获取当前选中项内容 | v | -| populate | 更改树结构内容 | items | - ------- - - - diff --git a/docs/_book/detailed/tree/multi_select_level_tree.html b/docs/_book/detailed/tree/multi_select_level_tree.html deleted file mode 100644 index 7575f075df..0000000000 --- a/docs/_book/detailed/tree/multi_select_level_tree.html +++ /dev/null @@ -1,3006 +0,0 @@ - - - - - - - multi_select_level_tree · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                                            - - - - - - - - -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                                                                            multi_select_level_tree

                                                                                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                                                                            可以选中父节点的多层层级树,基类BI.Widget

                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                                            -BI.createWidget({
                                                                                                                                                                                                                                                                                                            -   type: "bi.multilayer_select_level_tree",
                                                                                                                                                                                                                                                                                                            -   items: []
                                                                                                                                                                                                                                                                                                            -});
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                                                                            API

                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            基础属性
                                                                                                                                                                                                                                                                                                            - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                            参数说明类型可选值默认值
                                                                                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                                                                            对外方法

                                                                                                                                                                                                                                                                                                            - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                            名称说明回调参数
                                                                                                                                                                                                                                                                                                            populate刷新列表items
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            - - -
                                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                                                                                                            results matching ""

                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                                                                              No results matching ""

                                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                                              - - - - -
                                                                                                                                                                                                                                                                                                              - - -
                                                                                                                                                                                                                                                                                                              - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/tree/multi_select_level_tree.md b/docs/_book/detailed/tree/multi_select_level_tree.md deleted file mode 100644 index f38787ab50..0000000000 --- a/docs/_book/detailed/tree/multi_select_level_tree.md +++ /dev/null @@ -1,36 +0,0 @@ -# multi_select_level_tree - -## 可以选中父节点的多层层级树,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/yp9nhwf0/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.multilayer_select_level_tree", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | - - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/tree/multi_single_level_tree.html b/docs/_book/detailed/tree/multi_single_level_tree.html deleted file mode 100644 index 14fdadbda3..0000000000 --- a/docs/_book/detailed/tree/multi_single_level_tree.html +++ /dev/null @@ -1,3006 +0,0 @@ - - - - - - - multi_single_level_tree · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                                              - - - - - - - - -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                                                                              multi_single_level_tree

                                                                                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                                                                                              多层层级树,基类BI.Widget

                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              
                                                                                                                                                                                                                                                                                                              -BI.createWidget({
                                                                                                                                                                                                                                                                                                              -   type: "bi.multilayer_single_level_tree",
                                                                                                                                                                                                                                                                                                              -   items: []
                                                                                                                                                                                                                                                                                                              -});
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                                                                              API

                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              基础属性
                                                                                                                                                                                                                                                                                                              - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                              参数说明类型可选值默认值
                                                                                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                                                                                              对外方法

                                                                                                                                                                                                                                                                                                              - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                              名称说明回调参数
                                                                                                                                                                                                                                                                                                              populate刷新列表items
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              - - -
                                                                                                                                                                                                                                                                                                              - -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              - -

                                                                                                                                                                                                                                                                                                              results matching ""

                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                                                No results matching ""

                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                - - - - -
                                                                                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/tree/multi_single_level_tree.md b/docs/_book/detailed/tree/multi_single_level_tree.md deleted file mode 100644 index 1171208d6e..0000000000 --- a/docs/_book/detailed/tree/multi_single_level_tree.md +++ /dev/null @@ -1,36 +0,0 @@ -# multi_single_level_tree - -## 多层层级树,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/5d0yyk4y/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.multilayer_single_level_tree", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | - - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/tree/multilayer_select_tree_combo.md b/docs/_book/detailed/tree/multilayer_select_tree_combo.md deleted file mode 100644 index 63d7bc4a98..0000000000 --- a/docs/_book/detailed/tree/multilayer_select_tree_combo.md +++ /dev/null @@ -1,2 +0,0 @@ -# multilayer_select_tree_combo - diff --git a/docs/_book/detailed/tree/multilayer_single_tree_combo.md b/docs/_book/detailed/tree/multilayer_single_tree_combo.md deleted file mode 100644 index 5fe7cf8338..0000000000 --- a/docs/_book/detailed/tree/multilayer_single_tree_combo.md +++ /dev/null @@ -1,2 +0,0 @@ -# multilayer_single_tree_combo - diff --git a/docs/_book/detailed/tree/select_level_tree.html b/docs/_book/detailed/tree/select_level_tree.html deleted file mode 100644 index 9856e699f4..0000000000 --- a/docs/_book/detailed/tree/select_level_tree.html +++ /dev/null @@ -1,3006 +0,0 @@ - - - - - - - select_level_tree · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                - - - - - - - - -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                                                select_level_tree

                                                                                                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                                                                                                可以选中父节点的SingleLevelTree,基类BI.Widget

                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                
                                                                                                                                                                                                                                                                                                                -BI.createWidget({
                                                                                                                                                                                                                                                                                                                -   type: "bi.select_level_tree",
                                                                                                                                                                                                                                                                                                                -   items: []
                                                                                                                                                                                                                                                                                                                -});
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                                                API

                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                基础属性
                                                                                                                                                                                                                                                                                                                - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                                参数说明类型可选值默认值
                                                                                                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                                                                                                对外方法

                                                                                                                                                                                                                                                                                                                - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                                名称说明回调参数
                                                                                                                                                                                                                                                                                                                populate刷新列表items
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                                                results matching ""

                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                                                                  No results matching ""

                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                  - - - - -
                                                                                                                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/tree/select_level_tree.md b/docs/_book/detailed/tree/select_level_tree.md deleted file mode 100644 index 5f40c73537..0000000000 --- a/docs/_book/detailed/tree/select_level_tree.md +++ /dev/null @@ -1,36 +0,0 @@ -# select_level_tree - -## 可以选中父节点的SingleLevelTree,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/0o1oeqrw/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.select_level_tree", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | - - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/tree/select_tree_combo.md b/docs/_book/detailed/tree/select_tree_combo.md deleted file mode 100644 index 13b21ef6be..0000000000 --- a/docs/_book/detailed/tree/select_tree_combo.md +++ /dev/null @@ -1,2 +0,0 @@ -# select_tree_combo - diff --git a/docs/_book/detailed/tree/single_level_tree.html b/docs/_book/detailed/tree/single_level_tree.html deleted file mode 100644 index 233283f333..0000000000 --- a/docs/_book/detailed/tree/single_level_tree.html +++ /dev/null @@ -1,3004 +0,0 @@ - - - - - - - single_level_tree · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                  - - - - - - - - -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                                                                  single_level_tree

                                                                                                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                                                                                                  单选层级树,基类BI.Widget

                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  
                                                                                                                                                                                                                                                                                                                  -BI.createWidget({
                                                                                                                                                                                                                                                                                                                  -   type: "bi.single_level_tree",
                                                                                                                                                                                                                                                                                                                  -   items: []
                                                                                                                                                                                                                                                                                                                  -});
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                                                                  API

                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  基础属性
                                                                                                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                                  参数说明类型可选值默认值
                                                                                                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                                                                                                  对外方法

                                                                                                                                                                                                                                                                                                                  - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                                  名称说明回调参数
                                                                                                                                                                                                                                                                                                                  populate刷新列表items
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  - -

                                                                                                                                                                                                                                                                                                                  results matching ""

                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                                                                    No results matching ""

                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                    - - - - -
                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/tree/single_level_tree.md b/docs/_book/detailed/tree/single_level_tree.md deleted file mode 100644 index 3e87329697..0000000000 --- a/docs/_book/detailed/tree/single_level_tree.md +++ /dev/null @@ -1,36 +0,0 @@ -# single_level_tree - -## 单选层级树,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/9vnrwec1/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.single_level_tree", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | - - - ---- \ No newline at end of file diff --git a/docs/_book/detailed/tree/single_tree_combo.md b/docs/_book/detailed/tree/single_tree_combo.md deleted file mode 100644 index 1b3a4ce618..0000000000 --- a/docs/_book/detailed/tree/single_tree_combo.md +++ /dev/null @@ -1,2 +0,0 @@ -# single_tree_combo - diff --git a/docs/_book/detailed/year_combo.html b/docs/_book/detailed/year_combo.html deleted file mode 100644 index a696cfa579..0000000000 --- a/docs/_book/detailed/year_combo.html +++ /dev/null @@ -1,3023 +0,0 @@ - - - - - - - year_combo · GitBook - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                    - - - - - - - - -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                                                                    year_combo

                                                                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                                                                    年份选择下拉框

                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    BI.createWidget({
                                                                                                                                                                                                                                                                                                                    -    type: 'bi.year_combo',
                                                                                                                                                                                                                                                                                                                    -    element: '#wrapper',
                                                                                                                                                                                                                                                                                                                    -    width: 300
                                                                                                                                                                                                                                                                                                                    -});
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                                                                    参数

                                                                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                                    参数说明类型可选值默认值
                                                                                                                                                                                                                                                                                                                    behaviors自定义下拉列表中item项的行为,如高亮,标红等(详见button_group)object{}
                                                                                                                                                                                                                                                                                                                    min限定可选日期的下限string'1900-01-01'
                                                                                                                                                                                                                                                                                                                    max限定可选日期的上限string'2099-12-31'
                                                                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                                                                    事件

                                                                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                                    事件说明
                                                                                                                                                                                                                                                                                                                    BI.YearCombo.EVENT_CONFIRM选中日期或者退出编辑状态触发
                                                                                                                                                                                                                                                                                                                    BI.YearCombo.EVENT_BEFORE_POPUPVIEW选中日期或者退出编辑状态触发
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    - -

                                                                                                                                                                                                                                                                                                                    results matching ""

                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                      - -

                                                                                                                                                                                                                                                                                                                      No results matching ""

                                                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                      - -
                                                                                                                                                                                                                                                                                                                      - - - - -
                                                                                                                                                                                                                                                                                                                      - - -
                                                                                                                                                                                                                                                                                                                      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/detailed/year_combo.md b/docs/_book/detailed/year_combo.md deleted file mode 100644 index 7cd74f0bcb..0000000000 --- a/docs/_book/detailed/year_combo.md +++ /dev/null @@ -1,37 +0,0 @@ -# year_combo - -## 年份选择下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/3na3125L/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.year_combo', - element: '#wrapper', - width: 300 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| behaviors | 自定义下拉列表中item项的行为,如高亮,标红等(详见[button_group](../core/abstract/button_group.md)) | object | | {} | -| min | 限定可选日期的下限 | string | | '1900-01-01' | -| max | 限定可选日期的上限 | string | | '2099-12-31' | - - - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.YearCombo.EVENT_CONFIRM| 选中日期或者退出编辑状态触发 | -|BI.YearCombo.EVENT_BEFORE_POPUPVIEW| 选中日期或者退出编辑状态触发 | - - - ---- \ No newline at end of file diff --git a/docs/_book/gitbook/fonts/fontawesome/FontAwesome.otf b/docs/_book/gitbook/fonts/fontawesome/FontAwesome.otf deleted file mode 100644 index d4de13e832..0000000000 Binary files a/docs/_book/gitbook/fonts/fontawesome/FontAwesome.otf and /dev/null differ diff --git a/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.eot b/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.eot deleted file mode 100644 index c7b00d2ba8..0000000000 Binary files a/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.eot and /dev/null differ diff --git a/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.svg b/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.svg deleted file mode 100644 index 8b66187fe0..0000000000 --- a/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.svg +++ /dev/null @@ -1,685 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf b/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf deleted file mode 100644 index f221e50a2e..0000000000 Binary files a/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.ttf and /dev/null differ diff --git a/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff b/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff deleted file mode 100644 index 6e7483cf61..0000000000 Binary files a/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff and /dev/null differ diff --git a/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 b/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 deleted file mode 100644 index 7eb74fd127..0000000000 Binary files a/docs/_book/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 and /dev/null differ diff --git a/docs/_book/gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.css b/docs/_book/gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.css deleted file mode 100644 index 9f46b97237..0000000000 --- a/docs/_book/gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.css +++ /dev/null @@ -1,29 +0,0 @@ -.book .book-summary .chapter > .articles { - overflow: hidden; - max-height: 0px; -} - -.book .book-summary .chapter.expanded > .articles { - max-height: 9999px; -} - -.book .book-summary .exc-trigger { - position: absolute; - left: 12px; - top: 12px; -} - -.book .book-summary ul.summary li a, -.book .book-summary ul.summary li span { - padding-left: 30px; - cursor: pointer; -} - -.book .book-summary .exc-trigger:before { - content: "\f054"; -} - -.book .book-summary .expanded > a .exc-trigger:before, -.book .book-summary .expanded > span .exc-trigger:before { - content: "\f078"; -} diff --git a/docs/_book/gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.js b/docs/_book/gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.js deleted file mode 100644 index 19c35d3c48..0000000000 --- a/docs/_book/gitbook/gitbook-plugin-expandable-chapters/expandable-chapters.js +++ /dev/null @@ -1,69 +0,0 @@ -require(['gitbook', 'jQuery'], function(gitbook, $) { - var TOGGLE_CLASSNAME = 'expanded', - CHAPTER = '.chapter', - ARTICLES = '.articles', - TRIGGER_TEMPLATE = '', - LS_NAMESPACE = 'expChapters'; - var init = function () { - // adding the trigger element to each ARTICLES parent and binding the event - $(ARTICLES) - .parent(CHAPTER) - .children('a,span') - .append(TRIGGER_TEMPLATE) - .on('click', function(e) { - if (!$(e.target).is('a')) { - e.preventDefault(); - e.stopPropagation(); - toggle($(e.target).closest(CHAPTER)); - } - }); - - expand(lsItem()); - //expand current selected chapter with it's parents - var activeChapter = $(CHAPTER + '.active'); - expand(activeChapter); - expand(activeChapter.parents(CHAPTER)); - - - } - var toggle = function ($chapter) { - if ($chapter.hasClass('expanded')) { - collapse($chapter); - } else { - expand($chapter); - } - } - var collapse = function ($chapter) { - if ($chapter.length && $chapter.hasClass(TOGGLE_CLASSNAME)) { - $chapter.removeClass(TOGGLE_CLASSNAME); - lsItem($chapter); - } - } - var expand = function ($chapter) { - if ($chapter.length && !$chapter.hasClass(TOGGLE_CLASSNAME)) { - $chapter.addClass(TOGGLE_CLASSNAME); - lsItem($chapter); - } - } - var lsItem = function () { - var map = JSON.parse(localStorage.getItem(LS_NAMESPACE)) || {} - if (arguments.length) { - var $chapters = arguments[0]; - $chapters.each(function (index, element) { - var level = $(this).data('level'); - var value = $(this).hasClass(TOGGLE_CLASSNAME); - map[level] = value; - }) - localStorage.setItem(LS_NAMESPACE, JSON.stringify(map)); - } else { - return $(CHAPTER).map(function(index, element){ - if (map[$(this).data('level')]) { - return this; - } - }) - } - } - gitbook.events.bind('page.change', function() { - init() - }); -}); diff --git a/docs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js b/docs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js deleted file mode 100644 index ff7be71413..0000000000 --- a/docs/_book/gitbook/gitbook-plugin-fontsettings/fontsettings.js +++ /dev/null @@ -1,240 +0,0 @@ -require(['gitbook', 'jquery'], function(gitbook, $) { - // Configuration - var MAX_SIZE = 4, - MIN_SIZE = 0, - BUTTON_ID; - - // Current fontsettings state - var fontState; - - // Default themes - var THEMES = [ - { - config: 'white', - text: 'White', - id: 0 - }, - { - config: 'sepia', - text: 'Sepia', - id: 1 - }, - { - config: 'night', - text: 'Night', - id: 2 - } - ]; - - // Default font families - var FAMILIES = [ - { - config: 'serif', - text: 'Serif', - id: 0 - }, - { - config: 'sans', - text: 'Sans', - id: 1 - } - ]; - - // Return configured themes - function getThemes() { - return THEMES; - } - - // Modify configured themes - function setThemes(themes) { - THEMES = themes; - updateButtons(); - } - - // Return configured font families - function getFamilies() { - return FAMILIES; - } - - // Modify configured font families - function setFamilies(families) { - FAMILIES = families; - updateButtons(); - } - - // Save current font settings - function saveFontSettings() { - gitbook.storage.set('fontState', fontState); - update(); - } - - // Increase font size - function enlargeFontSize(e) { - e.preventDefault(); - if (fontState.size >= MAX_SIZE) return; - - fontState.size++; - saveFontSettings(); - } - - // Decrease font size - function reduceFontSize(e) { - e.preventDefault(); - if (fontState.size <= MIN_SIZE) return; - - fontState.size--; - saveFontSettings(); - } - - // Change font family - function changeFontFamily(configName, e) { - if (e && e instanceof Event) { - e.preventDefault(); - } - - var familyId = getFontFamilyId(configName); - fontState.family = familyId; - saveFontSettings(); - } - - // Change type of color theme - function changeColorTheme(configName, e) { - if (e && e instanceof Event) { - e.preventDefault(); - } - - var $book = gitbook.state.$book; - - // Remove currently applied color theme - if (fontState.theme !== 0) - $book.removeClass('color-theme-'+fontState.theme); - - // Set new color theme - var themeId = getThemeId(configName); - fontState.theme = themeId; - if (fontState.theme !== 0) - $book.addClass('color-theme-'+fontState.theme); - - saveFontSettings(); - } - - // Return the correct id for a font-family config key - // Default to first font-family - function getFontFamilyId(configName) { - // Search for plugin configured font family - var configFamily = $.grep(FAMILIES, function(family) { - return family.config == configName; - })[0]; - // Fallback to default font family - return (!!configFamily)? configFamily.id : 0; - } - - // Return the correct id for a theme config key - // Default to first theme - function getThemeId(configName) { - // Search for plugin configured theme - var configTheme = $.grep(THEMES, function(theme) { - return theme.config == configName; - })[0]; - // Fallback to default theme - return (!!configTheme)? configTheme.id : 0; - } - - function update() { - var $book = gitbook.state.$book; - - $('.font-settings .font-family-list li').removeClass('active'); - $('.font-settings .font-family-list li:nth-child('+(fontState.family+1)+')').addClass('active'); - - $book[0].className = $book[0].className.replace(/\bfont-\S+/g, ''); - $book.addClass('font-size-'+fontState.size); - $book.addClass('font-family-'+fontState.family); - - if(fontState.theme !== 0) { - $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, ''); - $book.addClass('color-theme-'+fontState.theme); - } - } - - function init(config) { - // Search for plugin configured font family - var configFamily = getFontFamilyId(config.family), - configTheme = getThemeId(config.theme); - - // Instantiate font state object - fontState = gitbook.storage.get('fontState', { - size: config.size || 2, - family: configFamily, - theme: configTheme - }); - - update(); - } - - function updateButtons() { - // Remove existing fontsettings buttons - if (!!BUTTON_ID) { - gitbook.toolbar.removeButton(BUTTON_ID); - } - - // Create buttons in toolbar - BUTTON_ID = gitbook.toolbar.createButton({ - icon: 'fa fa-font', - label: 'Font Settings', - className: 'font-settings', - dropdown: [ - [ - { - text: 'A', - className: 'font-reduce', - onClick: reduceFontSize - }, - { - text: 'A', - className: 'font-enlarge', - onClick: enlargeFontSize - } - ], - $.map(FAMILIES, function(family) { - family.onClick = function(e) { - return changeFontFamily(family.config, e); - }; - - return family; - }), - $.map(THEMES, function(theme) { - theme.onClick = function(e) { - return changeColorTheme(theme.config, e); - }; - - return theme; - }) - ] - }); - } - - // Init configuration at start - gitbook.events.bind('start', function(e, config) { - var opts = config.fontsettings; - - // Generate buttons at start - updateButtons(); - - // Init current settings - init(opts); - }); - - // Expose API - gitbook.fontsettings = { - enlargeFontSize: enlargeFontSize, - reduceFontSize: reduceFontSize, - setTheme: changeColorTheme, - setFamily: changeFontFamily, - getThemes: getThemes, - setThemes: setThemes, - getFamilies: getFamilies, - setFamilies: setFamilies - }; -}); - - diff --git a/docs/_book/gitbook/gitbook-plugin-fontsettings/website.css b/docs/_book/gitbook/gitbook-plugin-fontsettings/website.css deleted file mode 100644 index 26591fe811..0000000000 --- a/docs/_book/gitbook/gitbook-plugin-fontsettings/website.css +++ /dev/null @@ -1,291 +0,0 @@ -/* - * Theme 1 - */ -.color-theme-1 .dropdown-menu { - background-color: #111111; - border-color: #7e888b; -} -.color-theme-1 .dropdown-menu .dropdown-caret .caret-inner { - border-bottom: 9px solid #111111; -} -.color-theme-1 .dropdown-menu .buttons { - border-color: #7e888b; -} -.color-theme-1 .dropdown-menu .button { - color: #afa790; -} -.color-theme-1 .dropdown-menu .button:hover { - color: #73553c; -} -/* - * Theme 2 - */ -.color-theme-2 .dropdown-menu { - background-color: #2d3143; - border-color: #272a3a; -} -.color-theme-2 .dropdown-menu .dropdown-caret .caret-inner { - border-bottom: 9px solid #2d3143; -} -.color-theme-2 .dropdown-menu .buttons { - border-color: #272a3a; -} -.color-theme-2 .dropdown-menu .button { - color: #62677f; -} -.color-theme-2 .dropdown-menu .button:hover { - color: #f4f4f5; -} -.book .book-header .font-settings .font-enlarge { - line-height: 30px; - font-size: 1.4em; -} -.book .book-header .font-settings .font-reduce { - line-height: 30px; - font-size: 1em; -} -.book.color-theme-1 .book-body { - color: #704214; - background: #f3eacb; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section { - background: #f3eacb; -} -.book.color-theme-2 .book-body { - color: #bdcadb; - background: #1c1f2b; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section { - background: #1c1f2b; -} -.book.font-size-0 .book-body .page-inner section { - font-size: 1.2rem; -} -.book.font-size-1 .book-body .page-inner section { - font-size: 1.4rem; -} -.book.font-size-2 .book-body .page-inner section { - font-size: 1.6rem; -} -.book.font-size-3 .book-body .page-inner section { - font-size: 2.2rem; -} -.book.font-size-4 .book-body .page-inner section { - font-size: 4rem; -} -.book.font-family-0 { - font-family: Georgia, serif; -} -.book.font-family-1 { - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal { - color: #704214; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal a { - color: inherit; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h3, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h4, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h5, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 { - color: inherit; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2 { - border-color: inherit; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 { - color: inherit; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal hr { - background-color: inherit; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal blockquote { - border-color: inherit; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code { - background: #fdf6e3; - color: #657b83; - border-color: #f8df9c; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal .highlight { - background-color: inherit; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table th, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table td { - border-color: #f5d06c; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr { - color: inherit; - background-color: #fdf6e3; - border-color: #444444; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) { - background-color: #fbeecb; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal { - color: #bdcadb; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal a { - color: #3eb1d0; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h3, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h4, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h5, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 { - color: #fffffa; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2 { - border-color: #373b4e; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 { - color: #373b4e; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal hr { - background-color: #373b4e; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal blockquote { - border-color: #373b4e; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { - color: #9dbed8; - background: #2d3143; - border-color: #2d3143; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal .highlight { - background-color: #282a39; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table th, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table td { - border-color: #3b3f54; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr { - color: #b6c2d2; - background-color: #2d3143; - border-color: #3b3f54; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) { - background-color: #35394b; -} -.book.color-theme-1 .book-header { - color: #afa790; - background: transparent; -} -.book.color-theme-1 .book-header .btn { - color: #afa790; -} -.book.color-theme-1 .book-header .btn:hover { - color: #73553c; - background: none; -} -.book.color-theme-1 .book-header h1 { - color: #704214; -} -.book.color-theme-2 .book-header { - color: #7e888b; - background: transparent; -} -.book.color-theme-2 .book-header .btn { - color: #3b3f54; -} -.book.color-theme-2 .book-header .btn:hover { - color: #fffff5; - background: none; -} -.book.color-theme-2 .book-header h1 { - color: #bdcadb; -} -.book.color-theme-1 .book-body .navigation { - color: #afa790; -} -.book.color-theme-1 .book-body .navigation:hover { - color: #73553c; -} -.book.color-theme-2 .book-body .navigation { - color: #383f52; -} -.book.color-theme-2 .book-body .navigation:hover { - color: #fffff5; -} -/* - * Theme 1 - */ -.book.color-theme-1 .book-summary { - color: #afa790; - background: #111111; - border-right: 1px solid rgba(0, 0, 0, 0.07); -} -.book.color-theme-1 .book-summary .book-search { - background: transparent; -} -.book.color-theme-1 .book-summary .book-search input, -.book.color-theme-1 .book-summary .book-search input:focus { - border: 1px solid transparent; -} -.book.color-theme-1 .book-summary ul.summary li.divider { - background: #7e888b; - box-shadow: none; -} -.book.color-theme-1 .book-summary ul.summary li i.fa-check { - color: #33cc33; -} -.book.color-theme-1 .book-summary ul.summary li.done > a { - color: #877f6a; -} -.book.color-theme-1 .book-summary ul.summary li a, -.book.color-theme-1 .book-summary ul.summary li span { - color: #877f6a; - background: transparent; - font-weight: normal; -} -.book.color-theme-1 .book-summary ul.summary li.active > a, -.book.color-theme-1 .book-summary ul.summary li a:hover { - color: #704214; - background: transparent; - font-weight: normal; -} -/* - * Theme 2 - */ -.book.color-theme-2 .book-summary { - color: #bcc1d2; - background: #2d3143; - border-right: none; -} -.book.color-theme-2 .book-summary .book-search { - background: transparent; -} -.book.color-theme-2 .book-summary .book-search input, -.book.color-theme-2 .book-summary .book-search input:focus { - border: 1px solid transparent; -} -.book.color-theme-2 .book-summary ul.summary li.divider { - background: #272a3a; - box-shadow: none; -} -.book.color-theme-2 .book-summary ul.summary li i.fa-check { - color: #33cc33; -} -.book.color-theme-2 .book-summary ul.summary li.done > a { - color: #62687f; -} -.book.color-theme-2 .book-summary ul.summary li a, -.book.color-theme-2 .book-summary ul.summary li span { - color: #c1c6d7; - background: transparent; - font-weight: 600; -} -.book.color-theme-2 .book-summary ul.summary li.active > a, -.book.color-theme-2 .book-summary ul.summary li a:hover { - color: #f4f4f5; - background: #252737; - font-weight: 600; -} diff --git a/docs/_book/gitbook/gitbook-plugin-highlight/ebook.css b/docs/_book/gitbook/gitbook-plugin-highlight/ebook.css deleted file mode 100644 index cecaaab5a6..0000000000 --- a/docs/_book/gitbook/gitbook-plugin-highlight/ebook.css +++ /dev/null @@ -1,135 +0,0 @@ -pre, -code { - /* http://jmblog.github.io/color-themes-for-highlightjs */ - /* Tomorrow Comment */ - /* Tomorrow Red */ - /* Tomorrow Orange */ - /* Tomorrow Yellow */ - /* Tomorrow Green */ - /* Tomorrow Aqua */ - /* Tomorrow Blue */ - /* Tomorrow Purple */ -} -pre .hljs-comment, -code .hljs-comment, -pre .hljs-title, -code .hljs-title { - color: #8e908c; -} -pre .hljs-variable, -code .hljs-variable, -pre .hljs-attribute, -code .hljs-attribute, -pre .hljs-tag, -code .hljs-tag, -pre .hljs-regexp, -code .hljs-regexp, -pre .hljs-deletion, -code .hljs-deletion, -pre .ruby .hljs-constant, -code .ruby .hljs-constant, -pre .xml .hljs-tag .hljs-title, -code .xml .hljs-tag .hljs-title, -pre .xml .hljs-pi, -code .xml .hljs-pi, -pre .xml .hljs-doctype, -code .xml .hljs-doctype, -pre .html .hljs-doctype, -code .html .hljs-doctype, -pre .css .hljs-id, -code .css .hljs-id, -pre .css .hljs-class, -code .css .hljs-class, -pre .css .hljs-pseudo, -code .css .hljs-pseudo { - color: #c82829; -} -pre .hljs-number, -code .hljs-number, -pre .hljs-preprocessor, -code .hljs-preprocessor, -pre .hljs-pragma, -code .hljs-pragma, -pre .hljs-built_in, -code .hljs-built_in, -pre .hljs-literal, -code .hljs-literal, -pre .hljs-params, -code .hljs-params, -pre .hljs-constant, -code .hljs-constant { - color: #f5871f; -} -pre .ruby .hljs-class .hljs-title, -code .ruby .hljs-class .hljs-title, -pre .css .hljs-rules .hljs-attribute, -code .css .hljs-rules .hljs-attribute { - color: #eab700; -} -pre .hljs-string, -code .hljs-string, -pre .hljs-value, -code .hljs-value, -pre .hljs-inheritance, -code .hljs-inheritance, -pre .hljs-header, -code .hljs-header, -pre .hljs-addition, -code .hljs-addition, -pre .ruby .hljs-symbol, -code .ruby .hljs-symbol, -pre .xml .hljs-cdata, -code .xml .hljs-cdata { - color: #718c00; -} -pre .css .hljs-hexcolor, -code .css .hljs-hexcolor { - color: #3e999f; -} -pre .hljs-function, -code .hljs-function, -pre .python .hljs-decorator, -code .python .hljs-decorator, -pre .python .hljs-title, -code .python .hljs-title, -pre .ruby .hljs-function .hljs-title, -code .ruby .hljs-function .hljs-title, -pre .ruby .hljs-title .hljs-keyword, -code .ruby .hljs-title .hljs-keyword, -pre .perl .hljs-sub, -code .perl .hljs-sub, -pre .javascript .hljs-title, -code .javascript .hljs-title, -pre .coffeescript .hljs-title, -code .coffeescript .hljs-title { - color: #4271ae; -} -pre .hljs-keyword, -code .hljs-keyword, -pre .javascript .hljs-function, -code .javascript .hljs-function { - color: #8959a8; -} -pre .hljs, -code .hljs { - display: block; - background: white; - color: #4d4d4c; - padding: 0.5em; -} -pre .coffeescript .javascript, -code .coffeescript .javascript, -pre .javascript .xml, -code .javascript .xml, -pre .tex .hljs-formula, -code .tex .hljs-formula, -pre .xml .javascript, -code .xml .javascript, -pre .xml .vbscript, -code .xml .vbscript, -pre .xml .css, -code .xml .css, -pre .xml .hljs-cdata, -code .xml .hljs-cdata { - opacity: 0.5; -} diff --git a/docs/_book/gitbook/gitbook-plugin-highlight/website.css b/docs/_book/gitbook/gitbook-plugin-highlight/website.css deleted file mode 100644 index 6674448f7c..0000000000 --- a/docs/_book/gitbook/gitbook-plugin-highlight/website.css +++ /dev/null @@ -1,434 +0,0 @@ -.book .book-body .page-wrapper .page-inner section.normal pre, -.book .book-body .page-wrapper .page-inner section.normal code { - /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ - /* Tomorrow Comment */ - /* Tomorrow Red */ - /* Tomorrow Orange */ - /* Tomorrow Yellow */ - /* Tomorrow Green */ - /* Tomorrow Aqua */ - /* Tomorrow Blue */ - /* Tomorrow Purple */ -} -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-comment, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-title { - color: #8e908c; -} -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-variable, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-tag, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-tag, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, -.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant, -.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi, -.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype, -.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype, -.book .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype, -.book .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype, -.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id, -.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-id, -.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class, -.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-class, -.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, -.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo { - color: #c82829; -} -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-number, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-number, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-literal, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-literal, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-params, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-params, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-constant { - color: #f5871f; -} -.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute, -.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute { - color: #eab700; -} -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-string, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-string, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-value, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-value, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-header, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-header, -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-addition, -.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol, -.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, -.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { - color: #718c00; -} -.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor, -.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor { - color: #3e999f; -} -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-function, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-function, -.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator, -.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator, -.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword, -.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword, -.book .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub, -.book .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub, -.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title, -.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title { - color: #4271ae; -} -.book .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, -.book .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, -.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function, -.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function { - color: #8959a8; -} -.book .book-body .page-wrapper .page-inner section.normal pre .hljs, -.book .book-body .page-wrapper .page-inner section.normal code .hljs { - display: block; - background: white; - color: #4d4d4c; - padding: 0.5em; -} -.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript, -.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript, -.book .book-body .page-wrapper .page-inner section.normal pre .javascript .xml, -.book .book-body .page-wrapper .page-inner section.normal code .javascript .xml, -.book .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, -.book .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .javascript, -.book .book-body .page-wrapper .page-inner section.normal code .xml .javascript, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript, -.book .book-body .page-wrapper .page-inner section.normal code .xml .vbscript, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .css, -.book .book-body .page-wrapper .page-inner section.normal code .xml .css, -.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, -.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { - opacity: 0.5; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code { - /* - -Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull - -*/ - /* Solarized Green */ - /* Solarized Cyan */ - /* Solarized Blue */ - /* Solarized Yellow */ - /* Solarized Orange */ - /* Solarized Red */ - /* Solarized Violet */ -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs { - display: block; - padding: 0.5em; - background: #fdf6e3; - color: #657b83; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-comment, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-template_comment, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-template_comment, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-header, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-header, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-doctype, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-doctype, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pi, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pi, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-string, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-string, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-javadoc, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-javadoc { - color: #93a1a1; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-winutils, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-winutils, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .method, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .method, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-addition, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-tag, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-tag, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-request, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-request, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-status, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-status, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .nginx .hljs-title, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .nginx .hljs-title { - color: #859900; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-number, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-number, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-command, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-command, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-string, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-string, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag .hljs-value, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-tag .hljs-value, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-rules .hljs-value, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-rules .hljs-value, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-phpdoc, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-phpdoc, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-hexcolor, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-hexcolor, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_url, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_url { - color: #2aa198; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-title, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-title, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-localvars, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-localvars, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-chunk, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-chunk, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-decorator, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-decorator, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-identifier, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-identifier, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .vhdl .hljs-literal, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .vhdl .hljs-literal, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-id, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-id, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-function, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-function { - color: #268bd2; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-variable, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-body, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-body, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .smalltalk .hljs-number, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .smalltalk .hljs-number, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-constant, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-class .hljs-title, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-class .hljs-title, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-parent, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-parent, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .haskell .hljs-type, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .haskell .hljs-type, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_reference, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_reference { - color: #b58900; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor .hljs-keyword, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor .hljs-keyword, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-shebang, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-shebang, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol .hljs-string, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol .hljs-string, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-change, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-change, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-special, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-special, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attr_selector, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attr_selector, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-subst, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-subst, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-cdata, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-cdata, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .clojure .hljs-title, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .clojure .hljs-title, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-header, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-header { - color: #cb4b16; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-important, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-important { - color: #dc322f; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_label, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_label { - color: #6c71c4; -} -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, -.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula { - background: #eee8d5; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { - /* Tomorrow Night Bright Theme */ - /* Original theme - https://github.com/chriskempson/tomorrow-theme */ - /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ - /* Tomorrow Comment */ - /* Tomorrow Red */ - /* Tomorrow Orange */ - /* Tomorrow Yellow */ - /* Tomorrow Green */ - /* Tomorrow Aqua */ - /* Tomorrow Blue */ - /* Tomorrow Purple */ -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-comment, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-title { - color: #969896; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-variable, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-tag, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-id, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-class, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo { - color: #d54e53; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-number, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-number, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-literal, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-literal, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-params, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-params, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-constant { - color: #e78c45; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute { - color: #e7c547; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-string, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-string, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-value, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-value, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-header, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-header, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-addition, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { - color: #b9ca4a; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor { - color: #70c0b1; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-function, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-function, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title { - color: #7aa6da; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function { - color: #c397d8; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs { - display: block; - background: black; - color: #eaeaea; - padding: 0.5em; -} -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .xml, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .xml, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .javascript, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .javascript, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .vbscript, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .css, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .css, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, -.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { - opacity: 0.5; -} diff --git a/docs/_book/gitbook/gitbook-plugin-jsfiddle/plugin.js b/docs/_book/gitbook/gitbook-plugin-jsfiddle/plugin.js deleted file mode 100644 index c8bce1c8ef..0000000000 --- a/docs/_book/gitbook/gitbook-plugin-jsfiddle/plugin.js +++ /dev/null @@ -1,102 +0,0 @@ -require(["gitbook", "jquery"], function (gitbook, $) { - var matcher = /\/\/jsfiddle.net\/.+/; - var defaults = { - type: 'script', - tabs: ['js', 'html', 'css', 'result'], - theme: 'light' - }; - var localConfig = { - jsfiddle: {} - }; - var extractConfigFromURL = function (href) { - var match = /(#)(.+)$/ig.exec(href); - if (match && match[2]) { - return match[2].split('&').reduce(function (params, param) { - var splitParam = param.split('='); - if (splitParam[0] === 'tabs') { - splitParam[1] = splitParam[1].split(','); - } - params[splitParam[0]] = splitParam[1]; - return params; - }, {}); - } - return {}; - }; - var generateAdditionalParams = function (config) { - var params = '/'; - if (config.theme) { - params += config.theme + '/'; - } - var colors = Object.keys(config).reduce(function (colors, key) { - if (['href', 'type', 'theme', 'tabs', 'width', 'height'].indexOf(key) !== -1) { - return colors; - } - colors += key + '=' + config[key] + '&'; - return colors; - }, ''); - - colors = colors.replace(/&$/, ''); - if (colors) { - return params + '?' + colors; - } - return params; - }; - - var generateUrl = function (config) { - var additionalParam = generateAdditionalParams(config); - var type = config.type == 'frame' ? 'embedded' : 'embed'; - return config.href + type + '/' + config.tabs.join(',') + additionalParam; - }; - - var creator = { - script: function (config) { - var script = document.createElement('script'); - script.src = generateUrl(config); - script.async = true; - return script; - }, - frame: function (config) { - return $([ - '', - '' - ].join(''))[0]; - } - }; - - var createEmbedNode = function (href, config) { - var normalURL = href.replace(/#.+$/, ''); - var configFromUrl = extractConfigFromURL(href); - var mergedConfig = $.extend({href: normalURL}, config, configFromUrl); - return creator[mergedConfig.type](mergedConfig); - }; - - function embedAllLink(config) { - localConfig.jsfiddle = $.extend(localConfig.jsfiddle || {}, config.jsfiddle); - $(".book-body a").each(function (index, link) { - if (link.href && matcher.test(link.href)) { - link.parentNode.insertBefore(createEmbedNode(link.href, localConfig.jsfiddle), link.nextSibling); - link.parentNode.removeChild(link); - } - }); - } - - gitbook.events.bind("start", function (e, config) { - localConfig.jsfiddle = $.extend({}, defaults); - matcher = /(http|https):\/\/jsfiddle.net\/.+/; - embedAllLink(config); - }); - - gitbook.events.bind("page.change", function () { - if (matcher) { - embedAllLink(localConfig); - } - }); - -}); \ No newline at end of file diff --git a/docs/_book/gitbook/gitbook-plugin-lunr/lunr.min.js b/docs/_book/gitbook/gitbook-plugin-lunr/lunr.min.js deleted file mode 100644 index 6aa6bc7d69..0000000000 --- a/docs/_book/gitbook/gitbook-plugin-lunr/lunr.min.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.12 - * Copyright (C) 2015 Oliver Nightingale - * MIT Licensed - * @license - */ -!function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.5.12",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(t){return arguments.length&&null!=t&&void 0!=t?Array.isArray(t)?t.map(function(t){return t.toLowerCase()}):t.toString().trim().toLowerCase().split(/[\s\-]+/):[]},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,o=0;n>o;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(en.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;no;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(en.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n element for each result - res.results.forEach(function(res) { - var $li = $('
                                                                                                                                                                                                                                                                                                                    • ', { - 'class': 'search-results-item' - }); - - var $title = $('

                                                                                                                                                                                                                                                                                                                      '); - - var $link = $('', { - 'href': gitbook.state.basePath + '/' + res.url, - 'text': res.title - }); - - var content = res.body.trim(); - if (content.length > MAX_DESCRIPTION_SIZE) { - content = content.slice(0, MAX_DESCRIPTION_SIZE).trim()+'...'; - } - var $content = $('

                                                                                                                                                                                                                                                                                                                      ').html(content); - - $link.appendTo($title); - $title.appendTo($li); - $content.appendTo($li); - $li.appendTo($searchList); - }); - } - - function launchSearch(q) { - // Add class for loading - $body.addClass('with-search'); - $body.addClass('search-loading'); - - // Launch search query - throttle(gitbook.search.query(q, 0, MAX_RESULTS) - .then(function(results) { - displayResults(results); - }) - .always(function() { - $body.removeClass('search-loading'); - }), 1000); - } - - function closeSearch() { - $body.removeClass('with-search'); - $bookSearchResults.removeClass('open'); - } - - function launchSearchFromQueryString() { - var q = getParameterByName('q'); - if (q && q.length > 0) { - // Update search input - $searchInput.val(q); - - // Launch search - launchSearch(q); - } - } - - function bindSearch() { - // Bind DOM - $searchInput = $('#book-search-input input'); - $bookSearchResults = $('#book-search-results'); - $searchList = $bookSearchResults.find('.search-results-list'); - $searchTitle = $bookSearchResults.find('.search-results-title'); - $searchResultsCount = $searchTitle.find('.search-results-count'); - $searchQuery = $searchTitle.find('.search-query'); - - // Launch query based on input content - function handleUpdate() { - var q = $searchInput.val(); - - if (q.length == 0) { - closeSearch(); - } - else { - launchSearch(q); - } - } - - // Detect true content change in search input - // Workaround for IE < 9 - var propertyChangeUnbound = false; - $searchInput.on('propertychange', function(e) { - if (e.originalEvent.propertyName == 'value') { - handleUpdate(); - } - }); - - // HTML5 (IE9 & others) - $searchInput.on('input', function(e) { - // Unbind propertychange event for IE9+ - if (!propertyChangeUnbound) { - $(this).unbind('propertychange'); - propertyChangeUnbound = true; - } - - handleUpdate(); - }); - - // Push to history on blur - $searchInput.on('blur', function(e) { - // Update history state - if (usePushState) { - var uri = updateQueryString('q', $(this).val()); - history.pushState({ path: uri }, null, uri); - } - }); - } - - gitbook.events.on('page.change', function() { - bindSearch(); - closeSearch(); - - // Launch search based on query parameter - if (gitbook.search.isInitialized()) { - launchSearchFromQueryString(); - } - }); - - gitbook.events.on('search.ready', function() { - bindSearch(); - - // Launch search from query param at start - launchSearchFromQueryString(); - }); - - function getParameterByName(name) { - var url = window.location.href; - name = name.replace(/[\[\]]/g, '\\$&'); - var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)', 'i'), - results = regex.exec(url); - if (!results) return null; - if (!results[2]) return ''; - return decodeURIComponent(results[2].replace(/\+/g, ' ')); - } - - function updateQueryString(key, value) { - value = encodeURIComponent(value); - - var url = window.location.href; - var re = new RegExp('([?&])' + key + '=.*?(&|#|$)(.*)', 'gi'), - hash; - - if (re.test(url)) { - if (typeof value !== 'undefined' && value !== null) - return url.replace(re, '$1' + key + '=' + value + '$2$3'); - else { - hash = url.split('#'); - url = hash[0].replace(re, '$1$3').replace(/(&|\?)$/, ''); - if (typeof hash[1] !== 'undefined' && hash[1] !== null) - url += '#' + hash[1]; - return url; - } - } - else { - if (typeof value !== 'undefined' && value !== null) { - var separator = url.indexOf('?') !== -1 ? '&' : '?'; - hash = url.split('#'); - url = hash[0] + separator + key + '=' + value; - if (typeof hash[1] !== 'undefined' && hash[1] !== null) - url += '#' + hash[1]; - return url; - } - else - return url; - } - } -}); diff --git a/docs/_book/gitbook/gitbook-plugin-sharing/buttons.js b/docs/_book/gitbook/gitbook-plugin-sharing/buttons.js deleted file mode 100644 index 709a4e4c02..0000000000 --- a/docs/_book/gitbook/gitbook-plugin-sharing/buttons.js +++ /dev/null @@ -1,90 +0,0 @@ -require(['gitbook', 'jquery'], function(gitbook, $) { - var SITES = { - 'facebook': { - 'label': 'Facebook', - 'icon': 'fa fa-facebook', - 'onClick': function(e) { - e.preventDefault(); - window.open('http://www.facebook.com/sharer/sharer.php?s=100&p[url]='+encodeURIComponent(location.href)); - } - }, - 'twitter': { - 'label': 'Twitter', - 'icon': 'fa fa-twitter', - 'onClick': function(e) { - e.preventDefault(); - window.open('http://twitter.com/home?status='+encodeURIComponent(document.title+' '+location.href)); - } - }, - 'google': { - 'label': 'Google+', - 'icon': 'fa fa-google-plus', - 'onClick': function(e) { - e.preventDefault(); - window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href)); - } - }, - 'weibo': { - 'label': 'Weibo', - 'icon': 'fa fa-weibo', - 'onClick': function(e) { - e.preventDefault(); - window.open('http://service.weibo.com/share/share.php?content=utf-8&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title)); - } - }, - 'instapaper': { - 'label': 'Instapaper', - 'icon': 'fa fa-instapaper', - 'onClick': function(e) { - e.preventDefault(); - window.open('http://www.instapaper.com/text?u='+encodeURIComponent(location.href)); - } - }, - 'vk': { - 'label': 'VK', - 'icon': 'fa fa-vk', - 'onClick': function(e) { - e.preventDefault(); - window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(location.href)); - } - } - }; - - - - gitbook.events.bind('start', function(e, config) { - var opts = config.sharing; - - // Create dropdown menu - var menu = $.map(opts.all, function(id) { - var site = SITES[id]; - - return { - text: site.label, - onClick: site.onClick - }; - }); - - // Create main button with dropdown - if (menu.length > 0) { - gitbook.toolbar.createButton({ - icon: 'fa fa-share-alt', - label: 'Share', - position: 'right', - dropdown: [menu] - }); - } - - // Direct actions to share - $.each(SITES, function(sideId, site) { - if (!opts[sideId]) return; - - gitbook.toolbar.createButton({ - icon: site.icon, - label: site.text, - position: 'right', - onClick: site.onClick - }); - }); - }); -}); diff --git a/docs/_book/gitbook/gitbook-plugin-splitter/splitter.css b/docs/_book/gitbook/gitbook-plugin-splitter/splitter.css deleted file mode 100644 index 4e84720bf1..0000000000 --- a/docs/_book/gitbook/gitbook-plugin-splitter/splitter.css +++ /dev/null @@ -1,22 +0,0 @@ -.divider-content-summary { - position: absolute; - top: 0; - right: 0; - height: 100%; - width: 5px; - display: table; - cursor: col-resize; - color: #ccc; - -webkit-transition: color 350ms ease; - -moz-transition: color 350ms ease; - -o-transition: color 350ms ease; - transition: color 350ms ease -} -.divider-content-summary:hover { - color: #444; -} - .divider-content-summary__icon { - display: table-cell; - vertical-align: middle; - text-align: center; - } diff --git a/docs/_book/gitbook/gitbook-plugin-splitter/splitter.js b/docs/_book/gitbook/gitbook-plugin-splitter/splitter.js deleted file mode 100644 index 5034e5b15e..0000000000 --- a/docs/_book/gitbook/gitbook-plugin-splitter/splitter.js +++ /dev/null @@ -1,128 +0,0 @@ -require(['gitbook', 'jQuery'], function (gitbook, $) { - - // MEMO: - // Gitbook is calculated as "calc (100% - 60px)" in the horizontal width when the width of the screen size is 600px - // or less. - // In this case, since contradiction occurs in the implementation of this module, return. - if($(window).width() <= 600) { - return; - } - - gitbook.events.bind('start', function () { - }); - - gitbook.events.bind('page.change', function () { - - var KEY_SPLIT_STATE = 'plugin_gitbook_split'; - - var dividerWidth = null; - var isDraggable = false; - var dividerCenterOffsetLeft = null; - var splitState = null; - var grabPointWidth = null; - - var $body = $('body'); - var $book = $('.book'); - var $summary = $('.book-summary'); - var $bookBody = $('.book-body'); - var $divider = $('

                                                                                                                                                                                                                                                                                                                      ' + - '
                                                                                                                                                                                                                                                                                                                      ' + - '' + - '
                                                                                                                                                                                                                                                                                                                      ' + - '
                                                                                                                                                                                                                                                                                                                      '); - - $summary.append($divider); - - dividerWidth = $divider.outerWidth(); - dividerCenterOffsetLeft = $divider.outerWidth() / 2; - - // restore split state from sessionStorage - splitState = getSplitState(); - setSplitState( - splitState.summaryWidth, - splitState.summaryOffset, - splitState.bookBodyOffset - ); - - setTimeout(function() { - var isGreaterThanEqualGitbookV2_5 = !Boolean($('.toggle-summary').length); - - var $toggleSummary = isGreaterThanEqualGitbookV2_5 - ? $('.fa.fa-align-justify').parent() : $('.toggle-summary'); - - $toggleSummary.on('click', function () { - - var summaryOffset = null; - var bookBodyOffset = null; - - var isOpen = isGreaterThanEqualGitbookV2_5 - ? !gitbook.sidebar.isOpen() : $book.hasClass('with-summary'); - - if (isOpen) { - summaryOffset = -($summary.outerWidth()); - bookBodyOffset = 0; - } else { - summaryOffset = 0; - bookBodyOffset = $summary.outerWidth(); - } - - setSplitState($summary.outerWidth(), summaryOffset, bookBodyOffset); - saveSplitState($summary.outerWidth(), summaryOffset, bookBodyOffset); - }); - }, 1); - - $divider.on('mousedown', function (event) { - event.stopPropagation(); - isDraggable = true; - grabPointWidth = $summary.outerWidth() - event.pageX; - }); - - $body.on('mouseup', function (event) { - event.stopPropagation(); - isDraggable = false; - saveSplitState( - $summary.outerWidth(), - $summary.position().left, - $bookBody.position().left - ); - }); - - $body.on('mousemove', function (event) { - if (!isDraggable) { - return; - } - event.stopPropagation(); - event.preventDefault(); - $summary.outerWidth(event.pageX + grabPointWidth); - $bookBody.offset({ left: event.pageX + grabPointWidth }); - }); - - function getSplitState() { - var splitState = JSON.parse(sessionStorage.getItem(KEY_SPLIT_STATE)); - splitState || (splitState = {}); - splitState.summaryWidth || (splitState.summaryWidth = $summary.outerWidth()); - splitState.summaryOffset || (splitState.summaryOffset = $summary.position().left); - splitState.bookBodyOffset || (splitState.bookBodyOffset = $bookBody.position().left); - return splitState; - } - - function saveSplitState(summaryWidth, summaryWidthOffset, bookBodyOffset) { - sessionStorage.setItem(KEY_SPLIT_STATE, JSON.stringify({ - summaryWidth: summaryWidth, - summaryOffset: summaryWidthOffset, - bookBodyOffset: bookBodyOffset, - })); - } - - function setSplitState(summaryWidth, summaryOffset, bookBodyOffset) { - $summary.outerWidth(summaryWidth); - $summary.offset({ left: summaryOffset }); - $bookBody.offset({ left: bookBodyOffset }); - // improved broken layout in windows chrome. - // "$(x).offset" automatically add to "position:relative". - // but it cause layout broken.. - $summary.css({ position: 'absolute' }); - $bookBody.css({ position: 'absolute' }); - } - }); -}); diff --git a/docs/_book/gitbook/gitbook-plugin-theme-api/theme-api.css b/docs/_book/gitbook/gitbook-plugin-theme-api/theme-api.css deleted file mode 100644 index 51f8b35a83..0000000000 --- a/docs/_book/gitbook/gitbook-plugin-theme-api/theme-api.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Preboot v2 - * - * Open sourced under MIT license by @mdo. - * Some variables and mixins from Bootstrap (Apache 2 license). - */.api-method{margin:30px -30px}.api-method:last-of-type{margin-bottom:0}.api-method .api-method-definition{padding:0 30px}.api-method .api-method-code{padding:30px 30px 15px;background-color:#FEFEFE;border-top:1px solid #F1EFEF;border-bottom:1px solid #F1EFEF}.api-method .api-method-code pre>code{white-space:pre-wrap;white-space:-moz- pre-wrap;white-space:- pre-wrap;white-space:-o- pre-wrap;word-wrap:break-word}.api-method:after{clear:both}.book.two-columns .api-method{position:relative;width:calc(100% + 60px)}.book.two-columns .api-method:after{content:" ";display:block;visibility:hidden;clear:both}.book.two-columns .api-method .api-method-title{margin-top:0}.book.two-columns .api-method .api-method-definition{float:left;width:50%}.book.two-columns .api-method .api-method-code{position:relative;float:left;width:50%;padding:30px 30px 15px;border-left:1px solid #F1EFEF;border-top:none;border-bottom:none;transition:opacity .3s ease}.book.two-columns .page-wrapper.comments-open-from-definition .api-method-code{opacity:.1}.book-header{padding:0;position:fixed;top:0;left:0;right:0;background-color:#FFF;border-bottom:1px solid rgba(0,0,0,.07);-webkit-transition:left 250ms ease;-moz-transition:left 250ms ease;-o-transition:left 250ms ease;transition:left 250ms ease}.book.with-summary .book-header{left:300px}@media (max-width:600px){.book.with-summary .book-header{left:0}}.book-header .btn.lang-switcher{text-transform:none;font-weight:500;border-radius:0}.book-header .btn.lang-switcher.active{background-color:#03677D;color:#FFF}#book-search-results .search-results{padding:20px 30px 0}#book-search-input{padding:5px;margin-top:0}.book .book-body .page-wrapper .page-inner .comments-section{max-width:calc(100% - 40px)}.book .book-body .page-wrapper .page-inner .comments-section .comments-area{z-index:1}.book .book-body .page-wrapper.comments-open-from-definition .page-inner{left:0!important}.color-theme-3 .dropdown-menu{background-color:#2D3134;border-color:#373B3E}.color-theme-3 .dropdown-menu .dropdown-caret .caret-inner{border-bottom:9px solid #2D3134}.color-theme-3 .dropdown-menu .buttons{border-color:#373B3E}.color-theme-3 .dropdown-menu .button{color:#D0D4D7}.color-theme-3 .dropdown-menu .button:hover{color:#EEE}.book.color-theme-3 .book-header{color:#D0D4D7;background:#272B2D}.book.color-theme-3 .book-header .btn{color:#D0D4D7}.book.color-theme-3 .book-header .btn:hover{color:#EEE;background:0 0}.book.color-theme-3 .book-header .btn.lang-switcher.active{background-color:#186469}.book.color-theme-3 .book-header .btn.lang-switcher.active:hover{background-color:#186469}.book.color-theme-3 .book-header h1{color:#EEE}.book.color-theme-3 .book-body section a{color:#3EAAB1}.book.color-theme-3 .book-body section .api-method-code{color:#EEE;background-color:#272B2D}.book.color-theme-3 .book-body section .api-method-code h1,.book.color-theme-3 .book-body section .api-method-code h2,.book.color-theme-3 .book-body section .api-method-code h3,.book.color-theme-3 .book-body section .api-method-code h4,.book.color-theme-3 .book-body section .api-method-code h5,.book.color-theme-3 .book-body section .api-method-code h6{color:#fff}.book.color-theme-3 .book-body section .api-method-code h6{color:#D0D4D7}.book.color-theme-3 .book-body section .api-method-code hr{background-color:#373B3E}.book.color-theme-3 .book-body section .api-method-code blockquote{border-color:#373B3E}.book.color-theme-3 .book-body section .api-method-code code,.book.color-theme-3 .book-body section .api-method-code pre{color:#EEE;background-color:#2D3134;border-radius:3px}.book.color-theme-3 .book-body section .api-method-code table{border-collapse:separate;border:1px solid #373B3E;border-radius:3px}.book.color-theme-3 .book-body section .api-method-code table td,.book.color-theme-3 .book-body section .api-method-code table th{border:none}.book.color-theme-3 .book-body section .api-method-code table th{border-bottom:1px solid #373B3E}.book.color-theme-3 .book-body section .api-method-code table tr{color:#EEE;background-color:transparent}.book.color-theme-3 .book-body section .api-method-code table tr:nth-child(2n){background-color:#2D3134}.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs{display:block;overflow-x:auto;padding:.5em;background:#474949;color:#d1d9e1}.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-comment,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-quote,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-comment,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-quote{color:#969896;font-style:italic}.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-addition,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-keyword,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-literal,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-selector-tag,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-type,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-addition,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-keyword,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-literal,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-selector-tag,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-type{color:#c9c}.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-number,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-selector-attr,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-selector-pseudo,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-number,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-selector-attr,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-selector-pseudo{color:#f99157}.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-doctag,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-regexp,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-string,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-doctag,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-regexp,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-string{color:#8abeb7}.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-built_in,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-name,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-section,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-title,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-built_in,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-name,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-section,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-title{color:#b5bd68}.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-class .hljs-title,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-selector-id,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-template-variable,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-variable,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-class .hljs-title,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-selector-id,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-template-variable,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-variable{color:#fc6}.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-name,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-section,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-strong,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-name,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-section,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-strong{font-weight:700}.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-bullet,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-link,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-meta,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-subst,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-symbol,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-bullet,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-link,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-meta,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-subst,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-symbol{color:#f99157}.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-deletion,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-deletion{color:#dc322f}.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-formula,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-formula{background:#eee8d5}.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-attr,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-attribute,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-attr,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-attribute{color:#81a2be}.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code code .hljs-emphasis,.book.color-theme-3 .book-body .page-wrapper .page-inner section.normal .api-method-code pre .hljs-emphasis{font-style:italic}.page-inner{max-width:100%;padding:0;margin-top:50px}.markdown-section{padding:20px 30px 0} \ No newline at end of file diff --git a/docs/_book/gitbook/gitbook-plugin-theme-api/theme-api.js b/docs/_book/gitbook/gitbook-plugin-theme-api/theme-api.js deleted file mode 100644 index 07e6c21f70..0000000000 --- a/docs/_book/gitbook/gitbook-plugin-theme-api/theme-api.js +++ /dev/null @@ -1 +0,0 @@ -require(["gitbook","jquery"],function(t,e){function n(e){r=t.storage.get("themeApi",{split:e.split,currentLang:null})}function a(){t.storage.set("themeApi",r),i()}function i(){e(".book").toggleClass("two-columns",r.split),s=e(".api-method-sample"),s.each(function(){var t=!(e(this).data("lang")==r.currentLang);e(this).toggleClass("hidden",t)})}function o(){t.toolbar.removeButtons(c),c=[],s=e(".api-method-sample");var n=[],i=!1;s.each(function(){var t,a,o=!1,s=e(this).data("lang"),c=e(this).data("name");s==r.currentLang&&(i=!0,o=!0),t=e.grep(n,function(t){return t.name==c}),a=!!t.length,a||n.push({name:c,lang:s,"default":o})}),n.reverse(),e.each(n,function(o,s){var l,g=s["default"]||!i&&o==n.length-1;l=t.toolbar.createButton({text:s.name,position:"right",className:"lang-switcher"+(g?" active":""),onClick:function(t){r.currentLang=s.lang,a(),e(".btn.lang-switcher.active").removeClass("active"),e(t.currentTarget).addClass("active")}}),c.push(l),g&&(r.currentLang=s.lang)})}var s,r,c=[],l=[{config:"light",text:"Light",id:0},{config:"dark",text:"Dark",id:3}];t.events.bind("start",function(e,i){var o=i["theme-api"];t.toolbar.createButton({icon:"fa fa-columns",label:"Change Layout",onClick:function(){r.split=!r.split,a()}}),t.fontsettings.setThemes(l),t.fontsettings.setTheme(o.theme),n(o)}),t.events.on("page.change",function(){o(),i()}),t.events.on("comment.toggled",function(e,n,a){if(n.parents(".api-method-definition").length){var i=t.state.$book.find(".page-wrapper");i.toggleClass("comments-open-from-definition",a&&r.split)}})}); diff --git a/docs/_book/gitbook/gitbook.js b/docs/_book/gitbook/gitbook.js deleted file mode 100644 index 13077b45ca..0000000000 --- a/docs/_book/gitbook/gitbook.js +++ /dev/null @@ -1,4 +0,0 @@ -!function e(t,n,r){function o(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[s]={exports:{}};t[s][0].call(l.exports,function(e){var n=t[s][1][e];return o(n?n:e)},l,l.exports,e,t,n,r)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s0&&t-1 in e)}function o(e,t,n){return de.isFunction(t)?de.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?de.grep(e,function(e){return e===t!==n}):"string"!=typeof t?de.grep(e,function(e){return se.call(t,e)>-1!==n}):je.test(t)?de.filter(t,e,n):(t=de.filter(t,e),de.grep(e,function(e){return se.call(t,e)>-1!==n&&1===e.nodeType}))}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function s(e){var t={};return de.each(e.match(qe)||[],function(e,n){t[n]=!0}),t}function a(e){return e}function u(e){throw e}function c(e,t,n){var r;try{e&&de.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&de.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function l(){te.removeEventListener("DOMContentLoaded",l),e.removeEventListener("load",l),de.ready()}function f(){this.expando=de.expando+f.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Ie.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Pe,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=p(n)}catch(e){}Re.set(e,t,n)}else n=void 0;return n}function d(e,t,n,r){var o,i=1,s=20,a=r?function(){return r.cur()}:function(){return de.css(e,t,"")},u=a(),c=n&&n[3]||(de.cssNumber[t]?"":"px"),l=(de.cssNumber[t]||"px"!==c&&+u)&&$e.exec(de.css(e,t));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do i=i||".5",l/=i,de.style(e,t,l+c);while(i!==(i=a()/u)&&1!==i&&--s)}return n&&(l=+l||+u||0,o=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=o)),o}function g(e){var t,n=e.ownerDocument,r=e.nodeName,o=Ue[r];return o?o:(t=n.body.appendChild(n.createElement(r)),o=de.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),Ue[r]=o,o)}function m(e,t){for(var n,r,o=[],i=0,s=e.length;i-1)o&&o.push(i);else if(c=de.contains(i.ownerDocument,i),s=v(f.appendChild(i),"script"),c&&y(s),n)for(l=0;i=s[l++];)Ve.test(i.type||"")&&n.push(i);return f}function b(){return!0}function w(){return!1}function T(){try{return te.activeElement}catch(e){}}function C(e,t,n,r,o,i){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(a in t)C(e,a,n,r,t[a],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),o===!1)o=w;else if(!o)return e;return 1===i&&(s=o,o=function(e){return de().off(e),s.apply(this,arguments)},o.guid=s.guid||(s.guid=de.guid++)),e.each(function(){de.event.add(this,t,o,r,n)})}function j(e,t){return de.nodeName(e,"table")&&de.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function E(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function S(e,t){var n,r,o,i,s,a,u,c;if(1===t.nodeType){if(Fe.hasData(e)&&(i=Fe.access(e),s=Fe.set(t,i),c=i.events)){delete s.handle,s.events={};for(o in c)for(n=0,r=c[o].length;n1&&"string"==typeof d&&!pe.checkClone&&nt.test(d))return e.each(function(n){var i=e.eq(n);g&&(t[0]=d.call(this,n,i.html())),A(i,t,r,o)});if(p&&(i=x(t,e[0].ownerDocument,!1,e,o),s=i.firstChild,1===i.childNodes.length&&(i=s),s||o)){for(a=de.map(v(i,"script"),k),u=a.length;f=0&&nC.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[$]=!0,e}function o(e){var t=L.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split("|"),r=n.length;r--;)C.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&je(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var o,i=e([],n.length,t),s=i.length;s--;)n[o=i[s]]&&(n[o]=!(r[o]=n[o]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function h(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var o=0,i=n.length;o-1&&(r[c]=!(s[c]=f))}}else x=v(x===s?x.splice(d,x.length):x),i?i(null,s,x,u):K.apply(s,x)})}function x(e){for(var t,n,r,o=e.length,i=C.relative[e[0].type],s=i||C.relative[" "],a=i?1:0,u=d(function(e){return e===t},s,!0),c=d(function(e){return ee(t,e)>-1},s,!0),l=[function(e,n,r){var o=!i&&(r||n!==A)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,o}];a1&&g(l),a>1&&h(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ae,"$1"),n,a0,i=e.length>0,s=function(r,s,a,u,c){var l,f,p,h=0,d="0",g=r&&[],m=[],y=A,x=r||i&&C.find.TAG("*",c),b=B+=null==y?1:Math.random()||.1,w=x.length;for(c&&(A=s===L||s||c);d!==w&&null!=(l=x[d]);d++){if(i&&l){for(f=0,s||l.ownerDocument===L||(O(l),a=!F);p=e[f++];)if(p(l,s||L,a)){u.push(l);break}c&&(B=b)}o&&((l=!p&&l)&&h--,r&&g.push(l))}if(h+=d,o&&d!==h){for(f=0;p=n[f++];)p(g,m,s,a);if(r){if(h>0)for(;d--;)g[d]||m[d]||(m[d]=Q.call(u));m=v(m)}K.apply(u,m),c&&!r&&m.length>0&&h+n.length>1&&t.uniqueSort(u)}return c&&(B=b,A=y),g};return o?r(s):s}var w,T,C,j,k,E,S,N,A,q,D,O,L,H,F,R,I,P,M,$="sizzle"+1*new Date,W=e.document,B=0,_=0,U=n(),z=n(),X=n(),V=function(e,t){return e===t&&(D=!0),0},G={}.hasOwnProperty,Y=[],Q=Y.pop,J=Y.push,K=Y.push,Z=Y.slice,ee=function(e,t){for(var n=0,r=e.length;n+~]|"+ne+")"+ne+"*"),le=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(ie),pe=new RegExp("^"+re+"$"),he={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,xe=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),be=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},we=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Te=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Ce=function(){O()},je=d(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{K.apply(Y=Z.call(W.childNodes),W.childNodes),Y[W.childNodes.length].nodeType}catch(e){K={apply:Y.length?function(e,t){J.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}T=t.support={},k=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},O=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:W;return r!==L&&9===r.nodeType&&r.documentElement?(L=r,H=L.documentElement,F=!k(L),W!==L&&(n=L.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Ce,!1):n.attachEvent&&n.attachEvent("onunload",Ce)),T.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),T.getElementsByTagName=o(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),T.getElementsByClassName=me.test(L.getElementsByClassName),T.getById=o(function(e){return H.appendChild(e).id=$,!L.getElementsByName||!L.getElementsByName($).length}),T.getById?(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){return e.getAttribute("id")===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n=t.getElementById(e);return n?[n]:[]}}):(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n,r,o,i=t.getElementById(e);if(i){if(n=i.getAttributeNode("id"),n&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if(n=i.getAttributeNode("id"),n&&n.value===e)return[i]}return[]}}),C.find.TAG=T.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):T.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},C.find.CLASS=T.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&F)return t.getElementsByClassName(e)},I=[],R=[],(T.qsa=me.test(L.querySelectorAll))&&(o(function(e){H.appendChild(e).innerHTML="
                                                                                                                                                                                                                                                                                                                      ",e.querySelectorAll("[msallowcapture^='']").length&&R.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||R.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+$+"-]").length||R.push("~="),e.querySelectorAll(":checked").length||R.push(":checked"),e.querySelectorAll("a#"+$+"+*").length||R.push(".#.+[+~]")}),o(function(e){e.innerHTML="";var t=L.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&R.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&R.push(":enabled",":disabled"),H.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&R.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),R.push(",.*:")})),(T.matchesSelector=me.test(P=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&o(function(e){T.disconnectedMatch=P.call(e,"*"),P.call(e,"[s!='']:x"),I.push("!=",ie)}),R=R.length&&new RegExp(R.join("|")),I=I.length&&new RegExp(I.join("|")),t=me.test(H.compareDocumentPosition),M=t||me.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},V=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!T.sortDetached&&t.compareDocumentPosition(e)===n?e===L||e.ownerDocument===W&&M(W,e)?-1:t===L||t.ownerDocument===W&&M(W,t)?1:q?ee(q,e)-ee(q,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,a=[e],u=[t];if(!o||!i)return e===L?-1:t===L?1:o?-1:i?1:q?ee(q,e)-ee(q,t):0;if(o===i)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===W?-1:u[r]===W?1:0},L):L},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==L&&O(e),n=n.replace(le,"='$1']"),T.matchesSelector&&F&&!X[n+" "]&&(!I||!I.test(n))&&(!R||!R.test(n)))try{var r=P.call(e,n);if(r||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,L,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==L&&O(e),M(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==L&&O(e);var n=C.attrHandle[t.toLowerCase()],r=n&&G.call(C.attrHandle,t.toLowerCase())?n(e,t,!F):void 0;return void 0!==r?r:T.attributes||!F?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(we,Te)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,o=0;if(D=!T.detectDuplicates,q=!T.sortStable&&e.slice(0),e.sort(V),D){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return q=null,e},j=t.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=j(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=j(t);return n},C=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xe,be),e[3]=(e[3]||e[4]||e[5]||"").replace(xe,be),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=E(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(xe,be).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(o){var i=t.attr(o,e);return null==i?"!="===n:!n||(i+="","="===n?i===r:"!="===n?i!==r:"^="===n?r&&0===i.indexOf(r):"*="===n?r&&i.indexOf(r)>-1:"$="===n?r&&i.slice(-r.length)===r:"~="===n?(" "+i.replace(se," ")+" ").indexOf(r)>-1:"|="===n&&(i===r||i.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,p,h,d,g=i!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a,x=!1;if(m){if(i){for(;g;){for(p=t;p=p[g];)if(a?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&y){for(p=m,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h&&c[2],p=h&&m.childNodes[h];p=++h&&p&&p[g]||(x=h=0)||d.pop();)if(1===p.nodeType&&++x&&p===t){l[e]=[B,h,x];break}}else if(y&&(p=t,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h),x===!1)for(;(p=++h&&p&&p[g]||(x=h=0)||d.pop())&&((a?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++x||(y&&(f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),l[e]=[B,x]),p!==t)););return x-=o,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var o,i=C.pseudos[e]||C.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return i[$]?i(n):i.length>1?(o=[e,e,"",n],C.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,o=i(e,n),s=o.length;s--;)r=ee(e,o[s]),e[r]=!(t[r]=o[s])}):function(e){return i(e,0,o)}):i}},pseudos:{not:r(function(e){var t=[],n=[],o=S(e.replace(ae,"$1"));return o[$]?r(function(e,t,n,r){for(var i,s=o(e,null,r,[]),a=e.length;a--;)(i=s[a])&&(e[a]=!(t[a]=i))}):function(e,r,i){return t[0]=e,o(t,null,i,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){ -return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(xe,be),function(t){return(t.textContent||t.innerText||j(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(xe,be).toLowerCase(),function(t){var n;do if(n=F?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===L.activeElement&&(!L.hasFocus||L.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:c(!1),disabled:c(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!C.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return de.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(s=i[0]).type&&9===t.nodeType&&F&&C.relative[i[1].type]){if(t=(C.find.ID(s.matches[0].replace(xe,be),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=he.needsContext.test(e)?0:i.length;o--&&(s=i[o],!C.relative[a=s.type]);)if((u=C.find[a])&&(r=u(s.matches[0].replace(xe,be),ye.test(i[0].type)&&f(t.parentNode)||t))){if(i.splice(o,1),e=r.length&&h(i),!e)return K.apply(n,r),n;break}}return(c||S(e,l))(r,t,!F,n,!t||ye.test(e)&&f(t.parentNode)||t),n},T.sortStable=$.split("").sort(V).join("")===$,T.detectDuplicates=!!D,O(),T.sortDetached=o(function(e){return 1&e.compareDocumentPosition(L.createElement("fieldset"))}),o(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||i("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),T.attributes&&o(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||i("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||i(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);de.find=xe,de.expr=xe.selectors,de.expr[":"]=de.expr.pseudos,de.uniqueSort=de.unique=xe.uniqueSort,de.text=xe.getText,de.isXMLDoc=xe.isXML,de.contains=xe.contains,de.escapeSelector=xe.escape;var be=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&de(e).is(n))break;r.push(e)}return r},we=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Te=de.expr.match.needsContext,Ce=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,je=/^.[^:#\[\.,]*$/;de.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?de.find.matchesSelector(r,e)?[r]:[]:de.find.matches(e,de.grep(t,function(e){return 1===e.nodeType}))},de.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(de(e).filter(function(){for(t=0;t1?de.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Te.test(e)?de(e):e||[],!1).length}});var ke,Ee=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Se=de.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||ke,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Ee.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof de?t[0]:t,de.merge(this,de.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Ce.test(r[1])&&de.isPlainObject(t))for(r in t)de.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=te.getElementById(r[2]),o&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):de.isFunction(e)?void 0!==n.ready?n.ready(e):e(de):de.makeArray(e,this)};Se.prototype=de.fn,ke=de(te);var Ne=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};de.fn.extend({has:function(e){var t=de(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&de.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?de.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?se.call(de(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(de.uniqueSort(de.merge(this.get(),de(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),de.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return be(e,"parentNode")},parentsUntil:function(e,t,n){return be(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return be(e,"nextSibling")},prevAll:function(e){return be(e,"previousSibling")},nextUntil:function(e,t,n){return be(e,"nextSibling",n)},prevUntil:function(e,t,n){return be(e,"previousSibling",n)},siblings:function(e){return we((e.parentNode||{}).firstChild,e)},children:function(e){return we(e.firstChild)},contents:function(e){return e.contentDocument||de.merge([],e.childNodes)}},function(e,t){de.fn[e]=function(n,r){var o=de.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=de.filter(r,o)),this.length>1&&(Ae[e]||de.uniqueSort(o),Ne.test(e)&&o.reverse()),this.pushStack(o)}});var qe=/[^\x20\t\r\n\f]+/g;de.Callbacks=function(e){e="string"==typeof e?s(e):de.extend({},e);var t,n,r,o,i=[],a=[],u=-1,c=function(){for(o=e.once,r=t=!0;a.length;u=-1)for(n=a.shift();++u-1;)i.splice(n,1),n<=u&&u--}),this},has:function(e){return e?de.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=a=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=a=[],n||t||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},de.extend({Deferred:function(t){var n=[["notify","progress",de.Callbacks("memory"),de.Callbacks("memory"),2],["resolve","done",de.Callbacks("once memory"),de.Callbacks("once memory"),0,"resolved"],["reject","fail",de.Callbacks("once memory"),de.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return de.Deferred(function(t){de.each(n,function(n,r){var o=de.isFunction(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&de.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,r,o){function i(t,n,r,o){return function(){var c=this,l=arguments,f=function(){var e,f;if(!(t=s&&(r!==u&&(c=void 0,l=[e]),n.rejectWith(c,l))}};t?p():(de.Deferred.getStackHook&&(p.stackTrace=de.Deferred.getStackHook()),e.setTimeout(p))}}var s=0;return de.Deferred(function(e){n[0][3].add(i(0,e,de.isFunction(o)?o:a,e.notifyWith)),n[1][3].add(i(0,e,de.isFunction(t)?t:a)),n[2][3].add(i(0,e,de.isFunction(r)?r:u))}).promise()},promise:function(e){return null!=e?de.extend(e,o):o}},i={};return de.each(n,function(e,t){var s=t[2],a=t[5];o[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[0][2].lock),s.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=s.fireWith}),o.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=re.call(arguments),i=de.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?re.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&(c(e,i.done(s(n)).resolve,i.reject),"pending"===i.state()||de.isFunction(o[n]&&o[n].then)))return i.then();for(;n--;)c(o[n],s(n),i.reject);return i.promise()}});var De=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;de.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&De.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},de.readyException=function(t){e.setTimeout(function(){throw t})};var Oe=de.Deferred();de.fn.ready=function(e){return Oe.then(e).catch(function(e){de.readyException(e)}),this},de.extend({isReady:!1,readyWait:1,holdReady:function(e){e?de.readyWait++:de.ready(!0)},ready:function(e){(e===!0?--de.readyWait:de.isReady)||(de.isReady=!0,e!==!0&&--de.readyWait>0||Oe.resolveWith(te,[de]))}}),de.ready.then=Oe.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(de.ready):(te.addEventListener("DOMContentLoaded",l),e.addEventListener("load",l));var Le=function(e,t,n,r,o,i,s){var a=0,u=e.length,c=null==n;if("object"===de.type(n)){o=!0;for(a in n)Le(e,t,a,n[a],!0,i,s)}else if(void 0!==r&&(o=!0,de.isFunction(r)||(s=!0),c&&(s?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(de(e),n)})),t))for(;a1,null,!0)},removeData:function(e){return this.each(function(){Re.remove(this,e)})}}),de.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||de.isArray(n)?r=Fe.access(e,t,de.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=de.queue(e,t),r=n.length,o=n.shift(),i=de._queueHooks(e,t),s=function(){de.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,s,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:de.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),de.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,Ve=/^$|\/(?:java|ecma)script/i,Ge={option:[1,""],thead:[1,"","
                                                                                                                                                                                                                                                                                                                      "],col:[2,"","
                                                                                                                                                                                                                                                                                                                      "],tr:[2,"","
                                                                                                                                                                                                                                                                                                                      "],td:[3,"","
                                                                                                                                                                                                                                                                                                                      "],_default:[0,"",""]};Ge.optgroup=Ge.option,Ge.tbody=Ge.tfoot=Ge.colgroup=Ge.caption=Ge.thead,Ge.th=Ge.td;var Ye=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),n=te.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Qe=te.documentElement,Je=/^key/,Ke=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;de.event={global:{},add:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.get(e);if(m)for(n.handler&&(i=n,n=i.handler,o=i.selector),o&&de.find.matchesSelector(Qe,o),n.guid||(n.guid=de.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return"undefined"!=typeof de&&de.event.triggered!==t.type?de.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(qe)||[""],c=t.length;c--;)a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h&&(f=de.event.special[h]||{},h=(o?f.delegateType:f.bindType)||h,f=de.event.special[h]||{},l=de.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&de.expr.match.needsContext.test(o),namespace:d.join(".")},i),(p=u[h])||(p=u[h]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,d,s)!==!1||e.addEventListener&&e.addEventListener(h,s)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,l):p.push(l),de.event.global[h]=!0)},remove:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.hasData(e)&&Fe.get(e);if(m&&(u=m.events)){for(t=(t||"").match(qe)||[""],c=t.length;c--;)if(a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){for(f=de.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,p=u[h]||[],a=a[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=i=p.length;i--;)l=p[i],!o&&g!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(i,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(e,l));s&&!p.length&&(f.teardown&&f.teardown.call(e,d,m.handle)!==!1||de.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)de.event.remove(e,h+t[c],n,r,!0);de.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,s,a=de.event.fix(e),u=new Array(arguments.length),c=(Fe.get(this,"events")||{})[a.type]||[],l=de.event.special[a.type]||{};for(u[0]=a,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||c.disabled!==!0)){for(i=[],s={},n=0;n-1:de.find(o,this,null,[c]).length),s[o]&&i.push(r);i.length&&a.push({elem:c,handlers:i})}return c=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/\s*$/g;de.extend({htmlPrefilter:function(e){return e.replace(et,"<$1>")},clone:function(e,t,n){var r,o,i,s,a=e.cloneNode(!0),u=de.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||de.isXMLDoc(e)))for(s=v(a),i=v(e),r=0,o=i.length;r0&&y(s,!u&&v(e,"script")),a},cleanData:function(e){for(var t,n,r,o=de.event.special,i=0;void 0!==(n=e[i]);i++)if(He(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)o[r]?de.event.remove(n,r):de.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[Re.expando]&&(n[Re.expando]=void 0)}}}),de.fn.extend({detach:function(e){return q(this,e,!0)},remove:function(e){return q(this,e)},text:function(e){return Le(this,function(e){return void 0===e?de.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.appendChild(e)}})},prepend:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(de.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return de.clone(this,e,t)})},html:function(e){return Le(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tt.test(e)&&!Ge[(Xe.exec(e)||["",""])[1].toLowerCase()]){e=de.htmlPrefilter(e);try{for(;n1)}}),de.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||de.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(de.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=de.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=de.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){de.fx.step[e.prop]?de.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[de.cssProps[e.prop]]&&!de.cssHooks[e.prop]?e.elem[e.prop]=e.now:de.style(e.elem,e.prop,e.now+e.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},de.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},de.fx=I.prototype.init,de.fx.step={};var ht,dt,gt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;de.Animation=de.extend(U,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,$e.exec(t),n),n}]},tweener:function(e,t){de.isFunction(e)?(t=e,e=["*"]):e=e.match(qe);for(var n,r=0,o=e.length;r1)},removeAttr:function(e){return this.each(function(){de.removeAttr(this,e)})}}),de.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return"undefined"==typeof e.getAttribute?de.prop(e,t,n):(1===i&&de.isXMLDoc(e)||(o=de.attrHooks[t.toLowerCase()]||(de.expr.match.bool.test(t)?vt:void 0)),void 0!==n?null===n?void de.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=de.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&de.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(qe);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),vt={set:function(e,t,n){return t===!1?de.removeAttr(e,n):e.setAttribute(n,n),n}},de.each(de.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||de.find.attr;yt[t]=function(e,t,r){var o,i,s=t.toLowerCase();return r||(i=yt[s],yt[s]=o,o=null!=n(e,t,r)?s:null,yt[s]=i),o}});var xt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;de.fn.extend({prop:function(e,t){return Le(this,de.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[de.propFix[e]||e]})}}),de.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&de.isXMLDoc(e)||(t=de.propFix[t]||t,o=de.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=de.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(de.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),de.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){de.propFix[this.toLowerCase()]=this}),de.fn.extend({addClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).addClass(e.call(this,t,X(this)))});if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).removeClass(e.call(this,t,X(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):de.isFunction(e)?this.each(function(n){de(this).toggleClass(e.call(this,n,X(this),t),t)}):this.each(function(){var t,r,o,i;if("string"===n)for(r=0,o=de(this),i=e.match(qe)||[];t=i[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||(t=X(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(X(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;de.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=de.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,de(this).val()):e,null==o?o="":"number"==typeof o?o+="":de.isArray(o)&&(o=de.map(o,function(e){return null==e?"":e+""})),t=de.valHooks[this.type]||de.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return t=de.valHooks[o.type]||de.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(wt,""):null==n?"":n)}}}),de.extend({valHooks:{option:{get:function(e){var t=de.find.attr(e,"value");return null!=t?t:z(de.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,s="select-one"===e.type,a=s?null:[],u=s?i+1:o.length;for(r=i<0?u:s?i:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),de.each(["radio","checkbox"],function(){de.valHooks[this]={set:function(e,t){if(de.isArray(t))return e.checked=de.inArray(de(e).val(),t)>-1}},pe.checkOn||(de.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Tt=/^(?:focusinfocus|focusoutblur)$/;de.extend(de.event,{trigger:function(t,n,r,o){var i,s,a,u,c,l,f,p=[r||te],h=ce.call(t,"type")?t.type:t,d=ce.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!Tt.test(h+de.event.triggered)&&(h.indexOf(".")>-1&&(d=h.split("."),h=d.shift(),d.sort()),c=h.indexOf(":")<0&&"on"+h,t=t[de.expando]?t:new de.Event(h,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=d.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:de.makeArray(n,[t]),f=de.event.special[h]||{},o||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!o&&!f.noBubble&&!de.isWindow(r)){for(u=f.delegateType||h,Tt.test(u+h)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(r.ownerDocument||te)&&p.push(a.defaultView||a.parentWindow||e)}for(i=0;(s=p[i++])&&!t.isPropagationStopped();)t.type=i>1?u:f.bindType||h,l=(Fe.get(s,"events")||{})[t.type]&&Fe.get(s,"handle"),l&&l.apply(s,n),l=c&&s[c],l&&l.apply&&He(s)&&(t.result=l.apply(s,n),t.result===!1&&t.preventDefault());return t.type=h,o||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!He(r)||c&&de.isFunction(r[h])&&!de.isWindow(r)&&(a=r[c],a&&(r[c]=null),de.event.triggered=h,r[h](),de.event.triggered=void 0,a&&(r[c]=a)),t.result}},simulate:function(e,t,n){var r=de.extend(new de.Event,n,{type:e,isSimulated:!0});de.event.trigger(r,null,t)}}),de.fn.extend({trigger:function(e,t){return this.each(function(){de.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return de.event.trigger(e,t,n,!0)}}),de.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){de.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),de.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||de.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){de.event.simulate(t,e.target,de.event.fix(e))};de.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=Fe.access(r,t);o||r.addEventListener(e,n,!0),Fe.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=Fe.access(r,t)-1;o?Fe.access(r,t,o):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var Ct=e.location,jt=de.now(),kt=/\?/;de.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||de.error("Invalid XML: "+t),n};var Et=/\[\]$/,St=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;de.param=function(e,t){var n,r=[],o=function(e,t){var n=de.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(de.isArray(e)||e.jquery&&!de.isPlainObject(e))de.each(e,function(){o(this.name,this.value)});else for(n in e)V(n,e[n],t,o);return r.join("&")},de.fn.extend({serialize:function(){return de.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=de.prop(this,"elements");return e?de.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!de(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!ze.test(e))}).map(function(e,t){var n=de(this).val();return null==n?null:de.isArray(n)?de.map(n,function(e){return{name:t.name,value:e.replace(St,"\r\n")}}):{name:t.name,value:n.replace(St,"\r\n")}}).get()}});var qt=/%20/g,Dt=/#.*$/,Ot=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ft=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Pt={},Mt="*/".concat("*"),$t=te.createElement("a");$t.href=Ct.href,de.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Ht.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":de.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Q(Q(e,de.ajaxSettings),t):Q(de.ajaxSettings,e)},ajaxPrefilter:G(It),ajaxTransport:G(Pt),ajax:function(t,n){function r(t,n,r,a){var c,p,h,b,w,T=n;l||(l=!0,u&&e.clearTimeout(u),o=void 0,s=a||"",C.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(b=J(d,C,r)),b=K(d,b,C,c),c?(d.ifModified&&(w=C.getResponseHeader("Last-Modified"),w&&(de.lastModified[i]=w),w=C.getResponseHeader("etag"),w&&(de.etag[i]=w)),204===t||"HEAD"===d.type?T="nocontent":304===t?T="notmodified":(T=b.state,p=b.data,h=b.error,c=!h)):(h=T,!t&&T||(T="error",t<0&&(t=0))),C.status=t,C.statusText=(n||T)+"",c?v.resolveWith(g,[p,T,C]):v.rejectWith(g,[C,T,h]),C.statusCode(x),x=void 0,f&&m.trigger(c?"ajaxSuccess":"ajaxError",[C,d,c?p:h]),y.fireWith(g,[C,T]),f&&(m.trigger("ajaxComplete",[C,d]),--de.active||de.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,i,s,a,u,c,l,f,p,h,d=de.ajaxSetup({},n),g=d.context||d,m=d.context&&(g.nodeType||g.jquery)?de(g):de.event,v=de.Deferred(),y=de.Callbacks("once memory"),x=d.statusCode||{},b={},w={},T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Lt.exec(s);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return l?s:null},setRequestHeader:function(e,t){return null==l&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)C.always(e[C.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||T;return o&&o.abort(t),r(0,t),this}};if(v.promise(C),d.url=((t||d.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(qe)||[""],null==d.crossDomain){c=te.createElement("a");try{c.href=d.url,c.href=c.href,d.crossDomain=$t.protocol+"//"+$t.host!=c.protocol+"//"+c.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=de.param(d.data,d.traditional)),Y(It,d,n,C),l)return C;f=de.event&&d.global,f&&0===de.active++&&de.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Ft.test(d.type),i=d.url.replace(Dt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(qt,"+")):(h=d.url.slice(i.length),d.data&&(i+=(kt.test(i)?"&":"?")+d.data,delete d.data),d.cache===!1&&(i=i.replace(Ot,"$1"),h=(kt.test(i)?"&":"?")+"_="+jt++ +h),d.url=i+h),d.ifModified&&(de.lastModified[i]&&C.setRequestHeader("If-Modified-Since",de.lastModified[i]),de.etag[i]&&C.setRequestHeader("If-None-Match",de.etag[i])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",d.contentType),C.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Mt+"; q=0.01":""):d.accepts["*"]);for(p in d.headers)C.setRequestHeader(p,d.headers[p]);if(d.beforeSend&&(d.beforeSend.call(g,C,d)===!1||l))return C.abort();if(T="abort",y.add(d.complete),C.done(d.success),C.fail(d.error),o=Y(Pt,d,n,C)){if(C.readyState=1,f&&m.trigger("ajaxSend",[C,d]),l)return C;d.async&&d.timeout>0&&(u=e.setTimeout(function(){C.abort("timeout")},d.timeout));try{l=!1,o.send(b,r)}catch(e){if(l)throw e;r(-1,e)}}else r(-1,"No Transport");return C},getJSON:function(e,t,n){return de.get(e,t,n,"json")},getScript:function(e,t){return de.get(e,void 0,t,"script")}}),de.each(["get","post"],function(e,t){de[t]=function(e,n,r,o){return de.isFunction(n)&&(o=o||r,r=n,n=void 0),de.ajax(de.extend({url:e,type:t,dataType:o,data:n,success:r},de.isPlainObject(e)&&e))}}),de._evalUrl=function(e){return de.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},de.fn.extend({wrapAll:function(e){var t;return this[0]&&(de.isFunction(e)&&(e=e.call(this[0])),t=de(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return de.isFunction(e)?this.each(function(t){de(this).wrapInner(e.call(this,t))}):this.each(function(){var t=de(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=de.isFunction(e);return this.each(function(n){de(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){de(this).replaceWith(this.childNodes)}),this}}),de.expr.pseudos.hidden=function(e){return!de.expr.pseudos.visible(e)},de.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},de.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Bt=de.ajaxSettings.xhr();pe.cors=!!Bt&&"withCredentials"in Bt,pe.ajax=Bt=!!Bt,de.ajaxTransport(function(t){var n,r;if(pe.cors||Bt&&!t.crossDomain)return{send:function(o,i){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(s in o)a.setRequestHeader(s,o[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?i(0,"error"):i(a.status,a.statusText):i(Wt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=n("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),de.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),de.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return de.globalEval(e),e}}}),de.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),de.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,o){t=de(" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_book/package-lock.json b/docs/_book/package-lock.json deleted file mode 100644 index f8139f2444..0000000000 --- a/docs/_book/package-lock.json +++ /dev/null @@ -1,5850 +0,0 @@ -{ - "name": "fineuidocs", - "version": "1.0.0", - "lockfileVersion": 1, - "dependencies": { - "abab": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz", - "integrity": "sha1-uB3l9ydOxOdW15fNg08wNkJyTl0=", - "dev": true, - "optional": true - }, - "acorn": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", - "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", - "dev": true - }, - "acorn-globals": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", - "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", - "dev": true, - "optional": true, - "requires": { - "acorn": "2.7.0" - } - }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true, - "optional": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "1.0.3" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true, - "optional": true - }, - "async": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz", - "integrity": "sha1-LSFgx3iAMuTdbL4lAvH5osj2zeQ=", - "dev": true, - "requires": { - "lodash": "4.17.4" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "dev": true, - "optional": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base64url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64url/-/base64url-2.0.0.tgz", - "integrity": "sha1-6sFuA+oUOO/5Qj1puqNiYu0fcLs=", - "dev": true - }, - "bash-color": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/bash-color/-/bash-color-0.0.4.tgz", - "integrity": "sha1-6b6M4zVAytpIgXaMWb1jhlc26RM=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true, - "optional": true - }, - "cheerio": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.20.0.tgz", - "integrity": "sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=", - "dev": true, - "requires": { - "css-select": "1.2.0", - "dom-serializer": "0.1.0", - "entities": "1.1.1", - "htmlparser2": "3.8.3", - "jsdom": "7.2.2", - "lodash": "4.17.4" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "optional": true - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true, - "requires": { - "graceful-readlink": "1.0.1" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "optional": true, - "requires": { - "boom": "2.10.1" - } - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "requires": { - "boolbase": "1.0.0", - "css-what": "2.1.0", - "domutils": "1.5.1", - "nth-check": "1.0.1" - } - }, - "css-what": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", - "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", - "dev": true - }, - "cssom": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", - "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", - "dev": true - }, - "cssstyle": { - "version": "0.2.37", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", - "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", - "dev": true, - "optional": true, - "requires": { - "cssom": "0.3.2" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "dev": true, - "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", - "dev": true - } - } - }, - "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", - "dev": true - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "dev": true, - "requires": { - "domelementtype": "1.3.0" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" - } - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", - "dev": true - }, - "escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", - "dev": true, - "optional": true, - "requires": { - "esprima": "2.7.3", - "estraverse": "1.9.3", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.2.0" - } - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true, - "optional": true - }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true, - "optional": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true, - "optional": true - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true, - "optional": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" - } - }, - "fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "3.0.1", - "universalify": "0.1.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "gh-pages": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-1.0.0.tgz", - "integrity": "sha1-Skb0wlQ596K35oNVBNSknpSfBMo=", - "dev": true, - "requires": { - "async": "2.1.4", - "base64url": "2.0.0", - "commander": "2.9.0", - "fs-extra": "3.0.1", - "globby": "6.1.0", - "graceful-fs": "4.1.11", - "rimraf": "2.6.1" - } - }, - "gitbook-cli": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/gitbook-cli/-/gitbook-cli-2.3.2.tgz", - "integrity": "sha512-eyGtkY7jKHhmgpfuvgAP5fZcUob/FBz4Ld0aLRdEmiTrS1RklimN9epzPp75dd4MWpGhYvSbiwxnpyLiv1wh6A==", - "dev": true, - "requires": { - "bash-color": "0.0.4", - "commander": "2.11.0", - "fs-extra": "3.0.1", - "lodash": "4.17.4", - "npm": "5.1.0", - "npmi": "1.0.1", - "optimist": "0.6.1", - "q": "1.5.0", - "semver": "5.3.0", - "tmp": "0.0.31", - "user-home": "2.0.0" - }, - "dependencies": { - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true - } - } - }, - "gitbook-plugin-expandable-chapters": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/gitbook-plugin-expandable-chapters/-/gitbook-plugin-expandable-chapters-0.2.0.tgz", - "integrity": "sha1-RdcIeuaQekH0gSjFT+ViJKnBraI=", - "dev": true - }, - "gitbook-plugin-jsfiddle": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitbook-plugin-jsfiddle/-/gitbook-plugin-jsfiddle-1.0.0.tgz", - "integrity": "sha1-deNd6EbvYrvS0Gb7YSzJniUgoq4=", - "dev": true - }, - "gitbook-plugin-search": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/gitbook-plugin-search/-/gitbook-plugin-search-2.2.1.tgz", - "integrity": "sha1-bSW1p3aZD6mP39+jfeMx944PaxM=", - "dev": true - }, - "gitbook-plugin-splitter": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/gitbook-plugin-splitter/-/gitbook-plugin-splitter-0.0.8.tgz", - "integrity": "sha1-8rBRMGD8kma0awQYLk7KHUtx+vw=", - "dev": true - }, - "gitbook-plugin-theme-api": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/gitbook-plugin-theme-api/-/gitbook-plugin-theme-api-1.1.2.tgz", - "integrity": "sha1-jBRaS61JoSE8AlApC5vZtyrqiPw=", - "dev": true, - "requires": { - "cheerio": "0.20.0", - "gitbook-plugin-search": "2.2.1", - "lodash": "4.12.0", - "q": "1.4.1", - "q-plus": "0.0.8" - }, - "dependencies": { - "lodash": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.12.0.tgz", - "integrity": "sha1-K9bcRqBA9Z5obJcu0h2T3FkFMlg=", - "dev": true - }, - "q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true - } - } - }, - "gitbook-plugin-toggle-chapters": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/gitbook-plugin-toggle-chapters/-/gitbook-plugin-toggle-chapters-0.0.3.tgz", - "integrity": "sha1-bl9aphubLiIcOAzfbpKDIAFez7k=", - "dev": true - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "optional": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "dev": true, - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.3.0", - "domutils": "1.5.1", - "entities": "1.0.0", - "readable-stream": "1.1.14" - }, - "dependencies": { - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", - "dev": true - } - } - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true, - "optional": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true, - "optional": true - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "jsdom": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-7.2.2.tgz", - "integrity": "sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4=", - "dev": true, - "optional": true, - "requires": { - "abab": "1.0.3", - "acorn": "2.7.0", - "acorn-globals": "1.0.9", - "cssom": "0.3.2", - "cssstyle": "0.2.37", - "escodegen": "1.8.1", - "nwmatcher": "1.4.1", - "parse5": "1.5.1", - "request": "2.81.0", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.3.2", - "webidl-conversions": "2.0.1", - "whatwg-url-compat": "0.6.5", - "xml-name-validator": "2.0.1" - } - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true, - "optional": true - }, - "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "optional": true, - "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - }, - "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", - "dev": true - }, - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", - "dev": true, - "requires": { - "mime-db": "1.30.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - } - }, - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "npm": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-5.1.0.tgz", - "integrity": "sha512-pt5ClxEmY/dLpb60SmGQQBKi3nB6Ljx1FXmpoCUdAULlGqGVn2uCyXxPCWFbcuHGthT7qGiaGa1wOfs/UjGYMw==", - "dev": true, - "requires": { - "abbrev": "1.1.0", - "ansi-regex": "3.0.0", - "ansicolors": "0.3.2", - "ansistyles": "0.1.3", - "aproba": "1.1.2", - "archy": "1.0.0", - "bluebird": "3.5.0", - "cacache": "9.2.9", - "call-limit": "1.1.0", - "chownr": "1.0.1", - "cmd-shim": "2.0.2", - "columnify": "1.5.4", - "config-chain": "1.1.11", - "debuglog": "1.0.1", - "detect-indent": "5.0.0", - "dezalgo": "1.0.3", - "editor": "1.0.0", - "fs-vacuum": "1.2.10", - "fs-write-stream-atomic": "1.0.10", - "fstream": "1.0.11", - "fstream-npm": "1.2.1", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "has-unicode": "2.0.1", - "hosted-git-info": "2.5.0", - "iferr": "0.1.5", - "imurmurhash": "0.1.4", - "inflight": "1.0.6", - "inherits": "2.0.3", - "ini": "1.3.4", - "init-package-json": "1.10.1", - "JSONStream": "1.3.1", - "lazy-property": "1.0.0", - "lockfile": "1.0.3", - "lodash._baseindexof": "3.1.0", - "lodash._baseuniq": "4.6.0", - "lodash._bindcallback": "3.0.1", - "lodash._cacheindexof": "3.0.2", - "lodash._createcache": "3.1.2", - "lodash._getnative": "3.9.1", - "lodash.clonedeep": "4.5.0", - "lodash.restparam": "3.6.1", - "lodash.union": "4.6.0", - "lodash.uniq": "4.5.0", - "lodash.without": "4.4.0", - "lru-cache": "4.1.1", - "mississippi": "1.3.0", - "mkdirp": "0.5.1", - "move-concurrently": "1.0.1", - "node-gyp": "3.6.2", - "nopt": "4.0.1", - "normalize-package-data": "2.4.0", - "npm-cache-filename": "1.0.2", - "npm-install-checks": "3.0.0", - "npm-package-arg": "5.1.2", - "npm-registry-client": "8.4.0", - "npm-user-validate": "1.0.0", - "npmlog": "4.1.2", - "once": "1.4.0", - "opener": "1.4.3", - "osenv": "0.1.4", - "pacote": "2.7.38", - "path-is-inside": "1.0.2", - "promise-inflight": "1.0.1", - "read": "1.0.7", - "read-cmd-shim": "1.0.1", - "read-installed": "4.0.3", - "read-package-json": "2.0.9", - "read-package-tree": "5.1.6", - "readable-stream": "2.3.2", - "readdir-scoped-modules": "1.0.2", - "request": "2.81.0", - "retry": "0.10.1", - "rimraf": "2.6.1", - "safe-buffer": "5.1.1", - "semver": "5.3.0", - "sha": "2.0.1", - "slide": "1.1.6", - "sorted-object": "2.0.1", - "sorted-union-stream": "2.1.3", - "ssri": "4.1.6", - "strip-ansi": "4.0.0", - "tar": "2.2.1", - "text-table": "0.2.0", - "uid-number": "0.0.6", - "umask": "1.1.0", - "unique-filename": "1.1.0", - "unpipe": "1.0.0", - "update-notifier": "2.2.0", - "uuid": "3.1.0", - "validate-npm-package-license": "3.0.1", - "validate-npm-package-name": "3.0.0", - "which": "1.2.14", - "worker-farm": "1.3.1", - "wrappy": "1.0.2", - "write-file-atomic": "2.1.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "ansicolors": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "ansistyles": { - "version": "0.1.3", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "archy": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "bluebird": { - "version": "3.5.0", - "bundled": true, - "dev": true - }, - "cacache": { - "version": "9.2.9", - "bundled": true, - "dev": true, - "requires": { - "bluebird": "3.5.0", - "chownr": "1.0.1", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "lru-cache": "4.1.1", - "mississippi": "1.3.0", - "mkdirp": "0.5.1", - "move-concurrently": "1.0.1", - "promise-inflight": "1.0.1", - "rimraf": "2.6.1", - "ssri": "4.1.6", - "unique-filename": "1.1.0", - "y18n": "3.2.1" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - }, - "dependencies": { - "pseudomap": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "2.1.2", - "bundled": true, - "dev": true - } - } - }, - "y18n": { - "version": "3.2.1", - "bundled": true, - "dev": true - } - } - }, - "call-limit": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "cmd-shim": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1" - } - }, - "columnify": { - "version": "1.5.4", - "bundled": true, - "dev": true, - "requires": { - "strip-ansi": "3.0.1", - "wcwidth": "1.0.1" - }, - "dependencies": { - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - }, - "wcwidth": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "defaults": "1.0.3" - }, - "dependencies": { - "defaults": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "clone": "1.0.2" - }, - "dependencies": { - "clone": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - } - } - } - } - }, - "config-chain": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "ini": "1.3.4", - "proto-list": "1.2.4" - }, - "dependencies": { - "proto-list": { - "version": "1.2.4", - "bundled": true, - "dev": true - } - } - }, - "debuglog": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "detect-indent": { - "version": "5.0.0", - "bundled": true, - "dev": true - }, - "dezalgo": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "asap": "2.0.5", - "wrappy": "1.0.2" - }, - "dependencies": { - "asap": { - "version": "2.0.5", - "bundled": true, - "dev": true - } - } - }, - "editor": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fs-vacuum": { - "version": "1.2.10", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "path-is-inside": "1.0.2", - "rimraf": "2.6.1" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "iferr": "0.1.5", - "imurmurhash": "0.1.4", - "readable-stream": "2.3.2" - } - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-npm": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "fstream-ignore": "1.0.5", - "inherits": "2.0.3" - }, - "dependencies": { - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - }, - "dependencies": { - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.8", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - } - } - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - }, - "dependencies": { - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.8", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "hosted-git-info": { - "version": "2.5.0", - "bundled": true, - "dev": true - }, - "iferr": { - "version": "0.1.5", - "bundled": true, - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "dev": true - }, - "init-package-json": { - "version": "1.10.1", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2", - "npm-package-arg": "5.1.2", - "promzard": "0.3.0", - "read": "1.0.7", - "read-package-json": "2.0.9", - "semver": "5.3.0", - "validate-npm-package-license": "3.0.1", - "validate-npm-package-name": "3.0.0" - }, - "dependencies": { - "promzard": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "read": "1.0.7" - } - } - } - }, - "JSONStream": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "jsonparse": "1.3.1", - "through": "2.3.8" - }, - "dependencies": { - "jsonparse": { - "version": "1.3.1", - "bundled": true, - "dev": true - }, - "through": { - "version": "2.3.8", - "bundled": true, - "dev": true - } - } - }, - "lazy-property": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "lockfile": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "lodash._baseindexof": { - "version": "3.1.0", - "bundled": true, - "dev": true - }, - "lodash._baseuniq": { - "version": "4.6.0", - "bundled": true, - "dev": true, - "requires": { - "lodash._createset": "4.0.3", - "lodash._root": "3.0.1" - }, - "dependencies": { - "lodash._createset": { - "version": "4.0.3", - "bundled": true, - "dev": true - }, - "lodash._root": { - "version": "3.0.1", - "bundled": true, - "dev": true - } - } - }, - "lodash._bindcallback": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "lodash._cacheindexof": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "lodash._createcache": { - "version": "3.1.2", - "bundled": true, - "dev": true, - "requires": { - "lodash._getnative": "3.9.1" - } - }, - "lodash._getnative": { - "version": "3.9.1", - "bundled": true, - "dev": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "bundled": true, - "dev": true - }, - "lodash.restparam": { - "version": "3.6.1", - "bundled": true, - "dev": true - }, - "lodash.union": { - "version": "4.6.0", - "bundled": true, - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "bundled": true, - "dev": true - }, - "lodash.without": { - "version": "4.4.0", - "bundled": true, - "dev": true - }, - "lru-cache": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - }, - "dependencies": { - "pseudomap": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "2.1.2", - "bundled": true, - "dev": true - } - } - }, - "mississippi": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "concat-stream": "1.6.0", - "duplexify": "3.5.0", - "end-of-stream": "1.4.0", - "flush-write-stream": "1.0.2", - "from2": "2.3.0", - "parallel-transform": "1.1.0", - "pump": "1.0.2", - "pumpify": "1.3.5", - "stream-each": "1.2.0", - "through2": "2.0.3" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.2", - "typedarray": "0.0.6" - }, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - } - } - }, - "duplexify": { - "version": "3.5.0", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "1.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.2", - "stream-shift": "1.0.0" - }, - "dependencies": { - "end-of-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "once": "1.3.3" - }, - "dependencies": { - "once": { - "version": "1.3.3", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - } - } - }, - "stream-shift": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "end-of-stream": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0" - } - }, - "flush-write-stream": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.2" - } - }, - "from2": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.2" - } - }, - "parallel-transform": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "cyclist": "0.2.2", - "inherits": "2.0.3", - "readable-stream": "2.3.2" - }, - "dependencies": { - "cyclist": { - "version": "0.2.2", - "bundled": true, - "dev": true - } - } - }, - "pump": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "1.4.0", - "once": "1.4.0" - } - }, - "pumpify": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "requires": { - "duplexify": "3.5.0", - "inherits": "2.0.3", - "pump": "1.0.2" - } - }, - "stream-each": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "1.4.0", - "stream-shift": "1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "through2": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "2.3.2", - "xtend": "4.0.1" - }, - "dependencies": { - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - } - } - }, - "move-concurrently": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "aproba": "1.1.2", - "copy-concurrently": "1.0.3", - "fs-write-stream-atomic": "1.0.10", - "mkdirp": "0.5.1", - "rimraf": "2.6.1", - "run-queue": "1.0.3" - }, - "dependencies": { - "copy-concurrently": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "aproba": "1.1.2", - "fs-write-stream-atomic": "1.0.10", - "iferr": "0.1.5", - "mkdirp": "0.5.1", - "rimraf": "2.6.1", - "run-queue": "1.0.3" - } - }, - "run-queue": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "aproba": "1.1.2" - } - } - } - }, - "node-gyp": { - "version": "3.6.2", - "bundled": true, - "dev": true, - "requires": { - "fstream": "1.0.11", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "npmlog": "4.1.2", - "osenv": "0.1.4", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "which": "1.2.14" - }, - "dependencies": { - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.8", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "nopt": { - "version": "3.0.6", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "1.1.0" - } - } - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.3.0", - "validate-npm-package-license": "3.0.1" - }, - "dependencies": { - "is-builtin-module": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "builtin-modules": "1.1.1" - }, - "dependencies": { - "builtin-modules": { - "version": "1.1.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "npm-cache-filename": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "npm-install-checks": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "semver": "5.3.0" - } - }, - "npm-package-arg": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "2.5.0", - "osenv": "0.1.4", - "semver": "5.3.0", - "validate-npm-package-name": "3.0.0" - } - }, - "npm-registry-client": { - "version": "8.4.0", - "bundled": true, - "dev": true, - "requires": { - "concat-stream": "1.6.0", - "graceful-fs": "4.1.11", - "normalize-package-data": "2.4.0", - "npm-package-arg": "5.1.2", - "npmlog": "4.1.2", - "once": "1.4.0", - "request": "2.81.0", - "retry": "0.10.1", - "semver": "5.3.0", - "slide": "1.1.6", - "ssri": "4.1.6" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.2", - "typedarray": "0.0.6" - }, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - } - } - } - } - }, - "npm-user-validate": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - }, - "dependencies": { - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.2" - }, - "dependencies": { - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "requires": { - "aproba": "1.1.2", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - }, - "dependencies": { - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - }, - "dependencies": { - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "string-width": "1.0.2" - } - } - } - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "opener": { - "version": "1.4.3", - "bundled": true, - "dev": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - }, - "dependencies": { - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "pacote": { - "version": "2.7.38", - "bundled": true, - "dev": true, - "requires": { - "bluebird": "3.5.0", - "cacache": "9.2.9", - "glob": "7.1.2", - "lru-cache": "4.1.1", - "make-fetch-happen": "2.4.13", - "minimatch": "3.0.4", - "mississippi": "1.3.0", - "normalize-package-data": "2.4.0", - "npm-package-arg": "5.1.2", - "npm-pick-manifest": "1.0.4", - "osenv": "0.1.4", - "promise-inflight": "1.0.1", - "promise-retry": "1.1.1", - "protoduck": "4.0.0", - "safe-buffer": "5.1.1", - "semver": "5.3.0", - "ssri": "4.1.6", - "tar-fs": "1.15.3", - "tar-stream": "1.5.4", - "unique-filename": "1.1.0", - "which": "1.2.14" - }, - "dependencies": { - "make-fetch-happen": { - "version": "2.4.13", - "bundled": true, - "dev": true, - "requires": { - "agentkeepalive": "3.3.0", - "cacache": "9.2.9", - "http-cache-semantics": "3.7.3", - "http-proxy-agent": "2.0.0", - "https-proxy-agent": "2.0.0", - "lru-cache": "4.1.1", - "mississippi": "1.3.0", - "node-fetch-npm": "2.0.1", - "promise-retry": "1.1.1", - "socks-proxy-agent": "3.0.0", - "ssri": "4.1.6" - }, - "dependencies": { - "agentkeepalive": { - "version": "3.3.0", - "bundled": true, - "dev": true, - "requires": { - "humanize-ms": "1.2.1" - }, - "dependencies": { - "humanize-ms": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "http-cache-semantics": { - "version": "3.7.3", - "bundled": true, - "dev": true - }, - "http-proxy-agent": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "4.1.0", - "debug": "2.6.8" - }, - "dependencies": { - "agent-base": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "4.1.1" - }, - "dependencies": { - "es6-promise": { - "version": "4.1.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "https-proxy-agent": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "4.1.0", - "debug": "2.6.8" - }, - "dependencies": { - "agent-base": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "4.1.1" - }, - "dependencies": { - "es6-promise": { - "version": "4.1.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "node-fetch-npm": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "encoding": "0.1.12", - "json-parse-helpfulerror": "1.0.3", - "safe-buffer": "5.1.1" - }, - "dependencies": { - "encoding": { - "version": "0.1.12", - "bundled": true, - "dev": true, - "requires": { - "iconv-lite": "0.4.18" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.18", - "bundled": true, - "dev": true - } - } - }, - "json-parse-helpfulerror": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "jju": "1.3.0" - }, - "dependencies": { - "jju": { - "version": "1.3.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "socks-proxy-agent": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "4.1.0", - "socks": "1.1.10" - }, - "dependencies": { - "agent-base": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "4.1.1" - }, - "dependencies": { - "es6-promise": { - "version": "4.1.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "socks": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "requires": { - "ip": "1.1.5", - "smart-buffer": "1.1.15" - }, - "dependencies": { - "ip": { - "version": "1.1.5", - "bundled": true, - "dev": true - }, - "smart-buffer": { - "version": "1.1.15", - "bundled": true, - "dev": true - } - } - } - } - } - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.8", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "npm-pick-manifest": { - "version": "1.0.4", - "bundled": true, - "dev": true, - "requires": { - "npm-package-arg": "5.1.2", - "semver": "5.3.0" - } - }, - "promise-retry": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "err-code": "1.1.2", - "retry": "0.10.1" - }, - "dependencies": { - "err-code": { - "version": "1.1.2", - "bundled": true, - "dev": true - } - } - }, - "protoduck": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "genfun": "4.0.1" - }, - "dependencies": { - "genfun": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - }, - "tar-fs": { - "version": "1.15.3", - "bundled": true, - "dev": true, - "requires": { - "chownr": "1.0.1", - "mkdirp": "0.5.1", - "pump": "1.0.2", - "tar-stream": "1.5.4" - }, - "dependencies": { - "pump": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "1.4.0", - "once": "1.4.0" - }, - "dependencies": { - "end-of-stream": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0" - } - } - } - } - } - }, - "tar-stream": { - "version": "1.5.4", - "bundled": true, - "dev": true, - "requires": { - "bl": "1.2.1", - "end-of-stream": "1.4.0", - "readable-stream": "2.3.2", - "xtend": "4.0.1" - }, - "dependencies": { - "bl": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "2.3.2" - } - }, - "end-of-stream": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0" - } - }, - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "path-is-inside": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "read": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "requires": { - "mute-stream": "0.0.7" - }, - "dependencies": { - "mute-stream": { - "version": "0.0.7", - "bundled": true, - "dev": true - } - } - }, - "read-cmd-shim": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } - }, - "read-installed": { - "version": "4.0.3", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "1.0.1", - "graceful-fs": "4.1.11", - "read-package-json": "2.0.9", - "readdir-scoped-modules": "1.0.2", - "semver": "5.3.0", - "slide": "1.1.6", - "util-extend": "1.0.3" - }, - "dependencies": { - "util-extend": { - "version": "1.0.3", - "bundled": true, - "dev": true - } - } - }, - "read-package-json": { - "version": "2.0.9", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "json-parse-helpfulerror": "1.0.3", - "normalize-package-data": "2.4.0" - }, - "dependencies": { - "json-parse-helpfulerror": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "jju": "1.3.0" - }, - "dependencies": { - "jju": { - "version": "1.3.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "read-package-tree": { - "version": "5.1.6", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "1.0.1", - "dezalgo": "1.0.3", - "once": "1.4.0", - "read-package-json": "2.0.9", - "readdir-scoped-modules": "1.0.2" - } - }, - "readable-stream": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "readdir-scoped-modules": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "1.0.1", - "dezalgo": "1.0.3", - "graceful-fs": "4.1.11", - "once": "1.4.0" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" - }, - "dependencies": { - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - }, - "dependencies": { - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - }, - "dependencies": { - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true - } - } - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - }, - "dependencies": { - "ajv": { - "version": "4.11.8", - "bundled": true, - "dev": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - }, - "dependencies": { - "co": { - "version": "4.6.0", - "bundled": true, - "dev": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "jsonify": "0.0.0" - }, - "dependencies": { - "jsonify": { - "version": "0.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "dev": true - } - } - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - }, - "dependencies": { - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - } - } - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.1" - }, - "dependencies": { - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "requires": { - "extsprintf": "1.0.2" - } - } - } - }, - "sshpk": { - "version": "1.13.1", - "bundled": true, - "dev": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - } - } - } - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.27.0" - }, - "dependencies": { - "mime-db": { - "version": "1.27.0", - "bundled": true, - "dev": true - } - } - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "dev": true - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "requires": { - "punycode": "1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true - } - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "retry": { - "version": "0.10.1", - "bundled": true, - "dev": true - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true, - "dev": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "dev": true - }, - "sha": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "readable-stream": "2.3.2" - } - }, - "slide": { - "version": "1.1.6", - "bundled": true, - "dev": true - }, - "sorted-object": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "sorted-union-stream": { - "version": "2.1.3", - "bundled": true, - "dev": true, - "requires": { - "from2": "1.3.0", - "stream-iterate": "1.2.0" - }, - "dependencies": { - "from2": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "1.1.14" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - } - } - } - } - }, - "stream-iterate": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "2.3.2", - "stream-shift": "1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "ssri": { - "version": "4.1.6", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - } - } - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - }, - "dependencies": { - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true - }, - "umask": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "unique-filename": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "unique-slug": "2.0.0" - }, - "dependencies": { - "unique-slug": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "imurmurhash": "0.1.4" - } - } - } - }, - "unpipe": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "update-notifier": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "requires": { - "boxen": "1.1.0", - "chalk": "1.1.3", - "configstore": "3.1.0", - "import-lazy": "2.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" - }, - "dependencies": { - "boxen": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "1.1.3", - "cli-boxes": "1.0.0", - "string-width": "2.1.0", - "term-size": "0.1.1", - "widest-line": "1.0.0" - }, - "dependencies": { - "ansi-align": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "2.1.0" - } - }, - "camelcase": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, - "cli-boxes": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "string-width": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "term-size": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "requires": { - "execa": "0.4.0" - }, - "dependencies": { - "execa": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "requires": { - "cross-spawn-async": "2.2.5", - "is-stream": "1.1.0", - "npm-run-path": "1.0.0", - "object-assign": "4.1.1", - "path-key": "1.0.0", - "strip-eof": "1.0.0" - }, - "dependencies": { - "cross-spawn-async": { - "version": "2.2.5", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "4.1.1", - "which": "1.2.14" - } - }, - "is-stream": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "npm-run-path": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "path-key": "1.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true - }, - "path-key": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "widest-line": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "1.0.2" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - }, - "dependencies": { - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - }, - "dependencies": { - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - } - } - } - } - } - } - }, - "chalk": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "has-ansi": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - }, - "supports-color": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "configstore": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "dot-prop": "4.1.1", - "graceful-fs": "4.1.11", - "make-dir": "1.0.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.1.0", - "xdg-basedir": "3.0.0" - }, - "dependencies": { - "dot-prop": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "requires": { - "is-obj": "1.0.1" - }, - "dependencies": { - "is-obj": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "make-dir": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "pify": "2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "bundled": true, - "dev": true - } - } - }, - "unique-string": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "crypto-random-string": "1.0.0" - }, - "dependencies": { - "crypto-random-string": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "import-lazy": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "is-npm": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "latest-version": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "package-json": "4.0.1" - }, - "dependencies": { - "package-json": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.1", - "registry-url": "3.1.0", - "semver": "5.3.0" - }, - "dependencies": { - "got": { - "version": "6.7.1", - "bundled": true, - "dev": true, - "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "safe-buffer": "5.1.1", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" - }, - "dependencies": { - "create-error-class": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "capture-stack-trace": "1.0.0" - }, - "dependencies": { - "capture-stack-trace": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "duplexer3": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "is-redirect": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "is-retry-allowed": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "lowercase-keys": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "timed-out": { - "version": "4.0.1", - "bundled": true, - "dev": true - }, - "unzip-response": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "url-parse-lax": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "prepend-http": "1.0.4" - }, - "dependencies": { - "prepend-http": { - "version": "1.0.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "registry-auth-token": { - "version": "3.3.1", - "bundled": true, - "dev": true, - "requires": { - "rc": "1.2.1", - "safe-buffer": "5.1.1" - }, - "dependencies": { - "rc": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "registry-url": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "rc": "1.2.1" - }, - "dependencies": { - "rc": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true - } - } - } - } - } - } - } - } - }, - "semver-diff": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "semver": "5.3.0" - } - }, - "xdg-basedir": { - "version": "3.0.0", - "bundled": true, - "dev": true - } - } - }, - "uuid": { - "version": "3.1.0", - "bundled": true, - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" - }, - "dependencies": { - "spdx-correct": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "spdx-license-ids": "1.2.2" - }, - "dependencies": { - "spdx-license-ids": { - "version": "1.2.2", - "bundled": true, - "dev": true - } - } - }, - "spdx-expression-parse": { - "version": "1.0.4", - "bundled": true, - "dev": true - } - } - }, - "validate-npm-package-name": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "builtins": "1.0.3" - }, - "dependencies": { - "builtins": { - "version": "1.0.3", - "bundled": true, - "dev": true - } - } - }, - "which": { - "version": "1.2.14", - "bundled": true, - "dev": true, - "requires": { - "isexe": "2.0.0" - }, - "dependencies": { - "isexe": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "worker-farm": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "errno": "0.1.4", - "xtend": "4.0.1" - }, - "dependencies": { - "errno": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "prr": "0.0.0" - }, - "dependencies": { - "prr": { - "version": "0.0.0", - "bundled": true, - "dev": true - } - } - }, - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "write-file-atomic": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - } - } - } - }, - "npmi": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npmi/-/npmi-1.0.1.tgz", - "integrity": "sha1-FddpJzVHVF5oCdzwzhiu1IsCkOI=", - "dev": true, - "requires": { - "npm": "2.15.12", - "semver": "4.3.6" - }, - "dependencies": { - "npm": { - "version": "2.15.12", - "resolved": "https://registry.npmjs.org/npm/-/npm-2.15.12.tgz", - "integrity": "sha1-33w+1aJ3w/nUtdgZsFMR0QogCuY=", - "dev": true, - "requires": { - "abbrev": "1.0.9", - "ansi": "0.3.1", - "ansi-regex": "2.0.0", - "ansicolors": "0.3.2", - "ansistyles": "0.1.3", - "archy": "1.0.0", - "async-some": "1.0.2", - "block-stream": "0.0.9", - "char-spinner": "1.0.1", - "chmodr": "1.0.2", - "chownr": "1.0.1", - "cmd-shim": "2.0.2", - "columnify": "1.5.4", - "config-chain": "1.1.10", - "dezalgo": "1.0.3", - "editor": "1.0.0", - "fs-vacuum": "1.2.9", - "fs-write-stream-atomic": "1.0.8", - "fstream": "1.0.10", - "fstream-npm": "1.1.1", - "github-url-from-git": "1.4.0", - "github-url-from-username-repo": "1.0.2", - "glob": "7.0.6", - "graceful-fs": "4.1.6", - "hosted-git-info": "2.1.5", - "imurmurhash": "0.1.4", - "inflight": "1.0.5", - "inherits": "2.0.3", - "ini": "1.3.4", - "init-package-json": "1.9.4", - "lockfile": "1.0.1", - "lru-cache": "4.0.1", - "minimatch": "3.0.3", - "mkdirp": "0.5.1", - "node-gyp": "3.6.0", - "nopt": "3.0.6", - "normalize-git-url": "3.0.2", - "normalize-package-data": "2.3.5", - "npm-cache-filename": "1.0.2", - "npm-install-checks": "1.0.7", - "npm-package-arg": "4.1.0", - "npm-registry-client": "7.2.1", - "npm-user-validate": "0.1.5", - "npmlog": "2.0.4", - "once": "1.4.0", - "opener": "1.4.1", - "osenv": "0.1.3", - "path-is-inside": "1.0.1", - "read": "1.0.7", - "read-installed": "4.0.3", - "read-package-json": "2.0.4", - "readable-stream": "2.1.5", - "realize-package-specifier": "3.0.1", - "request": "2.74.0", - "retry": "0.10.0", - "rimraf": "2.5.4", - "semver": "5.1.0", - "sha": "2.0.1", - "slide": "1.1.6", - "sorted-object": "2.0.0", - "spdx-license-ids": "1.2.2", - "strip-ansi": "3.0.1", - "tar": "2.2.1", - "text-table": "0.2.0", - "uid-number": "0.0.6", - "umask": "1.1.0", - "validate-npm-package-license": "3.0.1", - "validate-npm-package-name": "2.2.2", - "which": "1.2.11", - "wrappy": "1.0.2", - "write-file-atomic": "1.1.4" - }, - "dependencies": { - "abbrev": { - "version": "1.0.9", - "bundled": true, - "dev": true - }, - "ansi": { - "version": "0.3.1", - "bundled": true, - "dev": true - }, - "ansi-regex": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "ansicolors": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "ansistyles": { - "version": "0.1.3", - "bundled": true, - "dev": true - }, - "archy": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "async-some": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "dezalgo": "1.0.3" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "char-spinner": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "chmodr": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "cmd-shim": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.6", - "mkdirp": "0.5.1" - } - }, - "columnify": { - "version": "1.5.4", - "bundled": true, - "dev": true, - "requires": { - "strip-ansi": "3.0.1", - "wcwidth": "1.0.0" - }, - "dependencies": { - "wcwidth": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "defaults": "1.0.3" - }, - "dependencies": { - "defaults": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "clone": "1.0.2" - }, - "dependencies": { - "clone": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - } - } - } - } - }, - "config-chain": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "requires": { - "ini": "1.3.4", - "proto-list": "1.2.4" - }, - "dependencies": { - "proto-list": { - "version": "1.2.4", - "bundled": true, - "dev": true - } - } - }, - "dezalgo": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "asap": "2.0.3", - "wrappy": "1.0.2" - }, - "dependencies": { - "asap": { - "version": "2.0.3", - "bundled": true, - "dev": true - } - } - }, - "editor": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fs-vacuum": { - "version": "1.2.9", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.6", - "path-is-inside": "1.0.1", - "rimraf": "2.5.4" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.8", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.6", - "iferr": "0.1.5", - "imurmurhash": "0.1.4", - "readable-stream": "2.1.5" - }, - "dependencies": { - "iferr": { - "version": "0.1.5", - "bundled": true, - "dev": true - } - } - }, - "fstream": { - "version": "1.0.10", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.6", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.5.4" - } - }, - "fstream-npm": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "fstream-ignore": "1.0.5", - "inherits": "2.0.3" - }, - "dependencies": { - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "fstream": "1.0.10", - "inherits": "2.0.3", - "minimatch": "3.0.3" - } - } - } - }, - "github-url-from-git": { - "version": "1.4.0", - "bundled": true, - "dev": true - }, - "github-url-from-username-repo": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "glob": { - "version": "7.0.6", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.5", - "inherits": "2.0.3", - "minimatch": "3.0.3", - "once": "1.4.0", - "path-is-absolute": "1.0.0" - }, - "dependencies": { - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.1.6", - "bundled": true, - "dev": true - }, - "hosted-git-info": { - "version": "2.1.5", - "bundled": true, - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "inflight": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "dev": true - }, - "init-package-json": { - "version": "1.9.4", - "bundled": true, - "dev": true, - "requires": { - "glob": "6.0.4", - "npm-package-arg": "4.1.0", - "promzard": "0.3.0", - "read": "1.0.7", - "read-package-json": "2.0.4", - "semver": "5.1.0", - "validate-npm-package-license": "3.0.1", - "validate-npm-package-name": "2.2.2" - }, - "dependencies": { - "glob": { - "version": "6.0.4", - "bundled": true, - "dev": true, - "requires": { - "inflight": "1.0.5", - "inherits": "2.0.3", - "minimatch": "3.0.3", - "once": "1.4.0", - "path-is-absolute": "1.0.0" - }, - "dependencies": { - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "promzard": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "read": "1.0.7" - } - } - } - }, - "lockfile": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "lru-cache": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.0.0" - }, - "dependencies": { - "pseudomap": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "minimatch": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.6" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.6", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - } - } - }, - "node-gyp": { - "version": "3.6.0", - "bundled": true, - "dev": true, - "requires": { - "fstream": "1.0.10", - "glob": "7.0.6", - "graceful-fs": "4.1.6", - "minimatch": "3.0.3", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "npmlog": "2.0.4", - "osenv": "0.1.3", - "request": "2.74.0", - "rimraf": "2.5.4", - "semver": "5.3.0", - "tar": "2.2.1", - "which": "1.2.11" - }, - "dependencies": { - "semver": { - "version": "5.3.0", - "bundled": true, - "dev": true - } - } - }, - "nopt": { - "version": "3.0.6", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "1.0.9" - } - }, - "normalize-git-url": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "normalize-package-data": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "2.1.5", - "is-builtin-module": "1.0.0", - "semver": "5.1.0", - "validate-npm-package-license": "3.0.1" - }, - "dependencies": { - "is-builtin-module": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "builtin-modules": "1.1.0" - }, - "dependencies": { - "builtin-modules": { - "version": "1.1.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "npm-cache-filename": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "npm-install-checks": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "requires": { - "npmlog": "2.0.4", - "semver": "5.1.0" - } - }, - "npm-package-arg": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "2.1.5", - "semver": "5.1.0" - } - }, - "npm-registry-client": { - "version": "7.2.1", - "bundled": true, - "dev": true, - "requires": { - "concat-stream": "1.5.2", - "graceful-fs": "4.1.6", - "normalize-package-data": "2.3.5", - "npm-package-arg": "4.1.0", - "npmlog": "2.0.4", - "once": "1.4.0", - "request": "2.74.0", - "retry": "0.10.0", - "semver": "5.1.0", - "slide": "1.1.6" - }, - "dependencies": { - "concat-stream": { - "version": "1.5.2", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.0.6", - "typedarray": "0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - } - } - }, - "retry": { - "version": "0.10.0", - "bundled": true, - "dev": true - } - } - }, - "npm-user-validate": { - "version": "0.1.5", - "bundled": true, - "dev": true - }, - "npmlog": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "ansi": "0.3.1", - "are-we-there-yet": "1.1.2", - "gauge": "1.2.7" - }, - "dependencies": { - "are-we-there-yet": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.1.5" - }, - "dependencies": { - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "gauge": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "requires": { - "ansi": "0.3.1", - "has-unicode": "2.0.0", - "lodash.pad": "4.4.0", - "lodash.padend": "4.5.0", - "lodash.padstart": "4.5.0" - }, - "dependencies": { - "has-unicode": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "lodash._baseslice": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "lodash._basetostring": { - "version": "4.12.0", - "bundled": true, - "dev": true - }, - "lodash.pad": { - "version": "4.4.0", - "bundled": true, - "dev": true, - "requires": { - "lodash._baseslice": "4.0.0", - "lodash._basetostring": "4.12.0", - "lodash.tostring": "4.1.4" - } - }, - "lodash.padend": { - "version": "4.5.0", - "bundled": true, - "dev": true, - "requires": { - "lodash._baseslice": "4.0.0", - "lodash._basetostring": "4.12.0", - "lodash.tostring": "4.1.4" - } - }, - "lodash.padstart": { - "version": "4.5.0", - "bundled": true, - "dev": true, - "requires": { - "lodash._baseslice": "4.0.0", - "lodash._basetostring": "4.12.0", - "lodash.tostring": "4.1.4" - } - }, - "lodash.tostring": { - "version": "4.1.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "opener": { - "version": "1.4.1", - "bundled": true, - "dev": true - }, - "osenv": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "requires": { - "os-homedir": "1.0.0", - "os-tmpdir": "1.0.1" - }, - "dependencies": { - "os-homedir": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "os-tmpdir": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "path-is-inside": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "read": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "requires": { - "mute-stream": "0.0.5" - }, - "dependencies": { - "mute-stream": { - "version": "0.0.5", - "bundled": true, - "dev": true - } - } - }, - "read-installed": { - "version": "4.0.3", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "1.0.1", - "graceful-fs": "4.1.6", - "read-package-json": "2.0.4", - "readdir-scoped-modules": "1.0.2", - "semver": "5.1.0", - "slide": "1.1.6", - "util-extend": "1.0.1" - }, - "dependencies": { - "debuglog": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "readdir-scoped-modules": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "1.0.1", - "dezalgo": "1.0.3", - "graceful-fs": "4.1.6", - "once": "1.4.0" - } - }, - "util-extend": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "read-package-json": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "glob": "6.0.4", - "graceful-fs": "4.1.6", - "json-parse-helpfulerror": "1.0.3", - "normalize-package-data": "2.3.5" - }, - "dependencies": { - "glob": { - "version": "6.0.4", - "bundled": true, - "dev": true, - "requires": { - "inflight": "1.0.5", - "inherits": "2.0.3", - "minimatch": "3.0.3", - "once": "1.4.0", - "path-is-absolute": "1.0.0" - }, - "dependencies": { - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "json-parse-helpfulerror": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "jju": "1.3.0" - }, - "dependencies": { - "jju": { - "version": "1.3.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "readable-stream": { - "version": "2.1.5", - "bundled": true, - "dev": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" - }, - "dependencies": { - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "realize-package-specifier": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "dezalgo": "1.0.3", - "npm-package-arg": "4.1.0" - } - }, - "request": { - "version": "2.74.0", - "bundled": true, - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.4.1", - "bl": "1.1.2", - "caseless": "0.11.0", - "combined-stream": "1.0.5", - "extend": "3.0.0", - "forever-agent": "0.6.1", - "form-data": "1.0.0-rc4", - "har-validator": "2.0.6", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.11", - "node-uuid": "1.4.7", - "oauth-sign": "0.8.2", - "qs": "6.2.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.1", - "tunnel-agent": "0.4.3" - }, - "dependencies": { - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true - }, - "aws4": { - "version": "1.4.1", - "bundled": true, - "dev": true - }, - "bl": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "2.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - } - } - }, - "caseless": { - "version": "0.11.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - }, - "dependencies": { - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "extend": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true - }, - "form-data": { - "version": "1.0.0-rc4", - "bundled": true, - "dev": true, - "requires": { - "async": "1.5.2", - "combined-stream": "1.0.5", - "mime-types": "2.1.11" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "bundled": true, - "dev": true - } - } - }, - "har-validator": { - "version": "2.0.6", - "bundled": true, - "dev": true, - "requires": { - "chalk": "1.1.3", - "commander": "2.9.0", - "is-my-json-valid": "2.13.1", - "pinkie-promise": "2.0.1" - }, - "dependencies": { - "chalk": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "has-ansi": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "commander": { - "version": "2.9.0", - "bundled": true, - "dev": true, - "requires": { - "graceful-readlink": "1.0.1" - }, - "dependencies": { - "graceful-readlink": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "is-my-json-valid": { - "version": "2.13.1", - "bundled": true, - "dev": true, - "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "jsonpointer": "2.0.0", - "xtend": "4.0.1" - }, - "dependencies": { - "generate-function": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "generate-object-property": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "is-property": "1.0.2" - }, - "dependencies": { - "is-property": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "jsonpointer": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - }, - "pinkie-promise": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "pinkie": "2.0.4" - }, - "dependencies": { - "pinkie": { - "version": "2.0.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - }, - "dependencies": { - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - } - } - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.3.0", - "sshpk": "1.9.2" - }, - "dependencies": { - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "jsprim": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "extsprintf": "1.0.2", - "json-schema": "0.2.2", - "verror": "1.3.6" - }, - "dependencies": { - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "json-schema": { - "version": "0.2.2", - "bundled": true, - "dev": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "requires": { - "extsprintf": "1.0.2" - } - } - } - }, - "sshpk": { - "version": "1.9.2", - "bundled": true, - "dev": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "dashdash": "1.14.0", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.6", - "jodid25519": "1.0.2", - "jsbn": "0.1.0", - "tweetnacl": "0.13.3" - }, - "dependencies": { - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "dashdash": { - "version": "1.14.0", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.0" - } - }, - "getpass": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0" - } - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.0" - } - }, - "jsbn": { - "version": "0.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "tweetnacl": { - "version": "0.13.3", - "bundled": true, - "dev": true, - "optional": true - } - } - } - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.11", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.23.0" - }, - "dependencies": { - "mime-db": { - "version": "1.23.0", - "bundled": true, - "dev": true - } - } - }, - "node-uuid": { - "version": "1.4.7", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true - }, - "qs": { - "version": "6.2.1", - "bundled": true, - "dev": true - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true - }, - "tough-cookie": { - "version": "2.3.1", - "bundled": true, - "dev": true - }, - "tunnel-agent": { - "version": "0.4.3", - "bundled": true, - "dev": true - } - } - }, - "retry": { - "version": "0.10.0", - "bundled": true, - "dev": true - }, - "rimraf": { - "version": "2.5.4", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.0.6" - } - }, - "semver": { - "version": "5.1.0", - "bundled": true, - "dev": true - }, - "sha": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.6", - "readable-stream": "2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "1.0.1", - "inherits": "2.0.3", - "isarray": "0.0.1", - "process-nextick-args": "1.0.3", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.1" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "slide": { - "version": "1.1.6", - "bundled": true, - "dev": true - }, - "sorted-object": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "spdx-license-ids": { - "version": "1.2.2", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.0.0" - } - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.10", - "inherits": "2.0.3" - } - }, - "text-table": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true - }, - "umask": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.2" - }, - "dependencies": { - "spdx-correct": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "spdx-license-ids": "1.2.2" - } - }, - "spdx-expression-parse": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "spdx-exceptions": "1.0.4", - "spdx-license-ids": "1.2.2" - }, - "dependencies": { - "spdx-exceptions": { - "version": "1.0.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "validate-npm-package-name": { - "version": "2.2.2", - "bundled": true, - "dev": true, - "requires": { - "builtins": "0.0.7" - }, - "dependencies": { - "builtins": { - "version": "0.0.7", - "bundled": true, - "dev": true - } - } - }, - "which": { - "version": "1.2.11", - "bundled": true, - "dev": true, - "requires": { - "isexe": "1.1.2" - }, - "dependencies": { - "isexe": { - "version": "1.1.2", - "bundled": true, - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "write-file-atomic": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.6", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - } - } - } - }, - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - } - } - }, - "nth-check": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", - "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", - "dev": true, - "requires": { - "boolbase": "1.0.0" - } - }, - "nwmatcher": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.1.tgz", - "integrity": "sha1-eumwew6oBNt+JfBctf5Al9TklJ8=", - "dev": true, - "optional": true - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "0.0.10", - "wordwrap": "0.0.3" - } - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "optional": true, - "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true, - "optional": true - } - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", - "dev": true, - "optional": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "dev": true, - "optional": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "q": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", - "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=", - "dev": true - }, - "q-plus": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/q-plus/-/q-plus-0.0.8.tgz", - "integrity": "sha1-TMZssZvRRbQ+nhtUAjYUI3e2Hqs=", - "dev": true, - "requires": { - "q": "1.5.0" - } - }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", - "dev": true, - "optional": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" - } - }, - "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true, - "optional": true - }, - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "optional": true, - "requires": { - "hoek": "2.16.3" - } - }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "dev": true, - "optional": true, - "requires": { - "amdefine": "1.0.1" - } - }, - "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", - "dev": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true, - "optional": true - }, - "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", - "dev": true, - "optional": true - }, - "tmp": { - "version": "0.0.31", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", - "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", - "dev": true, - "requires": { - "os-tmpdir": "1.0.2" - } - }, - "tough-cookie": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", - "dev": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "dev": true, - "optional": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2" - } - }, - "universalify": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", - "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", - "dev": true - }, - "user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "dev": true, - "requires": { - "os-homedir": "1.0.2" - } - }, - "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", - "dev": true, - "optional": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "webidl-conversions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-2.0.1.tgz", - "integrity": "sha1-O/glj30xjHRDw28uFpQCoaZwNQY=", - "dev": true, - "optional": true - }, - "whatwg-url-compat": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/whatwg-url-compat/-/whatwg-url-compat-0.6.5.tgz", - "integrity": "sha1-AImBEa9om7CXVBzVpFymyHmERb8=", - "dev": true, - "optional": true, - "requires": { - "tr46": "0.0.3" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "xml-name-validator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", - "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", - "dev": true, - "optional": true - } - } -} diff --git a/docs/_book/package.json b/docs/_book/package.json deleted file mode 100644 index e0c7288a6e..0000000000 --- a/docs/_book/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "fineuidocs", - "version": "1.0.0", - "description": "FineUI文档", - "main": "index.js", - "scripts": { - "init": "gitbook init", - "serve": "gitbook serve", - "build": "gitbook build", - "gh": "gitbook build && node gh" - }, - "repository": { - "type": "git", - "url": "git+https://gittz@github.com/gittz/FineUIdocs.git" - }, - "author": "", - "license": "MIT", - "bugs": { - "url": "https://github.com/gittz/FineUIdocs/issues" - }, - "homepage": "https://github.com/gittz/FineUIdocs#readme", - "devDependencies": { - "gitbook-cli": "^2.3.2", - "gitbook-plugin-expandable-chapters": "^0.2.0", - "gitbook-plugin-jsfiddle": "^1.0.0", - "gitbook-plugin-splitter": "0.0.8", - "gitbook-plugin-theme-api": "^1.1.2" - } -} diff --git a/docs/_book/search_index.json b/docs/_book/search_index.json deleted file mode 100644 index 16ee7d508d..0000000000 --- a/docs/_book/search_index.json +++ /dev/null @@ -1 +0,0 @@ -{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["codingpages:","demo","fineui","fineui文档","githubpages:","http://fanruan.coding.me/fineui","http://fanruan.coding.me/fineui/dist/index.html","https://fanruan.github.io/fineui","文档地址","概览"],"START.html":["\"bi.button\",","\"body\",","\"这是一个按钮\"","$(function(){","100","100,","[{","bi.createwidget({","bi的组件就是集成的fineui进行开发的","components/","el:{","element:","https://coding.net/u/fanruan/p/bi","items:","left:","text:","top:","type:","type:\"bi.absolute\",","})","},","}]","源码集成demo","第一个demo","起步"],"OVERVIEW.html":["getvalue,","populate这几个方法来设置值,获取值(展示类控件除外)和刷新控件","setvalid这几个方法来设置使能,是否可见,是否有效状态,并且在fineui2.0之后,会自动给子组件设置同样的状态,不要重写这些方法,一些需要在设置状态时的额外操作可以通过重写_setxxx来实现","setvisible,","布局都有lgap、rgap、tgap、bgap、hgap、vgap、scrollable,scrollx,scrolly,items属性","慎用empti","控件都会提供setenable,","控件都会提供setvalue,","谨慎监听和触发bi.controller.event_change事件,一般来说,控件都会有一个bi.classname.event_change事件,一些特殊的事件会在对应控件文档中列出","通用规范"],"core/layout/vertical.html":["\"#wrapper\",","\"bi.label\",","\"layout","\"这里设置了hgap(水平间距),vgap(垂直间距)\",","'demo.vertical',","30","[{","api","bg1\",","bg2\",","bi.createwidget({","bi.vert","boolean","cls:","element:","height:","items:","scrolli","sourc","text:","true","true,fals","type:","vertic","{","});","},","}]","参数","可选值","垂直流式布局","基础属性","类型","设置垂直方向是否有滚动条","说明","默认值"],"core/layout/horizontal.html":["\"#wrapper\",","\"bi.text_button\",","\"layout","\"middle\"","\"这里设置了lgap,rgap,tgap,bgap\",","'bi.horizontal',","200","30,","[","[{","]","api","array","bg1\",","bg2\",","bi.createwidget({","bi.horizont","boolean","cls:","columns","element:","height:","horizont","items:","scrollx","sourc","string","text:","true","true,fals","type:","verticalalign","width:","{","});","},","}]","—","元素的垂直对齐方式","参数","参考相关css属性","可选值","基础属性","每列宽度所组成的数组","水平流式布局","类型","设置水平方向是否有滚动条","说明","默认值"],"core/layout/htape.html":["\"#wrapper\",","\"bi.htape\",","\"layout","'1',","'2',","'3',","'bi.button',","'bi.label',","'button1'}},{width:","'button2'}},{width:","'button3'}}]","'fill',","'fill',el:","100,","100,el:","200,","200,el:",":","[","[{width:","]","api","array","bg1\"","bg2\"","bg3\"","bi.createwidget({","bi.htap","cls:","el","element:","htape","item","sourc","text","text:","type","type:","width:","{","{type:","}","});","},","—","参数","可选值","基础属性","子控件数组","水平tape布局,n列定宽,一列自适应","类型","说明","默认值"],"core/layout/vtape.html":["\"#wrapper\",","\"bi.vtape\",","\"layout","'1',","'2',","'3',","'bi.button',","'bi.label',","'button1'}},{height:","'button2'}},{height:","'button3'}}","'fill',","'fill',el:","100,","100,el:","200,","200,el:",":","[","]","api","array","bg1\"","bg2\"","bg3\"","bi.createwidget({","bi.vtap","cls:","el","element:","height:","item","sourc","text","text:","type","type:","vtape","{","{height:","{type:","}","});","},","—","参数","可选值","垂直tape布局,n列定高,一列自适应","基础属性","子控件数组","类型","说明","默认值"],"core/layout/center_adapt.html":["\"#wrapper\",","\"bi.center_adapt\",","\"bi.label\",","\"center","\"layout","1\",","10,","2\",","30","[","[{","]","adapt","api","array","bg1\",","bg2\",","bi.center_adapt","bi.createwidget({","center_adapt","cls:","columns","element:","height:","hgap:","items:","sourc","text:","type:","{","})","},","}]","—","列宽","参数","可选值","基础属性","类型","自适应左右垂直居中布局","说明","默认值"],"core/layout/vertical_adapt.html":["\"#wrapper\",","\"bi.label\",","\"bi.vertical_adapt\",","\"layout","\"vertic","10,","30","300,","[","[{","]","adapt上下自适应\",","api","array","bg1\",","bg2\",","bi.createwidget({","bi.vertical_adapt","cls:","columns","element:","height:","items:","sourc","text:","type:","vertical_adapt","vgap:","width:","{","})","},","}]","—","列宽","参数","可选值","基础属性","类型","自适应垂直居中布局","说明","默认值"],"core/layout/left_right_vertical_adapt.html":["\"#wrapper\",","\"bi.label\",","\"layout","\"右边的垂直居中\",","\"左边的垂直居中\",","'bi.left_right_vertical_adapt',","0","10,","100,","30","[","[{","]","api","array","bg1\",","bi.createwidget({","bi.left_right_vertical_adapt","cls:","element:","height:","item","items:","left:","left_right_vertical_adapt","lhgap","lhgap:","llgap","lrgap","number","padding值","rhgap","rhgap:","right:","rrgap","sourc","text:","type:","width:","{","}","});","}]","}],","—","参数","可选值","右边容器left","右边容器right","右边容器左右padding值","基础属性","子控件数组","左右分离,垂直方向居中容器","左边容器left","左边容器right","左边容器左右padding值","类型","说明","默认值"],"core/layout/flow.html":["\"#wrapper\",","\"bi.center_adapt\",","\"bi.label\",","\"bi.left\",","\"bi.right\",","\"layout","\"left","\"right","1\",","2\",","20","20,","30,","[{","api","bg1\",","bg2\",","bg3\",","bg4\",","bi.createwidget({","bi.flow","cls:","element:","flow","height:","hgap:","items:","sourc","text:","type:","vgap:","{","});","},","}]","}],","参数","可选值","基础属性","类型","说明","靠左/右对齐的自由浮动布局","默认值"],"core/layout/center.html":["\"#wrapper\",","\"bi.center\",","\"bi.label\",","\"center","\"layout","\"normal\"","1,这里虽然设置label的高度30,但是最终影响高度的是center布局\",","20","20,","2,为了演示label是占满整个的,用了一个whitespace:normal\",","[{","api","bg1\",","bg2\",","bi.cent","bi.createwidget({","center","cls:","element:","hgap:","items:","sourc","text:","type:","vgap:","whitespace:","});","},{","}],","参数","可选值","基础属性","水平和垂直方向都居中容器,","类型","说明","非自适应,用于宽度高度固定的面板","默认值"],"core/layout/horizontal_adapt.html":["\"#wrapper\",","\"bi.horizontal_adapt\",","\"bi.label\",","\"horizont","\"layout","//width:","10,","30","300,","[","[{","]","adapt左右自适应\",","api","array","bg1\",","bg2\",","bi.createwidget({","bi.horizontal_adapt","bi.verticalalign.middl","cls:","columns","const","element:","height:","horizontal_adapt","items:","sourc","text:","type:","verticalalign","vgap:","width:","{","})","},","}]","—","元素的垂直对齐方式","参数","参考相关css属性","可选值","基础属性","每列宽度所组成的数组","类型","自适应横向居中布局","说明","默认值"],"core/layout/horizontal_auto.html":["\"#wrapper\",","\"bi.horizontal_auto\",","\"bi.label\",","\"horizont","\"layout","10,","30","300,","[{","api","auto左右自适应\",","bg1\",","bg2\",","bi.createwidget({","bi.horizontal_auto","cls:","element:","height:","horizontal_auto","items:","sourc","text:","type:","vgap:","width:","{","})","},","}]","参数","可选值","基础属性","水平方向居中容器,水平居中推荐使用这种布局","类型","说明","默认值"],"core/layout/horizontal_float.html":["\"#wrapper\",","\"bi.horizontal_float\",","\"bi.label\",","\"horizont","\"layout","10,","200,","[{","api","bg1\",","bi.createwidget({","bi.horizontal_float","cls:","element:","float左右自适应\",","height:30","horizontal_float","items:","sourc","text:","type:","vgap:","width:","})","}]","参数","可选值","基础属性","浮动的水平居中布局,适用于宽度不定元素的水平居中","类型","说明","默认值"],"core/layout/float_center.html":["\"#wrapper\",","\"bi.label\",","\"floatcenter与center的不同在于,它可以控制最小宽度和最大宽度\",","\"layout","\"normal\"","'bi.float_center',","20","20,","300,","[{","api","bg1\",","bg2\",","bi.createwidget({","bi.float_cent","cls:","element:","float_cent","height:","hgap:","items:","sourc","text:","type:","vgap:","whitespace:","{","});","},","}],","参数","可选值","基础属性","浮动布局实现的center居中容器","类型","说明","默认值"],"core/layout/border.html":["\"#wrapper\",","\"bi.label\"},","\"bi.label\"}}","'bi.border',","20","20,","200,","30,","300,","50,","api","bi.bord","bi.createwidget({","border","bottom:","center:","east:","el:","element:","height:","items:","left:","north:","right:","sourc","south:","top:","type:","west:","width:","{","{el:","{type:","}","});","},","上下的高度固定/左右的宽度固定,中间的高度/宽度自适应","参数","可选值","基础属性","类型","说明","默认值"],"core/layout/grid.html":["\"#wrapper\",","\"bi.label\",","\"column","\"layout","'bi.grid',","0\",","0,","1\",","1,","2,","[]或[[]]","[{","api","array","bg1\"","bg2\"","bg5\"","bg6\"","bi.createwidget({","bi.grid","cls:","column","column:","columns:","el:","element:","grid","item","items:","null","number","row","row:","rows:","sourc","text:","type:","{","}","});","},","}]","—","列数","参数","可选值","基础属性","子控件数组,二维数组的时候行和列个数就表示了rows和column","类型","网格布局","行数","说明","默认值"],"core/layout/table.html":["\"bi.table\",","\"body\",","\"fill\",","'bi.button',","'button1'}},{width:","'button2'}},{width:","'button3'}}]","'fill',el:","'fill']","0","10","100,el:","110,","130],","20,","200,","200,el:","200],","30","30,","50,","70,","90,","[10,","[100,","[200,","[],","[{width:","additem","additem(arr)","array","array/numb","bi.createwidget({","bi.tabl","boolean","columns","columnsize:","element:","hgap","hgap:","htape与vertical混合形成的布局,用于二维表结构的布局","item","items:","number","popul","populate(items)","rowsiz","rowsize:","scrolli","sourc","tabl","text:","true","type:","vgap","vgap:","{type:","});","内部元素间横向距离","内部元素间纵向距离","列项宽度","刷新","参数","参数设置","增加内容","子项","方法","方法名","是否出现滚动条","用法","类型","行高","说明","默认值"],"core/layout/td.html":["\"bi.td\",","'body',","'fill'],","'label1'}},{","'label2'},{","'label3'}","20,","200,","200]","[20,","[200,","[[{el:","[]","additem","additem(arr)","array","bi.createwidget({","bi.td","columns","columnsize:","el:","element:","item","items:","poplulate(items)","popul","sourc","td","type:","{text:","});","内容项","列宽","单元格布局","参数","增加内容","方法","方法名","更换新的内容","用法","类型","说明","默认值"],"core/abstract/button_group.html":["\"#wrapper\",","\"bi.button_group\",","\"bi.center\",hgap:","\"bi.label\",","\"bi.vertical\"","\"button_group\"","0,vgap:","0}]","50,","[","[{","[{type:","]","additem","api","append元素","array","behavior","bi.button_group","bi.buttongroup.choose_type_singl","bi.buttongroup.choose_type_single,","bi.createwidget({","button_group","choose_type_single,choose_type_multi,choose_type_all,choose_type_none,choose_type_default","choosetyp","choosetype:","choosetype可选值为","const","dobehavior","el:","element:","getallbutton","getallleav","getindexbyvalu","getnodebyid","getnodebyvalu","getnotselectedbutton","getnotselectedvalu","getselectedbutton","getvalu","height:","id","index","item","items:","layout","layouts:","object","popul","prependitem","prepend元素","removeitem","removeitemat","setenabledvalu","setnotselectedvalu","setvalu","sourc","text:","type:","valu","value,可以是单个值也可以是个数组","{","}","})","},","}]","}],","—","一组具有相同属性的元素集合,基类bi.widget","刷新列表","参数","可选值","名称","回调参数","基础属性","子组件数组","对外方法","布局","执行行为,一般不会手动调用","根据id获取节点","根据value值获取value在数组中的索引","根据value值获取节点","移除制定元素","移除指定索引处的item","类型","获取所有button","获取所有未被选中的元素","获取所有的叶子节点","获取所有被选中的元素","获取没有被选中的值","获取被选中的值","行为,如高亮,标红等","见上","设置value值","设置value值可用","设置未被选中的值","说明","选择类型","默认值"],"core/abstract/button_tree.html":["\"#wrapper\",","\"0\",","\"bi.button_tree\",","\"bi.label\",","\"bi.vertical\"","\"label1\",","[{","bi.button_tre","bi.buttongroup.choose_type_multi,","bi.createwidget({","button_tre","choosetype:","element:","height:50,","items:","layouts:","sourc","text:","type:","value:","vgap:10","})","}]","}],","一组具有相同属性的元素集合,与button_group的区别是可以处理树状结构,基类bi.buttongroup","名称","回调参数","对外方法","说明"],"core/abstract/virtual_group.html":["\"#wrapper\",","\"bi.center\",hgap:","\"bi.center_adapt\",","\"bi.vertical\"","\"bi.virtual_group\",","0,vgap:","0}]","300,","500,","[","[{","[{type:","]","additem","api","array","bi.buttongroup.choose_type_multi,","bi.createwidget({","bi.virtual_group","choosetype:","element:","getvalu","height:","item","items:[]","layout","layouts:","popul","prependitem","render","setvalu","sourc","type:","value,可以是单个值也可以是个数组","virtual_group","width:","{","})","},","}],","—","优化过的buttongroup,刷新不会删掉所有元素","内部前插入","内部后插入","刷新列表","参数","可选值","名称","回调参数","基础属性","基类bi.widget","子组件数组","对外方法","布局","渲染列表","类型","获取被选中的值","设置value值","说明","默认值"],"core/abstract/custom_tree.html":["\"bi.button_tree\",","\"bi.button_tree\",choosetype:","\"bi.custom_tree\",","\"bi.custom_tree\"}}","\"bi.plus_group_node\",","\"bi.single_select_item\",","\"bi.vertical\",","\"bi.vertical\"}]}","\"根目录\",","\"第一级目录1\",","\"第二级文件1\",","0,","0,layouts:","1,","11,","2,","25","30","[","[{","[{type:","]","api","array","bi.createwidget({","bi.custom_tre","choosetype:","custom_tre","el","el:","expand","getallbutton","getallleav","getnodebyid","getnodebyvalu","height:","hgap:","id","id:","item","items:","itemscr","layouts:","node","object","open:","pid:","popul","popup组件","sourc","true,","type:","valu","value:","{","{el:","{type:","{},popup:","}","});","},","}]","—","刷新列表","参数","可选值","名称","回调参数","基础属性","子组件数组","子组件构造器","对外方法","当前元素","根据id获取节点","根据value值获取节点","类型","自定义树,基类bi.widget","获取所有button","获取所有的叶子节点","说明","默认值"],"core/abstract/grid_view.html":["\"bi.grid_view\",","()","0","100,","100;","30,","300,","30;","400,","[","[],","]","api","array","b","bi.createwidget({","bi.grid_view","bi.gridview.event_scrol","boolean","columnwidthgett","columnwidthgetter:","estimatedcolumns","estimatedcolumnsize:","estimatedrows","estimatedrowsize:","function","getmaxscrollleft","getmaxscrolltop","getscrollleft","getscrolltop","grid_view","height","height:","item","items:","number","number,funct","overflowi","overflowx","overscancolumncount","overscanrowcount","popul","restor","return","rowheightgett","rowheightgetter:","scrollleft","scrollleft,","scrolltop","scrolltop:","scrolltop}","setestimatedcolumns","setestimatedrows","setoverflowi","setoverflowx","setscrollleft","setscrolltop","sourc","true","true,fals","type:","width","width:","{","{scrollleft:","}","});","},","—","事件","列宽,必设","刷新列表","参数","可选值","名称","回调参数","基础属性","子组件数组","对外方法","是否显示横向滚动条","是否显示纵向滚动条","每格列宽","每格行宽","滚动时触发的事件","滚动条相对于左边的偏移","滚动条相对于顶部的偏移","类型","网格视图集合,高性能组件,可以处理网格状的大集合,实现需要知道每一个视图的高度信息,基类bi.widget","获取滚动条相对于左边的偏移","获取滚动条相对于左边的最大偏移","获取滚动条相对于顶部的偏移","获取滚动条相对于顶部的最大偏移","行宽,必设","设置列宽","设置是否显示横向滚动条","设置滚动条相对于左边的偏移","设置滚动条相对于顶部的偏移","设置行宽","说明","超出可视范围区域预加载多少列","超出可视范围区域预加载多少行","还原列表设置","预估列宽,rowheightgetter为function时必设","预估行宽,columnwidthgetter为function时必设","默认值"],"core/abstract/collection_view.html":["\"bi.collection_view\",","%","(index)","*","/","0","10","10)","300,","400,","50","50,","[","[],","]","api","array","b","bi.collection_view","bi.collectionview.event_scrol","bi.createwidget({","boolean","cellsizeandpositiongett","cellsizeandpositiongetter:","collection_view","element:\"#wrapper\",","function","getmaxscrollleft","getmaxscrolltop","getscrollleft","getscrolltop","height","height:","horizontaloverscans","index","item","items:","math.floor(index","number","overflowi","overflowx","popul","restor","return","scrollleft","scrollleft,","scrolltop","scrolltop:","scrolltop}","setoverflowi","setoverflowx","setscrollleft","setscrolltop","sourc","true","true,fals","type:","verticaloverscans","width","width:","x:","y:","{","{scrollleft:","}","});","—","事件","列宽,必设","刷新列表","参数","可选值","名称","回调参数","基础属性","基类bi.widget","子组件数组","对外方法","是否显示横向滚动条","是否显示纵向滚动条","横向超出可视范围区域预加载的数量","滚动时触发的事件","滚动条相对于左边的偏移","滚动条相对于顶部的偏移","类型","纵向超出可视范围区域预加载的数量","获取滚动条相对于左边的偏移","获取滚动条相对于左边的最大偏移","获取滚动条相对于顶部的偏移","获取滚动条相对于顶部的最大偏移","行宽,必设","视图集合,高性能容器,可处理大集合,事先需要知道每一个视图的宽度、高度位置等信息","设置是否显示横向滚动条","设置每个单元格的位置坐标和宽高","设置滚动条相对于左边的偏移","设置滚动条相对于顶部的偏移","说明","还原列表设置","默认值"],"core/abstract/list_view.html":["\"bi.left\"","\"bi.list_view\",","0","100","[]","api","bi.createwidget({","blocksiz","el:","item","items:","list_view","number","overscanheight","popul","sourc","type:","{","});","},","—","优化过性能的列表,基类bi.widget","刷新列表","参数","可选值","名称","回调参数","块大小以多少项为单位","基础属性","对外方法","类型","说明","超出可视范围区域多少高度预加载","默认值"],"core/abstract/virtual_list.html":["\".\"","\"bi.label\",","\"bi.virtual_list\",","\"xxxx\"}],","(i","(i,","+","0","1)","10","100","30,","[","]","api","array","bi.createwidget({","bi.extend({},","bi.map([{value:","bi.virtual_list","blocksiz","destroy","element:\"body\",","function","height:","item","item)","item,","item.text,","items:","mount","number","overscanheight","popul","render","restor","return","scrolltop","sourc","text:","type:","virtual_list","{","})","});","—","一个动态加载的列表项,事先可以不知道列表项高度,可以处理大列表,基类bi.widget","刷新列表","参数","可选值","名称","回调参数","基础属性","子组件数组","对外方法","渲染列表","滚动加载的个数","滚动条相对于顶部的偏移","类型","组件挂载","说明","超出可视范围区域的高度","还原列表设置","销毁组件","默认值"],"core/combination/bi.combo.html":["\"bi","\"bi.button\",","\"bi.combo\",","\"body\",","\"bottom\"","\"click\"","\"left,right,center\"","\"测试\",","0","2,","25","adjustheight","adjustlength","adjustlength:","adjustwidth","adjustxoffset","adjustyoffset","api","bi.combo","bi.combo.event_after_hideview","bi.combo.event_after_init","bi.combo.event_after_popupview","bi.combo.event_before_hideview","bi.combo.event_before_popupview","bi.combo.event_chang","bi.combo.event_collaps","bi.combo.event_expand","bi.combo.event_trigger_chang","bi.createwidget({","boolean","bottom","bottom,left","bottom,right","click,hov","combo","combo,基类bi.widget","comboclass","combo类","destroywhenhid","direct","el","el:","element:","fals","function","getpopupposit","getvalu","getview","height","height:","hidecheck","hideview","hover\"","hoverclass","hover类","isdefaultinit","isneedadjustheight","isneedadjustwidth","isviewvis","item","left","left,right,cent","number","object","offsetstyl","popul","popup","popup\"","popup:","resetlistheight","resetlistwidth","right","setvalu","showview","sourc","stopev","stoppropag","string","text:","toggl","top","top,left","top,right","trigger","trigger发生改变触发","true","true,fals","type:","v","value值","width","{","{}","|","}","});","},","—","下拉列表弹出前触发","下拉列表弹出后触发","下拉列表收起前触发","下拉列表收起后触发","下拉列表的弹出方式","下拉框初始化后触发","下拉框展开触发","下拉框收起触发","事件","切换状态","刷新列表","参数","可选值","名称","回调参数","基础属性","对外方法","开启或者隐藏弹出层","弹出列表和trigger的位置关系","弹出列表和trigger的距离","弹出层","弹出层显示位置","弹出层点击触发","弹窗层是否可见","是否阻止事件","是否隐藏弹出层检测","是否需要宽度调整","是否需要高度调整","是否默认初始化子节点","显示弹出层","类型","自定义下拉框trigger","获取combo","获取弹出层","获取弹出层的位置","设置combo","说明","调整宽度","调整横向偏移","调整纵向偏移","调整高度","重置列表宽度","重置列表高度","阻止事件冒泡","隐藏弹出层","隐藏弹窗层是否销毁","默认值"],"core/combination/bi.expander.html":["\"#wrapper\",","\"bi","\"bi.expander\",","\"bi.icon_text_node\",","\"bi.single_select_item\",","\"bottom\"","\"click\"","\"expander\"","\"pull","\"项目1\",","\"项目2\",","0","1","2","25,","[{","adjustlength","api","bi.createwidget({","bi.expand","bi.expander.event_after_hideview","bi.expander.event_after_init","bi.expander.event_after_popupview","bi.expander.event_before_hideview","bi.expander.event_before_popupview","bi.expander.event_chang","bi.expander.event_collaps","bi.expander.event_expand","bi.expander.event_trigger_chang","boolean","bottom","bottom,left","bottom,right","click,hov","cls:","direct","el","el:","element:","expand","expanderclass","expander初始化后触发","expander展开触发","expander收起触发","fals","font\",","getallleav","getnodebyid","getnodebyvalu","getvalu","getview","ha","height:","hideview","hover\"","hoverclass","hover类","id","isdefaultinit","isexpand","isviewvis","item","items:","left","number","object","popul","popup","popup\"","popup:","right","setvalu","showview","sourc","string","text:","toggl","top","top,left","top,right","trigger","trigger发生改变触发","true","true,fals","type:","v","valu","value:","value值","{","|","}","});","},","}]","—","下拉列表弹出前触发","下拉列表弹出后触发","下拉列表收起前触发","下拉列表收起后触发","下拉列表的弹出方式","事件","切换状态","刷新列表","参数","可以实现展开收起的面板,基类bi.widget","可选值","名称","回调参数","基础属性","对外方法","展开类","弹出列表和trigger的位置关系","弹出列表和trigger的距离","弹出层","弹出层点击触发","弹窗层是否可见","是否默认初始化子节点","显示弹出层","根据id获取节点","根据value值获取节点","类型","自定义下拉框trigger","节点是否展开","获取combo","获取弹出层","获取所有的叶子节点","设置combo","说明","隐藏弹出层","默认值"],"core/combination/combo_group.html":["\"\",","\"\"}","\"#wrapper\",","\"2010年\",","\"bi.button_tree\",choosetype:","\"bi.combo_group\",","\"bi.icon_text_icon_item\",","\"bi.single_select_item\",","\"bi.text_button\",","\"bi.vertical\"}]}}","\"bottom\"","\"click\"","\"close","\"一月\",","0","0,layouts:","11","2010,","25,","[","[{","[{type:","]","adjustlength","api","array","bi.combo_group","bi.createwidget({","boolean","bottom","bottom,left","bottom,right","children","children:","click,hov","combo_group","direct","el","el:","element:","fals","font\"","getvalu","ha","height:","iconcls:","isdefaultinit","isneedadjustheight","isneedadjustwidth","left","number","object","popup","right","setvalu","sourc","string","text:","top","top,left","top,right","trigger","true,fals","type:","v","value:","value值","{","{el:","{type:","|","});","},","}]","—","下拉列表的弹出方式","参数","可选值","名称","回调参数","基础属性","基类bi.widget","子组件配置","对外方法","弹出列表和trigger的位置关系","弹出列表和trigger的距离","弹出层","是否需要宽度调整","是否需要高度调整","是否默认初始化子节点","类型","自定义下拉框trigger","获取combo","设置combo","说明","默认值"],"core/combination/loader.html":["\"#wrapper\",","\"bi.loader\",","\"bi.single_select_item\",","\"top\"","25","[]","additem","api","array","bi.createwidget({","bi.extend(v,","bi.load","bi.uuid()","boolean","combo弹出层位置","count","direct","element:","faker.name.findname(),","function","function(i,","function(idx,","function(option)","function(options,","getallbutton","getallleav","getindexbyvalu","getnodebyid","getnodebyvalu","getnotselectedbutton","getnotselectedvalu","getselectedbutton","getvalu","hasnext","hasnext:","hasprev","height:","id","isdefaultinit","item","itemscr","itemscreator:","loader","logic","next","null),","object","onload","option.count","popul","populate(bi.map(bi.map(bi.makearray(3,","populate)","prependitem","prev","return","setnotselectedvalu","setvalu","sourc","string","text:","top,bottom,left,right,(top,left),(top,right),(bottom,left),(bottom,right)","true","true,fals","type:","v)","valu","value){","value,可以是单个值也可以是个数组","value:","{","{dynamic:true,scrolly:true}","})","}))","}),","},","};","—","上一页","下一页","内部前插入","内部后插入","判断是否有上一页","判断是否有下一页","刷新列表","加载中","加载控件,bi.widget","参数","可选值","名称","回调参数","基础属性","子组件","子组件构造器","对外方法","布局逻辑","是否显示总页数","是否默认初始化子数据","根据id获取节点","根据value值获取value在数组中的索引","根据value值获取节点","类型","获取所有button","获取所有未被选中的元素","获取所有的叶子节点","获取所有被选中的元素","获取没有被选中的值","获取被选中的值","设置value值","设置未被选中的值","说明","默认值"],"core/combination/navigation.html":["\"#wrapper\",","\"bi.label\",","\"bi.navigation\",","\"bottom\"","\"layout","\"前进\",","\"后退\",","\"第\"","\"页\"","+","1","30,","8),","[{","aftercardcr","aftercardshow","api","bg\"","bi.createwidget({","bi.navig","bi.random(1,","boolean","cardcreat","cardcreator:","cls:","defaultshowindex","direct","element:","fals","false,","function","function(v)","getselect","getselectedcard","getvalu","height:","item","items:","logic","mount","navig","number,fals","object","once:","popul","render","return","setselect","setvalu","singl","sourc","string","tab","tab:","tab页元素","text:","top,bottom,left,right,custom","true","true,fals","type:","v","valu","value:","{","{dynamic:false}","}","})","},","}]","—","创建卡导航页页之后","刷新列表","参数","可选值","名称","回调参数","基础属性","对外方法","导航栏控件,bi.widget","导航页展示之后","布局逻辑","挂载组件","控件位置","是否为单页","渲染组件","类型","获取被选中的值","获取选中的index","获取选中的导航页","设置value值","设置选中的index","说明","面板显示之后","面板构造之后","面板构造器","默认值","默认显示页码"],"core/combination/searcher.html":["\"bi","\"bi.button_group\",","\"bi.label\",","\"bi.search_editor\"}","\"bi.searcher\",","\"bi.searcher_view\"}","\"bi.vertical\"","\"张三\"","()","0","[{","adapt","adapter:","adjustheight","adjustview","api","bgap","bi.createwidget({","bi.search","bi.searcher.event_after_init","bi.searcher.event_chang","bi.searcher.event_paus","bi.searcher.event_search","bi.searcher.event_start","bi.searcher.event_stop","boolean","border\",","choose_type_singl","choosetyp","cls:","const","dosearch","el","element:\"#wrapper\",","event_after_init","event_paus","event_search","event_start","event_stop","fals","function","function(op.callback)","getitems:","getkeyword","getvalu","getview","hasmatch","hgap","isautosearch","isautosearch为false时启用","isautosync","isdefaultinit","issearch","isviewvis","items,","items:","keyword","layouts:","lgap","masker","masker:","masker层","null","number","object","onsearch","padding值","popul","popup","popup:","result,","return","rgap","searcher","searchresult,","setvalu","sourc","stopsearch","tgap","true","true,fals","type:","valu","value:","vgap","{","{offset:","{type:","{}}","}","})","},","}]","}],","—","事件","事件名称","事件方法","停止搜索","停止搜索触发(搜索框为空)","初始化之后","刷新列表","即是否保持搜索面板和adapter面板状态值的统一","参数","可选值","名称","回调参数","基础属性","对外方法","开启弹出层的元素","开始搜索","开始搜索触发","弹出层","弹出层显示的位置元素","搜索中","搜索暂停触发(搜索文本以空白字符结尾)","搜索结果面板初始化完成后触发","搜索结果面板发生改变触发","搜索逻辑控件,bi.widget","效果相当于容器bottom","效果相当于容器left","效果相当于容器right","效果相当于容器top","效果相当于容器上下padding值","效果相当于容器左右padding值","是否匹配","是否正在搜索","是否自动同步数据,","是否自动搜索","是否默认初始化子节点","暂停搜索","正在搜索时触发","类型","组件是否可见","获取搜索关键词","获取搜索关键词数组","获取搜索列表栏","获取被选中的值","设置value值","说明","调整搜索列表栏","调整高度","适配器","选择类型","默认值"],"core/combination/switcher.html":["\"#wrapper\",","\"bi","\"bi.button\",","\"bi.switcher\",","\"click\"","\"switcher\"","25,","adapt","adapter:","adjustview","api","bi.createwidget({","bi.direction.top","bi.switch","boolean","click,hov","direct","el","el:","element:","event_after_hideview","event_after_init","event_after_popupview","event_before_hideview","event_before_popupview","event_collaps","event_expand","event_trigger_chang","getallleav","getnodebyid","getnodebyvalu","getvalu","getview","height:","hideview","hover\"","hoverclass","hover类","id","isexpand","isviewvis","item","masker","masker层","null","obejct","object","popul","popup","popup\"","popup:","setadapt","setvalu","showview","sourc","string","switcher","switcherclass","text:","toggl","trigger","true","true,fals","type:","valu","{","}","})","},","—","下拉列表的弹出方式","事件名称","事件方法","切换显示或隐藏面板,bi.widget","切换状态","切换类","初始化之后","刷新列表","参数","可选值","名称","回调参数","基础属性","对外方法","弹出层","弹出层的位置","弹窗层是否可见","显示弹出层","根据id获取节点","根据value值获取节点","类型","自定义下拉框trigger","节点是否展开","获取弹出层","获取所有的叶子节点","获取被选中的值","设置value值","设置弹出层显示的位置元素","说明","调整弹出层显示的位置元素","隐藏弹出层","面板切换","面板展开","面板收起","面板显示之前","面板显示之后","面板显示的位置","面板隐藏之前","面板隐藏之后","默认值"],"core/combination/tab.html":["\"#wrapper\",","\"bi","\"bi.button_group\",","\"bi.label\",","\"bi.tab\",","\"bottom\"","\"tab1\",","\"tab2\",","\"面板1\"","\"面板2\"","(v)","1,","1:","2,","2:","30,","50","[{","api","bi.createwidget();}","bi.createwidget({","bi.tab","boolean","card\",","cardcreat","cardcreator:","case","cls:","defaultshowindex","direct","element:","fals","function","function(v)","getselect","getselectedtab","gettab","getvalu","height:","item","items:","logic","number,fals","object","popul","removetab","return","setselect","setvalu","singl","sourc","string","switch","tab","tab:","tabnam","tab标签页","tab面板,bi.widget","text:","top,bottom,left,right,custom","true,fals","type:","v","valu","value:","width:","{","{dynamic:false}","{return","}","})","},","}]","—","刷新列表","参数","可选值","名称","回调参数","基础属性","对外方法","布局逻辑","控件位置","是否为单页","是否默认显示tab页","移除tab面板页","类型","获取tab面板页","获取被选中的值","获取选中的index","获取选中的tab面板页","设置value值","设置选中的index","说明","面板构造器","默认值"],"core/layer/layer_float_box.html":["\"#wrapper\",","\"bi.text_button\",","\"点击弹出floatbox\",","200,","500","600","80,","=","api","bi.barpopoversection()).open(id);","bi.createwidget({","bi.float_box","bi.popovers.create(id,","bi.popovers.remove(id);","bi.uuid();","close","element:","event_float_box_clos","float_box","floatbox弹出层,bi.widget","function()","handler:","height","height:","hide","id","index","new","number","open","popul","sectionprovid","setzindex","show","sourc","text:","type:","var","width","width:","z","{","}","})","—","事件名称","事件方法","关闭弹出层","刷新列表","参数","可选值","名称","回调参数","基础属性","对外方法","弹出层宽度","弹出层高度","打开弹出层","显示","类型","设置z","说明","隐藏","默认值"],"core/layer/layer_popup.html":["\"#wrapper\",","\"aaa\"","\"aaa\",","\"auto\"","\"bbb\"","\"bbb\",","\"bi.button_group\",","\"bi.button_group\",items:","\"bi.popup_view\",","\"bi.vertical\"","\"bi.vertical\"}]}","0","0,behaviors:","100","25","[]","[],","[{","[{type:","api","array","bgap","bi.createwidget({","bi.direction.top","bi.popup_view","boolean","button","choosetype:","const","direct","el","el:","element:","fals","getvalu","getview","height","hgap","index","item","items:","layouts:","lgap","logic","maxheight","maxwidth","minheight","minwidth","number","number/str","object","padding值","popul","popup_view","resetheight","resetwidth","rgap","setvalu","setzindex","sourc","stopev","stoppropag","tab","text:","tgap","tool","toolbar栏","true,fals","type:","valu","value:","vgap","width","z","zindex在1000w,bi.widget","{","{dynamic:true}","{},layouts:","}","})","},","}]","}],","—","下拉框弹出层,","值","刷新列表","参数","参考button_group","可选值","名称","回调参数","基础属性","子组件","对外方法","导航栏","工具栏的方向","布局逻辑","弹出层最大宽度","弹出层最大高度","弹出层最小宽度","弹出层最小高度","效果相当于容器bottom","效果相当于容器left","效果相当于容器right","效果相当于容器top","效果相当于容器上下padding值","效果相当于容器左右padding值","是否停止mousedown、mouseup事件","是否停止mousedown、mouseup向上冒泡","类型","自定义工具栏","获取value值","获取弹出层","设置valu","设置z","说明","重置宽度","重置高度","默认值"],"core/layer/layer_searcher.html":["\"#wrapper\",","\"a\"","\"a\");","\"a\",","\"aba\"","\"aba\",","\"acc\"","\"acc\",","\"bi.button_group\",behaviors:","\"bi.searcher_view\",","\"bi.vertical\"","\"bi.vertical\"}]}","()","=","[],","[{","api","bi.createwidget({","bi.i18ntext(\"bi","bi.searcher_view","bi.selection.singl","choosetyp","const","element:","function","getvalu","hasmatch","items:","keyword","layouts:","matcher","matchresult,","no_select\")","object","popul","redmark:","return","searcher","searcher.populate([{","searcher_view","searchresult,","setvalu","sourc","string","text:","tiptext","title文本","true;}","true;}},","type:","valu","value:","var","{","{redmark:","{return","{type:","});","},items:","},{","}],","}]}","—","值","刷新列表","参数","参考button_group","可选值","名称","回调参数","基础属性","基类bi.widget","完全匹配的构造器","对外方法","搜索到的元素","搜索面板,","是否有匹配的元素","类型","获取value值","设置valu","说明","选择类型","默认值"],"core/widget.html":["\"","\"div\"","(注:",",一些需要在设置状态后做的额外工作可以通过重写_setxxx来实现)","addwidget","api","attr","attribut","basecl","beforecr","beforedestroy","beforemount","bi.widget","boolean","cl","class,用于对外调用","creat","data","destroy","disabl","dobehavior","empti","enabl","extracl","fals","fineui2.0引入生命周期后,widget的实现类不需要重写setenable,setvalid等方法,会自动调用子组件的对应方法","getheight","getnam","gettag","gettext","getvalu","getwidgetbynam","getwidth","haswidget","height","html标签","invalid","invis","isen","ismount","isol","isvalid","isvis","key,valu","mount","name","name,widget","nameorwidget","null","object","removewidget","render","root","seten","setheight","settag","settext","setvalid","setvalu","setvis","setwidth","string","tag","tagnam","text","true,fals","updat","valid","valu","visibl","widget","width","—","判断是否有效","判断是否有该组件","判断组件是否挂载","参数","可选值","名称","回调参数","基础class类","基础属性","对外方法","属性","所有控件的超类","扩展class类,用于继承类中","数据","是否可用","是否可见","是否是根组件","是否有效","根据组件名称获取组件","添加组件","清空组件","渲染组件","生命周期函数","移除组件","类似于destroy,但元素并不会被销毁,只是被挂载起来了","类型","组件实例刚被创建","组件实例创建完成","组件挂载","组件挂载之前","组件更新","组件销毁前调用","组件销毁后调用","获取tag","获取text值","获取value值","获取组件名称","获取组件宽度","获取组件高度","行为,如高亮,标红等","设置tag","设置text值","设置value值","设置组件不可用","设置组件不可见","设置组件可用","设置组件可见","设置组件宽度","设置组件属性","设置组件无效","设置组件是否可用","设置组件是否可见","设置组件是否有效","设置组件有效","设置组件高度","说明","销毁组件","默认值"],"core/single.html":["api","bi.singl","boolean","disabledhov","enablehov","fals","gettiptyp","gettitl","getvalu","getwarningtitl","isreadonli","item","null","opt","popul","readonli","settitl","setvalu","setwarningtitl","singl","string","success,warn","tiptyp","titl","title,opt","title类型","true,fals","valu","value值","warningtitl","—","刷新或者清空列表","参数","取消hover事件","可选值","名称","回调参数","基础属性","对外方法","恢复hover可用","所有简单控件的基类,title的控制,文字超过边界显示3个点,基类bi.widget","是否只读","类型","获取tiptyp","获取titl","获取value值","获取warningtitl","设置titl","设置value值","设置错误titl","说明","这仅仅只是一个超类,","错误titl","默认值"],"core/basic_button.html":["\"\"","api","b","basicbutton","beforeclick","bi.basic_button","bi.emptyfn","boolean","button的选中状态","click,","dblclick,","disableselect","dishov","doclick","fals","forcenotselect","forceselect","function","gettext","handl","handler","hover","isdisableselect","isforcenotselect","isforceselect","isonc","isselect","isshadowshowingonselect","lclick","mousedown,","mouseup,","null","onc","select","setselect","settext","shadow","stopev","stoppropag","string","text","trigger","true,fals","—","一般的button父级,表示一个可以点击的区域,基类bi.singl","使能选中","判断是否不让选中","判断是否怎么点击都不会被选中","判断是否点击即选中","参数","取消触发hover","可选值","名称","回调参数","基础属性","对外方法","文本","无论怎么点击都不会被选中","是否只允许点击一次","是否显示阴影","是否被选中","是否阻止事件","是否阻止冒泡","点击一次选中有效,再点无效","点击之后钩子","点击事件之前钩子","点击事件回调","点击即选中,","用于继承的方法","类型","获取事件作用的对象","获取文本值","被选元素要触发的事件","触发hover","设置文本值","设置选中","说明","选中了就不会被取消,与once的区别是forceselected不影响事件的触发","选中状态下是否显示阴影","默认值"],"core/node_button.html":["api","b","bi.basicbutton","bi.nodebutton","boolean","fals","isopen","nodebutton","open","setopen","triggercollaps","triggerexpand","true,fals","—","不仅有选中状态而且有展开状态,","判断节点是否展开","参数","可选值","名称","回调参数","基础属性","对外方法","类型","节点是否展开","表示一个可以展开的节点,用于树状结构的节点元素,","触发节点展开","触发节点收起","设置节点展开状态","说明","默认值"],"core/pane.html":["api","bi.i18ntext(\"bi","bi.pan","bi.widget","boolean","check","function","hasmatch","item","load","loading图标是否在元素内部创建,true表示覆盖一层创建","no_selected_item\")","onload","overlap","pane","popul","string","tiptext","true","true,fals","—","刷新列表","加载之后的钩子","参数","可选值","名称","回调参数","基础属性","对外方法","提示文本","是否有匹配的元素","检查当前面板状态","没有元素有提示信息,可以提供loading和loaded状态的面板,","类型","设置加载中,一般在继承类中调用","设置加载完毕,一般在继承类中调用","说明","默认值"],"base/label.html":["\"","\"bi.label\",","\"基本标签\"","0","100,","30,","api","bgap","bi.createwidget({","bi.label","boolean","center","disabl","dohighlight","doredmark","forcecent","gettext","hgap","keyword","label","left,center,right","lgap","normal,nowrap","nowrap","null","number","padding值","py","rgap","setstyl","settext","setvalu","sourc","string","text","text:","textalign","textheight","textheight:","textwidth","textwidth:","tgap","titl","true","true,fals","type:","unhighlight","unredmark","vgap","warningtitl","whitespac","});","—","不考虑超出边界的情况,","元素内空白处理方式","参数","取消文本标红","取消文本高亮","可选值","名称","回调参数","在未知宽度和高度时有效","基础属性","对外方法","拼音","提示titl","效果相当于容器bottom","效果相当于容器left","效果相当于容器right","效果相当于容器top","效果相当于容器上下padding值","效果相当于容器左右padding值","文本内容","文本对齐方式","文本标签","文本标签宽度","文本标红","文本高亮","无","是否无论如何都要居中,","灰化","空","类型","获取文本值","设置文本值","设置文本样式","设置标红的关键词","说明","错误提示titl","需要设置的文本值text","需要设置的文本标签样式,例{\"color\":\"#000\"}","高级属性","默认值"],"base/bubble.html":["\"","\"#wrapper\",","\"top\"","\"测试\"","'bi.bubble',","30,","35","api","bi.bubbl","bi.createwidget({","bubbl","direct","element:","height","height:","number","settext","sourc","string","text","text:","type:","})","—","参数","可选值","名称","回调参数","基础属性","对外方法","气泡提示","气泡显示位置","气泡显示内容","气泡高度","类型","设置文本值","说明","需要设置的文本值text","默认值"],"base/toast.html":["\"","\"#wrapper\",","\"success\"","\"toast测试\"","\"warning\",","'bi.toast',","30","30,","api","bi.createwidget({","bi.toast","element:","height","height:","level","level:","number","settext","sourc","string","success,warn","text","text:","toast","toast提示","type:","})","—","参数","可选值","名称","回调参数","基础属性","对外方法","提示类型","显示内容","类型","设置文本值","说明","需要设置的文本值text","高度","默认值"],"base/message.html":["\"#wrapper\",","\"bi.button\",","'点击我弹出一个消息框',","30,",":","alert","bi.createwidget({","bi.msg","bi.msg.confirm('测试消息框',\"我是测试消息框的内容\");","callback","callback,","confirm","context","element:","function()","handler","height","level,","messag","message,","min_width","prompt","sourc","text","title,","toast","toast提示","type:","value,","{","}","});","名称","回调参数","对外方法","提示消息框","消息提示","确认消息框","警告消息框","说明"],"base/button/button.html":["!==","\"","\"#wrapper\",","'bi.button',","'common',","'一般按钮',","0","10","30","90","api","bgap","bi.button","bi.createwidget({","block","boolean","button","clear","cneter","common","common,success,warning,ignor","dohighlight","doredmark","element:","fals","forcecent","height","height:","hgap","iconclass","isshadowshowingonselect","left,center,right","level","level:","lgap","minwidth","normal,nowrap","nowrap","null","number","padding值","props.clear","rgap","settext","setvalu","shadow","sourc","string","text:","textalign","textheight","textwidth","tgap","true","true,fals","type:","unhighlight","unredmark","vgap","whitespac","width","});","—","不考虑超出边界的情况,","元素内的空白处理方式","参数","取消文本标红","取消文本高亮","可选值","名称","回调参数","图标类型","在未知宽度和高度时有效","基础属性","宽度","对外方法","按钮文本宽度","按钮文本高度","按钮类型","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值,如果clear属性为true,该属性值置0","文字布局","文字类型的按钮,基类bi.basicbutton","文本标红","文本高亮","是否去掉边框和背景","是否块状显示,即不显示边框,没有最小宽度的限制","是否无论如何都要居中,","是否显示阴影","最小宽度,如果block/clear中某一项为true,此项值为0,否则为90","类型","设置文本值","说明","选中状态下是否显示阴影","需要设置的文本值text","高度","高级属性","默认值"],"base/button/text_button.html":["\"","'bi.text_button',","'文字按钮',","0","10","30","api","bi.createwidget({","bi.text_button","boolean","cneter","dohighlight","doredmark","fals","forcecent","height:","hgap","left,center,right","lgap","normal,nowrap","nowrap","null","number","padding值","py","rgap","setstyl","sourc","string","text:","text_button","textalign","textheight","textwidth","true,fals","type:","unhighlight","unredmark","whitespac","});","—","不考虑超出边界的情况,","元素内的空白处理方式","参数","取消文本标红","取消文本高亮","可以点击的一行文字,基类bi.basicbutton","可选值","名称","回调参数","在未知宽度和高度时有效","基础属性","对外方法","拼音","按钮文本宽度","按钮文本高度","效果相当于文本框left","效果相当于文本框right","效果相当于文本框左右padding值,如果clear属性为true,该属性值置0","文字布局","文本标红","文本高亮","是否无论如何都要居中,","类型","设置文本样式","说明","需要设置的文本标签样式,例{\"color\":\"#000\"}","高级属性","默认值"],"base/button/icon_button.html":["\"close","'bi.icon_button',","20","20,","api","bi.createwidget({","bi.icon_button","cls:","font\",","ha","height:","icon_button","iconheight","iconwidth","null","number","sourc","type:","width:","});","—","参数","可选值","名称","回调参数","图标button,基类bi.basicbutton","图标宽度","图标高度","基础属性","对外方法","类型","说明","默认值"],"base/button/image_button.html":["\"","\"100%\"","\"http://www.easyicon.net/api/resizeapi.php?id=1206741&size=128\",","'bi.image_button',","100","100,","api","bi.createwidget({","bi.image_button","getimageheight","getimagewidth","getsrc","height:","iconheight","iconwidth","image_button","number/str","setimageheight","setimagewidth","setsrc","sourc","src","src:","string","type:","width:","});","—","参数","可选值","名称","回调参数","图标宽度","图标高度","图片的button,基类bi.basicbutton","图片路径","基础属性","宽度width","对外方法","类型","获取图片宽度","获取图片路径","获取图片高度","设置图片宽度","设置图片路径","设置图片高度","说明","高度height","默认值"],"base/editor/editor.html":["\"","\"#wrapper\",","\"bi.editor\",","\"text\"","\"warning\"","\"字段不可重名!\",","0","2","200,","30","4","allowblank","api","b","bgap","bi.createwidget({","bi.editor","bi.editor.event_backspac","bi.editor.event_blur","bi.editor.event_chang","bi.editor.event_click","bi.editor.event_confirm","bi.editor.event_empti","bi.editor.event_ent","bi.editor.event_error","bi.editor.event_focu","bi.editor.event_key_down","bi.editor.event_paus","bi.editor.event_remov","bi.editor.event_restrict","bi.editor.event_spac","bi.editor.event_start","bi.editor.event_stop","bi.editor.event_valid","blur","blur事件","boolean","disableerror","disablewatermark","editor","editor的value发生改变触发","element:","enableerror","enablewatermark","errortext","errortext:","fals","focu","focus事件","function","geterrortext","getlastvalidvalu","getvalu","height:","hgap","inputtyp","isedit","isvalid","keydown时触发","lgap","number","padding值","quitcheck","resetlastvalidvalu","rgap","selectal","seterrortext","seterrorvis","setvalu","sourc","string","string/funct","success,warn","text","tgap","tiptyp","true,fals","type:","validationcheck","valu","vgap","watermark","width:","});","—","事件","停止输入触发","参数","参考input输入框类型","可选值","名称","回调参数","回车事件","回车但是值不合法","基础属性","对外方法","开始输入触发","恢复文本框placeholder可用","按下backspace触发","按下空格触发","提示类型","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值","文本框,基类bi.singl","文本框placehold","文本框值是否有效","文本框失焦","文本框是否处于编辑状态","文本框获取焦点","是否允许空值","是否允许退出编辑函数","暂停输入触发(输入空白字符)","点击编辑框触发(不在编辑状态时)","确定输入触发(blur时且输入值有效)","类型","获取文本框值","获取文本框最后一次输入的有效值","获取错误文本","设置error不可用","设置error可用","设置文本框placeholder不可用","设置文本框值","设置错误文本","设置错误文本可见","说明","输入为空时按下backspac","输入值无效的状态事件","输入值有效的状态事件","输入框为空时触发","输入框类型","输入较验函数","选中文本框文本","重置文本框最后一次输入的有效值","错误提示","默认值"],"base/editor/code_editor.html":["\"","\"bi.code_editor\",","\"mvc","2","400","600,","api","bi.code_editor","bi.createwidget({","blur","boolean","border\",","cls:","code_editor","fals","focu","function","getstyl","getvalu","height:","insertparam","insertstr","lineheight","number","param","paramformatt","readonli","refresh","setstyl","setvalu","sourc","str","string","true,fals","type:","valu","watermark","width:","});","—","代码文本框,基类bi.singl","刷新文本框,codemirror需要用到","参数","参数显示值构造函数","可选值","名称","回调参数","基础属性","对外方法","插入参数","插入字符串","文本框placehold","文本框值","文本框失焦","文本框获取焦点","是否只读","类型","获取文本样式","获取文本框值","行高","设置文本样式","设置文本框值","说明","需要设置的文本标签样式style,例{\"color\":\"#000\"}","默认值"],"base/editor/multifile_editor.html":["\"","\"bi.multifile_editor\",","1","300","400,","accept","api","bi.createwidget({","bi.multifile_editor","bi.multifileeditor.event_progress","bi.multifileeditor.event_upload","bi.multifileeditor.event_uploadstart","boolean","fals","getvalu","height:","maxsiz","multifile_editor","multipl","number","reset","select","sourc","string","true,fals","type:","upload","url","width:","});","—","上传结束后触发","上传过程中触发","事件","允许上传最大字节数","允许上传的文件类型","参数","可选值","名称","回调参数","基础属性","多文件,基类bi.singl","对外方法","开始上传时触发","文件上传","文件路径","是否支持多选","类型","获取文件名称","说明","选择文件","重置","默认值"],"base/editor/textarea_editor.html":["\"","\"bi.textarea_editor\",","300","400,","api","bi.createwidget({","bi.textarea_editor","blur","focu","getstyl","getvalu","height:","setstyl","setvalu","sourc","string","textarea_editor","type:","valu","width:","});","—","参数","可选值","名称","回调参数","基础属性","对外方法","文本域,基类bi.singl","文本域失焦","文本域的值","文本域获取焦点","类型","获取文本域值","获取文本域样式","设置文本域值","设置文本域样式","说明","需要设置的文本域样式style,例{\"color\":\"#000\"}","默认值"],"base/editor/formula_editor.html":["\"","\"100%\"","\"100%\",","\"bi","\"bi.formula_editor\",","'sum(c5,","16,","2","26)',","api","bi.createwidget({","bi.formula_editor","boolean","border\",","cls:","disablewatermark","field","fieldtextvaluemap","fn","focu","formula_editor","getcheckstr","getformulastr","getusedfield","getvalu","height:","insertfield","insertfunct","insertoper","insertstr","lineheight","number","onject","op","refresh","setfieldtextvaluemap","setfunct","setvalu","showhint","sourc","str","string","true","true,fals","type:","v","valu","value:","watermark","watermark:'请输入公式',","width:","{}","});","—","公式编辑控件,基类bi.singl","刷新文本框","参数","可选值","名称","回调参数","基础属性","字段集合","对外方法","插入函数","插入字符串","插入操作符","文本域的值","文本框placehold","文本框获取焦点","是否显示提示信息","添加字段","类型","获取公式框内容","获取可用字段","获取文本框值","获取校验内容","行高","设置函数","设置字段集合","设置文本框placeholder不可用","设置文本框值","说明","默认值"],"base/editor/rich_editor.html":["\"bi.rich_editor\",","400","600,","api","bi.createwidget({","height:","rich_editor","sourc","type:","width:","});","参数","可选值","名称","回调参数","基础属性","富文本编辑器,基类bi.widget","对外方法","类型","说明","默认值"],"base/table/table_view.html":["\"bi.table_view\",","'body',","1],","200,","25","300,","400,","500],","=","[0,","[100,","[]","[],","array","bi.createwidget({","bi.table.event_table_after_init","bi.table.event_table_res","bi.table.event_table_scrol","bi.table_view","boolean","columns","columnsize:","element:","fals","footer","footerrows","freezecols:","function(row1,","getcalculatecolumns","getcalculateregioncolumns","getcalculateregionrows","getclientregioncolumns","getcolumn","getcolumns","getlefthorizontalscrol","getregioncolumns","getrighthorizontalscrol","getscrollregioncolumns","getscrollregionrows","getverticalscrol","hasverticalscrol","header","header:","headerrows","isneedfreeze:","isneedmerg","isneedmerge:","item","items:","mergecol","mergecols:","mergerul","number","popul","regioncolumns","resiz","row","row2","row2)","rowsiz","scrollleft","scrolltop","setcolumns","setheadercolumns","setlefthorizontalscrol","setregioncolumns","setrighthorizontalscrol","setverticalscrol","sourc","table_view","table初始化完成后触发","table大小调整时触发(窗口变化等)","true,","type:","});","—","事件","列项间的","刷新内容","单元格宽度集合","参数","参数设置","合并的单元格列号","合并规则,","子组件","得到列宽","方法","方法名","时合并","是否含有数值滚动条","是否需要合并单元格","普通单元格高度","滚动事件","类型","能处理静态宽度以及动态宽度的表","获取列项","获取右往左横向滚动距离","获取左到右横向滚动距离","获取横向滚动条宽度","获取浏览器中显示的列项之间的间隙","获取纵向滚动条宽度","获取纵向滚动距离","获取计算后的列项上下之间的间隙","获取计算后的列项之间的间隙","获得列项之间的间隙","获得计算后的列宽","表头","表头高度","表尾","表尾高度","设置列宽","设置列项之间的间隙","设置右往左横向滚动距离","设置左到右横向滚动距离","设置纵向滚动距离","设置表头的列宽","说明","调整表格","默认row1","默认值","默认相等时合并"],"base/table/grid_table.html":["\"bi.grid_table\",","'body',","1],","25","500,","600,","[0,","[50,50,200,250,400],","[]","array","bi.createwidget({","bi.grid_t","boolean","columns","columnsize:","element:","fals","freezecol","freezecols:","getcolumns","getlefthorizontalscrol","getregioncolumns","getregions","getrighthorizontalscrol","getverticalscrol","grid_tabl","header","header:","headerrows","height","height:","isneedfreez","isneedfreeze:","isneedresize:","isresizeadapt:","item","items,","items:","number","popul","regioncolumns","restor","row","rowsiz","scrollleft","scrolltop","setcolumns","setheight","setlefthorizontalscrol","setregioncolumns","setrighthorizontalscrol","setverticalscrol","setwidth","sourc","true,","type:","width","width:","});","—","储存","冻结列","列项间的","刷新内容","单元格宽度集合","参数","参数设置","子组件","得到列宽","方法","方法名","是否需要冻结","普通单元格高度","类型","网格式的表格,继承bi.widget","获取右往左横向滚动距离","获取左到右横向滚动距离","获取纵向滚动距离","获取间隙大小","获得列项之间的间隙","表头","表头高度","设置列宽","设置列项之间的间隙","设置右往左横向滚动距离","设置宽度","设置左到右横向滚动距离","设置纵向滚动距离","设置高度","说明","默认值"],"base/table/collection_table.html":["\"bi.collection_table\",","\"bi.label\",","\"body\",","\"layout","\"第一行第一列\"","\"第一行第二列\"","\"第二行第一列\"","\"第二行第二列\"","25","=","[","[200,200],","[]","[{","]","array","bg1\",","bg2\",","bg3\",","bg4\",","bi.collection_t","bi.createwidget({","boolean","cls:","collection_t","columns","columnsize:","element:","fals","freezecol","function(row1,","getcolumn","getcolumns","getlefthorizontalscrol","getregioncolumns","getrighthorizontalscrol","getscrollregioncolumns","getverticalscrol","headerrows","height","isneedfreez","isneedmerg","item","items:","mergecol","mergerul","number","popul","regioncolumns","restor","row","row2","row2)","rowsiz","scrollleft","scrolltop","setcolumns","setheight","setlefthorizontalscrol","setregioncolumns","setrighthorizontalscrol","setverticalscrol","setwidth","sourc","text:","type:","width","{","});","},","}]","}],","—","冻结的列","列项间的","单元格宽度集合","参数","参数设置","可以合并单元格的表格","合并的单元格列号","合并规则,","增加行","子组件","存储数据","得到列宽","方法","方法名","时合并","是否冻结列","是否需要合并单元格","普通单元格高度","类型","继承bi.widget","获取列项","获取右往左横向滚动距离","获取左到右横向滚动距离","获取横向滚动条宽度","获取纵向滚动距离","获得列项之间的间隙","表头高度","设置列宽","设置列项之间的间隙","设置右往左横向滚动距离","设置宽度","设置左到右横向滚动距离","设置纵向滚动距离","设置高度","说明","默认row1","默认值","默认相等时合并"],"base/table/resizable_table.html":["\"bi.label\",","\"bi.resizable_table\",","\"body\",","\"layout","\"第一行第一列\"","\"第一行第二列\"","\"第二行第一列\"","\"第二行第二列\"","25","[","[200,200],","[]","[{","]","array","attr","bg1\",","bg2\",","bg3\",","bg4\",","bi.createwidget({","bi.resizable_t","boolean","cls:","columns","columnsize:","element:","fals","freezecol","getcolumns","getlefthorizontalscrol","getregioncolumns","getrighthorizontalscrol","getverticalscrol","header","headerrows","isneedfreez","isneedmerg","isneedres","isresizeadapt","item","items:","key:键,value:值","maxcolumns","mergecol","mincolumns","number","popul","regioncolumns","resizable_t","restor","row","rowsiz","scrollleft","scrolltop","setcolumns","setheight","setlefthorizontalscrol","setregioncolumns","setrighthorizontalscrol","setverticalscrol","setwidth","sourc","text:","true","type:","{","});","},","}]","}],","—","保存表","冻结的列","列项间的","刷新内容","单元格宽度集合","参数","参数设置","可调整列宽的表格,继承bi.widget","合并的单元格列号","子组件","得到列宽","方法","方法名","是否调整时自适应","是否需要冻结列","是否需要合并单元格","是否需要调整大小","普通单元格高度","最大列宽","最小列宽","类型","获取右往左横向滚动距离","获取左到右横向滚动距离","获取纵向滚动距离","获得列项之间的间隙","表头","表头高度","设置列宽","设置列项之间的间隙","设置右往左横向滚动距离","设置宽度","设置属性","设置左到右横向滚动距离","设置纵向滚动距离","设置高度","说明","默认值"],"base/pager.html":["\"bi.pager\",","\"上一页\"","\"下一页\"","\"尾页\"","\"首页\",","0","1","18,","1;}","5,","50,","6,","api","attr","bi.createwidget({","bi.pag","bi.pager.event_after_popul","boolean","boolean/numb","boolean/str","curr","curr:","dynamicshow","dynamicshowfirstlast","dynamicshowprevnext","fals","false,numb","first","first:","firstpag","function","function(){","function(){return","function/numb","getcurrentpag","getvalu","group","groups:","hasnext","hasprev","height:","jump","key,valu","last","last:","lastpag","next","number","page","pager","pager刷新完成事件","pages:","popul","prev","return","setallpag","setvalu","sourc","sting,object","string,object","true","true,fals","true,false,str","type:","v","});","—","上一页","下一页","主要作用于setvalue方法","事件","分页控件,基类bi.widget","初始化当前页","判断是否有上一页","判断是否有上一页,pages不可用时有效","判断是否有下一页","判断是否有下一页,pages不可用时有效","刷新或者清空列表","参数","可选值","名称","回调参数","基础属性","对外方法","是否动态显示上一页、下一页,dynamicshow为false时生效","是否动态显示上一页、下一页、首页、尾页,","是否动态显示首页、尾页,dynamicshow为false时生效","是否显示尾页","是否显示总页数","是否显示首页","最后一页,在万不得已时才会调用这个函数获取最后一页的页码,","第一页","类型","若为false,则指对其设置使能状态","获取当前页码","设置属性","设置当前页码","设置总页数","说明","连续显示分页数","页数跳转","默认值"],"base/svg.html":["\"bi.svg\",","\"red\"});","(family,","(src,x,y,w,h)分别表示图片路径,绘制的原点横、纵坐标,宽、高","(width,height)分别表示画布宽高","(x,","(x,y)","(x,y,r)分别表示原点的横坐标,纵坐标,以及半径","(x,y,rx,ry)分别表示原点的横、纵坐标,以及水平半径和垂直半径","(x,y,text)分别表示绘制的原点横、纵坐标以及要绘制的文本内容","(x,y,w,h,r)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及矩形的圆角bord","(x,y,width,height,fit)分别表示可视区域原点坐标以及可视区域宽高,以及是否根据可视区域进行调整",".attr({stroke:","500,","600","=","add","bi.createwidget({","bi.svg","circl","clear","ellips","font,","getbyid","getelementbypoint","getelementsbypoint","getfont","height:","id","imag","json","letter_spacing,","line_spacing)","origin,","page","path","pathstr","print","radius大小","rect","remov","set","setfinish","setsiz","setstart","setviewbox","size,","sourc","stretch)","string,","style,","svg","svg.path(\"m10,10l50,50m50,10l10,50\")","svg绘图,基类bi.widget","text","type:","v","var","weight,","width:","y,","});","—","判断是否有上一页","名称","回调参数","对外方法","开始绘制","根据id返回元素","根据制定参数打印出路径","添加对象到json数组","结束绘制","绘制图片","绘制圆形","绘制形状的集合","绘制文本","绘制椭圆","绘制矩形","绘制路径","获根据给定的点坐标返回元素","设置总页数","设置画布可视区域","设置画布尺寸","说明","通过给定的参数在已注册的字体中找到字体对象"],"base/canvas.html":["\"#wrapper\",","\"bi.canvas\",","\"green\");","(x,","(x,y,w,h,color)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及绘制的颜色","(x0,","20,","50,","500,","600","=","bi.canva","bi.createwidget({","callback","canva","canvas.circle(150,","canvas.stroke();","canvas绘图,基类bi.widget","circl","color)分别表示原点的横坐标,纵坐标,半径以及颜色","element:","end)","gradient","height:","hollow","line","radius,","rect","reset","solid","sourc","start,","stroke","type:","var","width:","x1,","y,","y0,","y1)","y1,","});","—","名称","回调参数","填充中空的路径","填充实心的路径","对外方法","绘制","绘制圆形","绘制渐变色","绘制矩形","绘制线段","说明","重置画布"],"case/button/multi_select_item.html":["\"#wrapper\",","\"bi.label\",","\"bi.multi_select_item\",","\"复选item\"","\"复选项\"","'bi.vertical',","30","30,","[{","api","bi.createwidget({","bi.multi_select_item","doredmark","element:","height","height:","items:","logic","multi_select_item","number","object","setselect","sourc","text:","type:","unredmark","v","{","{dynamic:false}","});","},","}]","—","参数","取消标红","可选值","名称","回调参数","基础属性","复选框item,基类bi.basicbutton","对外方法","布局逻辑","标红","类型","设置选中值","说明","高度","默认值"],"case/button/single_select_item.html":["\"#wrapper\",","\"bi.label\",","\"bi.single_select_item\",","\"left\"","\"复选item\"","\"复选项\"","'bi.vertical',","10","25","30,","[{","api","bi.createwidget({","bi.single_select_item","doredmark","element:","height","height:","hgap","items:","left,center,right","number","setselect","single_select_item","sourc","string","text:","textalign","type:","unredmark","v","{","});","},","}]","—","参数","取消标红","可以点击的label,基类bi.basicbutton","可选值","名称","回调参数","基础属性","对外方法","效果相当于文本框左右padding值","文本对齐方式","标红","类型","设置选中值","说明","高度","默认值"],"case/button/single_select_radio_item.html":["\"#wrapper\",","\"bi.label\",","\"bi.single_select_radio_item\",","\"left\"","\"单选item\"","\"单选项\"","'bi.vertical',","10","25","30,","[{","api","bi.createwidget({","bi.single_select_radio_item","doredmark","element:","height","height:","hgap","items:","left,center,right","number","setselect","single_select_radio_item","sourc","string","text:","textalign","type:","unredmark","v","{","});","},","}]","—","单选框item,基类bi.basicbutton","参数","取消标红","可选值","名称","回调参数","基础属性","对外方法","效果相当于文本框左右padding值","文本对齐方式","标红","类型","设置选中值","说明","高度","默认值"],"case/editor/shelter_editor.html":["\"","\"#wrapper\",","\"bi","\"bi.shelter_editor\",","\"left\"","\"这个是带标记的\"","0","2","30","300,","4","allowblank","api","bgap","bi.createwidget({","bi.editor.event_backspac","bi.editor.event_blur","bi.editor.event_chang","bi.editor.event_click","bi.editor.event_confirm","bi.editor.event_empti","bi.editor.event_ent","bi.editor.event_error","bi.editor.event_focu","bi.editor.event_key_down","bi.editor.event_paus","bi.editor.event_remov","bi.editor.event_restrict","bi.editor.event_spac","bi.editor.event_start","bi.editor.event_stop","bi.editor.event_valid","bi.shelter_editor","blur","blur事件","boolean","border\",","cls:","dohighlight","doredmark","editor的value发生改变触发","element:","errortext","focu","focus事件","function","geterrortext","getlastvalidvalu","getstat","getvalu","height","hgap","isedit","isvalid","key","keydown时触发","left,center,right","lgap","number","onkeydown","padding值","quitcheck","rgap","seterrortext","setstat","settextstyl","settitl","setvalu","setwarningtitl","shelter_editor","sourc","string","string/funct","style","text","textalign","tgap","titl","true","true,fals","type:","unhighlight","unredmark","validationcheck","valu","vgap","watermark","watermark:","width:","});","—","事件","停止输入触发","参数","取消文本标红","取消文本高亮","可选值","名称","回调参数","回车事件","回车但是值不合法","基础属性","基类bi.widget","对外方法","对齐方式","带标记的文本框,需手动控制进入编辑状态","开始输入触发","按下backspace触发","按下空格触发","按键事件","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值","文本标红","文本框placehold","文本框值是否有效","文本框失焦","文本框是否处于编辑状态","文本框获取焦点","文本高亮","是否允许空值","是否允许退出编辑函数","暂停输入触发(输入空白字符)","点击编辑框触发(不在编辑状态时)","确定输入触发(blur时且输入值有效)","类型","获取文本框值","获取文本框最后一次输入的有效值","获取错误文本","设置titl","设置文本框值","设置文本框样式","设置错误titl","设置错误文本","说明","输入为空时按下backspac","输入值无效的状态事件","输入值有效的状态事件","输入框为空时触发","输入较验函数","错误提示","高度","默认值"],"case/editor/sign_editor.html":["\"","\"#wrapper\",","\"123\",","\"456\",","\"bi.sign_editor\",","0","2","30","300","4","allowblank","api","bg5\",","bgap","bi.createwidget({","bi.editor.event_backspac","bi.editor.event_blur","bi.editor.event_chang","bi.editor.event_click","bi.editor.event_confirm","bi.editor.event_empti","bi.editor.event_ent","bi.editor.event_error","bi.editor.event_focu","bi.editor.event_key_down","bi.editor.event_paus","bi.editor.event_remov","bi.editor.event_restrict","bi.editor.event_spac","bi.editor.event_start","bi.editor.event_stop","bi.editor.event_valid","bi.sign_editor","blur","blur事件","boolean","cls:\"layout","dohighlight","doredmark","editor的value发生改变触发","element:","errortext","focu","focus事件","function","geterrortext","getlastvalidvalu","getstat","getvalu","height","hgap","isedit","isvalid","keydown时触发","lgap","number","padding值","quitcheck","rgap","seterrortext","setstat","settitl","setvalu","setwarningtitl","sign_editor","sourc","string","string/funct","text","text:","tgap","titl","true","true,fals","type:","unhighlight","unredmark","validationcheck","valu","value:","vgap","watermark","width:","});","—","事件","停止输入触发","参数","取消文本标红","取消文本高亮","可选值","名称","回调参数","回车事件","回车但是值不合法","基础属性","对外方法","带标记的文本框,基类bi.widget","开始输入触发","按下backspace触发","按下空格触发","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值","文本标红","文本框placehold","文本框值是否有效","文本框失焦","文本框是否处于编辑状态","文本框获取焦点","文本高亮","是否允许空值","是否允许退出编辑函数","暂停输入触发(输入空白字符)","点击编辑框触发(不在编辑状态时)","确定输入触发(blur时且输入值有效)","类型","获取文本框值","获取文本框最后一次输入的有效值","获取错误文本","设置titl","设置文本框值","设置错误titl","设置错误文本","说明","输入为空时按下backspac","输入值无效的状态事件","输入值有效的状态事件","输入框为空时触发","输入较验函数","错误提示","高度","默认值"],"case/editor/sign_initial_editor.html":["\"","\"#wrapper\",","\"bi.sign_initial_editor\",","\"layout","\"原始值\",","0","2","30","300","4","allowblank","api","bg5\",","bgap","bi.createwidget({","bi.editor.event_backspac","bi.editor.event_blur","bi.editor.event_chang","bi.editor.event_click","bi.editor.event_confirm","bi.editor.event_empti","bi.editor.event_ent","bi.editor.event_error","bi.editor.event_focu","bi.editor.event_key_down","bi.editor.event_paus","bi.editor.event_remov","bi.editor.event_restrict","bi.editor.event_spac","bi.editor.event_start","bi.editor.event_stop","bi.editor.event_valid","bi.sign_initial_editor","blur","blur事件","boolean","cls:","dohighlight","doredmark","editor的value发生改变触发","element:","errortext","focu","focus事件","function","geterrortext","getlastvalidvalu","getstat","getvalu","height","hgap","isedit","isvalid","keydown时触发","lgap","number","padding值","quitcheck","rgap","seterrortext","setstat","settitl","setvalu","setwarningtitl","sign_initial_editor","sourc","string","string/funct","text","text:","tgap","titl","true","true,fals","type:","unhighlight","unredmark","validationcheck","valu","vgap","watermark","width:","});","—","之后初始值会一直显示的editor","事件","停止输入触发","参数","取消文本标红","取消文本高亮","可选值","名称","回调参数","回车事件","回车但是值不合法","基础属性","基类bi.widget","对外方法","开始输入触发","指定初始值","按下backspace触发","按下空格触发","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值","文本value值","文本内容","文本标红","文本框placehold","文本框值是否有效","文本框失焦","文本框是否处于编辑状态","文本框获取焦点","文本高亮","是否允许空值","是否允许退出编辑函数","暂停输入触发(输入空白字符)","点击编辑框触发(不在编辑状态时)","确定输入触发(blur时且输入值有效)","类型","获取文本框值","获取文本框最后一次输入的有效值","获取错误文本","设置titl","设置文本框值","设置错误titl","设置错误文本","说明","输入为空时按下backspac","输入值无效的状态事件","输入值有效的状态事件","输入框为空时触发","输入较验函数","错误提示","高度","默认值"],"case/editor/state_editor.html":["\"","\"#wrapper\",","\"123\",","\"456\",","\"bi.state_editor\",","0","2","30","300","4","allowblank","api","bgap","bi.createwidget({","bi.editor.event_backspac","bi.editor.event_blur","bi.editor.event_chang","bi.editor.event_click","bi.editor.event_confirm","bi.editor.event_empti","bi.editor.event_ent","bi.editor.event_error","bi.editor.event_focu","bi.editor.event_key_down","bi.editor.event_paus","bi.editor.event_remov","bi.editor.event_restrict","bi.editor.event_spac","bi.editor.event_start","bi.editor.event_stop","bi.editor.event_valid","bi.state_editor","blur","blur事件","boolean","dohighlight","doredmark","editor的value发生改变触发","element:","errortext","focu","focus事件","function","geterrortext","getlastvalidvalu","getstat","getvalu","height","hgap","isedit","isvalid","keydown时触发","lgap","number","padding值","quitcheck","rgap","seterrortext","setstat","setvalu","sourc","state_editor","string","string/funct","text","text:","tgap","true","true,fals","type:","unhighlight","unredmark","validationcheck","valu","value:","vgap","watermark","width:","});","—","事件","停止输入触发","参数","取消文本标红","取消文本高亮","可选值","名称","回调参数","回车事件","回车但是值不合法","基础属性","对外方法","开始输入触发","按下backspace触发","按下空格触发","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值","文本标红","文本框placehold","文本框值是否有效","文本框失焦","文本框是否处于编辑状态","文本框获取焦点","文本高亮","是否允许空值","是否允许退出编辑函数","暂停输入触发(输入空白字符)","点击编辑框触发(不在编辑状态时)","确定输入触发(blur时且输入值有效)","类型","获取文本框值","获取文本框最后一次输入的有效值","获取错误文本","记录状态的输入框,基类bi.widget","设置文本框值","设置错误文本","说明","输入为空时按下backspac","输入值无效的状态事件","输入值有效的状态事件","输入框为空时触发","输入较验函数","错误提示","高度","默认值"],"case/editor/simple_state_editor.html":["\"bi.simple_state_editor\"","api","bi.createwidget({","simple_state_editor","sourc","statest","string","type:","});","参数","可选值","名称","回调参数","基础属性","对外方法","已选择状态输入框,基类bi.widget","无限制","类型","设置state","说明","默认值"],"detailed/text_input/bi.clear_editor.html":["\"","\"bi","'#wrapper',","'bi.clear_editor',","0","2","30","300,","4","allowblank","api","bgap","bi.clear_editor","bi.cleareditor.event_clear","bi.createwidget({","boolean","border\",","clear_editor","cls:","element:","errortext","fals","function","height","hgap","lgap","null","number","padding值","quitcheck","rgap","sourc","string","tgap","true,fals","type:","validationcheck","valu","vgap","watermark","watermark:\"带清除按钮的输入框\",","width","width:","});","—","事件","其他事件详见input","参数","可选值","带清除按钮的输入框","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值","文本框placehold","文本框宽度","文本框高度","文本框默认值","是否允许空值","是否允许退出编辑函数","点击清空按钮触发","类型","说明","输入较验函数","错误提示","默认值"],"case/list/list.select.html":["\"bi.select_list\",","'1',","'2',","[]","[{","additem","array","b:","bi.createwidget({","bi.direction.top","bi.emptyfn","bi.select_list","boolean","data","direct","function","getallbutton","getallleav","getindexbyvalu","getnodebyid","getnodebyvalu","getnotselectedbutton","getnotselectedvalu","getselectedbutton","getvlau","h","hasnext","hasprev","id","isallselect","item","items:","itemscr","onload","popul","prependitem","resetheight","select_list","setallselect","setnotselectedvalu","settoolbarvis","setvalu","sourc","string","text:","toolbar位置","type:","v:","valu","{","});","},","}]","—","元素创造器","列表最前添加元素","列表最后添加元素","加载完成的回调(测试了无效果)","参数","子项","方法","方法名","是否全选中","是否有上一页","是否有下一页","替换内容","根据id获取nod","根据值获取node","根据值获取索引","类型","获取未选中植","获取未选中的根节点","获取选中的根节点","获得值","获得所以根节点","获得所有叶节点","设置toolbar是否可见","设置值","设置全选","设置未选中值","说明","选择列表","重新设置高度","默认值"],"case/loader/lazy_loader.html":["\"bi.lazy_loader\",","'body',","100,","additem","bi.createwidget({","bi.lazy_load","data","element:","getallbutton","getallleav","getindexbyvalu","getnodebyid","getnodebyvalu","getnotselectedbutton","getnotselectedvalu","getselectedbutton","getvalu","id","item","items,","items:","lazy_load","popul","setnotselectedvalu","setvalu","sourc","type:","valu","width:","});","—","列表最后添加元素","参数","懒加载loader","方法","方法名","替换内容","根据id获取nod","根据值获取node","根据值获取索引","获取未选中植","获取未选中的根节点","获取选中的根节点","获得值","获得所以根节点","获得所有叶节点","设置值","设置未选中值","说明"],"case/loader/list_loader.html":["\"bi.list_loader\",","'body',","100,","[]","additem","array","bi.createwidget({","bi.emptyfn","bi.list_load","count","data","element:","fals","function","getallbutton","getallleav","getindexbyvalu","getnodebyid","getnodebyvalu","getnotselectedbutton","getnotselectedvalu","getselectedbutton","getvlau","h","hasnext","id","item","items,","items:","itemscr","list_load","next","number","object","onload","popul","resetheight","setnotselectedvalu","setvalu","sourc","type:","valu","width:","{}","});","—","为解决排序问题引入的控件","元素创造器","分页计数","列表最后添加元素","加载完成回调","参数","子项","方法","方法名","是否有下一页","替换内容","根据id获取nod","根据值获取node","根据值获取索引","类型","获取未选中植","获取未选中的根节点","获取选中的根节点","获得值","获得所以根节点","获得所有叶节点","设置值","设置未选中值","说明","重新设置高度","默认值"],"case/loader/sort_list.html":["\"bi.sort_list\",","'body',","100,","[]","additem","array","bi.createwidget({","bi.emptyfn","bi.sort_list","count","data","element:","fals","function","getallbutton","getallleav","getindexbyvalu","getnodebyid","getnodebyvalu","getnotselectedbutton","getnotselectedvalu","getselectedbutton","getvlau","h","hasnext","id","item","items,","items:","itemscr","next","number","object","onload","popul","resetheight","setnotselectedvalu","setvalu","sort_list(jqueri","sortable封装)","sourc","type:","valu","width:","{}","});","—","元素创造器","分页计数","列表最后添加元素","加载完成回调","参数","子项","排序列表","方法","方法名","是否有下一页","替换内容","根据id获取nod","根据值获取node","根据值获取索引","类型","获取未选中植","获取未选中的根节点","获取选中的根节点","获得值","获得所以根节点","获得所有叶节点","设置值","设置未选中值","说明","重新设置高度","默认值"],"case/layer/pane_list.html":["\"#wrapper\",","\"bi","\"bi.button_group\"","'bi.list_pane',","0","[","[]","]","additem","api","array","bgap","bi.createwidget({","bi.list_pan","border\",","cls:","dynamic:true}","el","element:","function","getallbutton","getallleav","getindexbyvalu","getnodebyid","getnodebyvalu","getnotselectedbutton","getnotselectedvalu","getselectedbutton","getvalu","hasnext","hasprev","hgap","id","index","item","items:","itemscr","lgap","list面板,基类bi.widget","logic","number","object","onload","padding值","pane_list","popul","prependitem","removeitemat","rgap","setnotselectedvalu","setvalu","sourc","tgap","type:","valu","value,可以是单个值也可以是个数组","vgap","{","{type:","}","});","—","内部前插入","内部后插入","列表","列表创建器","刷新列表","参数","可选值","名称","回调参数","基础属性","对外方法","布局逻辑","开启panel的元素","效果相当于容器bottom","效果相当于容器left","效果相当于容器right","效果相当于容器top","效果相当于容器上下padding值","效果相当于容器左右padding值","是否有上一页","是否有下一页","根据id获取节点","根据value值获取value在数组中的索引","根据value值获取节点","正在加载","移除指定索引处的item","类型","获取所有button","获取所有未被选中的元素","获取所有的叶子节点","获取所有被选中的元素","获取没有被选中的值","获取被选中的值","设置value值","设置未被选中的值","说明","默认值"],"case/layer/panel.html":["\"","\"#wrapper\",","\"+\"","\"bi.button\",","\"bi.panel\",","\"标题\",","[","[{","]","api","array","bi.createwidget({","bi.panel","dynamic:","dynamic:false}","el","el:","element:","logic","logic:","object","panel","settitl","sourc","string","text:","this.button_group,","titl","title:","titlebutton","titlebuttons:","true","type:","{","}","});","}],","—","参数","可选值","名称","回调参数","基础属性","对外方法","布局逻辑","带有标题栏的panel,基类bi.widget","开启panel的元素","标题","标题后的按钮组","类型","设置标题","说明","默认值"],"case/layer/multi_popup_layer.html":["\"#wrapper\",","\"bi.multi_popup_view\",","300","api","array","basic_sure\")","bi.createwidget({","bi.i18ntext(\"bi","bi.multi_popup_view","button","element:","multi_popup_view","sourc","type:","width:","zindex在1000w,基类bi.multipopupview","});","—","下拉框弹出层的多选版本,toolbar带有若干按钮,","参数","可选值","基础属性","按钮组","类型","说明","默认值"],"case/layer/layer_panel.html":["\"","\"#wrapper\",","\"bi.popup_panel\",","\"测试\",","300","additem","api","bi.createwidget({","bi.popup_panel","bi.popuppanel.event_chang","bi.popuppanel.event_click_toolbar_button","bi.popuppanel.event_clos","element:","empti","getallbutton","getallleav","getindexbyvalu","getnodebyid","getnodebyvalu","getnotselectedbutton","getnotselectedvalu","getselectedbutton","getvalu","hasnext","hasprev","id","index","item","panel的value发生改变触发","panel的关闭事件","popul","popup_panel","prependitem","removeitemat","setnotselectedvalu","setvalu","sourc","string","titl","title:","type:","valu","value,可以是单个值也可以是个数组","width:","});","—","事件","内部前插入","内部后插入","刷新列表","参数","可以理解为multipopupview和panel两个面板的结合体,基类bi.multipopupview","可选值","名称","回调参数","基础属性","对外方法","是否有上一页","是否有下一页","标题","根据id获取节点","根据value值获取value在数组中的索引","根据value值获取节点","清空组件","点击工具栏事件","移除指定索引处的item","类型","获取所有button","获取所有未被选中的元素","获取所有的叶子节点","获取所有被选中的元素","获取没有被选中的值","获取被选中的值","设置value值","设置未被选中的值","说明","默认值"],"case/trigger/editor_trigger.html":["\"\"","\"bi.editor_trigger\",","\"body\",","30","allowblank","bi.createwidget({","bi.editor_trigg","bi.emptyfn","boolean","editor_trigg","element:","errortext","fals","function","getvalu","number","quitcheck","settext","setvalu","sourc","string","text","triggerwidth","type:","validationcheck","valu","watermark","});","—","参数","文本输入框trigger","方法","方法名","是否允许为空","水印","类型","获得值","触发器宽度","设置值","说明","退出时验证函数","错误信息","验证函数","默认值"],"case/trigger/icon_trigger.html":["\"bi.icon_trigger\",","\"body\",","bi.createwidget({","bi.icon_trigg","element:","icon_trigg","sourc","type:","});","图标按钮trigger"],"case/trigger/text_trigger.html":["\"bi.editor_trigger\",","\"body\",","bi.createwidget({","bi.text_trigg","element:","getvalu","setvalu","sourc","text_trigg","type:","valu","});","—","参数","文本输入框trigger","方法","方法名","获得值","设置值","说明"],"case/trigger/select_text_trigger.html":["\"bi.select_text_trigger\",","\"这是一个简单的trigger\",","200,","30","api","bi.createwidget({","height:","item","popul","select_text_trigg","sourc","text:","type:","width:","});","刷新trigger选项","参数","可选值","名称","回调参数","基础属性","对外方法","类型","说明","选择字段trigger","默认值"],"case/combo/bubble_combo.html":["\"\"","\"bi.bubble_combo\",","\"bi.button\",","\"bi.button_group\",","\"bi.text_item\",","\"bi.vertical\"","\"item\"","\"测试\",","200","25","25,","[{","api","b","beforeclick","bi.bubble_combo","bi.createwidget({","bi.emptyfn","bi.makearray(100,","boolean","bubble_combo","button的选中状态","click,","dblclick,","disableselect","dishov","doclick","el:","element:\"#wrapper\",","fals","forcenotselect","forceselect","function","gettext","handl","handler","height:","hover","hover事件","isdisableselect","isforcenotselect","isforceselect","isonc","isselect","isshadowshowingonselect","items:","layouts:","lclick","maxheight:","mousedown,","mouseup,","null","onc","popup:","select","setselect","settext","shadow","sourc","stopev","stoppropag","string","text","text:","trigger","true,fals","type:","valu","{","}","})","}),","},","}]","—","不仅有选中状态而且有展开状态,","使能选中","判断是否怎么点击都不会被选中","判断是否点击即选中","判断是否让选中","参数","取消hover事件","可选值","名称","回调参数","基础属性","基类bi.widget","对外方法","无论怎么点击都不会被选中","是否只允许点击一次","是否显示阴影","是否被选中","点击一次选中有效,再点无效","点击事件","点击事件之前","点击事件回调","点击即选中,","类型","组件text值","组件value值","获取文本值","表示一个可以展开的节点,","被选元素要触发的事件","设置文本值","设置选中的文本","说明","返回该对象","选中了就不会被取消,与once的区别是forceselected不影响事件的触发","选中状态下是否显示阴影","阻止事件","阻止冒泡","默认值"],"case/combo/icon_combo.html":["\"","\"#wrapper\",","\"auto\"","\"bi.icon_combo\",","\"close","\"copi","\"left,right,center\"","\"search","\"第一项\",","\"第三项\",","\"第二项\",","0","100","24","300","[{","adjustlength","adjustxoffset","adjustyoffset","api","bi.buttongroup.choose_type_singl","bi.createwidget({","bi.icon_combo","choosetyp","const","el","element:","font\"","font\",","getvalu","height","hideview","icon_combo","iconclass","iconclass:","icon的类名","item","items:","left,right,cent","maxheight","maxwidth","minwidth","number","object","offsetstyl","popul","popup","setvalu","showview","sourc","string","string/numb","type:","value:","width","{","}","});","},","}]","—","切换trigger图标的combo","刷新列表","参数","参考button_group","可选值","名称","回调参数","基础属性","基类bi.widget","宽度","对外方法","弹出列表和trigger的距离","弹出层","弹出层显示位置","显示弹出层","最大宽度","最大高度","最小宽度","类型","自定义下拉框trigger","获取value值","设置value值","说明","调整横向偏移","调整纵向偏移","选择类型","隐藏弹出层","高度","默认值"],"case/combo/static_combo.html":["\"","\"#wrapper\",","\"1\",","\"2\",","\"3\",","\"bi.static_combo\",","\"valu","1","2","24","3","[","[{","]","api","array","bi.buttongroup.choose_type_singl","bi.createwidget({","bi.static_combo","choosetyp","const","el","element:","getvalu","height","item","items:","number","object","popul","setvalu","sourc","static_combo","string","text","text:","type:","value:","{","}","});","},","}]","—","不变\",","刷新列表","单选combo,trigger显示项不会改变","参数","参考button_group","可选值","名称","回调参数","基础属性","基类bi.widget","子组件","对外方法","文本内容","类型","自定义下拉框trigger","获取value值","设置value值","说明","选择类型","高度","默认值"],"case/combo/text_value_combo.html":["\"","\"#wrapper\",","\"1\",","\"2\",","\"3\",","\"bi.text_value_combo\",","\"value_combo\",","1","2","3","30","300,","[{","api","bi.buttongroup.choose_type_singl","bi.createwidget({","bi.text_value_combo","choosetyp","const","el","element:","getvalu","height","item","items:","number","object","popul","setvalu","sourc","string","text","text:","text_value_combo","type:","value:","width:","{","}","});","},","}]","—","刷新列表","参数","参考button_group","可选值","名称","回调参数","基础属性","基类bi.widget","对外方法","文本内容","类型","自定义下拉框trigger","获取value值","设置value值","说明","选择类型","高度","默认值"],"case/combo/text_value_check_combo.html":["\"bi.text_value_check_combo\",","[]","api","bi.createwidget({","item","items:","popul","sourc","text_value_check_combo","type:","});","下拉列表项带√的textvaluecombo,基类bi.widget","刷新combo","参数","可选值","名称","回调参数","基础属性","对外方法","类型","说明","默认值"],"case/combo/editor_icon_check_combo.html":["\"bi.editor_icon_check_combo\",","[]","api","bi.createwidget({","editor_icon_check_combo","item","items:","popul","sourc","type:","});","刷新combo","参数","可以编辑trigger的textvaluecheckcombo,基类bi.widget","可选值","名称","回调参数","基础属性","对外方法","类型","说明","默认值"],"case/combo/text_value_down_list_combo.html":["\"","\"#wrapper\",","\"1\",","\"11\",","\"2\",","\"3\",","\"bi.text_value_down_list_combo\",","\"text\",","1","11","2","3","30","[","[{","]","api","bi.createwidget({","bi.text_value_down_list_combo","children:","el:","element:","getvalu","height","item","items:","number","popul","setvalu","sourc","string","text","text:","text_value_down_list_combo","type:","value:","{","});","},","}]","}],","—","刷新列表","参数","可选值","名称","回调参数","基础属性","基类bi.widget","对外方法","文本内容","有二级下拉菜单的combo","类型","获取value值","设置value值","说明","高度","默认值"],"case/tree/branch_tree.html":["\"bi.branch_tree\",","'body',","...","//","[]","[{","array","bi.branch_tre","bi.createwidget({","branch_expander组件配置项","branch_tre","children:","el","el:","element:","expand","getvalu","item","items:","object","popul","sourc","type:","{}","{},","});","}]","—","去掉所有内容","参数","参数设置","基础元素","子项","方法","方法名","横向分支的树","类型","获取所选项值","说明","默认值"],"case/tree/handstand_branch_tree.html":["\"bi.handstand_branch_tree\",","'body',","...","//","[]","[{","array","bi.createwidget({","bi.handstand_branch_tre","branch_expander组件配置项","children:","el","el:","element:","expand","getvalu","handstand_branch_tre","item","items:","object","popul","sourc","type:","{}","{},","});","}]","—","去掉所有内容","参数","参数设置","基础元素","子项","方法","方法名","类型","纵向分支的树","获取所选项值","说明","默认值"],"case/tree/display_tree.html":["\"bi.display_tree\",","'',","'body',","1,","=","bi.createwidget({","bi.display_tre","display_tre","element:","id:","inittre","node:","open:","settings:","sourc","text:","tree","tree.inittree({","true,","type:","var","});","加载tree结构","参数","方法","方法名","树展示控件","节点数组","说明","配置项"],"case/tree/simple_tree.html":["\"bi.simple_tree\",","'body',","=","array","bi.createwidget({","bi.emptyfn","bi.simple_tre","element:","function","getvalu","item","items:","itemscr","items构造器","keywords:","null","popul","setvalu","simple_tre","sourc","tree","tree.populate(items);","type:","v","var","});","—","元素","关键字标红字符串","去掉所有内容","参数","参数设置","子项数组","方法","方法名","简单的多选树","类型","获得值","设置值","说明","默认值"],"case/tree/level_tree.html":["\"bi.level_tree\",","'body',","=","[]","[],","array","bi.createwidget({","bi.level_tre","branch_expander配置","element:","expand","getallleav","getnodebyid","getnodebyvalu","getvalu","id","inittre","item","items:","level_tre","node","object","popul","setvalu","sourc","stroke","tree","type:","v","var","{}","});","—","二级树","元素","去掉所有内容","参数","参数设置","子项数组","方法","方法名","构造树结构","根据id获取节点","根据值获取节点","生成树方法","类型","获取所有叶节点","获得值","设置值","说明","默认值"],"case/tree/branch_relation.html":["\"bi.branch_relation\",","'body',","0","50","=","[],","align","align:","array","bi.branch_rel","bi.createwidget({","bi.direction.bottom","bi.direction.right,","bi.horizontalalign.right,","bi.verticalalign.top","branch_rel","centeroffset","centeroffset:","direct","direction:","element:","item","items:","null","number","popul","sourc","string","tree","type:","var","});","元素","去掉所有内容","参数","参数设置","子项数组","对齐方向","方法","方法名","根节点所在方向","类型","表关联树","说明","重心偏移量","默认值"],"case/table/adaptive_table.html":["\"bi.adaptive_table\",","'body',","1],","25","500,","600,","=","[0,","[50,50,200,250,400],","[]","[],","adaptive_t","array","attr","bi.adaptive_t","bi.createwidget({","boolean","columns","columnsize:","crosshead","crossitem","element:","fals","freezecol","freezecols:","function(row1,","getcolumns","getlefthorizontalscrol","getregioncolumns","getrighthorizontalscrol","getverticalscrol","header","header:","headerrows","height:","isneedfreez","isneedfreeze:","isneedmerg","isneedres","isneedresize:","isresizeadapt:","item","items:","key:","maxcolumns","mergecol","mergerul","mincolumns","number","popul","regioncolumns","restor","row2","row2)","rowsiz","scrollleft:","scrolltop:","setcolumns","setheight","setlefthorizontalscrol","setregioncolumns","setrighthorizontalscrol","setverticalscrol","setwidth","sourc","true","true,","type:","value:","width:","});","—","交叉表头","交叉项","值","冻结的列","列宽数组","列项间的","单元格宽度集合","参数","参数设置","合并的单元格列号","合并规则,","增加项","子组件","存储","宽度","得到列宽","方法","方法名","时合并","是否可改变列大小","是否需要冻结表头","是否需要合并单元格","普通单元格高度","最大列宽","最小列宽","横向滚动距离","类型","纵向滚动距离","自适应宽度的表格","获取右往左横向滚动距离","获取左到右横向滚动距离","获取纵向滚动距离","获得列项之间的间隙","表头","表头高度","设置列宽","设置列项之间的间隙","设置右往左横向滚动距离","设置宽度","设置属性","设置左到右横向滚动距离","设置纵向滚动距离","设置高度","说明","键","高度","默认row1","默认值","默认相等时合并"],"case/table/tree_table.html":["\"bi.tree_table\",","'body',","100,","100],","25","400,","600,","=","[100,","[]","array","attr","bi.createwidget({","bi.emptyfn","bi.tree_t","boolean","columns","columnsize:","crosshead","crossheader,","crossheader:","crossitem","crossitems,","crossitems:","element:","fals","freezecol","function","function(row1,","getcolumns","getlefthorizontalscrol","getregioncolumns","getrighthorizontalscrol","getverticalscrol","header","header,","header:","headercellstylegett","headerrows","height:","isneedfreez","isneedmerg","isneedres","isresizeadapt","item","items,","items:","key:","maxcolumns","mergecol","mergerul","mincolumns","mincolumnsize:","number","popul","regioncolumns","restor","row2","row2)","rowsiz","scrollleft:","scrolltop:","sequencecellstylegett","setcolumns","setheight","setlefthorizontalscrol","setregioncolumns","setrighthorizontalscrol","setverticalscrol","setwidth","sourc","summarycellstylegett","tabl","tree_tabl","true","type:","value:","var","width:","});","—","交叉表头","交叉项","值","冻结的列","列宽数组","列项间的","单元格宽度集合","参数","参数设置","合并的单元格列号","合并规则,","增加项","子组件","存储","宽度","得到列宽","方法","方法名","时合并","是否需要冻结表头","是否需要合并单元格","是否需要在调整列宽或区域宽度的时候它们自适应变化","是否需要调整列宽","普通单元格高度","最大列宽","最小列宽","树状结构的表格","横向滚动距离","类型","纵向滚动距离","获取右往左横向滚动距离","获取左到右横向滚动距离","获取纵向滚动距离","获得列项之间的间隙","表头","表头高度","设置列宽","设置列项之间的间隙","设置右往左横向滚动距离","设置宽度","设置属性","设置左到右横向滚动距离","设置纵向滚动距离","设置高度","说明","键","高度","默认row1","默认值","默认相等时合并"],"case/table/layer_tree_table.html":["\"bi.layer_tree_table\",","'body',","100,","100],","25","400,","600,","=","[100,","[]","array","attr","bi.createwidget({","bi.emptyfn","bi.layer_tree_t","boolean","columns","columnsize:","crosshead","crossheader,","crossheader:","crossitem","crossitems,","crossitems:","element:","fals","freezecol","function","function(row1,","getcolumns","getlefthorizontalscrol","getregioncolumns","getrighthorizontalscrol","getverticalscrol","header","header,","header:","headercellstylegett","headerrows","height:","isneedfreez","isneedmerg","isneedres","isresizeadapt","item","items,","items:","key:","layer_tree_t","maxcolumns","mergecol","mergerul","mincolumns","mincolumnsize:","number","popul","regioncolumns","restor","row2","row2)","rowsiz","scrollleft:","scrolltop:","sequencecellstylegett","setcolumns","setheight","setlefthorizontalscrol","setregioncolumns","setrighthorizontalscrol","setverticalscrol","setwidth","sourc","summarycellstylegett","tabl","true","type:","value:","var","width:","});","—","交叉表头","交叉项","值","冻结的列","列宽数组","列项间的","单元格宽度集合","参数","参数设置","合并的单元格列号","合并规则,","增加项","子组件","存储","宽度","层级树状结构的表格","得到列宽","方法","方法名","时合并","是否需要冻结表头","是否需要合并单元格","是否需要在调整列宽或区域宽度的时候它们自适应变化","是否需要调整列宽","普通单元格高度","最大列宽","最小列宽","横向滚动距离","类型","纵向滚动距离","获取右往左横向滚动距离","获取左到右横向滚动距离","获取纵向滚动距离","获得列项之间的间隙","表头","表头高度","设置列宽","设置列项之间的间隙","设置右往左横向滚动距离","设置宽度","设置属性","设置左到右横向滚动距离","设置纵向滚动距离","设置高度","说明","键","高度","默认row1","默认值","默认相等时合并"],"case/pager/all_count_pager.html":["'bi.all_count_pager',","//必选项","1","1,","10,","30","30,","all_count_pag","bi.all_count_pag","bi.createwidget({","count","count:","curr","curr:","getcurrentpag","hasnext","hasprev","height","height:","number","page","pages:","popul","setallpag","setcount","setpagervis","setvalu","setvpag","sourc","true/fals","type:","v","});","—","参数","当前页","总行数","总页数","控件高度","方法","方法名","是否有前一页","是否有后一页","有总页数和总行数的分页控件","清空内容","类型","获取当前页码","设置当前页码","设置总页数","设置计数","设置页码是否可见","说明","默认值"],"case/pager/direction_pager.html":["'bi.direction_pager',","'body',","//初始化当前页,","//必选项","1","1,","10,","30","30,","=","bi.createwidget({","bi.direction_pag","bi.emptyfn","curr","curr:","direction_pag","element:","fals","firstpag","firstpage:","function","gethpag","getvpag","hashnext","hashprev","hasnext","hasprev","hasvnext","hasvprev","height","height:","horizont","horizontal:","lastpag","lastpage:","number","number/boolean","number/funct","object","page","pager","pages:","pages为数字时可用","pages为数字时可用,","popul","sethpag","sethpagervis","setvpag","setvpagervis","sourc","type:","v","var","vertic","vertical:","{","});","},","—","二级参数","判断是否有前一页的方法","判断是否有后一页的方法","参数","当前页,","总页数","控件高度","方法","方法名","显示页码的分页控件","最后一页","横向坐标是否有上一页","横向坐标是否有下一页","横向翻页设置","清空内容","第一页","类型","纵向坐标是否有上一页","纵向坐标是否有下一页","纵向翻页设置,参数与horizontal相同","获取水平向页码","获取纵向页码","设置横向分页键可见","设置纵向分页键可见","说明","默认值"],"case/calendar.html":["'1900","'2099","'bi.calendar',","//7表示八月","//最大日期","//最小日期","01","01'","01',","12","2015","2015,","25","25,","31'","31',","7","7,","bi.calendar","bi.createwidget({","calendar","day","day:","day}","getvalu","isfinald","isfrontd","max","max:","min","min:","month","month,","month:","number","object:","setvalu","sourc","string","type:","year","year:","{year,","});","—","参数","方法","方法名","日历控件","是否为最大日期","是否为最小日期","最大日期","最小日期","类型","获得日期","设定的年份","设定的日期","设定的月份","设置日期","说明","默认值"],"case/clipboard.html":["'bi.clipboard',","()","100,","aftercopi","aftercopy:","bi.clipboard","bi.createwidget({","bi.emptyfn","clipboard","copi","copy:","function","height:","sourc","type:","width:","{}","{},","});","剪切板","参数","完成拷贝后执行的方法","类型","获取需要拷贝的值","说明","默认值"],"case/complex_canvas.html":["\"bi.complex_canvas\",","\"red\",","(x0,","10,","100,","2","20,","200,","500,","600","=","bi.createwidget({","branch","canva","canvas.branch(55,","canvas.stroke();","complex_canva","height:","linewidth:","offset:","sourc","stroke","strokestyle:","type:","var","width:","x1,","x2,","x2,y2...)","y0,","y0为根节点,分支到x1,y1,","y1,","y2)","{","});","名称","回调参数","复杂的canvas绘图","对外方法","绘制","绘制树枝节点","说明","(以x0,"],"case/color_chooser.html":["\"#wrapper\",","\"bi.color_chooser\",","30","30,","bi.color_choos","bi.createwidget({","color","color_choos","element:","getvalu","height:","isviewvis","setvalu","sourc","type:","width:","});","—","判断是否显示","参数","方法","方法名","获取颜色值","设置颜色值","说明","选色控件"],"case/color_chooser_popup.html":["\"bi.color_chooser_popup\",","145","bi.color_chooser_popup","bi.createwidget({","color","color_chooser_popup","event_value_chang","getvalu","height","number","setstorecolor","setvalu","sourc","type:","});","—","事件","参数","方法","方法名","类型","获取颜色值","设置储存的颜色值","设置颜色值","说明","选色控件弹窗","颜色值改变时触发","高度","默认值"],"case/segment.html":["\"#wrapper\",","\"bi.label\",","\"bi.segment\",","\"bi.vertical\",","\"tab1\",","\"tab2\",","\"tab3","\"默认风格\"","0","1,","10","2","20","3","30,","50,","[","[{","]","api","array","bgap","bi.createwidget({","bi.sgement","disabled\",","disabled:","element:","height","height:","hgap","hgap:","item","items:","lgap","number","padding值","rgap","segment","selected:","sourc","text:","tgap","true","true,","type:","value:","vgap","vgap:","width","{","});","},","}]","}],","—","参数","可选值","各种segment","基础属性","子控件数组","宽度","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值","类型","说明","高度","默认值"],"detailed/bi.button/general.html":["bi.button","通用按钮","通用按钮,详情见bi.button"],"detailed/bi.button/tooltip.html":["\"#wrapper\",","\"bi.vertical\",","'bi.button',","'简单toast测试',","()","0","10","20","30,","=","[","[{","]","api","array","bgap","bi.createwidget({","bi.msg.toast(\"这是一条简单的数据\");","el:","element:","function","handler:","height","height:","hgap","item","items:","lgap","number","padding值","rgap","sourc","text:","tgap","toast","type:","var","vgap","vgap:","width","{","}","});","}],","—","参数","可选值","基础属性","子控件数组","宽度","提示性信息","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值","类型","说明","高度","默认值"],"detailed/bi.button/items.html":["\"#wrapper\",","\"bi.label\",","\"bi.multi_select_item\",","\"bi.single_select_item\",","\"单选item\"","\"单选项\"","\"复选item\"","\"复选项\"","'bi.vertical',","0","10","30,","[","[{","]","api","array","bgap","bi.createwidget({","element:","height","height:","hgap","item","items:","lgap","number","padding值","rgap","sourc","text:","tgap","type:","vgap","width","{","});","},","}]","—","参数","可选值","各种item","基础属性","子控件数组","宽度","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值,如果clear属性为true,该属性值置0","类型","说明","高度","默认值"],"detailed/bi.button/node.html":["\"#wrapper\",","\"bi.arrow_group_node\",","\"bi.label\",","\"bi.plus_group_node\",","\"bi.triangle_group_node\",","\"三角形的节点\"","\"十字形的节点\"","\"箭头节点\"","'bi.vertical',","0","10","30,","[","[{","]","api","array","bgap","bi.createwidget({","element:","height","height:","hgap","item","items:","lgap","number","padding值","rgap","sourc","text:","tgap","type:","vgap","width","{","});","},","}]","—","参数","可选值","各种节点node","基础属性","子控件数组","宽度","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值,如果clear属性为true,该属性值置0","类型","说明","高度","默认值"],"detailed/bi.button/segment.html":["\"#wrapper\",","\"bi.label\",","\"bi.segment\",","\"bi.vertical\",","\"tab1\",","\"tab2\",","\"tab3","\"默认风格\"","0","1,","10","2","20","3","30,","50,","[","[{","]","api","array","bgap","bi.createwidget({","bi.sgement","disabled\",","disabled:","element:","height","height:","hgap","hgap:","item","items:","lgap","number","padding值","rgap","selected:","sourc","text:","tgap","true","true,","type:","value:","vgap","vgap:","width","{","});","},","}]","}],","—","参数","可选值","各种segment","基础属性","子控件数组","宽度","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值","类型","说明","高度","默认值"],"detailed/text_input/bi.text_editor.html":["\"","\"#wrapper\",","\"bi.text_editor\",","0","2","200,","30","30,","4","allowblank","api","bgap","bi.createwidget({","bi.text_editor","boolean","element:","errortext","fals","function","height","height:","hgap","lgap","null","number","padding值","quitcheck","rgap","sourc","string","text_editor","tgap","true,fals","type:","validationcheck","valu","vgap","watermark","watermark:\"请输入内容\"","width","width:","});","—","事件详见editor","参数","可选值","基础用法","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值","文本框placehold","文本框宽度","文本框高度","文本框默认值","是否允许空值","是否允许退出编辑函数","类型","说明","输入较验函数","通过鼠标或键盘输入字符","错误提示","默认值"],"detailed/text_input/bi.search_editor.html":["\"","'#wrapper',","'bi.search_editor',","0","2","30","300,","4","allowblank","api","bgap","bi.createwidget({","bi.search_editor","bi.searcheditor.event_clear","boolean","element:","errortext","fals","function","height","hgap","lgap","null","number","padding值","quitcheck","rgap","search_editor","sourc","string","tgap","true,fals","type:","validationcheck","valu","vgap","watermark","watermark:\"搜索\",","width","width:","});","—","事件","其他事件详见editor","参数","可选值","搜索框","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值","文本框placehold","文本框宽度","文本框高度","文本框默认值","是否允许空值","是否允许退出编辑函数","点击清空按钮触发","类型","说明","输入较验函数","错误提示","默认值"],"detailed/text_input/number_editor.html":["'#wrapper',","'bi.number_editor',","1","1表示自动","300","bi.createwidget({","bi.numbereditor.event_confirm","element:","number","number_editor","sourc","type:","valu","width:","});","事件","参数","可选值","数值微调器","点击增加/减少按钮或者编辑框确定时触发","类型","编辑框中的值,","说明","默认值"],"detailed/tree/single_level_tree.html":["\"bi.single_level_tree\",","[]","api","bi.createwidget({","item","items:","popul","single_level_tre","sourc","type:","});","刷新列表","单选层级树,基类bi.widget","参数","可选值","名称","回调参数","基础属性","对外方法","类型","说明","默认值"],"detailed/tree/select_level_tree.html":["\"bi.select_level_tree\",","[]","api","bi.createwidget({","item","items:","popul","select_level_tre","sourc","type:","});","刷新列表","参数","可以选中父节点的singleleveltree,基类bi.widget","可选值","名称","回调参数","基础属性","对外方法","类型","说明","默认值"],"detailed/tree/multi_single_level_tree.html":["\"bi.multilayer_single_level_tree\",","[]","api","bi.createwidget({","item","items:","multi_single_level_tre","popul","sourc","type:","});","刷新列表","参数","可选值","名称","回调参数","基础属性","多层层级树,基类bi.widget","对外方法","类型","说明","默认值"],"detailed/tree/multi_select_level_tree.html":["\"bi.multilayer_select_level_tree\",","[]","api","bi.createwidget({","item","items:","multi_select_level_tre","popul","sourc","type:","});","刷新列表","参数","可以选中父节点的多层层级树,基类bi.widget","可选值","名称","回调参数","基础属性","对外方法","类型","说明","默认值"],"detailed/tree/bi.switch_tree.html":["\"bi.switch_tree\",","\"根目录\"","\"根目录\",","\"第一级目录1\"","\"第一级目录1\",","\"第二级文件1\"","\"第二级文件1\",","1,","11,","2,","=","[]","[{","array","bi.createwidget({","bi.switch_tre","getselect","getvalu","id:","item","items,","items:","pid:","popul","setselect","setvalu","sourc","switch_tre","switchselect","text:","tree","type:","v","value:","var","{","});","},","}];","—","切换树结构","参数","参数设置","可以单选多选切换的树,继承bi.widget","子项,pid代表父节点id","方法","方法名","更改树结构内容","类型","获取当前选中项内容","获取选中项","设置当前选中项内容","设置选中项","说明","默认值"],"detailed/table/bi.preview_table.html":["\"\",","\"bi.preview_table\",","\"第一行第一列\"","\"第一行第三列\"","\"第一行第二列\"","\"表头1\"","\"表头2\"","\"表头3\"","'body',","30","50],","[100,","[[{","[]","array","array/numb","attr","bi.createwidget({","bi.preview_t","boolean","columns","columnsize:","element:","fals","freezecol","getcalculatecolumns","getcalculateregioncolumns","getcalculateregionrows","getclientregioncolumns","getcolumn","getcolumns","getlefthorizontalscrol","getregioncolumns","getrighthorizontalscrol","getscrollregioncolumns","getscrollregionrows","getverticalscrol","hasverticalscrol","header","header:","headerrows","isneedfreez","item","items:","key:键,value:值","null","number","popul","preview_t","resiz","resizehead","row","rowsiz","scrollleft","scrolltop","setcolumns","setheadercolumns","setlefthorizontalscrol","setregioncolumns","setrighthorizontalscrol","setverticalscrol","sourc","text:","type:","{","});","},","}]]","}]],","—","冻结的列","列宽","参数","子组件","得到列宽","方法","方法名","是否冻结","是否含有数值滚动条","替换为新的内容","用于表格预览,继承bi.widget","类型","获取列项","获取右往左横向滚动距离","获取左到右横向滚动距离","获取横向滚动条宽度","获取浏览器中显示的列项之间的间隙","获取纵向滚动条宽度","获取纵向滚动距离","获取计算后的列项上下之间的间隙","获取计算后的列项之间的间隙","获得列项之间的间隙","获得计算后的列宽","行高","表头内容","表头行高","设置列宽","设置列项之间的间隙","设置右往左横向滚动距离","设置属性","设置左到右横向滚动距离","设置纵向滚动距离","设置表头的列宽","说明","调整表头","调整表格","默认值"],"detailed/table/bi.responsive_table.html":["\"\",","\"\"],","\"bi.responsive_table\",","\"第一行第一列\"","\"第一行第三列\"","\"第一行第二列\"","\"表头1\"","\"表头2\"","\"表头3\"","'body'","(row1,","1],","25","[\"\",","[0,","[[{","[]","array","attr","bi.createwidget({","bi.responsive_t","boolean","columns","columnsize:","crosshead","crossitem","element:","fals","footer","footerrows","freezecol","function","getcalculatecolumns","getcalculateregioncolumns","getcalculateregionrows","getclientregioncolumns","getcolumn","getcolumns","getlefthorizontalscrol","getregioncolumns","getrighthorizontalscrol","getscrollregioncolumns","getscrollregionrows","getverticalscrol","hasverticalscrol","header","header:","headerrows","isneedfreez","isneedfreeze:","isneedmerg","isneedmerge:","item","items:","key:键,value:值","mergecols:","mergerul","number","popul","regioncolumns","resiz","resizehead","responsive_t","row","row2)","rowsiz","scrollleft","scrolltop","setcolumns","setheadercolumns","setlefthorizontalscrol","setregioncolumns","setrighthorizontalscrol","setverticalscrol","sourc","text:","true,","type:","{","});","},","}]],","—","交叉表内容二维数组","交叉表头","冻结的列号,从0开始,isneedfreeze为true时生效","列宽","参数","合并规则,","子组件二维数组","得到列宽","方法","方法名","是否含有数值滚动条","是否需要冻结单元格","是否需要合并单元格","是否需要表尾","替换为新内容","类型","自适应宽度的表格,继承bi.widget","获取列项","获取右往左横向滚动距离","获取左到右横向滚动距离","获取横向滚动条宽度","获取浏览器中显示的列项之间的间隙","获取纵向滚动条宽度","获取纵向滚动距离","获取计算后的列项上下之间的间隙","获取计算后的列项之间的间隙","获得列项之间的间隙","获得计算后的列宽","行高","表头内容","表头行高","表尾行高","设置列宽","设置列项之间的间隙","设置右往左横向滚动距离","设置属性","设置左到右横向滚动距离","设置纵向滚动距离","设置表头的列宽","说明","调整表头","调整表格","默认值","默认相等时合并"],"detailed/table/bi.sequence_table.html":["\"bi.sequence_table\",","0","100","[],","api","array","bi.createwidget({","columns","crosshead","crossitem","freezecol","header","header:","item","items:","mergecol","mincolumns","popul","sequence_t","sourc","type:","});","—","优化过性能的列表,基类bi.widget","冻结column","列item","列宽","列表头","刷新列表","参数","可选值","合并column","名称","回调参数","基础属性","对外方法","最小列宽","类型","行item","行表头","说明","默认值"],"detailed/table/bi.page_table.html":["\"bi.page_table\",","\"body\",","1","25",":","=","[200,200],","[]","[],","array","attr","bi.createwidget({","bi.emptyfn","bi.page_t","boolean","columns","columnsize:","crosshead","crossitem","curr","element:","fals","firstpag","freezecol","function","function(row1,","getcolumns","gethpag","getlefthorizontalscrol","getregioncolumns","getrighthorizontalscrol","getverticalscrol","getvpag","hasnext","hasprev","header","headercellstylegett","headerrows","height:","horizont","isneedfreez","isneedmerg","item","items:","itemscr","key:","lastpag","maxcolumns","mergecol","mergerul","mincolumns","number","number/funct","object","page","page_t","pager","pager:","popul","regioncolumns","row2","row2)","rowsiz","scrollleft:","scrolltop:","sequencecellstylegett","setcolumns","setheight","sethpag","setlefthorizontalscrol","setregioncolumns","setrighthorizontalscrol","setverticalscrol","setvpag","setwidth","sourc","summarycellstylegett","type:","v:","value:","vertic","vertical:","width:","{","{}","{},","}","});","—","三级参数","二级参数","交叉表头","交叉项","值","元素创造器","冻结的列","分页表格","分页选项","列宽数组","列项间的","判断是否有前一页的函数","单元格宽度集合","参数","参数设置","合并的单元格列号","合并规则,","增加","子组件","宽度","当前页","得到列宽","方法","方法名","时合并","是否有下一页","是否需要冻结表头","是否需要合并单元格","显示总页数","普通单元格高度","最后一页","最大列宽","最小列宽","横向滚动距离","水平分页选项","第一页","类型","纵向分页,参数与horizont","纵向滚动距离","获取右往左横向滚动距离","获取左到右横向滚动距离","获取纵向滚动距离","获得列项之间的间隙","获得垂直页数","获得水平页数","表头","表头高度","设置列宽","设置列项之间的间隙","设置右往左横向滚动距离","设置宽度","设置属性","设置左到右横向滚动距离","设置水平页数","设置纵向滚动距离","设置纵向页数","设置高度","说明","键","页码","高度","默认row1","默认值","默认相等时合并"],"detailed/down_list_combo.html":["\"bi.icon_text_icon_item\",","\"bi.icon_text_item\",","\"chart","\"check","\"column","\"dot","'#wrapper',","'bi.down_list_combo',","0","1.1\",","1.222222222222222222222222222222222222\",","11","1111\",","12","12,","2\",","2.1\",","2.2\",","21,","22,","25,","300,","[","[{","]","adjustlength","bi.createwidget({","bi.downlistcombo.event_before_popupview","bi.downlistcombo.event_chang","bi.downlistcombo.event_son_value_chang","bottom","bottom,left","bottom,right","children:","click","click,","cls:","direct","disabled:","down_list_combo","e","el","el:","element:","font\"","font\",","height:","hover","iconcls1:","items:","left","mark","number","object","right","selected:","sourc","string","text:","top","top,left","top,right","trigger","true","true,","type","type:","value:","width:","{","|","});","},","}]","}],","下拉列表弹出前触发","下拉列表的弹出方式","事件","具体配置方法见combo","参数","可选值","多层下拉列表的下拉框","弹出列表和trigger的位置关系","弹出列表和trigger的距离","点击一级节点触发","点击二级节点触发","类型","自定义下拉框trigger","说明","默认值"],"detailed/multi_select_combo.html":["\"bi.multi_select_combo\",","'#wrapper',","500,","[],","bi.createwidget({","bi.multiselectcombo.event_confirm","element:","fals","function(){","hasnext:","items:","itemscreator:","multi_select_combo","return","sourc","type:","width:","{","}","});","事件","带确定的复选下拉框","点击确定触发","说明"],"detailed/combo/single_tree_combo.html":["\"bi.single_tree_combo\",","\"默认值\",","''","'body',","30","300,","=","[],","array","bi.createwidget({","bi.single_tree_combo","bi.singletreecombo.event_before_popupview","element:","getvalu","height","item","items:","null","number","object","popul","setvalu","single_tree_combo","sourc","string","text","text:","tree","trigger","type:","var","width:","{}","});","下拉列表的弹出方式","下拉框弹出前触发","事件","二级树下拉框","元素","其他事件详见input","刷新内容","参数","参数设置","子项数组","文本框值","方法","方法名","类型","获取值","设置值","说明","高度","默认值"],"detailed/combo/multilayer_single_tree_combo.html":["\"bi.multilayer_single_tree_combo\",","\"默认值\",","''","'body',","30","300,","=","[],","array","bi.createwidget({","bi.emptyfn","bi.multilayer_single_tree_combo","element:","function","getvalu","height","item","items:","itemscr","multilayer_single_tree_combo","null","number","popul","setvalu","sourc","string","text","text:","tree","type:","var","width:","});","元素","元素创造器","刷新内容","参数","参数设置","回调参数","多层级下拉单选树","子项数组","文本框值","方法","方法名","类型","获取值","设置值","说明","高度","默认值"],"detailed/combo/select_tree_combo.html":["\"bi.select_tree_combo\",","\"默认值\",","''","'body',","30","300,","=","[],","array","bi.createwidget({","bi.select_tree_combo","element:","getvalu","height","item","items:","null","number","popul","select_tree_combo","setvalu","sourc","string","text","text:","tree","type:","var","width:","});","二级可选节点下拉框树","元素","刷新内容","参数","参数设置","回调参数","子项数组","文本框值","方法","方法名","类型","获取值","设置值","说明","高度","默认值"],"detailed/combo/multilayer_select_tree_combo.html":["\"bi.multilayer_select_tree_combo\",","\"默认值\",","''","'body',","30","300,","=","[],","array","bi.createwidget({","bi.multilayer_select_tree_combo","element:","getvalu","height","item","items:","multilayer_select_tree_combo","null","number","popul","setvalu","sourc","string","text","text:","tree","type:","var","width:","});","元素","刷新内容","参数","参数设置","回调参数","多层级下拉可选节点树","子项数组","文本框值","方法","方法名","类型","获取值","设置值","说明","高度","默认值"],"detailed/tree/bi.multi_tree_combo.html":["\"bi.multi_tree_combo\",","\"根目录\"","\"根目录\",","\"第一级目录1\"","\"第一级目录1\",","\"第二级文件1\"","\"第二级文件1\",","(options,","1,","11,","2,","200","30","300","=","[{","array","bi.createwidget({","bi.multi_tree_combo","bi.multitreecombo.event_confirm","callback({","callback)","function","function()","getvalu","height","id:","item","items:","itemscr","itemscreator:","multi_tree_combo","null","number","pid:","popul","setvalu","sourc","text:","type:","v","value:","var","width","width:","{","{}","})","});","},","}];","—","事件","参数","参数设置","子项创建函数","子项,pid代表父节点id","宽度","方法","方法名","更改树结构内容","树下拉框,继承bi.widget","点击一级节点触发","类型","获取文本框值","设置文本框值","说明","高度","默认值"],"detailed/year_combo.html":["'#wrapper',","'1900","'2099","'bi.year_combo',","01","01'","12","300","31'","behavior","bi.createwidget({","bi.yearcombo.event_before_popupview","bi.yearcombo.event_confirm","element:","max","min","object","sourc","string","type:","width:","year_combo","{}","});","事件","参数","可选值","年份选择下拉框","类型","自定义下拉列表中item项的行为,如高亮,标红等(详见button_group)","说明","选中日期或者退出编辑状态触发","限定可选日期的上限","限定可选日期的下限","默认值"],"detailed/month_combo.html":["'#wrapper',","'bi.month_combo',","300","behavior","bi.createwidget({","bi.monthcombo.event_before_popupview","bi.monthcombo.event_confirm","element:","month_combo","object","sourc","type:","width:","{}","});","事件","参数","可选值","月份选择下拉框","类型","自定义下拉列表中item项的行为,如高亮,标红等(详见button_group)","说明","选中日期或者退出编辑状态触发","默认值"],"detailed/quarter_combo.html":["'#wrapper',","'bi.quarter_combo',","300","behavior","bi.createwidget({","bi.quartercombo.event_before_popupview","bi.quartercombo.event_confirm","element:","object","quarter_combo","sourc","type:","width:","{}","});","事件","参数","可选值","季度选择下拉框","类型","自定义下拉列表中item项的行为,如高亮,标红等(详见button_group)","说明","选中日期或者退出编辑状态触发","默认值"],"detailed/date/year_month_combo.html":["\"bi.year_month_combo\",","300","bi.createwidget({","bi.yearmonthcombo.event_before_popupview","bi.yearmonthcombo.event_confirm","monthbehavior","object","sourc","type:","width:","year_month_combo","yearbehavior","{","}","});","—","事件","参数","可选值","年月选择下拉框","弹出框弹出前触发","点击确认触发","类型","自定义年份选择的行为(详见button_group)","说明","默认值"],"detailed/date/year_quarter_combo.html":["\"bi.year_quarter_combo\",","300","bi.createwidget({","bi.yearquartercombo.event_before_popupview","bi.yearquartercombo.event_confirm","monthbehavior","object","sourc","type:","width:","year_quarter_combo","yearbehavior","{","}","});","—","事件","参数","可选值","年季度选择下拉框","弹出框弹出前触发","点击确认触发","类型","自定义年份选择的行为(详见button_group)","说明","默认值"],"detailed/date/date_pane.html":["\"#wrapper\",","\"bi.date_pane_widget\",","'1900","'2099","01","01'","12","300","31'","bi.createwidget({","date_pan","date_pane_widget","element:","max","min","month:","m})","obj({year:","selectedtim","sourc","string","type:","width:","y,","});","—","参数","可选值","日期选择下拉框的弹出面板","类型","说明","选中的初始年月","限定可选日期的上限","限定可选日期的下限","默认值"],"detailed/date/date_combo.html":["\"#wrapper\",","\"bi.date_combo\",","300","bi.createwidget({","date_combo","element:","sourc","type:","width:","});","参数","可选值","日期选择下拉框(弹出的年月选择可以进一步选择日期)","类型","说明","默认值"],"detailed/date/multidate_combo.html":["\"bi.multidate_combo\"","api","bi.createwidget({","multidate_combo","sourc","type:","});","参数","可选值","名称","回调参数","基础属性","对外方法","日期下拉框,基类bi.widget","类型","说明","默认值"],"detailed/date/date_time.html":["\"#wrapper\",","\"bi.custom_date_time_combo\",","bi.createwidget({","bi.customdatetimecombo.event_cancel","bi.customdatetimecombo.event_confirm","custom_date_tim","date_tim","element:","sourc","type:","});","事件","参数","可选值","日期选择下拉框(可以选择时分秒)","点击取消触发","点击确认触发","类型","说明","默认值"],"detailed/date/time_interval.html":["\"bi.time_interval\"","api","bi.createwidget({","sourc","time_interv","type:","});","参数","可选值","名称","回调参数","基础属性","对外方法","日期区间,基类bi.widget","类型","说明","默认值"],"detailed/number_interval.html":["\"bi.number_interval\",","'body',","500","bi.createwidget({","bi.number_interv","bi.numberinterval.event_error","bi.numberinterval.event_valid","boolean","closemax","closemin","element:","isstatevalid()","max","min","number","number_interv","setclosemaxenable(boolean)","setcloseminenable(boolean)","setmaxenable(boolean)","setminenable(boolean)","setnumtip(string)","sourc","true","type:","width:","});","—","事件","区间不合法的状态事件","区间合法的状态事件","区间是否成立)","参数","可选值","右区间初始状态","左区间初始状态","当前状态是否有效(输入是否合法,","数值区间控件","方法","无","最大值初始值","最小值初始值","用法","类型","设置右区间开闭combo的disable状态","设置右区间输入框disable状态","设置左区间开闭combo的disable状态","设置左区间输入框disable状态","设置数值区间的tip提示","说明","默认值"],"detailed/path/path_chooser.html":["\"#wrapper\",","\"0fbd0dc648f41e97\",","\"1\"","\"3\"","\"5\"","\"8c4460bc3605685e\",","\"bi.path_chooser\",","\"c6d72d6c7e19a667\",","\"id\",","\"region\":","\"regiontext\":","\"text\":","\"value\":","\"供应商基本信息\",","\"学号\",","\"采购订单\",","\"采购订单xxx\",","[","[[{","]","array","bi.createwidget({","element:","item","items:","path_choos","sourc","type:","{","});","},","}]]","—","二维数组,每个元素代表一条路径","参数","可选值","类型","说明","路径选择","默认值"],"detailed/path/direction_path_chooser.html":["\"#wrapper\",","\"1f4711c201ef1842\",","\"bi.direction_path_chooser\",","\"defa1f7ba8b2684a客户id\"","\"direction\":","\"e351e9f1d8147947合同id\",","\"region\":","\"text\":","\"value\":","\"主键\",","\"合同id\",","\"合同信息\",","\"合同的回款信息\",","\"客户id\",","\"客户信息\",","1","[","[[{","]","array","bi.createwidget({","direction_path_choos","element:","item","items:","sourc","type:","{","});","},","}]]","—","二维数组,每个元素代表一条路径,相较于path_chooser多一个属性direction来指定方向","参数","可选值","带方向的路径选择","类型","说明","默认值"],"detailed/relation_view.html":["\"a\",","\"a1\",","\"a1字段\"},","\"b\",","\"b2\",","\"b2...\",","\"b2字段\"","\"bi.relation_view\",","\"c\",","\"c1\",","\"c1字段\"}","\"c2\",","\"c2字段\"}","\"比\",","[{","bi.createwidget({","foreign:","items:","primary:","region:","regiontext:","relation_view","sourc","text:","title:","type:","value:","{","{region:","});","},","}]","关联视图","参数","可选值","类型","说明","默认值"],"detailed/file_manager.html":["\"1\",","\"11\",","\"12\",","\"bi.file_manager\",","\"根目录\"","\"第一级子目录1\"","\"第一级子目录2\"","[{","bi.createwidget({","file_manag","getselectedid","getselectedvalue()","id:","items:","pid:","sourc","text:","type:","value:","{","})","},","}]","文件管理器","方法","获取当前选中项的id属性","获取当前选中项的value值","说明"],"components/value_chooser_combo.html":["\"bi.value_chooser_combo\",","[]","api","bi.createwidget({","items:","sourc","type:","value_chooser_combo","});","参数","可选值","名称","回调参数","基础属性","基类bi.widget","复选下拉框控件","对外方法","类型","说明","默认值"],"components/value_chooser_pane.html":["\"bi.value_chooser_pane\",","[]","api","bi.createwidget({","items:","sourc","type:","value_chooser_pan","});","参数","可选值","名称","回调参数","基础属性","基类bi.widget","复选面板","对外方法","类型","说明","默认值"],"components/all_value_chooser_combo.html":["\"bi.all_value_chooser_combo\",","[]","all_value_chooser_combo","api","bi.createwidget({","items:","sourc","type:","});","参数","可选值","名称","回调参数","基础属性","对外方法","简单的复选下拉框控件,","类型","说明","适用于数据量少的情况,getvalue返回所有值,基类bi.widget","默认值"],"components/tree_value_chooser_combo.html":["\"bi.tree_value_chooser_combo\",","[]","api","bi.createwidget({","items:","sourc","tree_value_chooser_combo","type:","});","参数","可选值","名称","回调参数","基础属性","对外方法","简单的复选下拉树控件,","类型","说明","适用于数据量少的情况,getvalue返回所有值,基类bi.widget","默认值"],"components/tree_value_chooser_pane.html":["\"bi.tree_value_chooser_pane\",","[]","api","bi.createwidget({","items:","sourc","tree_value_chooser_pan","type:","});","参数","可选值","名称","回调参数","基础属性","对外方法","简单的复选下拉树面板,","类型","说明","适用于数据量少的情况,getvalue返回所有值,基类bi.widget","默认值"],"detailed/single_slider.html":["\"bi.single_slider\",","\"body\",","\"demo","10,","100","200,","50,","=","bi.createwidget({","bi.single_slid","cls:","element:","getvalu","height:","max:","min:","number,","number}","popul","setminandmax","setvalu","single_slid","singleslid","singleslider.populate();","singleslider.setminandmax({","singleslider.setvalue(30);","slider\"","sourc","type:","valu","var","width:","{min:","});","—","加载设置后的控件","参数","数值滑块","方法","方法名","类型","获得当前值","设置当前值","设置最大值最小值","说明","默认值"]},"length":155},"tokenStore":{"root":{"0":{"1":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.027777777777777776},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}},"'":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}},",":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}},"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.06593406593406594},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.024096385542168676},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.02564102564102564},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.028368794326241134},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.014634146341463415},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.02843601895734597},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.03529411764705882},"base/label.html":{"ref":"base/label.html","tf":0.0410958904109589},"base/button/button.html":{"ref":"base/button/button.html","tf":0.031446540880503145},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.021739130434782608},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.02197802197802198},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.02072538860103627},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.02197802197802198},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.020618556701030927},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.022988505747126436},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.0392156862745098},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.041666666666666664},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.023255813953488372},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/segment.html":{"ref":"case/segment.html","tf":0.04672897196261682},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.056818181818181816},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.05319148936170213},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.046296296296296294},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.04672897196261682},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.041237113402061855},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.04040404040404041},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.1206896551724138},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}},"\"":{"docs":{},",":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.017857142857142856}}}},",":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.05357142857142857},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044}},"v":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},":":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}}}}}}}}},"}":{"docs":{},"]":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406}}}}},"1":{"0":{"0":{"docs":{"START.html":{"ref":"START.html","tf":0.04},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}},",":{"docs":{"START.html":{"ref":"START.html","tf":0.04},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.02197802197802198},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.08290155440414508},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.08290155440414508},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.0625},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.041666666666666664}},"e":{"docs":{},"l":{"docs":{},":":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}}},";":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}},"]":{"docs":{},",":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.010362694300518135},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.010362694300518135}}}}},"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}},",":{"docs":{"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.02197802197802198},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.03278688524590164},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.08333333333333333},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}},")":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}},"1":{"0":{"docs":{},",":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}},"1":{"1":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}},"docs":{}},"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.013157894736842105}},",":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}},"2":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.027777777777777776},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}},",":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}},"3":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}},"docs":{}},"4":{"5":{"docs":{"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353}}},"docs":{}},"6":{"docs":{},",":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}},"8":{"docs":{},",":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}},"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.015037593984962405},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.04411764705882353},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.009433962264150943},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.04}},"\"":{"docs":{},",":{"docs":{"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.02197802197802198},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.017857142857142856}}}},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"虽":{"docs":{},"然":{"docs":{},"设":{"docs":{},"置":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"3":{"0":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"最":{"docs":{},"终":{"docs":{},"影":{"docs":{},"响":{"docs":{},"高":{"docs":{},"度":{"docs":{},"的":{"docs":{},"是":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"布":{"docs":{},"局":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},",":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.05357142857142857},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.034782608695652174},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.029411764705882353},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.03278688524590164},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.05263157894736842},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.043478260869565216}}},")":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}},":":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}},"]":{"docs":{},",":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.012578616352201259},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}},";":{"docs":{},"}":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.014285714285714285}}}},"表":{"docs":{},"示":{"docs":{},"自":{"docs":{},"动":{"docs":{"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035}}}}}},".":{"1":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}},"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"2":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"2":{"0":{"0":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.03389830508474576},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}},",":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}},"e":{"docs":{},"l":{"docs":{},":":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}}},"]":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}},",":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}},"1":{"0":{"docs":{},",":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}},"5":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}},",":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}},"docs":{}},"docs":{"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.06593406593406594},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.056338028169014086},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}},",":{"docs":{"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.02197802197802198},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.056338028169014086},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}},"1":{"docs":{},",":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}},"2":{"docs":{},",":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}},"4":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.015503875968992248},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125}}},"5":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.02608695652173913},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.018867924528301886},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.017543859649122806},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.013071895424836602},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.0125},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.012345679012345678},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.010362694300518135},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.010362694300518135},"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.016042780748663103},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.009433962264150943}},",":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.01675977653631285},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.016129032258064516},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}},"6":{"docs":{},")":{"docs":{},"'":{"docs":{},",":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}},"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}},"\"":{"docs":{},",":{"docs":{"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.02197802197802198},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}},",":{"docs":{},"为":{"docs":{},"了":{"docs":{},"演":{"docs":{},"示":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"是":{"docs":{},"占":{"docs":{},"满":{"docs":{},"整":{"docs":{},"个":{"docs":{},"的":{"docs":{},",":{"docs":{},"用":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.017857142857142856},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}},":":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}},".":{"1":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}},"2":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}},"docs":{}}},"3":{"0":{"0":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703},"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.058823529411764705}},",":{"docs":{"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.03773584905660377},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.034482758620689655},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.0425531914893617},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}}}},"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.045454545454545456},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0392156862745098},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.03773584905660377},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.02197802197802198},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.034482758620689655},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.0425531914893617},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}},",":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.03389830508474576},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.04395604395604396},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.02127659574468085},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.027777777777777776},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464}}},";":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}},"1":{"docs":{},"'":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}},",":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}},"5":{"docs":{"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372}}},"docs":{"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}}},"4":{"0":{"0":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456}},",":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}}},"docs":{}},"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}},"5":{"0":{"0":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}},",":{"docs":{"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04}}},"]":{"docs":{},",":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629}}}}},"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}},",":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.02127659574468085},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}},"]":{"docs":{},",":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931}}}}},"docs":{},",":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}},"6":{"0":{"0":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}},",":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}}},"docs":{}},"docs":{},",":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}},"7":{"0":{"docs":{},",":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}},"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}},",":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}},"8":{"0":{"docs":{},",":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}},"docs":{},")":{"docs":{},",":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}}},"9":{"0":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}},",":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}},"docs":{}},"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.2}}}}}}}}}}},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":10}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{"START.html":{"ref":"START.html","tf":0.04}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":10.020833333333334}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":10.009756097560976}},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}},"类":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":10}}}}}}}},"弹":{"docs":{},"出":{"docs":{},"层":{"docs":{},"位":{"docs":{},"置":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}},",":{"docs":{},"s":{"docs":{},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428}},"s":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.025157232704402517},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.02631578947368421},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.0196078431372549},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.01875},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.027586206896551724},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.026737967914438502},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},":":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.018518518518518517},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.015544041450777202},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.015544041450777202},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.014150943396226415}}}}}}},":":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.03571428571428571}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":10}}}}}},"t":{"docs":{"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":10}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.058823529411764705}},")":{"docs":{},"分":{"docs":{},"别":{"docs":{},"表":{"docs":{},"示":{"docs":{},"原":{"docs":{},"点":{"docs":{},"的":{"docs":{},"横":{"docs":{},"坐":{"docs":{},"标":{"docs":{},",":{"docs":{},"纵":{"docs":{},"坐":{"docs":{},"标":{"docs":{},",":{"docs":{},"半":{"docs":{},"径":{"docs":{},"以":{"docs":{},"及":{"docs":{},"颜":{"docs":{},"色":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":10}},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":10}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514}}}},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.029411764705882353}},":":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}}}},"p":{"docs":{},"i":{"docs":{"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125}}},"y":{"docs":{},":":{"docs":{"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125}}}}}},"l":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}},"s":{"docs":{},":":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.045454545454545456},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.03389830508474576},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.03296703296703297},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.03296703296703297},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0392156862745098},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.03773584905660377},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.02197802197802198},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.04395604395604396},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.044444444444444446},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.034482758620689655},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.0425531914893617},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.044444444444444446},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.03571428571428571},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.026143790849673203},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.025},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.03289473684210526},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}},"\"":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}},",":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}},"h":{"docs":{},"o":{"docs":{},"v":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"case/clipboard.html":{"ref":"case/clipboard.html","tf":10}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}},"i":{"docs":{},"n":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"对":{"docs":{},"外":{"docs":{},"调":{"docs":{},"用":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":10}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"core/layout/center.html":{"ref":"core/layout/center.html","tf":10},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315}},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":10}}}}}}}},":":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}},":":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},",":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514}},"e":{"docs":{},":":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}},"可":{"docs":{},"选":{"docs":{},"值":{"docs":{},"为":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}},":":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.04},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.038461538461538464},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.013157894736842105}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":10}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},":":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082}}}}}},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358}}}}}},"s":{"docs":{},"e":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358}}}},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.0425531914893617},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}},",":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}}},"(":{"docs":{},"{":{"docs":{"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}},")":{"docs":{"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":10}}}}}}}},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":10.016666666666667},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"1":{"5":{"0":{"docs":{},",":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}}}}}}}}},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"5":{"5":{"docs":{},",":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}},"docs":{}},"docs":{}}}}}}}}},"绘":{"docs":{},"图":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}},":":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"s":{"docs":{},",":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}},":":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}}}},"i":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}}}},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.1}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/widget.html":{"ref":"core/widget.html","tf":0.01020408163265306}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":10.006578947368421}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}}},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":10}}},"t":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":10.02}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.01020408163265306},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315}},"e":{"docs":{},"d":{"docs":{},"h":{"docs":{},"o":{"docs":{},"v":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}}}},"\"":{"docs":{},",":{"docs":{"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}}}},":":{"docs":{"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"v":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":10}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":10}},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":10.058823529411764}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":10}}}}}}}},"y":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}},":":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}},"}":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}},"b":{"docs":{},"l":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}}}}},":":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"}":{"docs":{"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}}}},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"}":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"u":{"docs":{},"i":{"2":{"docs":{},".":{"0":{"docs":{},"引":{"docs":{},"入":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"后":{"docs":{},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"写":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"等":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"的":{"docs":{},"对":{"docs":{},"应":{"docs":{},"方":{"docs":{},"法":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{"./":{"ref":"./","tf":0.1}},"文":{"docs":{},"档":{"docs":{"./":{"ref":"./","tf":0.1}}}}}}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.020202020202020204}}}}}}}}}}}}}}}}},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}},":":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"e":{"docs":{},":":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":10.023255813953488}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":10}}},"a":{"docs":{},"t":{"docs":{},"左":{"docs":{},"右":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":10}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":10}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"层":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.038461538461538464},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.026143790849673203},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.022556390977443608},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.01904761904761905},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.01098901098901099},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/pager.html":{"ref":"base/pager.html","tf":0.02857142857142857},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.010362694300518135},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.01098901098901099},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.010309278350515464},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.011494252873563218},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.0196078431372549},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.019417475728155338},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.03333333333333333},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.03333333333333333},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.020833333333333332},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.04},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.015544041450777202},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.015544041450777202},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.125},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.020618556701030927},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.020202020202020204},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.016042780748663103},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.02830188679245283},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.021739130434782608}},"(":{"docs":{},"i":{"docs":{},",":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}},"d":{"docs":{},"x":{"docs":{},",":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}},"s":{"docs":{},",":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}}}}},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},")":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}}}}}}},"v":{"docs":{},")":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}},")":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}},"{":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"1":{"docs":{},",":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}},"docs":{}}}}},"/":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.01951219512195122},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.024193548387096774},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.009478672985781991},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.01764705882352941},"core/widget.html":{"ref":"core/widget.html","tf":0.02040816326530612},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.0743801652892562},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125},"base/button/button.html":{"ref":"base/button/button.html","tf":0.018867924528301886},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.018867924528301886},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.013071895424836602},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.01875},"base/pager.html":{"ref":"base/pager.html","tf":0.03571428571428571},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.054878048780487805},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.012345679012345678},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.015544041450777202},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.015544041450777202},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0213903743315508},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.014150943396226415},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04}},"e":{"docs":{},",":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.015037593984962405}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.023255813953488372},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}},",":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.039473684210526314}}}},",":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":10}}}}}}}}}}}}},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},":":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.038461538461538464}}}}}}}},"c":{"docs":{},"u":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}},"s":{"docs":{},"事":{"docs":{},"件":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}}}},"n":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"z":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"s":{"docs":{},":":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.1}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.03389830508474576},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.03773584905660377},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.04081632653061224},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.04081632653061224},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}},"e":{"docs":{},",":{"docs":{"OVERVIEW.html":{"ref":"OVERVIEW.html","tf":0.1}}}}}}},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"u":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"v":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"b":{"docs":{},"y":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},":":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"y":{"docs":{},"i":{"docs":{},"d":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}}}}}}}}}},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105}},"e":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}},"i":{"docs":{},"d":{"docs":{"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608}}}},"a":{"docs":{},"t":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.009478672985781991}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}},"g":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}}}}},"t":{"docs":{},"l":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}}},"t":{"docs":{},"h":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"y":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}},"s":{"docs":{},"b":{"docs":{},"y":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}},"s":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"y":{"docs":{},"i":{"docs":{},"d":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":10}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":10}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":10}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}},"s":{"docs":{},":":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}}}}}}},"h":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"a":{"docs":{},"n":{"docs":{},"r":{"docs":{},"u":{"docs":{},"a":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"u":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.1}},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"f":{"docs":{},"a":{"docs":{},"n":{"docs":{},"r":{"docs":{},"u":{"docs":{},"a":{"docs":{},"n":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"u":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"u":{"docs":{},"/":{"docs":{},"f":{"docs":{},"a":{"docs":{},"n":{"docs":{},"r":{"docs":{},"u":{"docs":{},"a":{"docs":{},"n":{"docs":{},"/":{"docs":{},"p":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{"START.html":{"ref":"START.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":10}},"与":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"混":{"docs":{},"合":{"docs":{},"形":{"docs":{},"成":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"二":{"docs":{},"维":{"docs":{},"表":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"布":{"docs":{},"局":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"l":{"docs":{},"标":{"docs":{},"签":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}},":":{"3":{"0":{"docs":{"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125}}},"docs":{}},"5":{"0":{"docs":{},",":{"docs":{"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903}}}},"docs":{}},"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.045454545454545456},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.03389830508474576},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.03296703296703297},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0392156862745098},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.03773584905660377},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.02197802197802198},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.04395604395604396},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.034482758620689655},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.0425531914893617},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.028169014084507043},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.02608695652173913},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.01675977653631285},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.016129032258064516},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.012195121951219513},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.012345679012345678},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.010362694300518135},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.010362694300518135},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.02127659574468085},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.027777777777777776},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}}},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.017543859649122806},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},":":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},",":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":10},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.009433962264150943}},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":10}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":10}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":10}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}}},":":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}},"\"":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}},"类":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}},"事":{"docs":{},"件":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}}}},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}},":":{"docs":{"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.06593406593406594},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}}}}},"a":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776}},"s":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.013071895424836602},"base/pager.html":{"ref":"base/pager.html","tf":0.014285714285714285},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.022222222222222223},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.022222222222222223},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.013888888888888888},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},":":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"base/pager.html":{"ref":"base/pager.html","tf":0.014285714285714285},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}},"h":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}},"e":{"docs":{},"r":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}},":":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":10}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"档":{"docs":{},"地":{"docs":{},"址":{"docs":{"./":{"ref":"./","tf":0.1}}}}},"本":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356}},"内":{"docs":{},"容":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514}}}},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288}}}}}},"标":{"docs":{},"签":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315}},"宽":{"docs":{},"度":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.0136986301369863}}}}},"红":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}},"高":{"docs":{},"亮":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}},"框":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}}}}}},"值":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"效":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}},"失":{"docs":{},"焦":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}},"是":{"docs":{},"否":{"docs":{},"处":{"docs":{},"于":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"状":{"docs":{},"态":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"焦":{"docs":{},"点":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}},"宽":{"docs":{},"度":{"docs":{"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}},"高":{"docs":{},"度":{"docs":{"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}},"域":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608}}}}}}}}}}}}},"失":{"docs":{},"焦":{"docs":{"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608}}}},"的":{"docs":{},"值":{"docs":{"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}},"获":{"docs":{},"取":{"docs":{},"焦":{"docs":{},"点":{"docs":{"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"值":{"docs":{"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732}}}}}}}},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842}}}}}}}}}}}}},"字":{"docs":{},"布":{"docs":{},"局":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}}}},"件":{"docs":{},"上":{"docs":{},"传":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}},"路":{"docs":{},"径":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}},"管":{"docs":{},"理":{"docs":{},"器":{"docs":{"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372}}}}}}},"概":{"docs":{},"览":{"docs":{"./":{"ref":"./","tf":10}}}},"\"":{"0":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903}}}},"f":{"docs":{},"b":{"docs":{},"d":{"0":{"docs":{},"d":{"docs":{},"c":{"6":{"4":{"8":{"docs":{},"f":{"4":{"1":{"docs":{},"e":{"9":{"7":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}}}}},"1":{"0":{"0":{"docs":{},"%":{"docs":{},"\"":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.034482758620689655},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}},",":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}},"docs":{}},"1":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.046511627906976744}}}}},"2":{"3":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}},"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.046511627906976744}}}}},"docs":{},"\"":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232}},",":{"docs":{"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.09302325581395349}}}},"f":{"4":{"7":{"1":{"1":{"docs":{},"c":{"2":{"0":{"1":{"docs":{},"e":{"docs":{},"f":{"1":{"8":{"4":{"2":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"2":{"0":{"1":{"0":{"docs":{},"年":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}}}},"docs":{}},"docs":{}},"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514}}}}},"3":{"docs":{},"\"":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232}},",":{"docs":{"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514}}}}},"4":{"5":{"6":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}},"docs":{}},"docs":{}},"5":{"docs":{},"\"":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232}}}},"8":{"docs":{},"c":{"4":{"4":{"6":{"0":{"docs":{},"b":{"docs":{},"c":{"3":{"6":{"0":{"5":{"6":{"8":{"5":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.030612244897959183},"base/label.html":{"ref":"base/label.html","tf":0.0136986301369863},"base/bubble.html":{"ref":"base/bubble.html","tf":0.046511627906976744},"base/toast.html":{"ref":"base/toast.html","tf":0.044444444444444446},"base/button/button.html":{"ref":"base/button/button.html","tf":0.012578616352201259},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.021739130434782608},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.034482758620689655},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.02197802197802198},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.05063291139240506},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.06153846153846154},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.043478260869565216},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.04040404040404041},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.02072538860103627},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.02197802197802198},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.041237113402061855},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.022988505747126436},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.0196078431372549},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.031746031746031744},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.021505376344086023},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.015503875968992248},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.025},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.02702702702702703},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.02702702702702703},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.020618556701030927},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.020202020202020204}},"b":{"2":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}}}}},"字":{"docs":{},"段":{"docs":{},"\"":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}}}},"docs":{},"i":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.00975609756097561},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.0111731843575419},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.012987012987012988},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"START.html":{"ref":"START.html","tf":0.04},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"\"":{"docs":{"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}},",":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},":":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}}}},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},":":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.01904761904761905}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044}},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},":":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02}}}}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.045454545454545456},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0392156862745098},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.03773584905660377},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.02197802197802198},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.04395604395604396},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.044444444444444446},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.034482758620689655},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.0425531914893617},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.044444444444444446},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.03571428571428571},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.026143790849673203},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.025},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.02127659574468085},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.027777777777777776},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}}},"}":{"docs":{},",":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.056338028169014086}}},"}":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521}}}}}}}},"z":{"docs":{},"y":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856}}}}}}}}}}}}},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"\"":{"docs":{"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703}},",":{"docs":{"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099}}}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112}}}}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.03389830508474576},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514}}}}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629}}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}}},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"\"":{"docs":{"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827}}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099}}}}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886}}}}}}}}}},"\"":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}},",":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}}},"}":{"docs":{},"]":{"docs":{},"}":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}},"}":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406}}}}}}}}}},"\"":{"docs":{},",":{"docs":{"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223}},"h":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},":":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044}}},"}":{"docs":{},"}":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464}}}},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099}}}}}}},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}}}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.017391304347826087},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}}}}}}},"t":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.0111731843575419},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425}}}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"}":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"\"":{"docs":{},"}":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}},",":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105}}}}}}}}}}}}}},"v":{"docs":{},"g":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/trigger/icon_trigger.html":{"ref":"case/trigger/icon_trigger.html","tf":0.1111111111111111}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}}}}}}}}}}}},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"_":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.058823529411764705}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"\"":{"docs":{},",":{"docs":{"START.html":{"ref":"START.html","tf":0.04},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/icon_trigger.html":{"ref":"case/trigger/icon_trigger.html","tf":0.1111111111111111},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"\"":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}}}}},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"\"":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}}}}}}}}}}}}}},"b":{"docs":{},"b":{"docs":{},"\"":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}},",":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}},"\"":{"docs":{},",":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}}},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"\"":{"docs":{"START.html":{"ref":"START.html","tf":0.04}}}}},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035}}}}}}}}}}}}}}}}},"里":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"h":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"水":{"docs":{},"平":{"docs":{},"间":{"docs":{},"距":{"docs":{},")":{"docs":{},",":{"docs":{},"v":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"间":{"docs":{},"距":{"docs":{},")":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"t":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"b":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.03389830508474576}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"是":{"docs":{},"带":{"docs":{},"标":{"docs":{},"记":{"docs":{},"的":{"docs":{},"\"":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}}}}}}}}}},"#":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703},"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.058823529411764705},"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.045454545454545456},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.03389830508474576},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.03296703296703297},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.03296703296703297},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0392156862745098},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.03773584905660377},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.02197802197802198},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.04395604395604396},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.044444444444444446},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.034482758620689655},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.0425531914893617},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.044444444444444446},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.03571428571428571},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.026143790849673203},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.025},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732}}}}}},"b":{"docs":{},"e":{"docs":{},"l":{"1":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903}}}}},"docs":{}}}}},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.02197802197802198}},",":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}}}}}}}}}}}},"\"":{"docs":{"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}}}}}}},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288}}}}}}}},"v":{"docs":{},"c":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}}}}},"c":{"1":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}},"字":{"docs":{},"段":{"docs":{},"\"":{"docs":{},"}":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}}}}},"2":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}},"字":{"docs":{},"段":{"docs":{},"\"":{"docs":{},"}":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}}}}},"6":{"docs":{},"d":{"7":{"2":{"docs":{},"d":{"6":{"docs":{},"c":{"7":{"docs":{},"e":{"1":{"9":{"docs":{},"a":{"6":{"6":{"7":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0392156862745098},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.044444444444444446}}}}}}},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.03571428571428571},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.039473684210526314}}}}}},"p":{"docs":{},"i":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"\"":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.015503875968992248}}}}}},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}},"\"":{"docs":{},",":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.038461538461538464}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.03773584905660377}}}}}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125}},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514}}}}}}}}}},"\"":{"docs":{},":":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.057692307692307696},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.06}}}}}}}}},"右":{"docs":{},"边":{"docs":{},"的":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"居":{"docs":{},"中":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}}}}}}},"左":{"docs":{},"边":{"docs":{},"的":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"居":{"docs":{},"中":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.02197802197802198}}}}}},"e":{"docs":{},"d":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}},",":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}}},"g":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},":":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.057692307692307696},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.06}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{},":":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.057692307692307696}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"\"":{"docs":{"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.044444444444444446},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.044444444444444446}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.034482758620689655},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.0425531914893617},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},".":{"docs":{},"p":{"docs":{},"h":{"docs":{},"p":{"docs":{},"?":{"docs":{},"i":{"docs":{},"d":{"docs":{},"=":{"1":{"2":{"0":{"6":{"7":{"4":{"1":{"docs":{},"&":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"=":{"1":{"2":{"8":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"与":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"它":{"docs":{},"可":{"docs":{},"以":{"docs":{},"控":{"docs":{},"制":{"docs":{},"最":{"docs":{},"小":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"和":{"docs":{},"最":{"docs":{},"大":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.044444444444444446}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}}}}},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"\"":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372}},",":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}}}}},"第":{"docs":{},"一":{"docs":{},"级":{"docs":{},"目":{"docs":{},"录":{"1":{"docs":{},"\"":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}},",":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}}},"docs":{}}},"子":{"docs":{},"目":{"docs":{},"录":{"1":{"docs":{},"\"":{"docs":{"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372}}}},"2":{"docs":{},"\"":{"docs":{"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372}}}},"docs":{}}}}},"行":{"docs":{},"第":{"docs":{},"一":{"docs":{},"列":{"docs":{},"\"":{"docs":{"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}},"二":{"docs":{},"列":{"docs":{},"\"":{"docs":{"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}},"三":{"docs":{},"列":{"docs":{},"\"":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}},"项":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}},"二":{"docs":{},"级":{"docs":{},"文":{"docs":{},"件":{"1":{"docs":{},"\"":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}},",":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}}},"docs":{}}}},"行":{"docs":{},"第":{"docs":{},"一":{"docs":{},"列":{"docs":{},"\"":{"docs":{"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625}}}}},"二":{"docs":{},"列":{"docs":{},"\"":{"docs":{"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625}}}}}}},"项":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}},"\"":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}},"三":{"docs":{},"项":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}}},".":{"docs":{},"\"":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},"}":{"docs":{},"]":{"docs":{},",":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"\"":{"docs":{"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372}},",":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}},"e":{"3":{"5":{"1":{"docs":{},"e":{"9":{"docs":{},"f":{"1":{"docs":{},"d":{"8":{"1":{"4":{"7":{"9":{"4":{"7":{"docs":{},"合":{"docs":{},"同":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}},"项":{"docs":{},"目":{"1":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}},"2":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}},"docs":{}}},"\"":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.04},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.012195121951219513}},",":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}},"}":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}},"]":{"docs":{},",":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}},"一":{"docs":{},"月":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"\"":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"测":{"docs":{},"试":{"docs":{},"\"":{"docs":{"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223}}}}}}}}},"a":{"docs":{},"b":{"1":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}}}}},"2":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}}}}},"3":{"docs":{"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}}},"docs":{}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"\"":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}},",":{"docs":{"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514}}},":":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.057692307692307696},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.06}}}}}}}},"前":{"docs":{},"进":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}}}},"后":{"docs":{},"退":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}}}},"页":{"docs":{},"\"":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}},"张":{"docs":{},"三":{"docs":{},"\"":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}}}},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}}}},"面":{"docs":{},"板":{"1":{"docs":{},"\"":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}},"2":{"docs":{},"\"":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}},"docs":{}}},"点":{"docs":{},"击":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}}}}}}}}}}}}}},"a":{"1":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}},"字":{"docs":{},"段":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}}}}}},"docs":{},"a":{"docs":{},"a":{"docs":{},"\"":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}},",":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"\"":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}},"\"":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}},")":{"docs":{},";":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}},",":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}},"b":{"docs":{},"a":{"docs":{},"\"":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}},",":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}},"c":{"docs":{},"c":{"docs":{},"\"":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}},",":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}}},"d":{"docs":{},"i":{"docs":{},"v":{"docs":{},"\"":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},":":{"docs":{"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.04}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.03289473684210526}}}},"e":{"docs":{},"f":{"docs":{},"a":{"1":{"docs":{},"f":{"7":{"docs":{},"b":{"docs":{},"a":{"8":{"docs":{},"b":{"2":{"6":{"8":{"4":{"docs":{},"a":{"docs":{},"客":{"docs":{},"户":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}}},"docs":{}}},"docs":{}}},"m":{"docs":{},"o":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}},"基":{"docs":{},"本":{"docs":{},"标":{"docs":{},"签":{"docs":{},"\"":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}},",":{"docs":{"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223}}}}}}}}}}},"字":{"docs":{},"段":{"docs":{},"不":{"docs":{},"可":{"docs":{},"重":{"docs":{},"名":{"docs":{},"!":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}}}}}},"上":{"docs":{},"一":{"docs":{},"页":{"docs":{},"\"":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}},"下":{"docs":{},"一":{"docs":{},"页":{"docs":{},"\"":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}},"尾":{"docs":{},"页":{"docs":{},"\"":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}},"首":{"docs":{},"页":{"docs":{},"\"":{"docs":{},",":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}}}}}}},"复":{"docs":{},"选":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"\"":{"docs":{"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425}}}}}}},"项":{"docs":{},"\"":{"docs":{"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425}}}}}},"单":{"docs":{},"选":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"\"":{"docs":{"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425}}}}}}},"项":{"docs":{},"\"":{"docs":{"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425}}}}}},"原":{"docs":{},"始":{"docs":{},"值":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732}}}}}}},"+":{"docs":{},"\"":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}}}},"标":{"docs":{},"题":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"\"":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.038461538461538464}}}}}},"默":{"docs":{},"认":{"docs":{},"风":{"docs":{},"格":{"docs":{},"\"":{"docs":{"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}}}}},"值":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}}}}}}},"三":{"docs":{},"角":{"docs":{},"形":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"\"":{"docs":{"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.018518518518518517}}}}}}}}},"十":{"docs":{},"字":{"docs":{},"形":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"\"":{"docs":{"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.018518518518518517}}}}}}}}},"箭":{"docs":{},"头":{"docs":{},"节":{"docs":{},"点":{"docs":{},"\"":{"docs":{"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.018518518518518517}}}}}}},"表":{"docs":{},"头":{"1":{"docs":{},"\"":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}},"2":{"docs":{},"\"":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}},"3":{"docs":{},"\"":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}},"docs":{}}},"供":{"docs":{},"应":{"docs":{},"商":{"docs":{},"基":{"docs":{},"本":{"docs":{},"信":{"docs":{},"息":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232}}}}}}}}}}},"学":{"docs":{},"号":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232}}}}}},"采":{"docs":{},"购":{"docs":{},"订":{"docs":{},"单":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232}}}}}}}}}}},"主":{"docs":{},"键":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}}}}}},"合":{"docs":{},"同":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}}}}}},"信":{"docs":{},"息":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}}}}}},"的":{"docs":{},"回":{"docs":{},"款":{"docs":{},"信":{"docs":{},"息":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}}}}}},"信":{"docs":{},"息":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}}}}}}}},"比":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}}}},"$":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"START.html":{"ref":"START.html","tf":0.04}}}}}}}}}}}}}}},"[":{"0":{"docs":{},",":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.012578616352201259},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}},"1":{"0":{"0":{"docs":{},",":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.010362694300518135},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.010362694300518135},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931}}}},"docs":{},",":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}},"docs":{}},"2":{"0":{"0":{"docs":{},",":{"2":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}},"docs":{}},"docs":{}},"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}}},"docs":{},",":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}}},"docs":{}},"5":{"0":{"docs":{},",":{"5":{"0":{"docs":{},",":{"2":{"0":{"0":{"docs":{},",":{"2":{"5":{"0":{"docs":{},",":{"4":{"0":{"0":{"docs":{},"]":{"docs":{},",":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}},"{":{"docs":{"START.html":{"ref":"START.html","tf":0.04},"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.02197802197802198},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.03296703296703297},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.016666666666666666},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.06451612903225806},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.017391304347826087},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.009478672985781991},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.011764705882352941},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.02857142857142857},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.013071895424836602},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.0125},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.04054054054054054},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.04},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.038461538461538464},"case/segment.html":{"ref":"case/segment.html","tf":0.018691588785046728},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.018691588785046728},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.02631578947368421},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},":":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}}}},"]":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.011764705882352941},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.031446540880503145},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.043859649122807015},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.032679738562091505},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.05},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.06172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.05181347150259067},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.05181347150259067},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.027586206896551724},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0374331550802139},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.04716981132075472},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616}},"或":{"docs":{},"[":{"docs":{},"[":{"docs":{},"]":{"docs":{},"]":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428}}}}}}},",":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.01904761904761905},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.012345679012345678},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.034482758620689655},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}}}},"[":{"docs":{},"{":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.013793103448275862},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0106951871657754},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}},"e":{"docs":{},"l":{"docs":{},":":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}}}}}},"\"":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}},"b":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}},"i":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"{":{"docs":{"START.html":{"ref":"START.html","tf":0.04},"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.015037593984962405},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.022388059701492536},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/icon_trigger.html":{"ref":"case/trigger/icon_trigger.html","tf":0.1111111111111111},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703},"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.058823529411764705},"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555},"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456},"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}},")":{"docs":{},";":{"docs":{},"}":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223}},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456}}}}}}},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}},"t":{"docs":{"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464}},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728}},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099}}}}},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288}},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125}}}}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},".":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"b":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"_":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"_":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315}}}}},"z":{"docs":{},"y":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856}}}}}}}}},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099}}},"a":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223}}}}}},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521}}}}},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"detailed/bi.button/general.html":{"ref":"detailed/bi.button/general.html","tf":0.5}},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903}}}}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514}},"e":{"docs":{},",":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},",":{"docs":{"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"b":{"docs":{},"l":{"docs":{"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372}},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},".":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}},"t":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}},"l":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629}}}}}}}}}}},"d":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}},"o":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"{":{"docs":{},"}":{"docs":{},",":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}}},"v":{"docs":{},",":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"f":{"docs":{},"n":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.019417475728155338},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.03333333333333333},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.03333333333333333},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.04},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.015544041450777202},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.015544041450777202},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.02459016393442623},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.0625},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0330188679245283},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886}}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}},"n":{"docs":{},"t":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}},"f":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"u":{"docs":{},"s":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}},"o":{"docs":{},"p":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}}}}}},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"[":{"docs":{},"{":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"1":{"0":{"0":{"docs":{},",":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"s":{"docs":{},"g":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{},"(":{"docs":{},"'":{"docs":{},"测":{"docs":{},"试":{"docs":{},"消":{"docs":{},"息":{"docs":{},"框":{"docs":{},"'":{"docs":{},",":{"docs":{},"\"":{"docs":{},"我":{"docs":{},"是":{"docs":{},"测":{"docs":{},"试":{"docs":{},"消":{"docs":{},"息":{"docs":{},"框":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"条":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"g":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}},";":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"(":{"1":{"docs":{},",":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}},"docs":{}}}}}}},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}},"p":{"docs":{},"a":{"docs":{},"u":{"docs":{},"s":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}},"o":{"docs":{},"p":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}}}}}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}}}}}}},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808}}}}}}}}}}},"v":{"docs":{},"g":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}}}}}}}}},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}},"e":{"docs":{},"l":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}}}}},"g":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"t":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931}}}}}}}}}}},"i":{"1":{"8":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"b":{"docs":{},"i":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04}}}}}}}}}}}},"docs":{}},"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{"case/trigger/icon_trigger.html":{"ref":"case/trigger/icon_trigger.html","tf":0.1111111111111111}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}}}}}}}},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}}}}}}}}}}}}},"y":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"m":{"docs":{"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"组":{"docs":{},"件":{"docs":{},"就":{"docs":{},"是":{"docs":{},"集":{"docs":{},"成":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"u":{"docs":{},"i":{"docs":{},"进":{"docs":{},"行":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{"START.html":{"ref":"START.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}},"g":{"1":{"docs":{},"\"":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428}},",":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.02197802197802198},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625}}}}},"2":{"docs":{},"\"":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428}},",":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625}}}}},"3":{"docs":{},"\"":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099}},",":{"docs":{"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625}}}}},"4":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625}}}}},"5":{"docs":{},"\"":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428}},",":{"docs":{"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732}}}}},"6":{"docs":{},"\"":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428}}}},"docs":{},"\"":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}},"a":{"docs":{},"p":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.03414634146341464},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.0111731843575419},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.024193548387096774},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.0457516339869281},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.014218009478672985},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.01764705882352941},"core/widget.html":{"ref":"core/widget.html","tf":0.02040816326530612},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.0743801652892562},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/label.html":{"ref":"base/label.html","tf":0.0136986301369863},"base/button/button.html":{"ref":"base/button/button.html","tf":0.031446540880503145},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.013071895424836602},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.025},"base/pager.html":{"ref":"base/pager.html","tf":0.02142857142857143},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.019417475728155338},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.054878048780487805},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.018518518518518517},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.02072538860103627},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.02072538860103627},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0213903743315508},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.014150943396226415},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.034482758620689655}},"/":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.014285714285714285}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":10}},"\"":{"docs":{},",":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}}}}},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.013157894736842105}},":":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521}}},",":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}}}}}}}}},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/button/button.html":{"ref":"base/button/button.html","tf":10},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04}},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":10}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":10}}}}}},"的":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}},"b":{"docs":{},"b":{"docs":{},"l":{"docs":{"base/bubble.html":{"ref":"base/bubble.html","tf":10}},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":10}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}}}}}},"u":{"docs":{},"r":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}},"事":{"docs":{},"件":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":10}}}}}}}},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04}}}}}}}}}}}}},":":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"组":{"docs":{},"件":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232}}}}}}},"配":{"docs":{},"置":{"docs":{"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":10}}}}},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":10}}}}}}}}}}}},"e":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.046052631578947366}},"l":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.03296703296703297},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.03296703296703297},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}},":":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.056338028169014086},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.03571428571428571},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.041666666666666664},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.012195121951219513},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.04},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.057692307692307696},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.013157894736842105}},"{":{"docs":{"START.html":{"ref":"START.html","tf":0.04}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"START.html":{"ref":"START.html","tf":0.04},"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/icon_trigger.html":{"ref":"case/trigger/icon_trigger.html","tf":0.1111111111111111},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703},"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.058823529411764705},"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}},"\"":{"docs":{},"#":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"s":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521}}}}}},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":10.011173184357542},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"后":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}}},"展":{"docs":{},"开":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}},"收":{"docs":{},"起":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"u":{"docs":{},"s":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}},"o":{"docs":{},"p":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}},"b":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.02564102564102564}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.01020408163265306}},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"v":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}},"w":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}}}}}}}}}},"d":{"docs":{},")":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":10}},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},"触":{"docs":{},"发":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}}}}}},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":10}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":10.043478260869565}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}},":":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.02197802197802198},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.02197802197802198},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.03333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.057971014492753624},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.025},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.026143790849673203},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.038834951456310676},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.03571428571428571},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.03333333333333333},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.03333333333333333},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.027777777777777776},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.03225806451612903},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.025},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.039473684210526314},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.034482758620689655},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.043478260869565216},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}},"s":{"docs":{},":":{"docs":{"START.html":{"ref":"START.html","tf":0.04},"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.03296703296703297},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.03571428571428571},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.04081632653061224},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.012345679012345678},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.010362694300518135},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.010362694300518135},"case/segment.html":{"ref":"case/segment.html","tf":0.018691588785046728},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.018691588785046728},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.03389830508474576},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.03773584905660377},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.04081632653061224},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.04081632653061224},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616}},"[":{"docs":{},"]":{"docs":{"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406}}}}},"c":{"docs":{},"r":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}}}}}}}},",":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105}}},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808}}}}}},")":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}},",":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},",":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}}}}}}}}},"d":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.03571428571428571}},":":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.02608695652173913},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.039473684210526314},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.03260869565217391},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.06976744186046512}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.02564102564102564},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.011764705882352941},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.01020408163265306}}}}}},"i":{"docs":{},"s":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.01020408163265306}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}}}}}}}},"s":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"d":{"docs":{},"j":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"z":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"e":{"docs":{},":":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"e":{"docs":{},":":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464}}}}}}},"s":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}},"n":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"时":{"docs":{},"启":{"docs":{},"用":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}},"o":{"docs":{},"l":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}},"n":{"docs":{},"c":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}},":":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"d":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"s":{"1":{"docs":{},":":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.013157894736842105}}}},"docs":{},":":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}},":":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.031007751937984496}}}}}}}},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":10}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{"case/trigger/icon_trigger.html":{"ref":"case/trigger/icon_trigger.html","tf":10}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":10}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}}}},"的":{"docs":{},"类":{"docs":{},"名":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}},"e":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":10}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}},":":{"docs":{"START.html":{"ref":"START.html","tf":0.04},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.04225352112676056}}},"_":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"_":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":10}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}},":":{"docs":{"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}}},",":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}}},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":10}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}}}}}}},"h":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}},":":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}}},"l":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406}},"s":{"docs":{},":":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.01904761904761905},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":10}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{"base/label.html":{"ref":"base/label.html","tf":10}}}}},"s":{"docs":{},"t":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}},":":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"e":{"docs":{},":":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082}}}}}}}}},"z":{"docs":{},"y":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":10}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":10.027027027027026}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":10}}}}}}},"面":{"docs":{},"板":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}}},"_":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"core/pane.html":{"ref":"core/pane.html","tf":0.044444444444444446}},"e":{"docs":{},"r":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":10}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"图":{"docs":{},"标":{"docs":{},"是":{"docs":{},"否":{"docs":{},"在":{"docs":{},"元":{"docs":{},"素":{"docs":{},"内":{"docs":{},"部":{"docs":{},"创":{"docs":{},"建":{"docs":{},",":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"表":{"docs":{},"示":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"一":{"docs":{},"层":{"docs":{},"创":{"docs":{},"建":{"docs":{"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"c":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}},":":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}}}}}}},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.03296703296703297},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.03296703296703297},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.010309278350515464},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}},":":{"docs":{"START.html":{"ref":"START.html","tf":0.04},"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.045454545454545456},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.03389830508474576},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.03296703296703297},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.03296703296703297},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0392156862745098},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.03773584905660377},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.02197802197802198},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.04395604395604396},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.044444444444444446},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.034482758620689655},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.0425531914893617},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.044444444444444446},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.03571428571428571},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.03614457831325301},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.01675977653631285},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.024193548387096774},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.022556390977443608},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.029850746268656716},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.011764705882352941},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.02857142857142857},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.026143790849673203},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.025},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.037037037037037035},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.03389830508474576},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.03389830508474576},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.019417475728155338},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.012195121951219513},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.05},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.05405405405405406},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.06756756756756757},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/segment.html":{"ref":"case/segment.html","tf":0.037383177570093455},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.0425531914893617},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.05555555555555555},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.037383177570093455},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.039473684210526314},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.041379310344827586},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.03208556149732621},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.039473684210526314},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.03260869565217391},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.07692307692307693},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.06976744186046512}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":10}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}},":":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}},":":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315}}}}}}}},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":10}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":10}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":10}}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":10.043478260869565}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":10}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":10}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}},":":{"docs":{"START.html":{"ref":"START.html","tf":0.04},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521}}},",":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}}},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},",":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},",":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"g":{"docs":{},"l":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.00975609756097561},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}},"o":{"docs":{},"l":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"栏":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}},"位":{"docs":{},"置":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"base/toast.html":{"ref":"base/toast.html","tf":10},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364}},"提":{"docs":{},"示":{"docs":{"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.03296703296703297},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.03296703296703297},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}},":":{"docs":{"START.html":{"ref":"START.html","tf":0.04},"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.06818181818181818},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.05084745762711865},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.058823529411764705},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.05660377358490566},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.03296703296703297},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.07692307692307693},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.06666666666666667},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.05172413793103448},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.06382978723404255},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.0625},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.06666666666666667},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.044642857142857144},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.025},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.0967741935483871},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.043478260869565216},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.05217391304347826},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.05405405405405406},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.025},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.00975609756097561},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.0223463687150838},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.024193548387096774},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.013071895424836602},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.015037593984962405},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.018957345971563982},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.012987012987012988},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.029850746268656716},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.023529411764705882},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.02857142857142857},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.032679738562091505},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.03125},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.05555555555555555},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.05084745762711865},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.05084745762711865},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.031746031746031744},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/icon_trigger.html":{"ref":"case/trigger/icon_trigger.html","tf":0.1111111111111111},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.03048780487804878},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353},"case/segment.html":{"ref":"case/segment.html","tf":0.028037383177570093},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.022727272727272728},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.05319148936170213},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.06481481481481481},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.028037383177570093},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.019736842105263157},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703},"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.058823529411764705},"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555},"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456},"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}},"\"":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"START.html":{"ref":"START.html","tf":0.04}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.014634146341463415},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.009478672985781991},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.012578616352201259},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.034482758620689655}},",":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.012578616352201259},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.02631578947368421},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.018518518518518517},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0106951871657754},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.03414634146341464},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.0111731843575419},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.024193548387096774},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.026143790849673203},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.014218009478672985},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.01764705882352941},"core/widget.html":{"ref":"core/widget.html","tf":0.02040816326530612},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.0743801652892562},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/label.html":{"ref":"base/label.html","tf":0.0136986301369863},"base/button/button.html":{"ref":"base/button/button.html","tf":0.031446540880503145},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/pager.html":{"ref":"base/pager.html","tf":0.02142857142857143},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.054878048780487805},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}},"e":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.014285714285714285}}}}}}}}}}}},";":{"docs":{},"}":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}},"}":{"docs":{},",":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}},"/":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288}},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"s":{"docs":{"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02}}}}}}}}}}}},"e":{"docs":{},"e":{"docs":{"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":10}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":10.047619047619047}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":10.047619047619047}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":10.007462686567164},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}},"l":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":10},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}},"e":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":10}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"触":{"docs":{},"发":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629}}}}}}}}}},"大":{"docs":{},"小":{"docs":{},"调":{"docs":{},"整":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{},"(":{"docs":{},"窗":{"docs":{},"口":{"docs":{},"变":{"docs":{},"化":{"docs":{},"等":{"docs":{},")":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}},":":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}},"页":{"docs":{},"元":{"docs":{},"素":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}},"标":{"docs":{},"签":{"docs":{},"页":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}},"面":{"docs":{},"板":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}}}}}}}}}}}},"g":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}},"d":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":10}}},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}}}}},"y":{"docs":{},"p":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}},"t":{"docs":{},"l":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.027777777777777776},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.010362694300518135},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.01098901098901099},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.010309278350515464},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.031746031746031744},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}},"e":{"docs":{},"文":{"docs":{},"本":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}},",":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.06382978723404255}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.027777777777777776}}}}}},"类":{"docs":{},"型":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}}},":":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}},"s":{"docs":{},":":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":10.055555555555555}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},",":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}}}}}}}}}}}}}}}}}}}},"}":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.04395604395604396},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.04395604395604396},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.044642857142857144},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.00975609756097561},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.01675977653631285},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.025974025974025976},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.022388059701492536},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.031746031746031744},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.015503875968992248},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.022727272727272728},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.08},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.058823529411764705},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903}},")":{"docs":{"START.html":{"ref":"START.html","tf":0.08},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.025},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.015037593984962405},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.022388059701492536},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372}},";":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/icon_trigger.html":{"ref":"case/trigger/icon_trigger.html","tf":0.1111111111111111},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.06666666666666667},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.041666666666666664},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703},"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.058823529411764705},"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555},"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456},"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0392156862745098}}},")":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}},",":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}},",":{"docs":{"START.html":{"ref":"START.html","tf":0.04},"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.02197802197802198},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.02197802197802198},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.03296703296703297},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.056338028169014086},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.017857142857142856},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.02608695652173913},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.0111731843575419},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.015037593984962405},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.009478672985781991},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.012987012987012988},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.013071895424836602},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.0125},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.012195121951219513},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.015503875968992248},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.025},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.02702702702702703},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.02702702702702703},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082},"case/segment.html":{"ref":"case/segment.html","tf":0.028037383177570093},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.031914893617021274},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.046296296296296294},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.028037383177570093},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.02631578947368421},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.027586206896551724},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0213903743315508},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.02631578947368421},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.03260869565217391},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.038461538461538464},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.04},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.038461538461538464},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.046511627906976744}},"{":{"docs":{"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},":":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}}}}},"]":{"docs":{"START.html":{"ref":"START.html","tf":0.04},"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.017391304347826087},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.02702702702702703},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.04},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.038461538461538464},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.019736842105263157},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372}},",":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.02197802197802198},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.01904761904761905},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}},"}":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}},";":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}},"]":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}},",":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0106951871657754}}}}},";":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}},"源":{"docs":{},"码":{"docs":{},"集":{"docs":{},"成":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"START.html":{"ref":"START.html","tf":0.04}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"START.html":{"ref":"START.html","tf":0.04}}}}}}},"页":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}},"起":{"docs":{},"步":{"docs":{"START.html":{"ref":"START.html","tf":10}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"这":{"docs":{},"几":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"值":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"值":{"docs":{},"(":{"docs":{},"展":{"docs":{},"示":{"docs":{},"类":{"docs":{},"控":{"docs":{},"件":{"docs":{},"除":{"docs":{},"外":{"docs":{},")":{"docs":{},"和":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"控":{"docs":{},"件":{"docs":{"OVERVIEW.html":{"ref":"OVERVIEW.html","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}}}}},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"3":{"docs":{},",":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}}}},"p":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}},"组":{"docs":{},"件":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044}}}},"\"":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}},":":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":10}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":10}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"值":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.04395604395604396},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.018957345971563982},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.023529411764705882},"base/label.html":{"ref":"base/label.html","tf":0.0273972602739726},"base/button/button.html":{"ref":"base/button/button.html","tf":0.025157232704402517},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.021739130434782608},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.02197802197802198},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.02072538860103627},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.02197802197802198},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.020618556701030927},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.022988505747126436},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.0392156862745098},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.027777777777777776},"case/segment.html":{"ref":"case/segment.html","tf":0.037383177570093455},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.045454545454545456},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.0425531914893617},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.037037037037037035},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.037383177570093455},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.041237113402061855},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.04040404040404041}}}}}}}},"n":{"docs":{},"e":{"docs":{"core/pane.html":{"ref":"core/pane.html","tf":10}},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":10}}}}}}},"l":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":10}},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},"触":{"docs":{},"发":{"docs":{"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"事":{"docs":{},"件":{"docs":{"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.014285714285714285},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"r":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":10},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"刷":{"docs":{},"新":{"docs":{},"完":{"docs":{},"成":{"docs":{},"事":{"docs":{},"件":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}},":":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}},"s":{"docs":{},":":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082}}},"为":{"docs":{},"数":{"docs":{},"字":{"docs":{},"时":{"docs":{},"可":{"docs":{},"用":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}},",":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082}}}}}}}}}},"_":{"docs":{},"t":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":10}}}}}},"t":{"docs":{},"h":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":10.01923076923077}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}},"元":{"docs":{},"素":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}}}}}}}},"v":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"_":{"docs":{},"t":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":10}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}}}}},"p":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.038461538461538464}}}}}}}}},"i":{"docs":{},"d":{"docs":{},":":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.02608695652173913},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.039473684210526314},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.03260869565217391},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.046511627906976744}}}}},"y":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}},"这":{"docs":{},"几":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"使":{"docs":{},"能":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"见":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"效":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"在":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"u":{"docs":{},"i":{"2":{"docs":{},".":{"0":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"给":{"docs":{},"子":{"docs":{},"组":{"docs":{},"件":{"docs":{},"设":{"docs":{},"置":{"docs":{},"同":{"docs":{},"样":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"不":{"docs":{},"要":{"docs":{},"重":{"docs":{},"写":{"docs":{},"这":{"docs":{},"些":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"一":{"docs":{},"些":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"设":{"docs":{},"置":{"docs":{},"状":{"docs":{},"态":{"docs":{},"时":{"docs":{},"的":{"docs":{},"额":{"docs":{},"外":{"docs":{},"操":{"docs":{},"作":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"重":{"docs":{},"写":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{"OVERVIEW.html":{"ref":"OVERVIEW.html","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.03389830508474576},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.03773584905660377},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.04081632653061224},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.04081632653061224},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}},"i":{"docs":{},"s":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"OVERVIEW.html":{"ref":"OVERVIEW.html","tf":0.1}}}}}}}},"e":{"docs":{},"w":{"docs":{},"b":{"docs":{},"o":{"docs":{},"x":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}},"x":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105}}}}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}},"t":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}},"i":{"docs":{},"z":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}},"l":{"docs":{},"l":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}}}}}}}}},"z":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}}}},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},":":{"docs":{"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}}}},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},")":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},")":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},")":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},")":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":10},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.01904761904761905}},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"[":{"docs":{},"{":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}}}}}}}}}},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":10}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}}}}},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":10}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}},"a":{"docs":{},"l":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":10}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":10.043478260869565}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":10.037037037037036}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":10}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}}}}}}},"_":{"docs":{},"t":{"docs":{"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":10.017241379310345}}}}}}}}}},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"case/segment.html":{"ref":"case/segment.html","tf":10}}}}}}}},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}},"x":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.012578616352201259},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.017543859649122806},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.013071895424836602},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.0125},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.013793103448275862},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0106951871657754}},",":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}},":":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.012345679012345678},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.010362694300518135},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.010362694300518135},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.009433962264150943}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}},":":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}},"}":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/icon_trigger.html":{"ref":"case/trigger/icon_trigger.html","tf":0.1111111111111111},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703},"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.058823529411764705},"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555},"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456},"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}},"r":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"j":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":5}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"封":{"docs":{},"装":{"docs":{},")":{"docs":{"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":5}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.024390243902439025},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.0223463687150838},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.016129032258064516},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.025974025974025976},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/widget.html":{"ref":"core/widget.html","tf":0.02040816326530612},"core/single.html":{"ref":"core/single.html","tf":0.05555555555555555},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.01652892561983471},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/label.html":{"ref":"base/label.html","tf":0.04794520547945205},"base/bubble.html":{"ref":"base/bubble.html","tf":0.046511627906976744},"base/toast.html":{"ref":"base/toast.html","tf":0.044444444444444446},"base/button/button.html":{"ref":"base/button/button.html","tf":0.025157232704402517},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.03260869565217391},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.016483516483516484},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.02531645569620253},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.03076923076923077},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.020202020202020204},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.010362694300518135},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.015463917525773196},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.029411764705882353},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.04},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.018292682926829267},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.015503875968992248},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.04081632653061224},"case/calendar.html":{"ref":"case/calendar.html","tf":0.027777777777777776},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.030927835051546393},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.030303030303030304},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.013157894736842105},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.05},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.05405405405405406}},"/":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}}},",":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},")":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"v":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}},",":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":10}}}}}}}}},"s":{"docs":{},"t":{"docs":{"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456}}}}},"i":{"docs":{},"c":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":10}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}}},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":10}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/single.html":{"ref":"core/single.html","tf":10}},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":10}}}}}},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"o":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":10}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":10}}}}}},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":10.043478260869565}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":10}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"(":{"docs":{},"{":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"3":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"e":{"docs":{},",":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}},"g":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":10}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":10}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":10.045454545454545}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":10}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}},"e":{"docs":{},"r":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":10.012987012987013}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}}},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":10}}}}}},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105}}}}}}}}}}}}},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},",":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"c":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.034482758620689655}},":":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}},"v":{"docs":{},"g":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":10.01123595505618}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"m":{"1":{"0":{"docs":{},",":{"1":{"0":{"docs":{},"l":{"5":{"0":{"docs":{},",":{"5":{"0":{"docs":{},"m":{"5":{"0":{"docs":{},",":{"1":{"0":{"docs":{},"l":{"1":{"0":{"docs":{},",":{"5":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}},"绘":{"docs":{},"图":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}}}}},"布":{"docs":{},"局":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406}},"都":{"docs":{},"有":{"docs":{},"l":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},"、":{"docs":{},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},"、":{"docs":{},"t":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},"、":{"docs":{},"b":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},"、":{"docs":{},"h":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},"、":{"docs":{},"v":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},"、":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"x":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{"OVERVIEW.html":{"ref":"OVERVIEW.html","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"逻":{"docs":{},"辑":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}}}}}},"慎":{"docs":{},"用":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{"OVERVIEW.html":{"ref":"OVERVIEW.html","tf":0.1}}}}}}}}},"控":{"docs":{},"件":{"docs":{},"都":{"docs":{},"会":{"docs":{},"提":{"docs":{},"供":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"OVERVIEW.html":{"ref":"OVERVIEW.html","tf":0.1}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{"OVERVIEW.html":{"ref":"OVERVIEW.html","tf":0.1}}}}}}}}}}}}}}},"位":{"docs":{},"置":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}},"高":{"docs":{},"度":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}},"谨":{"docs":{},"慎":{"docs":{},"监":{"docs":{},"听":{"docs":{},"和":{"docs":{},"触":{"docs":{},"发":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"来":{"docs":{},"说":{"docs":{},",":{"docs":{},"控":{"docs":{},"件":{"docs":{},"都":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"一":{"docs":{},"些":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{},"会":{"docs":{},"在":{"docs":{},"对":{"docs":{},"应":{"docs":{},"控":{"docs":{},"件":{"docs":{},"文":{"docs":{},"档":{"docs":{},"中":{"docs":{},"列":{"docs":{},"出":{"docs":{"OVERVIEW.html":{"ref":"OVERVIEW.html","tf":0.1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"用":{"docs":{},"规":{"docs":{},"范":{"docs":{"OVERVIEW.html":{"ref":"OVERVIEW.html","tf":10.1}}}},"按":{"docs":{},"钮":{"docs":{"detailed/bi.button/general.html":{"ref":"detailed/bi.button/general.html","tf":10}},",":{"docs":{},"详":{"docs":{},"情":{"docs":{},"见":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"detailed/bi.button/general.html":{"ref":"detailed/bi.button/general.html","tf":0.5}}}}}}}}}}}}}}}}}},"过":{"docs":{},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"在":{"docs":{},"已":{"docs":{},"注":{"docs":{},"册":{"docs":{},"的":{"docs":{},"字":{"docs":{},"体":{"docs":{},"中":{"docs":{},"找":{"docs":{},"到":{"docs":{},"字":{"docs":{},"体":{"docs":{},"对":{"docs":{},"象":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}}}}},"鼠":{"docs":{},"标":{"docs":{},"或":{"docs":{},"键":{"docs":{},"盘":{"docs":{},"输":{"docs":{},"入":{"docs":{},"字":{"docs":{},"符":{"docs":{"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464}}}}}}}}}}}}},"'":{"1":{"9":{"0":{"0":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.027777777777777776},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}}},"docs":{}},"docs":{}},"docs":{},"'":{"docs":{},",":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}}},"2":{"0":{"9":{"9":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.027777777777777776},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}}},"docs":{}},"docs":{}},"docs":{},"'":{"docs":{},",":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}}},"3":{"docs":{},"'":{"docs":{},",":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099}}}}},"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"'":{"docs":{},",":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728}}}}}}}}}}}}}}}}},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"'":{"docs":{},",":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288}}}}}}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.03296703296703297},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.03296703296703297},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.03614457831325301},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364}}}}}}}},"b":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},"'":{"docs":{},",":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.03296703296703297},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.03296703296703297}}}}}}}},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"_":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"_":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"'":{"docs":{},",":{"docs":{"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"'":{"docs":{},",":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428}}}}}}}},"t":{"docs":{},"o":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{},",":{"docs":{"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"_":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"'":{"docs":{},",":{"docs":{"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745}}}}}}}}}}}}}},"i":{"docs":{},"p":{"docs":{},"b":{"docs":{},"o":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"'":{"docs":{},",":{"docs":{"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}}}}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"'":{"docs":{},",":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035}}}}}}}}}}}}}}}}},"y":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"'":{"docs":{},",":{"docs":{"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"'":{"docs":{},",":{"docs":{"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"'":{"docs":{},",":{"docs":{"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"1":{"docs":{},"'":{"docs":{},"}":{"docs":{},"}":{"docs":{},",":{"docs":{},"{":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099}}}}}}}}}}}}}}},"2":{"docs":{},"'":{"docs":{},"}":{"docs":{},"}":{"docs":{},",":{"docs":{},"{":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099}}}}}}}}}}}}}}},"3":{"docs":{},"'":{"docs":{},"}":{"docs":{},"}":{"docs":{"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099}},"]":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}}}},"docs":{}}}}}},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},"'":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}},",":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"'":{"docs":{},",":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099}},"e":{"docs":{},"l":{"docs":{},":":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}}},"]":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}},",":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"1":{"docs":{},"'":{"docs":{},"}":{"docs":{},"}":{"docs":{},",":{"docs":{},"{":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}}}}}}},"2":{"docs":{},"'":{"docs":{},"}":{"docs":{},",":{"docs":{},"{":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}}}}}},"3":{"docs":{},"'":{"docs":{},"}":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}}}},"docs":{}}}}}},"点":{"docs":{},"击":{"docs":{},"我":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"一":{"docs":{},"个":{"docs":{},"消":{"docs":{},"息":{"docs":{},"框":{"docs":{},"'":{"docs":{},",":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},",":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}}}}}}}}}},"一":{"docs":{},"般":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"'":{"docs":{},",":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}}}}}}}},"文":{"docs":{},"字":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"'":{"docs":{},",":{"docs":{"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}}}}},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"(":{"docs":{},"c":{"5":{"docs":{},",":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}},"docs":{}}}}}},"#":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{},",":{"docs":{"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571}}}}}}}}}}}},"'":{"docs":{"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}},",":{"docs":{"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333}}}},"简":{"docs":{},"单":{"docs":{},"t":{"docs":{},"o":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"测":{"docs":{},"试":{"docs":{},"'":{"docs":{},",":{"docs":{"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555},"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"元":{"docs":{},"素":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.041666666666666664},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.016666666666666666},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.028985507246376812},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.011764705882352941},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.03773584905660377},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.043859649122807015},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.032679738562091505},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.05},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.06790123456790123},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.05699481865284974},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.05699481865284974},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.027586206896551724},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0374331550802139},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.13793103448275862},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.04716981132075472},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}},"/":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.024096385542168676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0392156862745098},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.009478672985781991},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.012987012987012988}},"上":{"docs":{},"下":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.03773584905660377}}}}}}}}},"左":{"docs":{},"右":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.034482758620689655}}}}}}}}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":10}}}}}}}}}},"d":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}},"(":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},")":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}},"j":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}},":":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}}}}},"y":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"左":{"docs":{},"右":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"\"":{"docs":{},",":{"docs":{"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.0425531914893617}}}}}}}}}}}},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"c":{"docs":{},"r":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.015037593984962405}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.015037593984962405}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"i":{"docs":{"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125}}},"y":{"docs":{},":":{"docs":{"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"b":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"k":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":10}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":10.047619047619047}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}},":":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}}}}}}},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}}}}},"v":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.03759398496240601},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/pager.html":{"ref":"base/pager.html","tf":0.02142857142857143},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.04411764705882353},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.039473684210526314},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":10},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827}}}}}}},"_":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":10}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}}},":":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":10}}}}}},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}},":":{"1":{"0":{"docs":{"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903}}},"docs":{}},"docs":{"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.02197802197802198},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}}}}}},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.025},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.013071895424836602},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.012987012987012988},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/single.html":{"ref":"core/single.html","tf":0.027777777777777776},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.01098901098901099},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.0379746835443038},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.043478260869565216},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.020202020202020204},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.010309278350515464},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.019417475728155338},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.03571428571428571},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.022222222222222223},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.022222222222222223},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.013888888888888888},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.021505376344086023},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}},"e":{"docs":{},",":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"单":{"docs":{},"个":{"docs":{},"值":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"个":{"docs":{},"数":{"docs":{},"组":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.025},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.013071895424836602},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.013888888888888888},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.021505376344086023}}}}}}}}}}}}}}}},":":{"docs":{"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.02608695652173913},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.0111731843575419},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.024193548387096774},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.015037593984962405},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.011764705882352941},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.02857142857142857},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.023255813953488372},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0375},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.04054054054054054},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.05405405405405406},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/segment.html":{"ref":"case/segment.html","tf":0.028037383177570093},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.028037383177570093},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.039473684210526314},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.039473684210526314},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.03260869565217391},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.07692307692307693},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.06976744186046512}}},"值":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.00975609756097561},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.0111731843575419},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.016129032258064516},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}},")":{"docs":{},"{":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":10.047619047619047}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":10.047619047619047}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.01020408163265306}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}}}}}}}}}},"r":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.02631578947368421},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}},"i":{"docs":{},"r":{"docs":{},"t":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":10}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":10}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.01020408163265306}}}}}}},")":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}},":":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.009433962264150943}}}},"{":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.06593406593406594},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.06593406593406594},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.03296703296703297},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.07042253521126761},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.0625},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.016666666666666666},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.034782608695652174},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.025},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.014634146341463415},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.027932960893854747},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.032679738562091505},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.022556390977443608},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.014218009478672985},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.03896103896103896},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.03731343283582089},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.01764705882352941},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.01904761904761905},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.013071895424836602},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.0125},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.047619047619047616},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.024390243902439025},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.031007751937984496},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0375},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.04054054054054054},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.02702702702702703},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"case/segment.html":{"ref":"case/segment.html","tf":0.028037383177570093},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.022727272727272728},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.031914893617021274},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.046296296296296294},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.028037383177570093},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.02631578947368421},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.027586206896551724},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0213903743315508},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.02631578947368421},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.03260869565217391},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.058823529411764705},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.038461538461538464},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.04},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.038461538461538464},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.046511627906976744}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},":":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.03296703296703297},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.03296703296703297},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.07042253521126761},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.03614457831325301},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.017391304347826087},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.016129032258064516},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.009478672985781991},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.01904761904761905},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.0625}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},":":{"docs":{"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099}}}}}}}}},"e":{"docs":{},"l":{"docs":{},":":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}}},"}":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.04},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.038461538461538464},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571}},",":{"docs":{"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.06},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.07692307692307693},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},":":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},":":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}}}}}}},"}":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},":":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"}":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}}}}}}}}}}}}},"}":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}}},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"}":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517}}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},":":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}}}},"g":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.057692307692307696}}}}}}}}},"y":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}}},"参":{"docs":{},"数":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.041666666666666664},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/label.html":{"ref":"base/label.html","tf":0.0136986301369863},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.012578616352201259},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.021739130434782608},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.012578616352201259},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.017543859649122806},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.013071895424836602},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.0125},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.02912621359223301},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.03333333333333333},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.03333333333333333},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.06},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.04},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.038461538461538464},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.047619047619047616},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.03571428571428571},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.04081632653061224},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.012345679012345678},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.010362694300518135},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.010362694300518135},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.04411764705882353},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.02459016393442623},"case/calendar.html":{"ref":"case/calendar.html","tf":0.041666666666666664},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.0625},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.08823529411764706},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.07407407407407407},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.02631578947368421},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.020689655172413793},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.016042780748663103},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.009433962264150943},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.013157894736842105},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.03389830508474576},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.021739130434782608},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.05},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.07142857142857142},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.07142857142857142},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.058823529411764705},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.06451612903225806},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.05405405405405406},"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.11764705882352941},"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555},"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.09090909090909091},"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.034482758620689655},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.038461538461538464},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.04},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.038461538461538464},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.058823529411764705}},"设":{"docs":{},"置":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}},"显":{"docs":{},"示":{"docs":{},"值":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}}}}}}}}}},"考":{"docs":{},"相":{"docs":{},"关":{"docs":{},"c":{"docs":{},"s":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827}}}}}}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"类":{"docs":{},"型":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}}}}}}}}},"可":{"docs":{},"选":{"docs":{},"值":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/label.html":{"ref":"base/label.html","tf":0.0136986301369863},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.012578616352201259},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.021739130434782608},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703},"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.058823529411764705},"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555},"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456},"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616}}}},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"展":{"docs":{},"开":{"docs":{},"收":{"docs":{},"起":{"docs":{},"的":{"docs":{},"面":{"docs":{},"板":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"一":{"docs":{},"行":{"docs":{},"文":{"docs":{},"字":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288}}}}}}}}}}}}}}}}}}}}}}}}}}},"合":{"docs":{},"并":{"docs":{},"单":{"docs":{},"元":{"docs":{},"格":{"docs":{},"的":{"docs":{},"表":{"docs":{},"格":{"docs":{"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301}}}}}}}}}},"理":{"docs":{},"解":{"docs":{},"为":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{},"和":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"两":{"docs":{},"个":{"docs":{},"面":{"docs":{},"板":{"docs":{},"的":{"docs":{},"结":{"docs":{},"合":{"docs":{},"体":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"辑":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{},"中":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"docs":{},"层":{"docs":{},"层":{"docs":{},"级":{"docs":{},"树":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"选":{"docs":{},"多":{"docs":{},"选":{"docs":{},"切":{"docs":{},"换":{"docs":{},"的":{"docs":{},"树":{"docs":{},",":{"docs":{},"继":{"docs":{},"承":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"整":{"docs":{},"列":{"docs":{},"宽":{"docs":{},"的":{"docs":{},"表":{"docs":{},"格":{"docs":{},",":{"docs":{},"继":{"docs":{},"承":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625}}}}}}}}}}}}}}}}}}}}}},"垂":{"docs":{},"直":{"docs":{},"流":{"docs":{},"式":{"docs":{},"布":{"docs":{},"局":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"n":{"docs":{},"列":{"docs":{},"定":{"docs":{},"高":{"docs":{},",":{"docs":{},"一":{"docs":{},"列":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"础":{"docs":{},"属":{"docs":{},"性":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555},"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"类":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}},"元":{"docs":{},"素":{"docs":{"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232}}}},"用":{"docs":{},"法":{"docs":{"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464}}}}},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/label.html":{"ref":"base/label.html","tf":0.0136986301369863},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.012578616352201259},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.021739130434782608},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703},"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.058823529411764705},"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555},"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456},"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}},"似":{"docs":{},"于":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},",":{"docs":{},"但":{"docs":{},"元":{"docs":{},"素":{"docs":{},"并":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"销":{"docs":{},"毁":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"被":{"docs":{},"挂":{"docs":{},"载":{"docs":{},"起":{"docs":{},"来":{"docs":{},"了":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728}}}}}}}}}}}},"水":{"docs":{},"平":{"docs":{},"方":{"docs":{},"向":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288}}}}}}}}}},"页":{"docs":{},"数":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}},"e":{"docs":{},"值":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514}},"可":{"docs":{},"用":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}}}}}}}}}},"未":{"docs":{},"被":{"docs":{},"选":{"docs":{},"中":{"docs":{},"的":{"docs":{},"值":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}},"选":{"docs":{},"中":{"docs":{},"值":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}}},"列":{"docs":{},"宽":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}},"项":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"间":{"docs":{},"隙":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"显":{"docs":{},"示":{"docs":{},"横":{"docs":{},"向":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"左":{"docs":{},"边":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}},"顶":{"docs":{},"部":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}}}}},"行":{"docs":{},"宽":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}},"每":{"docs":{},"个":{"docs":{},"单":{"docs":{},"元":{"docs":{},"格":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"和":{"docs":{},"宽":{"docs":{},"高":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}}}}},"选":{"docs":{},"中":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356}},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}}}},"文":{"docs":{},"本":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}},"值":{"docs":{"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288}}},"项":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105}}}}},"弹":{"docs":{},"出":{"docs":{},"层":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"元":{"docs":{},"素":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}}}}}},"z":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"值":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"见":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}},"见":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}},"可":{"docs":{},"用":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}},"见":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"宽":{"docs":{},"度":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"属":{"docs":{},"性":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"无":{"docs":{},"效":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"用":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}},"见":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"有":{"docs":{},"效":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}},"有":{"docs":{},"效":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"高":{"docs":{},"度":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}},"错":{"docs":{},"误":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732}}}}}},"文":{"docs":{},"本":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}},"可":{"docs":{},"见":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}}},"文":{"docs":{},"本":{"docs":{},"值":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"base/label.html":{"ref":"base/label.html","tf":0.0136986301369863},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.012578616352201259},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}},"样":{"docs":{},"式":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}}}},"框":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}}}}}}}}}}},"值":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.010362694300518135},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.01098901098901099},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.010309278350515464},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.011494252873563218},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}},"样":{"docs":{},"式":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}}}}},"域":{"docs":{},"值":{"docs":{"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608}}},"样":{"docs":{},"式":{"docs":{"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608}}}}}}},"节":{"docs":{},"点":{"docs":{},"展":{"docs":{},"开":{"docs":{},"状":{"docs":{},"态":{"docs":{"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125}}}}}}}},"加":{"docs":{},"载":{"docs":{},"中":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"在":{"docs":{},"继":{"docs":{},"承":{"docs":{},"类":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}}}}}}}}}}}}},"完":{"docs":{},"毕":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"在":{"docs":{},"继":{"docs":{},"承":{"docs":{},"类":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}}}}}}}}}}}}}}}},"标":{"docs":{},"红":{"docs":{},"的":{"docs":{},"关":{"docs":{},"键":{"docs":{},"词":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315}}}}}}},"题":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}}}},"图":{"docs":{},"片":{"docs":{},"宽":{"docs":{},"度":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}},"路":{"docs":{},"径":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}},"高":{"docs":{},"度":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}},"可":{"docs":{},"用":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}}}},"函":{"docs":{},"数":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}},"字":{"docs":{},"段":{"docs":{},"集":{"docs":{},"合":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}},"右":{"docs":{},"往":{"docs":{},"左":{"docs":{},"横":{"docs":{},"向":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"距":{"docs":{},"离":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}},"区":{"docs":{},"间":{"docs":{},"开":{"docs":{},"闭":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}}}}}}}}},"左":{"docs":{},"到":{"docs":{},"右":{"docs":{},"横":{"docs":{},"向":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"距":{"docs":{},"离":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}},"区":{"docs":{},"间":{"docs":{},"开":{"docs":{},"闭":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}}}}}}}}},"纵":{"docs":{},"向":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"距":{"docs":{},"离":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"分":{"docs":{},"页":{"docs":{},"键":{"docs":{},"可":{"docs":{},"见":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}},"页":{"docs":{},"数":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"表":{"docs":{},"头":{"docs":{},"的":{"docs":{},"列":{"docs":{},"宽":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}},"宽":{"docs":{},"度":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}},"高":{"docs":{},"度":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}},"属":{"docs":{},"性":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}},"当":{"docs":{},"前":{"docs":{},"页":{"docs":{},"码":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.029411764705882353}}}},"选":{"docs":{},"中":{"docs":{},"项":{"docs":{},"内":{"docs":{},"容":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105}}}}}}},"值":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}},"总":{"docs":{},"页":{"docs":{},"数":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}}},"画":{"docs":{},"布":{"docs":{},"可":{"docs":{},"视":{"docs":{},"区":{"docs":{},"域":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}},"尺":{"docs":{},"寸":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456}}}}}}},"值":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}}},"全":{"docs":{},"选":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}},"计":{"docs":{},"数":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}},"页":{"docs":{},"码":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"见":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}}}}}},"横":{"docs":{},"向":{"docs":{},"分":{"docs":{},"页":{"docs":{},"键":{"docs":{},"可":{"docs":{},"见":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}}}},"日":{"docs":{},"期":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}},"颜":{"docs":{},"色":{"docs":{},"值":{"docs":{"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353}}}}},"储":{"docs":{},"存":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{},"值":{"docs":{"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353}}}}}}}},"数":{"docs":{},"值":{"docs":{},"区":{"docs":{},"间":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"提":{"docs":{},"示":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}}}},"最":{"docs":{},"大":{"docs":{},"值":{"docs":{},"最":{"docs":{},"小":{"docs":{},"值":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}}}}},"定":{"docs":{},"的":{"docs":{},"年":{"docs":{},"份":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}},"日":{"docs":{},"期":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}},"月":{"docs":{},"份":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}}}},"说":{"docs":{},"明":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.024096385542168676},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.041666666666666664},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.016666666666666666},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.028985507246376812},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.017391304347826087},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.019230769230769232},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.02127659574468085},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.05405405405405406},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.025},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.014634146341463415},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.01675977653631285},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.016129032258064516},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.013071895424836602},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.015037593984962405},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.018957345971563982},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.01948051948051948},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.038461538461538464},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.011764705882352941},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.01904761904761905},"core/widget.html":{"ref":"core/widget.html","tf":0.015306122448979591},"core/single.html":{"ref":"core/single.html","tf":0.027777777777777776},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.024793388429752067},"core/node_button.html":{"ref":"core/node_button.html","tf":0.0625},"core/pane.html":{"ref":"core/pane.html","tf":0.044444444444444446},"base/label.html":{"ref":"base/label.html","tf":0.02054794520547945},"base/bubble.html":{"ref":"base/bubble.html","tf":0.046511627906976744},"base/toast.html":{"ref":"base/toast.html","tf":0.044444444444444446},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"base/button/button.html":{"ref":"base/button/button.html","tf":0.018867924528301886},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.03260869565217391},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.05555555555555555},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.034482758620689655},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.016483516483516484},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.02531645569620253},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.046153846153846156},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.043478260869565216},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.020202020202020204},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.09090909090909091},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.018867924528301886},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.017543859649122806},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.013071895424836602},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.0125},"base/pager.html":{"ref":"base/pager.html","tf":0.02142857142857143},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.037037037037037035},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.03389830508474576},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.03389830508474576},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.015544041450777202},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.016483516483516484},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.015463917525773196},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.017241379310344827},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.09090909090909091},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.0196078431372549},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.019417475728155338},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.022222222222222223},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.022222222222222223},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.013888888888888888},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.031746031746031744},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.03225806451612903},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.04},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.07407407407407407},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.012195121951219513},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.015503875968992248},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.025},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.02702702702702703},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.08695652173913043},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.08695652173913043},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.02702702702702703},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.04},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.038461538461538464},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.047619047619047616},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.03571428571428571},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.04081632653061224},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.012345679012345678},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.010362694300518135},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.010362694300518135},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.029411764705882353},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082},"case/calendar.html":{"ref":"case/calendar.html","tf":0.027777777777777776},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.08823529411764706},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.020202020202020204},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.07407407407407407},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.08695652173913043},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.08695652173913043},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.08695652173913043},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.08695652173913043},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.02631578947368421},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.013793103448275862},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0106951871657754},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.034482758620689655},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.009433962264150943},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.013157894736842105},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.05084745762711865},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.03773584905660377},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.04081632653061224},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.04081632653061224},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.03260869565217391},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.05},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.07142857142857142},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.07142857142857142},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.058823529411764705},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.06451612903225806},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703},"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.058823529411764705},"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.1111111111111111},"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.09090909090909091},"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.1111111111111111},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.05172413793103448},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.09523809523809523},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.09523809523809523},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.09523809523809523},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.09523809523809523},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.09523809523809523},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0392156862745098}}}},"默":{"docs":{},"认":{"docs":{},"值":{"docs":{"core/layout/vertical.html":{"ref":"core/layout/vertical.html","tf":0.022727272727272728},"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099},"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/label.html":{"ref":"base/label.html","tf":0.0136986301369863},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.012578616352201259},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.021739130434782608},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703},"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.058823529411764705},"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555},"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456},"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02},"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}},"显":{"docs":{},"示":{"docs":{},"页":{"docs":{},"码":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"1":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}},"docs":{}}}},"相":{"docs":{},"等":{"docs":{},"时":{"docs":{},"合":{"docs":{},"并":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}},"]":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}},":":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.03389830508474576},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.03296703296703297},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.03773584905660377},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.02197802197802198},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.0425531914893617},"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.028169014084507043},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.012345679012345678},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.010362694300518135},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.010362694300518135},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703},"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.058823529411764705},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":10}}}}}}},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}},"e":{"docs":{},":":{"docs":{"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.044444444444444446},"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.044444444444444446}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}},":":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}},"'":{"docs":{},"请":{"docs":{},"输":{"docs":{},"入":{"docs":{},"公":{"docs":{},"式":{"docs":{},"'":{"docs":{},",":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}}}}},"\"":{"docs":{},"带":{"docs":{},"清":{"docs":{},"除":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745}}}}}}}}}}}}},"请":{"docs":{},"输":{"docs":{},"入":{"docs":{},"内":{"docs":{},"容":{"docs":{},"\"":{"docs":{"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"\"":{"docs":{},",":{"docs":{"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}},"—":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.07692307692307693},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.026785714285714284},"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.08333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.057971014492753624},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.05217391304347826},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.11538461538461539},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.11347517730496454},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.1},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.08780487804878048},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.0670391061452514},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.04032258064516129},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.1111111111111111},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.09774436090225563},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.13744075829383887},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.14935064935064934},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.04477611940298507},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.10256410256410256},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.1},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.047619047619047616},"core/widget.html":{"ref":"core/widget.html","tf":0.17346938775510204},"core/single.html":{"ref":"core/single.html","tf":0.125},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.11570247933884298},"core/node_button.html":{"ref":"core/node_button.html","tf":0.09375},"core/pane.html":{"ref":"core/pane.html","tf":0.15555555555555556},"base/label.html":{"ref":"base/label.html","tf":0.1232876712328767},"base/bubble.html":{"ref":"base/bubble.html","tf":0.06976744186046512},"base/toast.html":{"ref":"base/toast.html","tf":0.044444444444444446},"base/button/button.html":{"ref":"base/button/button.html","tf":0.11320754716981132},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.09782608695652174},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.05555555555555555},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.10344827586206896},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.13186813186813187},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.11392405063291139},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.1076923076923077},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.10869565217391304},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.1111111111111111},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.0880503144654088},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.06140350877192982},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.05228758169934641},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.05},"base/pager.html":{"ref":"base/pager.html","tf":0.11428571428571428},"base/svg.html":{"ref":"base/svg.html","tf":0.033707865168539325},"base/canvas.html":{"ref":"base/canvas.html","tf":0.05},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.07407407407407407},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.06779661016949153},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.06779661016949153},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.13471502590673576},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.14285714285714285},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.13917525773195877},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.14942528735632185},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.1568627450980392},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.0970873786407767},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.125},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.08888888888888889},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.08888888888888889},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.1597222222222222},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.06349206349206349},"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.10752688172043011},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.09146341463414634},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.11627906976744186},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.075},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.06756756756756757},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.05405405405405406},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.04},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.038461538461538464},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.03571428571428571},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.037037037037037035},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.031088082901554404},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.031088082901554404},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.058823529411764705},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.09016393442622951},"case/calendar.html":{"ref":"case/calendar.html","tf":0.041666666666666664},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.07692307692307693},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353},"case/segment.html":{"ref":"case/segment.html","tf":0.102803738317757},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.125},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.11702127659574468},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.10185185185185185},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.102803738317757},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.16494845360824742},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.16161616161616163},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.02631578947368421},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.10344827586206896},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.08021390374331551},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.05188679245283019},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.058823529411764705},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.05405405405405406},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827},"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232},"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0392156862745098}}},"元":{"docs":{},"素":{"docs":{"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}},"的":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827}}}}}}}}},"内":{"docs":{},"空":{"docs":{},"白":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"式":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315}}}}}}}},"的":{"docs":{},"空":{"docs":{},"白":{"docs":{},"处":{"docs":{},"理":{"docs":{},"方":{"docs":{},"式":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}}}}}}},"创":{"docs":{},"造":{"docs":{},"器":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886}}}}}}},"每":{"docs":{},"列":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"所":{"docs":{},"组":{"docs":{},"成":{"docs":{},"的":{"docs":{},"数":{"docs":{},"组":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288},"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827}}}}}}}}}}},"格":{"docs":{},"列":{"docs":{},"宽":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}},"行":{"docs":{},"宽":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}},"水":{"docs":{},"平":{"docs":{},"流":{"docs":{},"式":{"docs":{},"布":{"docs":{},"局":{"docs":{"core/layout/horizontal.html":{"ref":"core/layout/horizontal.html","tf":0.01694915254237288}}}}}},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"n":{"docs":{},"列":{"docs":{},"定":{"docs":{},"宽":{"docs":{},",":{"docs":{},"一":{"docs":{},"列":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"都":{"docs":{},"居":{"docs":{},"中":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223}}}}}}}}}}}}},"方":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{},"水":{"docs":{},"平":{"docs":{},"居":{"docs":{},"中":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"种":{"docs":{},"布":{"docs":{},"局":{"docs":{"core/layout/horizontal_auto.html":{"ref":"core/layout/horizontal_auto.html","tf":0.02127659574468085}}}}}}}}}}}}}}}}}}}}},"分":{"docs":{},"页":{"docs":{},"选":{"docs":{},"项":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}},"印":{"docs":{"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02}}}},":":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.10989010989010989},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.10989010989010989},"base/message.html":{"ref":"base/message.html","tf":0.06382978723404255},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}},"子":{"docs":{},"控":{"docs":{},"件":{"docs":{},"数":{"docs":{},"组":{"docs":{"core/layout/htape.html":{"ref":"core/layout/htape.html","tf":0.01098901098901099},"core/layout/vtape.html":{"ref":"core/layout/vtape.html","tf":0.01098901098901099},"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364}},",":{"docs":{},"二":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"行":{"docs":{},"和":{"docs":{},"列":{"docs":{},"个":{"docs":{},"数":{"docs":{},"就":{"docs":{},"表":{"docs":{},"示":{"docs":{},"了":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232}},"数":{"docs":{},"组":{"docs":{"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}}}},",":{"docs":{},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"代":{"docs":{},"表":{"docs":{},"父":{"docs":{},"节":{"docs":{},"点":{"docs":{},"i":{"docs":{},"d":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"函":{"docs":{},"数":{"docs":{"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}}}}},"组":{"docs":{},"件":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"数":{"docs":{},"组":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}},"配":{"docs":{},"置":{"docs":{"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}},"二":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}},"列":{"docs":{},"宽":{"docs":{"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549},"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0106951871657754},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827}},",":{"docs":{},"必":{"docs":{},"设":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}},"数":{"docs":{},"组":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.012345679012345678},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.010362694300518135},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.010362694300518135},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.009433962264150943}}}}},"数":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428}}},"项":{"docs":{},"宽":{"docs":{},"度":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}},"间":{"docs":{},"的":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}},"表":{"docs":{"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}},"最":{"docs":{},"前":{"docs":{},"添":{"docs":{},"加":{"docs":{},"元":{"docs":{},"素":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}}}}},"后":{"docs":{},"添":{"docs":{},"加":{"docs":{},"元":{"docs":{},"素":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}}}}},"创":{"docs":{},"建":{"docs":{},"器":{"docs":{"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}},"头":{"docs":{"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827}}}}}}},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"左":{"docs":{},"右":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"居":{"docs":{},"中":{"docs":{},"布":{"docs":{},"局":{"docs":{"core/layout/center_adapt.html":{"ref":"core/layout/center_adapt.html","tf":0.0196078431372549}}}}}}}}}},"垂":{"docs":{},"直":{"docs":{},"居":{"docs":{},"中":{"docs":{},"布":{"docs":{},"局":{"docs":{"core/layout/vertical_adapt.html":{"ref":"core/layout/vertical_adapt.html","tf":0.018867924528301886}}}}}}}},"横":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{},"布":{"docs":{},"局":{"docs":{"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827}}}}}}}},"宽":{"docs":{},"度":{"docs":{},"的":{"docs":{},"表":{"docs":{},"格":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839}},",":{"docs":{},"继":{"docs":{},"承":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{},"树":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044}}}}}}}}}}}}}}},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}}}}}},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"项":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"如":{"docs":{},"高":{"docs":{},"亮":{"docs":{},",":{"docs":{},"标":{"docs":{},"红":{"docs":{},"等":{"docs":{},"(":{"docs":{},"详":{"docs":{},"见":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},")":{"docs":{"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}},"年":{"docs":{},"份":{"docs":{},"选":{"docs":{},"择":{"docs":{},"的":{"docs":{},"行":{"docs":{},"为":{"docs":{},"(":{"docs":{},"详":{"docs":{},"见":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},")":{"docs":{"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.058823529411764705},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.06451612903225806}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.06593406593406594},"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.017857142857142856},"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.024096385542168676},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.038461538461538464},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0425531914893617},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.05405405405405406},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0375},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.014634146341463415},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.02843601895734597},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.02564102564102564},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.047058823529411764},"base/label.html":{"ref":"base/label.html","tf":0.0547945205479452},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.06918238993710692},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.05434782608695652},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.05555555555555555},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.03296703296703297},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.018867924528301886},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.017543859649122806},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.013071895424836602},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.0125},"base/pager.html":{"ref":"base/pager.html","tf":0.014285714285714285},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.03389830508474576},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.03389830508474576},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.03626943005181347},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.038461538461538464},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.03608247422680412},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.040229885057471264},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.0784313725490196},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.041666666666666664},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.05426356589147287},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.012345679012345678},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.010362694300518135},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.010362694300518135},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.058823529411764705},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.02459016393442623},"case/calendar.html":{"ref":"case/calendar.html","tf":0.041666666666666664},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353},"case/segment.html":{"ref":"case/segment.html","tf":0.07476635514018691},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.09090909090909091},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.0851063829787234},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.07407407407407407},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.07476635514018691},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.08247422680412371},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.08080808080808081},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.016042780748663103},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.018867924528301886},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.021739130434782608},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.034482758620689655}},",":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.02564102564102564}}}}}},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.015037593984962405},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358}}}}}}},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.011764705882352941},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.034482758620689655}}}}},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":10.037037037037036}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":10}}}}}}}}},"}":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}}},"l":{"docs":{},"l":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.017857142857142856},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/widget.html":{"ref":"core/widget.html","tf":0.01020408163265306},"core/single.html":{"ref":"core/single.html","tf":0.05555555555555555},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"base/label.html":{"ref":"base/label.html","tf":0.0136986301369863},"base/button/button.html":{"ref":"base/button/button.html","tf":0.012578616352201259},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.021739130434782608},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.05555555555555555},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.0196078431372549},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.020618556701030927},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.020202020202020204},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}},")":{"docs":{},",":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521}}}}},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.03571428571428571}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"core/node_button.html":{"ref":"core/node_button.html","tf":10}}}}}}}},":":{"docs":{"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333}}}}},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"\"":{"docs":{},")":{"docs":{"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}},"w":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":10}}}}},"m":{"docs":{},"e":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.01020408163265306}},",":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}}}}}}},"r":{"docs":{},"h":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.02197802197802198}},":":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.0111731843575419},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}},":":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099},"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.04225352112676056}}}}}},"c":{"docs":{},"h":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":10.045454545454545}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}},"o":{"docs":{},"w":{"2":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},")":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}},"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.044642857142857144},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}},":":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.03571428571428571}}},"s":{"docs":{},":":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428}}},"i":{"docs":{},"z":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"e":{"docs":{},":":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}},"a":{"docs":{},"t":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}}}},"e":{"docs":{},"t":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}},"i":{"docs":{},"z":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":10}}}}}}}},"e":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":10}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.0196078431372549},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04}}}}}},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},":":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}}}},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}},"g":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}},":":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},":":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":10.01923076923077}}}}}}}}}}}}}},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"u":{"docs":{},"s":{"docs":{},"大":{"docs":{},"小":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}},",":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}}}}}},"右":{"docs":{},"边":{"docs":{},"容":{"docs":{},"器":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}}},"左":{"docs":{},"右":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"值":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}}}}}}}}}}},"区":{"docs":{},"间":{"docs":{},"初":{"docs":{},"始":{"docs":{},"状":{"docs":{},"态":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}},"左":{"docs":{},"右":{"docs":{},"分":{"docs":{},"离":{"docs":{},",":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"方":{"docs":{},"向":{"docs":{},"居":{"docs":{},"中":{"docs":{},"容":{"docs":{},"器":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}}}}}}}}}},"边":{"docs":{},"容":{"docs":{},"器":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}}},"左":{"docs":{},"右":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"值":{"docs":{"core/layout/left_right_vertical_adapt.html":{"ref":"core/layout/left_right_vertical_adapt.html","tf":0.01098901098901099}}}}}}}}}}}}}}},"区":{"docs":{},"间":{"docs":{},"初":{"docs":{},"始":{"docs":{},"状":{"docs":{},"态":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}},"靠":{"docs":{},"左":{"docs":{},"/":{"docs":{},"右":{"docs":{},"对":{"docs":{},"齐":{"docs":{},"的":{"docs":{},"自":{"docs":{},"由":{"docs":{},"浮":{"docs":{},"动":{"docs":{},"布":{"docs":{},"局":{"docs":{"core/layout/flow.html":{"ref":"core/layout/flow.html","tf":0.01098901098901099}}}}}}}}}}}}}}},"非":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"高":{"docs":{},"度":{"docs":{},"固":{"docs":{},"定":{"docs":{},"的":{"docs":{},"面":{"docs":{},"板":{"docs":{"core/layout/center.html":{"ref":"core/layout/center.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}},"/":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}},"/":{"7":{"docs":{},"表":{"docs":{},"示":{"docs":{},"八":{"docs":{},"月":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}}}},"docs":{"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{"core/layout/horizontal_adapt.html":{"ref":"core/layout/horizontal_adapt.html","tf":0.017241379310344827}}}}}}}},"必":{"docs":{},"选":{"docs":{},"项":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"当":{"docs":{},"前":{"docs":{},"页":{"docs":{},",":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082}}}}}}}}},"最":{"docs":{},"大":{"docs":{},"日":{"docs":{},"期":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}},"小":{"docs":{},"日":{"docs":{},"期":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}}}}},"浮":{"docs":{},"动":{"docs":{},"的":{"docs":{},"水":{"docs":{},"平":{"docs":{},"居":{"docs":{},"中":{"docs":{},"布":{"docs":{},"局":{"docs":{},",":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"不":{"docs":{},"定":{"docs":{},"元":{"docs":{},"素":{"docs":{},"的":{"docs":{},"水":{"docs":{},"平":{"docs":{},"居":{"docs":{},"中":{"docs":{"core/layout/horizontal_float.html":{"ref":"core/layout/horizontal_float.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}}}}},"布":{"docs":{},"局":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"居":{"docs":{},"中":{"docs":{},"容":{"docs":{},"器":{"docs":{"core/layout/float_center.html":{"ref":"core/layout/float_center.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"下":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"固":{"docs":{},"定":{"docs":{},"/":{"docs":{},"左":{"docs":{},"右":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"固":{"docs":{},"定":{"docs":{},",":{"docs":{},"中":{"docs":{},"间":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"/":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{"core/layout/border.html":{"ref":"core/layout/border.html","tf":0.014084507042253521}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"页":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}},"传":{"docs":{},"结":{"docs":{},"束":{"docs":{},"后":{"docs":{},"触":{"docs":{},"发":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}}}},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"触":{"docs":{},"发":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}}}}}},"网":{"docs":{},"格":{"docs":{},"布":{"docs":{},"局":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428}}}},"视":{"docs":{},"图":{"docs":{},"集":{"docs":{},"合":{"docs":{},",":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"组":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"网":{"docs":{},"格":{"docs":{},"状":{"docs":{},"的":{"docs":{},"大":{"docs":{},"集":{"docs":{},"合":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"式":{"docs":{},"的":{"docs":{},"表":{"docs":{},"格":{"docs":{},",":{"docs":{},"继":{"docs":{},"承":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}},"行":{"docs":{},"数":{"docs":{"core/layout/grid.html":{"ref":"core/layout/grid.html","tf":0.008928571428571428}}},"高":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}},"为":{"docs":{},",":{"docs":{},"如":{"docs":{},"高":{"docs":{},"亮":{"docs":{},",":{"docs":{},"标":{"docs":{},"红":{"docs":{},"等":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}}}}}},",":{"docs":{},"标":{"docs":{},"红":{"docs":{},"等":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}}}},"宽":{"docs":{},",":{"docs":{},"必":{"docs":{},"设":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827}}}}}},"表":{"docs":{},"头":{"docs":{"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827}}}}},"内":{"docs":{},"部":{"docs":{},"元":{"docs":{},"素":{"docs":{},"间":{"docs":{},"横":{"docs":{},"向":{"docs":{},"距":{"docs":{},"离":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}}},"纵":{"docs":{},"向":{"docs":{},"距":{"docs":{},"离":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}}}}}},"前":{"docs":{},"插":{"docs":{},"入":{"docs":{"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}},"后":{"docs":{},"插":{"docs":{},"入":{"docs":{"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}},"容":{"docs":{},"项":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}}}},"刷":{"docs":{},"新":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}},"列":{"docs":{},"表":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827}}}},"或":{"docs":{},"者":{"docs":{},"清":{"docs":{},"空":{"docs":{},"列":{"docs":{},"表":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}},"文":{"docs":{},"本":{"docs":{},"框":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"i":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"需":{"docs":{},"要":{"docs":{},"用":{"docs":{},"到":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}}}}}}}}}}}}}}}}}}}},"内":{"docs":{},"容":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"选":{"docs":{},"项":{"docs":{"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216}}}}}}}}},"增":{"docs":{},"加":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"内":{"docs":{},"容":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}}},"行":{"docs":{"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301}}},"项":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}}}},"方":{"docs":{},"法":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.034482758620689655},"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.046511627906976744},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}},"名":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}},"是":{"docs":{},"否":{"docs":{},"出":{"docs":{},"现":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338}}}}}}},"显":{"docs":{},"示":{"docs":{},"横":{"docs":{},"向":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}},"纵":{"docs":{},"向":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}},"总":{"docs":{},"页":{"docs":{},"数":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}},"阴":{"docs":{},"影":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}},"提":{"docs":{},"示":{"docs":{},"信":{"docs":{},"息":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}},"尾":{"docs":{},"页":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}},"首":{"docs":{},"页":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}},"阻":{"docs":{},"止":{"docs":{},"事":{"docs":{},"件":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356}}}},"冒":{"docs":{},"泡":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356}}}}}},"隐":{"docs":{},"藏":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"层":{"docs":{},"检":{"docs":{},"测":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"调":{"docs":{},"整":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}}}},"高":{"docs":{},"度":{"docs":{},"调":{"docs":{},"整":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}}}},"合":{"docs":{},"并":{"docs":{},"单":{"docs":{},"元":{"docs":{},"格":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}},"冻":{"docs":{},"结":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403}},"列":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625}}},"表":{"docs":{},"头":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}},"单":{"docs":{},"元":{"docs":{},"格":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}},"调":{"docs":{},"整":{"docs":{},"大":{"docs":{},"小":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625}}}},"列":{"docs":{},"宽":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}}}}},"在":{"docs":{},"调":{"docs":{},"整":{"docs":{},"列":{"docs":{},"宽":{"docs":{},"或":{"docs":{},"区":{"docs":{},"域":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},"它":{"docs":{},"们":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"变":{"docs":{},"化":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"尾":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}},"默":{"docs":{},"认":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}},"数":{"docs":{},"据":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}}}}},"显":{"docs":{},"示":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"页":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}}}}}}},"为":{"docs":{},"单":{"docs":{},"页":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}},"最":{"docs":{},"大":{"docs":{},"日":{"docs":{},"期":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}},"小":{"docs":{},"日":{"docs":{},"期":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}}}},"匹":{"docs":{},"配":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}},"正":{"docs":{},"在":{"docs":{},"搜":{"docs":{},"索":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}},"自":{"docs":{},"动":{"docs":{},"同":{"docs":{},"步":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}},"搜":{"docs":{},"索":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}},"停":{"docs":{},"止":{"docs":{},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"、":{"docs":{},"m":{"docs":{},"o":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"u":{"docs":{},"p":{"docs":{},"事":{"docs":{},"件":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}},"向":{"docs":{},"上":{"docs":{},"冒":{"docs":{},"泡":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}}}}}}},"效":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}},"上":{"docs":{},"一":{"docs":{},"页":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}},"下":{"docs":{},"一":{"docs":{},"页":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.022222222222222223},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.022222222222222223},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.013888888888888888},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}},"前":{"docs":{},"一":{"docs":{},"页":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}}},"后":{"docs":{},"一":{"docs":{},"页":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}}}},"可":{"docs":{},"用":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.01020408163265306}}},"见":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.01020408163265306}}},"改":{"docs":{},"变":{"docs":{},"列":{"docs":{},"大":{"docs":{},"小":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839}}}}}}}},"是":{"docs":{},"根":{"docs":{},"组":{"docs":{},"件":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}},"只":{"docs":{},"读":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.027777777777777776},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}}},"允":{"docs":{},"许":{"docs":{},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"次":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}},"被":{"docs":{},"选":{"docs":{},"中":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}},"无":{"docs":{},"论":{"docs":{},"如":{"docs":{},"何":{"docs":{},"都":{"docs":{},"要":{"docs":{},"居":{"docs":{},"中":{"docs":{},",":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}}}}}}}},"去":{"docs":{},"掉":{"docs":{},"边":{"docs":{},"框":{"docs":{},"和":{"docs":{},"背":{"docs":{},"景":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}}}}}}}}},"块":{"docs":{},"状":{"docs":{},"显":{"docs":{},"示":{"docs":{},",":{"docs":{},"即":{"docs":{},"不":{"docs":{},"显":{"docs":{},"示":{"docs":{},"边":{"docs":{},"框":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"最":{"docs":{},"小":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}}}}}}}},"允":{"docs":{},"许":{"docs":{},"空":{"docs":{},"值":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}},"退":{"docs":{},"出":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"函":{"docs":{},"数":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}}},"为":{"docs":{},"空":{"docs":{"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02}}}}}},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"选":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}}},"含":{"docs":{},"有":{"docs":{},"数":{"docs":{},"值":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}},"冻":{"docs":{},"结":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931}},"列":{"docs":{"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301}}}}},"调":{"docs":{},"整":{"docs":{},"时":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625}}}}}}}},"动":{"docs":{},"态":{"docs":{},"显":{"docs":{},"示":{"docs":{},"上":{"docs":{},"一":{"docs":{},"页":{"docs":{},"、":{"docs":{},"下":{"docs":{},"一":{"docs":{},"页":{"docs":{},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"时":{"docs":{},"生":{"docs":{},"效":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"首":{"docs":{},"页":{"docs":{},"、":{"docs":{},"尾":{"docs":{},"页":{"docs":{},",":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}}}}}}},"首":{"docs":{},"页":{"docs":{},"、":{"docs":{},"尾":{"docs":{},"页":{"docs":{},",":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"时":{"docs":{},"生":{"docs":{},"效":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"选":{"docs":{},"中":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}}}}},"用":{"docs":{},"法":{"docs":{"core/layout/table.html":{"ref":"core/layout/table.html","tf":0.012048192771084338},"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}},"于":{"docs":{},"继":{"docs":{},"承":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356}}}}}}},"表":{"docs":{},"格":{"docs":{},"预":{"docs":{},"览":{"docs":{},",":{"docs":{},"继":{"docs":{},"承":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"元":{"docs":{},"格":{"docs":{},"布":{"docs":{},"局":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}}},"宽":{"docs":{},"度":{"docs":{},"集":{"docs":{},"合":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}},"选":{"docs":{},"框":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},",":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"显":{"docs":{},"示":{"docs":{},"项":{"docs":{},"不":{"docs":{},"会":{"docs":{},"改":{"docs":{},"变":{"docs":{"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125}}}}}}}}}}}}}}}}}}}}}},"层":{"docs":{},"级":{"docs":{},"树":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"换":{"docs":{},"新":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"core/layout/td.html":{"ref":"core/layout/td.html","tf":0.020833333333333332}}}}}}},"改":{"docs":{},"树":{"docs":{},"结":{"docs":{},"构":{"docs":{},"内":{"docs":{},"容":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.02608695652173913},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.00975609756097561},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.0111731843575419},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.016129032258064516},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.015037593984962405},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.018957345971563982},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.01948051948051948},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.011764705882352941},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.01904761904761905},"core/widget.html":{"ref":"core/widget.html","tf":0.01020408163265306},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.013888888888888888},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.031746031746031744},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.015503875968992248},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.04},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.038461538461538464},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.014150943396226415},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.058823529411764705},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.06451612903225806}},":":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}}},"(":{"docs":{},"{":{"docs":{},"y":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}}}}}}}}}},"e":{"docs":{},"j":{"docs":{},"c":{"docs":{},"t":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}},"p":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}},"e":{"docs":{},"n":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125}},":":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333}}}}},"t":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}},"x":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}},"s":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}}}}}}}},"f":{"docs":{},"f":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}},":":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}}}}}},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}}},"c":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}},"e":{"docs":{},":":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.015037593984962405}}}}},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}},"一":{"docs":{},"组":{"docs":{},"具":{"docs":{},"有":{"docs":{},"相":{"docs":{},"同":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{},"集":{"docs":{},"合":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}}}}}}}}}}}}},"与":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"树":{"docs":{},"状":{"docs":{},"结":{"docs":{},"构":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"动":{"docs":{},"态":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},",":{"docs":{},"事":{"docs":{},"先":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"知":{"docs":{},"道":{"docs":{},"列":{"docs":{},"表":{"docs":{},"项":{"docs":{},"高":{"docs":{},"度":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"处":{"docs":{},"理":{"docs":{},"大":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"般":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"父":{"docs":{},"级":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"以":{"docs":{},"点":{"docs":{},"击":{"docs":{},"的":{"docs":{},"区":{"docs":{},"域":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{},"称":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.00975609756097561},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.0111731843575419},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/widget.html":{"ref":"core/widget.html","tf":0.01020408163265306},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.01652892561983471},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/pager.html":{"ref":"base/pager.html","tf":0.014285714285714285},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555},"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616}}}},"回":{"docs":{},"调":{"docs":{},"参":{"docs":{},"数":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.009478672985781991},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.012987012987012988},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.02564102564102564},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/widget.html":{"ref":"core/widget.html","tf":0.01020408163265306},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.01652892561983471},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555},"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616}}}}},"车":{"docs":{},"事":{"docs":{},"件":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}},"但":{"docs":{},"是":{"docs":{},"值":{"docs":{},"不":{"docs":{},"合":{"docs":{},"法":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}},"对":{"docs":{},"外":{"docs":{},"方":{"docs":{},"法":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/button_tree.html":{"ref":"core/abstract/button_tree.html","tf":0.03225806451612903},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125},"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385},"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216},"case/combo/editor_icon_check_combo.html":{"ref":"case/combo/editor_icon_check_combo.html","tf":0.043478260869565216},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"detailed/tree/single_level_tree.html":{"ref":"detailed/tree/single_level_tree.html","tf":0.043478260869565216},"detailed/tree/select_level_tree.html":{"ref":"detailed/tree/select_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216},"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":0.043478260869565216},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555},"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555},"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616},"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616},"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616}}}}},"齐":{"docs":{},"方":{"docs":{},"式":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}}},"向":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}}}}}},"执":{"docs":{},"行":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"一":{"docs":{},"般":{"docs":{},"不":{"docs":{},"会":{"docs":{},"手":{"docs":{},"动":{"docs":{},"调":{"docs":{},"用":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"i":{"docs":{},"d":{"docs":{},"获":{"docs":{},"取":{"docs":{},"节":{"docs":{},"点":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}}}},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}}}},"返":{"docs":{},"回":{"docs":{},"元":{"docs":{},"素":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"值":{"docs":{},"获":{"docs":{},"取":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"在":{"docs":{},"数":{"docs":{},"组":{"docs":{},"中":{"docs":{},"的":{"docs":{},"索":{"docs":{},"引":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}}}}}}}},"节":{"docs":{},"点":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}}}}}},"组":{"docs":{},"件":{"docs":{},"名":{"docs":{},"称":{"docs":{},"获":{"docs":{},"取":{"docs":{},"组":{"docs":{},"件":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}}},"制":{"docs":{},"定":{"docs":{},"参":{"docs":{},"数":{"docs":{},"打":{"docs":{},"印":{"docs":{},"出":{"docs":{},"路":{"docs":{},"径":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}},"值":{"docs":{},"获":{"docs":{},"取":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}}},"索":{"docs":{},"引":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}},"节":{"docs":{},"点":{"docs":{"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}}}}}}}},"节":{"docs":{},"点":{"docs":{},"所":{"docs":{},"在":{"docs":{},"方":{"docs":{},"向":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}}}}}}}}},"移":{"docs":{},"除":{"docs":{},"制":{"docs":{},"定":{"docs":{},"元":{"docs":{},"素":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}}}}}},"指":{"docs":{},"定":{"docs":{},"索":{"docs":{},"引":{"docs":{},"处":{"docs":{},"的":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"面":{"docs":{},"板":{"docs":{},"页":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}}}}},"组":{"docs":{},"件":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}},"获":{"docs":{},"取":{"docs":{},"所":{"docs":{},"有":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}},"未":{"docs":{},"被":{"docs":{},"选":{"docs":{},"中":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}}},"的":{"docs":{},"叶":{"docs":{},"子":{"docs":{},"节":{"docs":{},"点":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}},"被":{"docs":{},"选":{"docs":{},"中":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}},"叶":{"docs":{},"节":{"docs":{},"点":{"docs":{"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}}}}}},"选":{"docs":{},"项":{"docs":{},"值":{"docs":{"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232}}}}}},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"选":{"docs":{},"中":{"docs":{},"的":{"docs":{},"值":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}}}},"被":{"docs":{},"选":{"docs":{},"中":{"docs":{},"的":{"docs":{},"值":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"左":{"docs":{},"边":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}},"最":{"docs":{},"大":{"docs":{},"偏":{"docs":{},"移":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}},"顶":{"docs":{},"部":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}},"最":{"docs":{},"大":{"docs":{},"偏":{"docs":{},"移":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258}}}}}}},"弹":{"docs":{},"出":{"docs":{},"层":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}},"选":{"docs":{},"中":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}}}},"导":{"docs":{},"航":{"docs":{},"页":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"面":{"docs":{},"板":{"docs":{},"页":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}}}}},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}}},"项":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105}}}}},"搜":{"docs":{},"索":{"docs":{},"关":{"docs":{},"键":{"docs":{},"词":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}},"数":{"docs":{},"组":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}},"列":{"docs":{},"表":{"docs":{},"栏":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"面":{"docs":{},"板":{"docs":{},"页":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}}},"g":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"值":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}}}}},"t":{"docs":{},"l":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"值":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514}}}}}}}},"组":{"docs":{},"件":{"docs":{},"名":{"docs":{},"称":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"宽":{"docs":{},"度":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"高":{"docs":{},"度":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"作":{"docs":{},"用":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356}}}}}}}}},"文":{"docs":{},"本":{"docs":{},"值":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}},"框":{"docs":{},"值":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.010362694300518135},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.01098901098901099},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.010309278350515464},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.011494252873563218},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"次":{"docs":{},"输":{"docs":{},"入":{"docs":{},"的":{"docs":{},"有":{"docs":{},"效":{"docs":{},"值":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}}}}},"样":{"docs":{},"式":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}}}},"域":{"docs":{},"值":{"docs":{"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608}}},"样":{"docs":{},"式":{"docs":{"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608}}}}}},"件":{"docs":{},"名":{"docs":{},"称":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}}},"图":{"docs":{},"片":{"docs":{},"宽":{"docs":{},"度":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}},"路":{"docs":{},"径":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}},"高":{"docs":{},"度":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}}},"错":{"docs":{},"误":{"docs":{},"文":{"docs":{},"本":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}},"公":{"docs":{},"式":{"docs":{},"框":{"docs":{},"内":{"docs":{},"容":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}},"可":{"docs":{},"用":{"docs":{},"字":{"docs":{},"段":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}},"校":{"docs":{},"验":{"docs":{},"内":{"docs":{},"容":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}},"列":{"docs":{},"项":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}},"右":{"docs":{},"往":{"docs":{},"左":{"docs":{},"横":{"docs":{},"向":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"距":{"docs":{},"离":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}}},"左":{"docs":{},"到":{"docs":{},"右":{"docs":{},"横":{"docs":{},"向":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"距":{"docs":{},"离":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}}},"横":{"docs":{},"向":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{},"宽":{"docs":{},"度":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"中":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"列":{"docs":{},"项":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"间":{"docs":{},"隙":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}}}}}}}}},"纵":{"docs":{},"向":{"docs":{},"滚":{"docs":{},"动":{"docs":{},"条":{"docs":{},"宽":{"docs":{},"度":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}},"距":{"docs":{},"离":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"页":{"docs":{},"码":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082}}}}}},"计":{"docs":{},"算":{"docs":{},"后":{"docs":{},"的":{"docs":{},"列":{"docs":{},"项":{"docs":{},"上":{"docs":{},"下":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"间":{"docs":{},"隙":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"间":{"docs":{},"隙":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}}}}}},"间":{"docs":{},"隙":{"docs":{},"大":{"docs":{},"小":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403}}}}}},"当":{"docs":{},"前":{"docs":{},"页":{"docs":{},"码":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.014285714285714285},"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}},"选":{"docs":{},"中":{"docs":{},"项":{"docs":{},"内":{"docs":{},"容":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105}}}},"的":{"docs":{},"i":{"docs":{},"d":{"docs":{},"属":{"docs":{},"性":{"docs":{"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"值":{"docs":{"detailed/file_manager.html":{"ref":"detailed/file_manager.html","tf":0.023255813953488372}}}}}}}}}}}}}},"未":{"docs":{},"选":{"docs":{},"中":{"docs":{},"植":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}},"的":{"docs":{},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}}}}}},"水":{"docs":{},"平":{"docs":{},"向":{"docs":{},"页":{"docs":{},"码":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.01639344262295082}}}}}}},"需":{"docs":{},"要":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"的":{"docs":{},"值":{"docs":{"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125}}}}}}}},"颜":{"docs":{},"色":{"docs":{},"值":{"docs":{"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353}}}}},"值":{"docs":{"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}}}},"得":{"docs":{},"列":{"docs":{},"项":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"间":{"docs":{},"隙":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}},"计":{"docs":{},"算":{"docs":{},"后":{"docs":{},"的":{"docs":{},"列":{"docs":{},"宽":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}},"值":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"case/trigger/text_trigger.html":{"ref":"case/trigger/text_trigger.html","tf":0.05263157894736842},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}}},"所":{"docs":{},"以":{"docs":{},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}}},"有":{"docs":{},"叶":{"docs":{},"节":{"docs":{},"点":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}}}},"日":{"docs":{},"期":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}},"垂":{"docs":{},"直":{"docs":{},"页":{"docs":{},"数":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"水":{"docs":{},"平":{"docs":{},"页":{"docs":{},"数":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"当":{"docs":{},"前":{"docs":{},"值":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}},"根":{"docs":{},"据":{"docs":{},"给":{"docs":{},"定":{"docs":{},"的":{"docs":{},"点":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"返":{"docs":{},"回":{"docs":{},"元":{"docs":{},"素":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.02247191011235955}}}}}}}}}}}}}}},"见":{"docs":{},"上":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333}}}},"选":{"docs":{},"择":{"docs":{},"类":{"docs":{},"型":{"docs":{"core/abstract/button_group.html":{"ref":"core/abstract/button_group.html","tf":0.008333333333333333},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514}}}},"文":{"docs":{},"件":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}},"列":{"docs":{},"表":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}},"字":{"docs":{},"段":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"case/trigger/select_text_trigger.html":{"ref":"case/trigger/select_text_trigger.html","tf":0.037037037037037035}}}}}}}}}}}},"中":{"docs":{},"了":{"docs":{},"就":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"取":{"docs":{},"消":{"docs":{},",":{"docs":{},"与":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"是":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"下":{"docs":{},"是":{"docs":{},"否":{"docs":{},"显":{"docs":{},"示":{"docs":{},"阴":{"docs":{},"影":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}},"文":{"docs":{},"本":{"docs":{},"框":{"docs":{},"文":{"docs":{},"本":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}},"日":{"docs":{},"期":{"docs":{},"或":{"docs":{},"者":{"docs":{},"退":{"docs":{},"出":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"状":{"docs":{},"态":{"docs":{},"触":{"docs":{},"发":{"docs":{"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.05},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.07142857142857142},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.07142857142857142}}}}}}}}}}}}}},"的":{"docs":{},"初":{"docs":{},"始":{"docs":{},"年":{"docs":{},"月":{"docs":{"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}}}}}}}},"色":{"docs":{},"控":{"docs":{},"件":{"docs":{"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464}},"弹":{"docs":{},"窗":{"docs":{"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353}}}}}}}},"优":{"docs":{},"化":{"docs":{},"过":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},",":{"docs":{},"刷":{"docs":{},"新":{"docs":{},"不":{"docs":{},"会":{"docs":{},"删":{"docs":{},"掉":{"docs":{},"所":{"docs":{},"有":{"docs":{},"元":{"docs":{},"素":{"docs":{"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827}}}}}}}}}}}}}}}}}}}}}},"渲":{"docs":{},"染":{"docs":{},"列":{"docs":{},"表":{"docs":{"core/abstract/virtual_group.html":{"ref":"core/abstract/virtual_group.html","tf":0.014492753623188406},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}},"组":{"docs":{},"件":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}},"当":{"docs":{},"前":{"docs":{},"元":{"docs":{},"素":{"docs":{"core/abstract/custom_tree.html":{"ref":"core/abstract/custom_tree.html","tf":0.008695652173913044}}}},"页":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},",":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}},"状":{"docs":{},"态":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"效":{"docs":{},"(":{"docs":{},"输":{"docs":{},"入":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.01904761904761905},"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.0625},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364}}},"i":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},")":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}},",":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}},"v":{"docs":{},")":{"docs":{"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.014925373134328358}}}},"注":{"docs":{},":":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"f":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"y":{"docs":{},",":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},",":{"docs":{},"x":{"docs":{},",":{"docs":{},"y":{"docs":{},",":{"docs":{},"w":{"docs":{},",":{"docs":{},"h":{"docs":{},")":{"docs":{},"分":{"docs":{},"别":{"docs":{},"表":{"docs":{},"示":{"docs":{},"图":{"docs":{},"片":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"原":{"docs":{},"点":{"docs":{},"横":{"docs":{},"、":{"docs":{},"纵":{"docs":{},"坐":{"docs":{},"标":{"docs":{},",":{"docs":{},"宽":{"docs":{},"、":{"docs":{},"高":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},")":{"docs":{},"分":{"docs":{},"别":{"docs":{},"表":{"docs":{},"示":{"docs":{},"画":{"docs":{},"布":{"docs":{},"宽":{"docs":{},"高":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}}}}}}},"x":{"0":{"docs":{},",":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.03333333333333333},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}},"docs":{},",":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}},"y":{"docs":{},")":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.02247191011235955}}},",":{"docs":{},"r":{"docs":{},")":{"docs":{},"分":{"docs":{},"别":{"docs":{},"表":{"docs":{},"示":{"docs":{},"原":{"docs":{},"点":{"docs":{},"的":{"docs":{},"横":{"docs":{},"坐":{"docs":{},"标":{"docs":{},",":{"docs":{},"纵":{"docs":{},"坐":{"docs":{},"标":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"半":{"docs":{},"径":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},",":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{},"分":{"docs":{},"别":{"docs":{},"表":{"docs":{},"示":{"docs":{},"原":{"docs":{},"点":{"docs":{},"的":{"docs":{},"横":{"docs":{},"、":{"docs":{},"纵":{"docs":{},"坐":{"docs":{},"标":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"水":{"docs":{},"平":{"docs":{},"半":{"docs":{},"径":{"docs":{},"和":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"半":{"docs":{},"径":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},")":{"docs":{},"分":{"docs":{},"别":{"docs":{},"表":{"docs":{},"示":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"原":{"docs":{},"点":{"docs":{},"横":{"docs":{},"、":{"docs":{},"纵":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"以":{"docs":{},"及":{"docs":{},"要":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"内":{"docs":{},"容":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},",":{"docs":{},"h":{"docs":{},",":{"docs":{},"r":{"docs":{},")":{"docs":{},"分":{"docs":{},"别":{"docs":{},"表":{"docs":{},"示":{"docs":{},"左":{"docs":{},"上":{"docs":{},"角":{"docs":{},"的":{"docs":{},"横":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"、":{"docs":{},"纵":{"docs":{},"坐":{"docs":{},"标":{"docs":{},",":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"宽":{"docs":{},"、":{"docs":{},"高":{"docs":{},"、":{"docs":{},"以":{"docs":{},"及":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"的":{"docs":{},"圆":{"docs":{},"角":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},")":{"docs":{},"分":{"docs":{},"别":{"docs":{},"表":{"docs":{},"示":{"docs":{},"左":{"docs":{},"上":{"docs":{},"角":{"docs":{},"的":{"docs":{},"横":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"、":{"docs":{},"纵":{"docs":{},"坐":{"docs":{},"标":{"docs":{},",":{"docs":{},"矩":{"docs":{},"形":{"docs":{},"宽":{"docs":{},"、":{"docs":{},"高":{"docs":{},"、":{"docs":{},"以":{"docs":{},"及":{"docs":{},"绘":{"docs":{},"制":{"docs":{},"的":{"docs":{},"颜":{"docs":{},"色":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},",":{"docs":{},"f":{"docs":{},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},"分":{"docs":{},"别":{"docs":{},"表":{"docs":{},"示":{"docs":{},"可":{"docs":{},"视":{"docs":{},"区":{"docs":{},"域":{"docs":{},"原":{"docs":{},"点":{"docs":{},"坐":{"docs":{},"标":{"docs":{},"以":{"docs":{},"及":{"docs":{},"可":{"docs":{},"视":{"docs":{},"区":{"docs":{},"域":{"docs":{},"宽":{"docs":{},"高":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"是":{"docs":{},"否":{"docs":{},"根":{"docs":{},"据":{"docs":{},"可":{"docs":{},"视":{"docs":{},"区":{"docs":{},"域":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"整":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"w":{"1":{"docs":{},",":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}},"docs":{}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.01282051282051282},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567},"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.009478672985781991},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.01098901098901099},"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.03076923076923077},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.012578616352201259},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.010362694300518135},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.01098901098901099},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.010309278350515464},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.011494252873563218},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.0196078431372549},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.021505376344086023},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.058823529411764705},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.020202020202020204},"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.07407407407407407},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.013157894736842105},"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.03389830508474576},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.021739130434782608},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.05},"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.07142857142857142},"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.07142857142857142},"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.058823529411764705},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.06451612903225806},"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.09090909090909091},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.034482758620689655}},"名":{"docs":{},"称":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}},"方":{"docs":{},"法":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}},"详":{"docs":{},"见":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}},"条":{"docs":{},"相":{"docs":{},"对":{"docs":{},"于":{"docs":{},"左":{"docs":{},"边":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}},"顶":{"docs":{},"部":{"docs":{},"的":{"docs":{},"偏":{"docs":{},"移":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"个":{"docs":{},"数":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}}}}},"事":{"docs":{},"件":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629}}}}}},"超":{"docs":{},"出":{"docs":{},"可":{"docs":{},"视":{"docs":{},"范":{"docs":{},"围":{"docs":{},"区":{"docs":{},"域":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"多":{"docs":{},"少":{"docs":{},"列":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}},"行":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}}}},"多":{"docs":{},"少":{"docs":{},"高":{"docs":{},"度":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703}}}}}}}}},"的":{"docs":{},"高":{"docs":{},"度":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}}}}}}}}}}},"还":{"docs":{},"原":{"docs":{},"列":{"docs":{},"表":{"docs":{},"设":{"docs":{},"置":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641},"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835},"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125}}}}}}}},"预":{"docs":{},"估":{"docs":{},"列":{"docs":{},"宽":{"docs":{},",":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"时":{"docs":{},"必":{"docs":{},"设":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"行":{"docs":{},"宽":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"时":{"docs":{},"必":{"docs":{},"设":{"docs":{"core/abstract/grid_view.html":{"ref":"core/abstract/grid_view.html","tf":0.00641025641025641}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"%":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}},"*":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.014184397163120567}}},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}}}}}}}},"s":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}},":":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}},"层":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}},"x":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}},":":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}},":":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0392156862745098}}}},"r":{"docs":{},"k":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"s":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},",":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}},"u":{"docs":{},"p":{"docs":{},",":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}},",":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}},":":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":10.035714285714286}}}}}}}},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}}}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}}},"_":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}}}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{},"s":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},":":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}}}}}}}}}}}},":":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"base/message.html":{"ref":"base/message.html","tf":10}},"e":{"docs":{},",":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.0851063829787234}}}}}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"s":{"docs":{},":":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":10}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":10}}}}}},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"detailed/tree/multi_select_level_tree.html":{"ref":"detailed/tree/multi_select_level_tree.html","tf":10.043478260869565}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":10.04}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":10.043478260869565}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"_":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":10}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":10}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":10}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":10}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":10.055555555555555}}}}}}}}}}}}}}}},"}":{"docs":{},")":{"docs":{"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}}}}},"x":{"1":{"docs":{},",":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.03333333333333333},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}},"2":{"docs":{},",":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}},"y":{"2":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},")":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}}}}},"docs":{}}}},"docs":{},":":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}},"y":{"0":{"docs":{},",":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.03333333333333333},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}},"为":{"docs":{},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"分":{"docs":{},"支":{"docs":{},"到":{"docs":{},"x":{"1":{"docs":{},",":{"docs":{},"y":{"1":{"docs":{},",":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}},"docs":{}}}},"docs":{}}}}}}}}}}},"1":{"docs":{},")":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}},",":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}},"2":{"docs":{},")":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}},"docs":{},":":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}},",":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}},":":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":10.025}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":10.029411764705882}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":10.03225806451613}}}}}}}}}}}}}}}},"b":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"r":{"docs":{"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903}}}}}}}}}}}}}},"横":{"docs":{},"向":{"docs":{},"超":{"docs":{},"出":{"docs":{},"可":{"docs":{},"视":{"docs":{},"范":{"docs":{},"围":{"docs":{},"区":{"docs":{},"域":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}}}}}}}},"分":{"docs":{},"支":{"docs":{},"的":{"docs":{},"树":{"docs":{"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02}}}}}},"滚":{"docs":{},"动":{"docs":{},"距":{"docs":{},"离":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.012345679012345678},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.010362694300518135},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.010362694300518135},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.009433962264150943}}}}}},"坐":{"docs":{},"标":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"上":{"docs":{},"一":{"docs":{},"页":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}},"下":{"docs":{},"一":{"docs":{},"页":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}}}}},"翻":{"docs":{},"页":{"docs":{},"设":{"docs":{},"置":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}}},"纵":{"docs":{},"向":{"docs":{},"超":{"docs":{},"出":{"docs":{},"可":{"docs":{},"视":{"docs":{},"范":{"docs":{},"围":{"docs":{},"区":{"docs":{},"域":{"docs":{},"预":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"数":{"docs":{},"量":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}}}}}}}},"分":{"docs":{},"支":{"docs":{},"的":{"docs":{},"树":{"docs":{"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232}}}}},"页":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"与":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}}}}}}}}},"滚":{"docs":{},"动":{"docs":{},"距":{"docs":{},"离":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"坐":{"docs":{},"标":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"上":{"docs":{},"一":{"docs":{},"页":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}},"下":{"docs":{},"一":{"docs":{},"页":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}}}}},"翻":{"docs":{},"页":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"与":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"相":{"docs":{},"同":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}}}}}}}}}}}}}}}}}}},"视":{"docs":{},"图":{"docs":{},"集":{"docs":{},"合":{"docs":{},",":{"docs":{},"高":{"docs":{},"性":{"docs":{},"能":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{},"可":{"docs":{},"处":{"docs":{},"理":{"docs":{},"大":{"docs":{},"集":{"docs":{},"合":{"docs":{},",":{"docs":{},"事":{"docs":{},"先":{"docs":{},"需":{"docs":{},"要":{"docs":{},"知":{"docs":{},"道":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"视":{"docs":{},"图":{"docs":{},"的":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"、":{"docs":{},"高":{"docs":{},"度":{"docs":{},"位":{"docs":{},"置":{"docs":{},"等":{"docs":{},"信":{"docs":{},"息":{"docs":{"core/abstract/collection_view.html":{"ref":"core/abstract/collection_view.html","tf":0.0070921985815602835}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"块":{"docs":{},"大":{"docs":{},"小":{"docs":{},"以":{"docs":{},"多":{"docs":{},"少":{"docs":{},"项":{"docs":{},"为":{"docs":{},"单":{"docs":{},"位":{"docs":{"core/abstract/list_view.html":{"ref":"core/abstract/list_view.html","tf":0.02702702702702703}}}}}}}}}}}},"+":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0375},"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.022556390977443608}}},"组":{"docs":{},"件":{"docs":{},"挂":{"docs":{},"载":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}},"之":{"docs":{},"前":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"见":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}},"实":{"docs":{},"例":{"docs":{},"刚":{"docs":{},"被":{"docs":{},"创":{"docs":{},"建":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}},"创":{"docs":{},"建":{"docs":{},"完":{"docs":{},"成":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}},"更":{"docs":{},"新":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"销":{"docs":{},"毁":{"docs":{},"前":{"docs":{},"调":{"docs":{},"用":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}},"后":{"docs":{},"调":{"docs":{},"用":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"值":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"值":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}},"销":{"docs":{},"毁":{"docs":{},"组":{"docs":{},"件":{"docs":{"core/abstract/virtual_list.html":{"ref":"core/abstract/virtual_list.html","tf":0.0125},"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}},"|":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.03414634146341464},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.03910614525139665},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.056451612903225805},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.046052631578947366}}},"下":{"docs":{},"拉":{"docs":{},"列":{"docs":{},"表":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"前":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}},"后":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}},"收":{"docs":{},"起":{"docs":{},"前":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}},"后":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}}},"的":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"方":{"docs":{},"式":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288}}}}}}},"项":{"docs":{},"带":{"docs":{},"√":{"docs":{},"的":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"case/combo/text_value_check_combo.html":{"ref":"case/combo/text_value_check_combo.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"框":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"后":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}},"展":{"docs":{},"开":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}},"收":{"docs":{},"起":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}},"弹":{"docs":{},"出":{"docs":{},"层":{"docs":{},",":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}},"的":{"docs":{},"多":{"docs":{},"选":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"带":{"docs":{},"有":{"docs":{},"若":{"docs":{},"干":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}},"前":{"docs":{},"触":{"docs":{},"发":{"docs":{"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288}}}}}}}}},"一":{"docs":{},"页":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}},"切":{"docs":{},"换":{"docs":{},"状":{"docs":{},"态":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}},"显":{"docs":{},"示":{"docs":{},"或":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"面":{"docs":{},"板":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}}}}}}}}}}}}},"类":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"图":{"docs":{},"标":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}}}}}}}}}}}}},"树":{"docs":{},"结":{"docs":{},"构":{"docs":{"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.013157894736842105}}}}}}},"开":{"docs":{},"启":{"docs":{},"或":{"docs":{},"者":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"层":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}}},"弹":{"docs":{},"出":{"docs":{},"层":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444},"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}}}}}}}}}}},"始":{"docs":{},"搜":{"docs":{},"索":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.009478672985781991}},"触":{"docs":{},"发":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}},"输":{"docs":{},"入":{"docs":{},"触":{"docs":{},"发":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}},"上":{"docs":{},"传":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}}}},"绘":{"docs":{},"制":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}},"弹":{"docs":{},"出":{"docs":{},"列":{"docs":{},"表":{"docs":{},"和":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"关":{"docs":{},"系":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}},"距":{"docs":{},"离":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}}}}}}}}}}},"层":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/combo_group.html":{"ref":"core/combination/combo_group.html","tf":0.008064516129032258},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}},"显":{"docs":{},"示":{"docs":{},"位":{"docs":{},"置":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"元":{"docs":{},"素":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}}},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}},"宽":{"docs":{},"度":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}},"高":{"docs":{},"度":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}}}},"最":{"docs":{},"大":{"docs":{},"宽":{"docs":{},"度":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}},"高":{"docs":{},"度":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}},"小":{"docs":{},"宽":{"docs":{},"度":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}},"高":{"docs":{},"度":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}}},"框":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"前":{"docs":{},"触":{"docs":{},"发":{"docs":{"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903}}}}}}}}},"窗":{"docs":{},"层":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"见":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}}},"显":{"docs":{},"示":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}},"弹":{"docs":{},"出":{"docs":{},"层":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}},"内":{"docs":{},"容":{"docs":{"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223}}}},"页":{"docs":{},"码":{"docs":{},"的":{"docs":{},"分":{"docs":{},"页":{"docs":{},"控":{"docs":{},"件":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}}}},"总":{"docs":{},"页":{"docs":{},"数":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}},"调":{"docs":{},"整":{"docs":{},"宽":{"docs":{},"度":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}},"横":{"docs":{},"向":{"docs":{},"偏":{"docs":{},"移":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}},"纵":{"docs":{},"向":{"docs":{},"偏":{"docs":{},"移":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}}}},"高":{"docs":{},"度":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}},"搜":{"docs":{},"索":{"docs":{},"列":{"docs":{},"表":{"docs":{},"栏":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}},"弹":{"docs":{},"出":{"docs":{},"层":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"元":{"docs":{},"素":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}}}}}},"表":{"docs":{},"格":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}},"头":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}},"重":{"docs":{},"置":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}},"列":{"docs":{},"表":{"docs":{},"宽":{"docs":{},"度":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}},"高":{"docs":{},"度":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}},"宽":{"docs":{},"度":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}},"高":{"docs":{},"度":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}},"文":{"docs":{},"本":{"docs":{},"框":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"次":{"docs":{},"输":{"docs":{},"入":{"docs":{},"的":{"docs":{},"有":{"docs":{},"效":{"docs":{},"值":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}}}}}}}}}},"画":{"docs":{},"布":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}},"新":{"docs":{},"设":{"docs":{},"置":{"docs":{},"高":{"docs":{},"度":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}}}},"心":{"docs":{},"偏":{"docs":{},"移":{"docs":{},"量":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}}}}}}},"阻":{"docs":{},"止":{"docs":{},"事":{"docs":{},"件":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}},"冒":{"docs":{},"泡":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}},"冒":{"docs":{},"泡":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}},"隐":{"docs":{},"藏":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282}},"弹":{"docs":{},"出":{"docs":{},"层":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805},"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}},"窗":{"docs":{},"层":{"docs":{},"是":{"docs":{},"否":{"docs":{},"销":{"docs":{},"毁":{"docs":{"core/combination/bi.combo.html":{"ref":"core/combination/bi.combo.html","tf":0.004878048780487805}}}}}}}}}}},"展":{"docs":{},"开":{"docs":{},"类":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095}}}}},"节":{"docs":{},"点":{"docs":{},"是":{"docs":{},"否":{"docs":{},"展":{"docs":{},"开":{"docs":{"core/combination/bi.expander.html":{"ref":"core/combination/bi.expander.html","tf":0.00558659217877095},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494},"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125}}}}}},"数":{"docs":{},"组":{"docs":{"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333}}}}}},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"上":{"docs":{},"一":{"docs":{},"页":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"时":{"docs":{},"有":{"docs":{},"效":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}},"下":{"docs":{},"一":{"docs":{},"页":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.013071895424836602},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}},",":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"时":{"docs":{},"有":{"docs":{},"效":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}},"效":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}},"该":{"docs":{},"组":{"docs":{},"件":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}},"前":{"docs":{},"一":{"docs":{},"页":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}},"函":{"docs":{},"数":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}},"后":{"docs":{},"一":{"docs":{},"页":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}}}}},"不":{"docs":{},"让":{"docs":{},"选":{"docs":{},"中":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356}}}}}},"怎":{"docs":{},"么":{"docs":{},"点":{"docs":{},"击":{"docs":{},"都":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"选":{"docs":{},"中":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}}},"点":{"docs":{},"击":{"docs":{},"即":{"docs":{},"选":{"docs":{},"中":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}},"让":{"docs":{},"选":{"docs":{},"中":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}},"显":{"docs":{},"示":{"docs":{"case/color_chooser.html":{"ref":"case/color_chooser.html","tf":0.038461538461538464}}}}}},"组":{"docs":{},"件":{"docs":{},"是":{"docs":{},"否":{"docs":{},"挂":{"docs":{},"载":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}},"节":{"docs":{},"点":{"docs":{},"是":{"docs":{},"否":{"docs":{},"展":{"docs":{},"开":{"docs":{"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"中":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/combination/loader.html":{"ref":"core/combination/loader.html","tf":0.006535947712418301}}}}}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},"的":{"docs":{},"钩":{"docs":{},"子":{"docs":{"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}}}}}}},"完":{"docs":{},"成":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"(":{"docs":{},"测":{"docs":{},"试":{"docs":{},"了":{"docs":{},"无":{"docs":{},"效":{"docs":{},"果":{"docs":{},")":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"结":{"docs":{},"构":{"docs":{"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333}}}}}}}},"设":{"docs":{},"置":{"docs":{},"后":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}}}}}},"创":{"docs":{},"建":{"docs":{},"卡":{"docs":{},"导":{"docs":{},"航":{"docs":{},"页":{"docs":{},"页":{"docs":{},"之":{"docs":{},"后":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}}}}}}}}},"导":{"docs":{},"航":{"docs":{},"栏":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}}}}}}}}}}}}},"页":{"docs":{},"展":{"docs":{},"示":{"docs":{},"之":{"docs":{},"后":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}}}}}}},"挂":{"docs":{},"载":{"docs":{},"组":{"docs":{},"件":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}}}},"面":{"docs":{},"板":{"docs":{},"显":{"docs":{},"示":{"docs":{},"之":{"docs":{},"后":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}},"前":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}},"构":{"docs":{},"造":{"docs":{},"之":{"docs":{},"后":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203}}}},"器":{"docs":{"core/combination/navigation.html":{"ref":"core/combination/navigation.html","tf":0.007518796992481203},"core/combination/tab.html":{"ref":"core/combination/tab.html","tf":0.007462686567164179}}}}},"切":{"docs":{},"换":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}},"展":{"docs":{},"开":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}},"收":{"docs":{},"起":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}},"隐":{"docs":{},"藏":{"docs":{},"之":{"docs":{},"前":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}},"后":{"docs":{"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315}},"s":{"docs":{},":":{"docs":{"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808}}}}}}}},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}},":":{"docs":{},"键":{"docs":{},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},":":{"docs":{},"值":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}}}}},":":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"停":{"docs":{},"止":{"docs":{},"搜":{"docs":{},"索":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.009478672985781991}},"触":{"docs":{},"发":{"docs":{},"(":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"框":{"docs":{},"为":{"docs":{},"空":{"docs":{},")":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"触":{"docs":{},"发":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"之":{"docs":{},"后":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/combination/switcher.html":{"ref":"core/combination/switcher.html","tf":0.006493506493506494}}}},"当":{"docs":{},"前":{"docs":{},"页":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}},"即":{"docs":{},"是":{"docs":{},"否":{"docs":{},"保":{"docs":{},"持":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"面":{"docs":{},"板":{"docs":{},"和":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"面":{"docs":{},"板":{"docs":{},"状":{"docs":{},"态":{"docs":{},"值":{"docs":{},"的":{"docs":{},"统":{"docs":{},"一":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}}}}}}}}}}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"中":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}},"暂":{"docs":{},"停":{"docs":{},"触":{"docs":{},"发":{"docs":{},"(":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"文":{"docs":{},"本":{"docs":{},"以":{"docs":{},"空":{"docs":{},"白":{"docs":{},"字":{"docs":{},"符":{"docs":{},"结":{"docs":{},"尾":{"docs":{},")":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}}}}}}}}}}}},"结":{"docs":{},"果":{"docs":{},"面":{"docs":{},"板":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}}},"发":{"docs":{},"生":{"docs":{},"改":{"docs":{},"变":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}}}}},"逻":{"docs":{},"辑":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}}}}}}}}}}},"到":{"docs":{},"的":{"docs":{},"元":{"docs":{},"素":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}},"面":{"docs":{},"板":{"docs":{},",":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}},"框":{"docs":{"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}},"效":{"docs":{},"果":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"容":{"docs":{},"器":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}},"上":{"docs":{},"下":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"值":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}}}}}}}}},"左":{"docs":{},"右":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"值":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}}}}}}}}}}},"文":{"docs":{},"本":{"docs":{},"框":{"docs":{},"b":{"docs":{},"o":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}}},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}},"上":{"docs":{},"下":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"值":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}}}}}}},"左":{"docs":{},"右":{"docs":{},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"值":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"置":{"0":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"暂":{"docs":{},"停":{"docs":{},"搜":{"docs":{},"索":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}},"输":{"docs":{},"入":{"docs":{},"触":{"docs":{},"发":{"docs":{},"(":{"docs":{},"输":{"docs":{},"入":{"docs":{},"空":{"docs":{},"白":{"docs":{},"字":{"docs":{},"符":{"docs":{},")":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}}}}}}}},"正":{"docs":{},"在":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}}}}},"加":{"docs":{},"载":{"docs":{"case/layer/pane_list.html":{"ref":"case/layer/pane_list.html","tf":0.006944444444444444}}}}}},"适":{"docs":{},"配":{"docs":{},"器":{"docs":{"core/combination/searcher.html":{"ref":"core/combination/searcher.html","tf":0.004739336492890996}}}},"用":{"docs":{},"于":{"docs":{},"数":{"docs":{},"据":{"docs":{},"量":{"docs":{},"少":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"返":{"docs":{},"回":{"docs":{},"所":{"docs":{},"有":{"docs":{},"值":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616},"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.010362694300518135},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.010362694300518135},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/tree/bi.switch_tree.html":{"ref":"detailed/tree/bi.switch_tree.html","tf":0.02631578947368421},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304},"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}},"z":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.01282051282051282},"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"在":{"1":{"0":{"0":{"0":{"docs":{},"w":{"docs":{},",":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}}}}}}}},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"u":{"docs":{},"p":{"docs":{},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"层":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.02564102564102564}}}}}},"键":{"docs":{},"字":{"docs":{},"标":{"docs":{},"红":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808}}}}}}}}},"联":{"docs":{},"视":{"docs":{},"图":{"docs":{"detailed/relation_view.html":{"ref":"detailed/relation_view.html","tf":0.019230769230769232}}}}}},"打":{"docs":{},"开":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"层":{"docs":{"core/layer/layer_float_box.html":{"ref":"core/layer/layer_float_box.html","tf":0.02564102564102564}}}}}}},"值":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705},"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"的":{"docs":{},"方":{"docs":{},"向":{"docs":{"core/layer/layer_popup.html":{"ref":"core/layer/layer_popup.html","tf":0.0058823529411764705}}}}}}}},"完":{"docs":{},"全":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"器":{"docs":{"core/layer/layer_searcher.html":{"ref":"core/layer/layer_searcher.html","tf":0.009523809523809525}}}}}}}}},"成":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125}}}}}}}}}}}},",":{"docs":{},"一":{"docs":{},"些":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"设":{"docs":{},"置":{"docs":{},"状":{"docs":{},"态":{"docs":{},"后":{"docs":{},"做":{"docs":{},"的":{"docs":{},"额":{"docs":{},"外":{"docs":{},"工":{"docs":{},"作":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"重":{"docs":{},"写":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},")":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}}}},"n":{"docs":{},"h":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}},"r":{"docs":{},"l":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}},"属":{"docs":{},"性":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"所":{"docs":{},"有":{"docs":{},"控":{"docs":{},"件":{"docs":{},"的":{"docs":{},"超":{"docs":{},"类":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}},"简":{"docs":{},"单":{"docs":{},"控":{"docs":{},"件":{"docs":{},"的":{"docs":{},"基":{"docs":{},"类":{"docs":{},",":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"e":{"docs":{},"的":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"文":{"docs":{},"字":{"docs":{},"超":{"docs":{},"过":{"docs":{},"边":{"docs":{},"界":{"docs":{},"显":{"docs":{},"示":{"3":{"docs":{},"个":{"docs":{},"点":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"类":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"继":{"docs":{},"承":{"docs":{},"类":{"docs":{},"中":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}},"值":{"docs":{},"微":{"docs":{},"调":{"docs":{},"器":{"docs":{"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035}}}}},"区":{"docs":{},"间":{"docs":{},"控":{"docs":{},"件":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}},"滑":{"docs":{},"块":{"docs":{"detailed/single_slider.html":{"ref":"detailed/single_slider.html","tf":0.0196078431372549}}}}}},"添":{"docs":{},"加":{"docs":{},"组":{"docs":{},"件":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}},"字":{"docs":{},"段":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}},"对":{"docs":{},"象":{"docs":{},"到":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"数":{"docs":{},"组":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}}}},"清":{"docs":{},"空":{"docs":{},"组":{"docs":{},"件":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}},"内":{"docs":{},"容":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}}},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"函":{"docs":{},"数":{"docs":{"core/widget.html":{"ref":"core/widget.html","tf":0.00510204081632653}}}}}}},"成":{"docs":{},"树":{"docs":{},"方":{"docs":{},"法":{"docs":{"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}}}}}}},"取":{"docs":{},"消":{"docs":{},"h":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}},"触":{"docs":{},"发":{"docs":{},"h":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356}}}}}}}}},"文":{"docs":{},"本":{"docs":{},"标":{"docs":{},"红":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}},"高":{"docs":{},"亮":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}},"标":{"docs":{},"红":{"docs":{"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288}}}}}},"恢":{"docs":{},"复":{"docs":{},"h":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"用":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}}}}}}}},"文":{"docs":{},"本":{"docs":{},"框":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"用":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"仅":{"docs":{},"仅":{"docs":{},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"超":{"docs":{},"类":{"docs":{},",":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}}}}}}}}}}},"错":{"docs":{},"误":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"core/single.html":{"ref":"core/single.html","tf":0.013888888888888888}}}}}},"提":{"docs":{},"示":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315}}}}}}}},"信":{"docs":{},"息":{"docs":{"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02}}}}}},"使":{"docs":{},"能":{"docs":{},"选":{"docs":{},"中":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}},"无":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.034482758620689655}},"论":{"docs":{},"怎":{"docs":{},"么":{"docs":{},"点":{"docs":{},"击":{"docs":{},"都":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"选":{"docs":{},"中":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}}}},"限":{"docs":{},"制":{"docs":{"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456}}}}},"点":{"docs":{},"击":{"docs":{},"一":{"docs":{},"次":{"docs":{},"选":{"docs":{},"中":{"docs":{},"有":{"docs":{},"效":{"docs":{},",":{"docs":{},"再":{"docs":{},"点":{"docs":{},"无":{"docs":{},"效":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}}},"级":{"docs":{},"节":{"docs":{},"点":{"docs":{},"触":{"docs":{},"发":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}}}}}},"之":{"docs":{},"后":{"docs":{},"钩":{"docs":{},"子":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356}}}}}},"事":{"docs":{},"件":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}},"之":{"docs":{},"前":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}},"钩":{"docs":{},"子":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356}}}}}},"回":{"docs":{},"调":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}},"即":{"docs":{},"选":{"docs":{},"中":{"docs":{},",":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}},"编":{"docs":{},"辑":{"docs":{},"框":{"docs":{},"触":{"docs":{},"发":{"docs":{},"(":{"docs":{},"不":{"docs":{},"在":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"状":{"docs":{},"态":{"docs":{},"时":{"docs":{},")":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}}}}}}}},"清":{"docs":{},"空":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"触":{"docs":{},"发":{"docs":{"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}}},"工":{"docs":{},"具":{"docs":{},"栏":{"docs":{},"事":{"docs":{},"件":{"docs":{"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}}}}}}},"增":{"docs":{},"加":{"docs":{},"/":{"docs":{},"减":{"docs":{},"少":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"或":{"docs":{},"者":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"框":{"docs":{},"确":{"docs":{},"定":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035}}}}}}}}}}}}}}}}}}},"二":{"docs":{},"级":{"docs":{},"节":{"docs":{},"点":{"docs":{},"触":{"docs":{},"发":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}}}},"确":{"docs":{},"定":{"docs":{},"触":{"docs":{},"发":{"docs":{"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04}}}}},"认":{"docs":{},"触":{"docs":{},"发":{"docs":{"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353},"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903},"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456}}}}}},"取":{"docs":{},"消":{"docs":{},"触":{"docs":{},"发":{"docs":{"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456}}}}}}}},"被":{"docs":{},"选":{"docs":{},"元":{"docs":{},"素":{"docs":{},"要":{"docs":{},"触":{"docs":{},"发":{"docs":{},"的":{"docs":{},"事":{"docs":{},"件":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}}},"触":{"docs":{},"发":{"docs":{},"h":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"core/basic_button.html":{"ref":"core/basic_button.html","tf":0.008264462809917356}}}}}}},"节":{"docs":{},"点":{"docs":{},"展":{"docs":{},"开":{"docs":{"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125}}}},"收":{"docs":{},"起":{"docs":{"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125}}}}}},"器":{"docs":{},"宽":{"docs":{},"度":{"docs":{"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02}}}}}}},"不":{"docs":{},"仅":{"docs":{},"有":{"docs":{},"选":{"docs":{},"中":{"docs":{},"状":{"docs":{},"态":{"docs":{},"而":{"docs":{},"且":{"docs":{},"有":{"docs":{},"展":{"docs":{},"开":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125},"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}}}}}}}}}}},"考":{"docs":{},"虑":{"docs":{},"超":{"docs":{},"出":{"docs":{},"边":{"docs":{},"界":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}}}}}}}}},"变":{"docs":{},"\"":{"docs":{},",":{"docs":{"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125}}}}}},"表":{"docs":{},"示":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"以":{"docs":{},"展":{"docs":{},"开":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}},"用":{"docs":{},"于":{"docs":{},"树":{"docs":{},"状":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},"元":{"docs":{},"素":{"docs":{},",":{"docs":{"core/node_button.html":{"ref":"core/node_button.html","tf":0.03125}}}}}}}}}}}}}}}}}}}}}}}}},"头":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"高":{"docs":{},"度":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}},"内":{"docs":{},"容":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}},"行":{"docs":{},"高":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}},"尾":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629}},"高":{"docs":{},"度":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629}}}},"行":{"docs":{},"高":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}},"关":{"docs":{},"联":{"docs":{},"树":{"docs":{"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}}}}}},"提":{"docs":{},"示":{"docs":{},"文":{"docs":{},"本":{"docs":{"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}}}},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315}}}}}},"类":{"docs":{},"型":{"docs":{"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}},"消":{"docs":{},"息":{"docs":{},"框":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}}}}},"性":{"docs":{},"信":{"docs":{},"息":{"docs":{"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":10.011363636363637}}}}}}},"检":{"docs":{},"查":{"docs":{},"当":{"docs":{},"前":{"docs":{},"面":{"docs":{},"板":{"docs":{},"状":{"docs":{},"态":{"docs":{"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"元":{"docs":{},"素":{"docs":{},"有":{"docs":{},"提":{"docs":{},"示":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"供":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"和":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"面":{"docs":{},"板":{"docs":{},",":{"docs":{"core/pane.html":{"ref":"core/pane.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"未":{"docs":{},"知":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"和":{"docs":{},"高":{"docs":{},"度":{"docs":{},"时":{"docs":{},"有":{"docs":{},"效":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}}}}}}}}}},"拼":{"docs":{},"音":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}},"灰":{"docs":{},"化":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315}}}},"空":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.0273972602739726}}},"需":{"docs":{},"要":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"值":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.0136986301369863},"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372},"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.012578616352201259}}}}}}},"标":{"docs":{},"签":{"docs":{},"样":{"docs":{},"式":{"docs":{},",":{"docs":{},"例":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"#":{"0":{"0":{"0":{"docs":{},"\"":{"docs":{},"}":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"例":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"#":{"0":{"0":{"0":{"docs":{},"\"":{"docs":{},"}":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"域":{"docs":{},"样":{"docs":{},"式":{"docs":{},"s":{"docs":{},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{},"例":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"r":{"docs":{},"\"":{"docs":{},":":{"docs":{},"\"":{"docs":{},"#":{"0":{"0":{"0":{"docs":{},"\"":{"docs":{},"}":{"docs":{"base/editor/textarea_editor.html":{"ref":"base/editor/textarea_editor.html","tf":0.021739130434782608}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"高":{"docs":{},"级":{"docs":{},"属":{"docs":{},"性":{"docs":{"base/label.html":{"ref":"base/label.html","tf":0.00684931506849315},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}},"度":{"docs":{"base/toast.html":{"ref":"base/toast.html","tf":0.022222222222222223},"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/combo/static_combo.html":{"ref":"case/combo/static_combo.html","tf":0.0125},"case/combo/text_value_combo.html":{"ref":"case/combo/text_value_combo.html","tf":0.013513513513513514},"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288},"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886},"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612},"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}}}}}}},"气":{"docs":{},"泡":{"docs":{},"提":{"docs":{},"示":{"docs":{"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372}}}},"显":{"docs":{},"示":{"docs":{},"位":{"docs":{},"置":{"docs":{"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372}}}},"内":{"docs":{},"容":{"docs":{"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372}}}}}},"高":{"docs":{},"度":{"docs":{"base/bubble.html":{"ref":"base/bubble.html","tf":0.023255813953488372}}}}}},"消":{"docs":{},"息":{"docs":{},"提":{"docs":{},"示":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}}}}}},"确":{"docs":{},"认":{"docs":{},"消":{"docs":{},"息":{"docs":{},"框":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}}}}}},"定":{"docs":{},"输":{"docs":{},"入":{"docs":{},"触":{"docs":{},"发":{"docs":{},"(":{"docs":{},"b":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"时":{"docs":{},"且":{"docs":{},"输":{"docs":{},"入":{"docs":{},"值":{"docs":{},"有":{"docs":{},"效":{"docs":{},")":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}}}}}}}}}}}}},"警":{"docs":{},"告":{"docs":{},"消":{"docs":{},"息":{"docs":{},"框":{"docs":{"base/message.html":{"ref":"base/message.html","tf":0.02127659574468085}}}}}}},"!":{"docs":{},"=":{"docs":{},"=":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}}}}},"图":{"docs":{},"标":{"docs":{},"类":{"docs":{},"型":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}}}},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776}}}}}}}}}}}}}}}}}}}}}}}}},"宽":{"docs":{},"度":{"docs":{"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}},"高":{"docs":{},"度":{"docs":{"base/button/icon_button.html":{"ref":"base/button/icon_button.html","tf":0.027777777777777776},"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}},"按":{"docs":{},"钮":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"case/trigger/icon_trigger.html":{"ref":"case/trigger/icon_trigger.html","tf":0.1111111111111111}}}}}}}}}}}},"片":{"docs":{},"的":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"径":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}}},"宽":{"docs":{},"度":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/tooltip.html":{"ref":"detailed/bi.button/tooltip.html","tf":0.011363636363636364},"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":0.010638297872340425},"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":0.009259259259259259},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":0.009345794392523364},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715},"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{"base/button/image_button.html":{"ref":"base/button/image_button.html","tf":0.017241379310344827}}}}}}}}},"按":{"docs":{},"钮":{"docs":{},"文":{"docs":{},"本":{"docs":{},"宽":{"docs":{},"度":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}},"高":{"docs":{},"度":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629},"base/button/text_button.html":{"ref":"base/button/text_button.html","tf":0.010869565217391304}}}}}},"类":{"docs":{},"型":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}}}},"组":{"docs":{"case/layer/multi_popup_layer.html":{"ref":"case/layer/multi_popup_layer.html","tf":0.04}}}},"下":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"触":{"docs":{},"发":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}}}}},"空":{"docs":{},"格":{"docs":{},"触":{"docs":{},"发":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}},"键":{"docs":{},"事":{"docs":{},"件":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}}}}}},"最":{"docs":{},"小":{"docs":{},"宽":{"docs":{},"度":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"中":{"docs":{},"某":{"docs":{},"一":{"docs":{},"项":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"此":{"docs":{},"项":{"docs":{},"值":{"docs":{},"为":{"0":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"为":{"9":{"0":{"docs":{"base/button/button.html":{"ref":"base/button/button.html","tf":0.006289308176100629}}},"docs":{}},"docs":{}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"宽":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}},"日":{"docs":{},"期":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}},"值":{"docs":{},"初":{"docs":{},"始":{"docs":{},"值":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}},"大":{"docs":{},"列":{"docs":{},"宽":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}},"宽":{"docs":{},"度":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}},"高":{"docs":{},"度":{"docs":{"case/combo/icon_combo.html":{"ref":"case/combo/icon_combo.html","tf":0.007751937984496124}}}},"日":{"docs":{},"期":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}},"值":{"docs":{},"初":{"docs":{},"始":{"docs":{},"值":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}},"后":{"docs":{},"一":{"docs":{},"页":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},",":{"docs":{},"在":{"docs":{},"万":{"docs":{},"不":{"docs":{},"得":{"docs":{},"已":{"docs":{},"时":{"docs":{},"才":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"函":{"docs":{},"数":{"docs":{},"获":{"docs":{},"取":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"页":{"docs":{},"的":{"docs":{},"页":{"docs":{},"码":{"docs":{},",":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":10.035714285714286}}}}}}}}}}}}}}},"输":{"docs":{},"入":{"docs":{},"为":{"docs":{},"空":{"docs":{},"时":{"docs":{},"按":{"docs":{},"下":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}}}}}}},"值":{"docs":{},"无":{"docs":{},"效":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"事":{"docs":{},"件":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}},"有":{"docs":{},"效":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"事":{"docs":{},"件":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}},"框":{"docs":{},"为":{"docs":{},"空":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}},"类":{"docs":{},"型":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495}}}}},"较":{"docs":{},"验":{"docs":{},"函":{"docs":{},"数":{"docs":{"base/editor/editor.html":{"ref":"base/editor/editor.html","tf":0.005494505494505495},"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676},"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495},"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732},"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609},"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"detailed/text_input/bi.text_editor.html":{"ref":"detailed/text_input/bi.text_editor.html","tf":0.010309278350515464},"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}}},"代":{"docs":{},"码":{"docs":{},"文":{"docs":{},"本":{"docs":{},"框":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}}}}}}}}}}}}}}}}}},"插":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266}}}},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{"base/editor/code_editor.html":{"ref":"base/editor/code_editor.html","tf":0.012658227848101266},"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}},"函":{"docs":{},"数":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}},"操":{"docs":{},"作":{"docs":{},"符":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}},"允":{"docs":{},"许":{"docs":{},"上":{"docs":{},"传":{"docs":{},"最":{"docs":{},"大":{"docs":{},"字":{"docs":{},"节":{"docs":{},"数":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}}}},"的":{"docs":{},"文":{"docs":{},"件":{"docs":{},"类":{"docs":{},"型":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}}}}}}}},"多":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"base/editor/multifile_editor.html":{"ref":"base/editor/multifile_editor.html","tf":0.015384615384615385}}}}}}}}}}}}}}},"层":{"docs":{},"层":{"docs":{},"级":{"docs":{},"树":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"detailed/tree/multi_single_level_tree.html":{"ref":"detailed/tree/multi_single_level_tree.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}},"下":{"docs":{},"拉":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}}}}}},"级":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"单":{"docs":{},"选":{"docs":{},"树":{"docs":{"detailed/combo/multilayer_single_tree_combo.html":{"ref":"detailed/combo/multilayer_single_tree_combo.html","tf":0.018867924528301886}}}}},"可":{"docs":{},"选":{"docs":{},"节":{"docs":{},"点":{"docs":{},"树":{"docs":{"detailed/combo/multilayer_select_tree_combo.html":{"ref":"detailed/combo/multilayer_select_tree_combo.html","tf":0.02040816326530612}}}}}}}}}}}},"公":{"docs":{},"式":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"段":{"docs":{},"集":{"docs":{},"合":{"docs":{"base/editor/formula_editor.html":{"ref":"base/editor/formula_editor.html","tf":0.010101010101010102}}}}}},"富":{"docs":{},"文":{"docs":{},"本":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"器":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"base/editor/rich_editor.html":{"ref":"base/editor/rich_editor.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}},"合":{"docs":{},"并":{"docs":{},"的":{"docs":{},"单":{"docs":{},"元":{"docs":{},"格":{"docs":{},"列":{"docs":{},"号":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}},"规":{"docs":{},"则":{"docs":{},",":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827}}}}}}}}}},"得":{"docs":{},"到":{"docs":{},"列":{"docs":{},"宽":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"时":{"docs":{},"合":{"docs":{},"并":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}},"普":{"docs":{},"通":{"docs":{},"单":{"docs":{},"元":{"docs":{},"格":{"docs":{},"高":{"docs":{},"度":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629},"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403},"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}}}}},"能":{"docs":{},"处":{"docs":{},"理":{"docs":{},"静":{"docs":{},"态":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"以":{"docs":{},"及":{"docs":{},"动":{"docs":{},"态":{"docs":{},"宽":{"docs":{},"度":{"docs":{},"的":{"docs":{},"表":{"docs":{"base/table/table_view.html":{"ref":"base/table/table_view.html","tf":0.006289308176100629}}}}}}}}}}}}}}}}},"储":{"docs":{},"存":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403}}}},"冻":{"docs":{},"结":{"docs":{},"列":{"docs":{"base/table/grid_table.html":{"ref":"base/table/grid_table.html","tf":0.008771929824561403}}},"的":{"docs":{},"列":{"docs":{"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301},"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625},"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}},"号":{"docs":{},",":{"docs":{},"从":{"0":{"docs":{},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"n":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"z":{"docs":{},"e":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},"生":{"docs":{},"效":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"m":{"docs":{},"n":{"docs":{"detailed/table/bi.sequence_table.html":{"ref":"detailed/table/bi.sequence_table.html","tf":0.017241379310344827}}}}}}}}}},"存":{"docs":{},"储":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}},"数":{"docs":{},"据":{"docs":{"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301}}}}}},"继":{"docs":{},"承":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"base/table/collection_table.html":{"ref":"base/table/collection_table.html","tf":0.006535947712418301}}}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"表":{"docs":{"base/table/resizable_table.html":{"ref":"base/table/resizable_table.html","tf":0.00625}}}}},"j":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}},"主":{"docs":{},"要":{"docs":{},"作":{"docs":{},"用":{"docs":{},"于":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}},"分":{"docs":{},"页":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}}}}}}},"计":{"docs":{},"数":{"docs":{"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}},"表":{"docs":{},"格":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}},"选":{"docs":{},"项":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"若":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"指":{"docs":{},"对":{"docs":{},"其":{"docs":{},"设":{"docs":{},"置":{"docs":{},"使":{"docs":{},"能":{"docs":{},"状":{"docs":{},"态":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"续":{"docs":{},"显":{"docs":{},"示":{"docs":{},"分":{"docs":{},"页":{"docs":{},"数":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}}}}}},"页":{"docs":{},"数":{"docs":{},"跳":{"docs":{},"转":{"docs":{"base/pager.html":{"ref":"base/pager.html","tf":0.007142857142857143}}}}},"码":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.009433962264150943}}}},".":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"docs":{},"{":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},":":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232}}}}},"结":{"docs":{},"束":{"docs":{},"绘":{"docs":{},"制":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}},"绘":{"docs":{},"制":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666},"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}},"图":{"docs":{},"片":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}},"圆":{"docs":{},"形":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}},"形":{"docs":{},"状":{"docs":{},"的":{"docs":{},"集":{"docs":{},"合":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}}}}},"文":{"docs":{},"本":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}},"椭":{"docs":{},"圆":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}},"矩":{"docs":{},"形":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775},"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}},"路":{"docs":{},"径":{"docs":{"base/svg.html":{"ref":"base/svg.html","tf":0.011235955056179775}}}},"渐":{"docs":{},"变":{"docs":{},"色":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}},"线":{"docs":{},"段":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}},"树":{"docs":{},"枝":{"docs":{},"节":{"docs":{},"点":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}}}}}},"填":{"docs":{},"充":{"docs":{},"中":{"docs":{},"空":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}}}},"实":{"docs":{},"心":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{"base/canvas.html":{"ref":"base/canvas.html","tf":0.016666666666666666}}}}}}}}},"复":{"docs":{},"选":{"docs":{},"框":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"c":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{},"控":{"docs":{},"件":{"docs":{"components/value_chooser_combo.html":{"ref":"components/value_chooser_combo.html","tf":0.047619047619047616}}}}}}},"面":{"docs":{},"板":{"docs":{"components/value_chooser_pane.html":{"ref":"components/value_chooser_pane.html","tf":0.047619047619047616}}}}},"杂":{"docs":{},"的":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"绘":{"docs":{},"图":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}}}}}}}}}}},"标":{"docs":{},"红":{"docs":{"case/button/multi_select_item.html":{"ref":"case/button/multi_select_item.html","tf":0.018518518518518517},"case/button/single_select_item.html":{"ref":"case/button/single_select_item.html","tf":0.01694915254237288},"case/button/single_select_radio_item.html":{"ref":"case/button/single_select_radio_item.html","tf":0.01694915254237288}}},"题":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872},"case/layer/layer_panel.html":{"ref":"case/layer/layer_panel.html","tf":0.010752688172043012}},"后":{"docs":{},"的":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"组":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}}}}}}}}},"带":{"docs":{},"标":{"docs":{},"记":{"docs":{},"的":{"docs":{},"文":{"docs":{},"本":{"docs":{},"框":{"docs":{},",":{"docs":{},"需":{"docs":{},"手":{"docs":{},"动":{"docs":{},"控":{"docs":{},"制":{"docs":{},"进":{"docs":{},"入":{"docs":{},"编":{"docs":{},"辑":{"docs":{},"状":{"docs":{},"态":{"docs":{"case/editor/shelter_editor.html":{"ref":"case/editor/shelter_editor.html","tf":0.0051813471502590676}}}}}}}}}}}}},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"case/editor/sign_editor.html":{"ref":"case/editor/sign_editor.html","tf":0.005494505494505495}}}}}}}}}}}}}}}}}}}},"清":{"docs":{},"除":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745}}}}}}}}}},"有":{"docs":{},"标":{"docs":{},"题":{"docs":{},"栏":{"docs":{},"的":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"case/layer/panel.html":{"ref":"case/layer/panel.html","tf":0.015873015873015872}}}}}}}}}}}}}}}}}}}}}}}},"确":{"docs":{},"定":{"docs":{},"的":{"docs":{},"复":{"docs":{},"选":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{"detailed/multi_select_combo.html":{"ref":"detailed/multi_select_combo.html","tf":0.04}}}}}}}}}},"方":{"docs":{},"向":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},"选":{"docs":{},"择":{"docs":{"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}}}}}}}}}},"之":{"docs":{},"后":{"docs":{},"初":{"docs":{},"始":{"docs":{},"值":{"docs":{},"会":{"docs":{},"一":{"docs":{},"直":{"docs":{},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"初":{"docs":{},"始":{"docs":{},"值":{"docs":{"case/editor/sign_initial_editor.html":{"ref":"case/editor/sign_initial_editor.html","tf":0.005154639175257732}}}}}}},"记":{"docs":{},"录":{"docs":{},"状":{"docs":{},"态":{"docs":{},"的":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"case/editor/state_editor.html":{"ref":"case/editor/state_editor.html","tf":0.005747126436781609}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"选":{"docs":{},"择":{"docs":{},"状":{"docs":{},"态":{"docs":{},"输":{"docs":{},"入":{"docs":{},"框":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"case/editor/simple_state_editor.html":{"ref":"case/editor/simple_state_editor.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}},"其":{"docs":{},"他":{"docs":{},"事":{"docs":{},"件":{"docs":{},"详":{"docs":{},"见":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"detailed/text_input/bi.clear_editor.html":{"ref":"detailed/text_input/bi.clear_editor.html","tf":0.00980392156862745},"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"detailed/text_input/bi.search_editor.html":{"ref":"detailed/text_input/bi.search_editor.html","tf":0.010101010101010102}}}}}}}}}}}}}},"替":{"docs":{},"换":{"docs":{},"内":{"docs":{},"容":{"docs":{"case/list/list.select.html":{"ref":"case/list/list.select.html","tf":0.009708737864077669},"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856},"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112},"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}},"为":{"docs":{},"新":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{"detailed/table/bi.preview_table.html":{"ref":"detailed/table/bi.preview_table.html","tf":0.006896551724137931}}}}},"内":{"docs":{},"容":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"case/loader/lazy_loader.html":{"ref":"case/loader/lazy_loader.html","tf":0.017857142857142856}}}}}}}}}}},"为":{"docs":{},"解":{"docs":{},"决":{"docs":{},"排":{"docs":{},"序":{"docs":{},"问":{"docs":{},"题":{"docs":{},"引":{"docs":{},"入":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{"case/loader/list_loader.html":{"ref":"case/loader/list_loader.html","tf":0.011111111111111112}}}}}}}}}}}}}},"排":{"docs":{},"序":{"docs":{},"列":{"docs":{},"表":{"docs":{"case/loader/sort_list.html":{"ref":"case/loader/sort_list.html","tf":0.011111111111111112}}}}}},"退":{"docs":{},"出":{"docs":{},"时":{"docs":{},"验":{"docs":{},"证":{"docs":{},"函":{"docs":{},"数":{"docs":{"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02}}}}}}}}},"验":{"docs":{},"证":{"docs":{},"函":{"docs":{},"数":{"docs":{"case/trigger/editor_trigger.html":{"ref":"case/trigger/editor_trigger.html","tf":0.02}}}}}},"返":{"docs":{},"回":{"docs":{},"该":{"docs":{},"对":{"docs":{},"象":{"docs":{"case/combo/bubble_combo.html":{"ref":"case/combo/bubble_combo.html","tf":0.006097560975609756}}}}}}},"有":{"docs":{},"二":{"docs":{},"级":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"case/combo/text_value_down_list_combo.html":{"ref":"case/combo/text_value_down_list_combo.html","tf":0.013513513513513514}}}}}}}}}}}}}},"总":{"docs":{},"页":{"docs":{},"数":{"docs":{},"和":{"docs":{},"总":{"docs":{},"行":{"docs":{},"数":{"docs":{},"的":{"docs":{},"分":{"docs":{},"页":{"docs":{},"控":{"docs":{},"件":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}}}}}}}}}}}}},"去":{"docs":{},"掉":{"docs":{},"所":{"docs":{},"有":{"docs":{},"内":{"docs":{},"容":{"docs":{"case/tree/branch_tree.html":{"ref":"case/tree/branch_tree.html","tf":0.02},"case/tree/handstand_branch_tree.html":{"ref":"case/tree/handstand_branch_tree.html","tf":0.019230769230769232},"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808},"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856},"case/tree/branch_relation.html":{"ref":"case/tree/branch_relation.html","tf":0.02040816326530612}}}}}}}},"树":{"docs":{},"展":{"docs":{},"示":{"docs":{},"控":{"docs":{},"件":{"docs":{"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333}}}}}},"状":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"表":{"docs":{},"格":{"docs":{"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676}}}}}}}},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{},",":{"docs":{},"继":{"docs":{},"承":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"detailed/tree/bi.multi_tree_combo.html":{"ref":"detailed/tree/bi.multi_tree_combo.html","tf":0.010869565217391304}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{"case/tree/display_tree.html":{"ref":"case/tree/display_tree.html","tf":0.03333333333333333}}}}},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"多":{"docs":{},"选":{"docs":{},"树":{"docs":{"case/tree/simple_tree.html":{"ref":"case/tree/simple_tree.html","tf":0.023809523809523808}}}}},"复":{"docs":{},"选":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{"components/all_value_chooser_combo.html":{"ref":"components/all_value_chooser_combo.html","tf":0.047619047619047616}}}}}},"树":{"docs":{},"控":{"docs":{},"件":{"docs":{},",":{"docs":{"components/tree_value_chooser_combo.html":{"ref":"components/tree_value_chooser_combo.html","tf":0.047619047619047616}}}}},"面":{"docs":{},"板":{"docs":{},",":{"docs":{"components/tree_value_chooser_pane.html":{"ref":"components/tree_value_chooser_pane.html","tf":0.047619047619047616}}}}}}}}}}}}},"二":{"docs":{},"级":{"docs":{},"树":{"docs":{"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{"detailed/combo/single_tree_combo.html":{"ref":"detailed/combo/single_tree_combo.html","tf":0.01694915254237288}}}}}},"参":{"docs":{},"数":{"docs":{"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}},"可":{"docs":{},"选":{"docs":{},"节":{"docs":{},"点":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{},"树":{"docs":{"detailed/combo/select_tree_combo.html":{"ref":"detailed/combo/select_tree_combo.html","tf":0.02040816326530612}}}}}}}}}}},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"元":{"docs":{},"素":{"docs":{},"代":{"docs":{},"表":{"docs":{},"一":{"docs":{},"条":{"docs":{},"路":{"docs":{},"径":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232}},",":{"docs":{},"相":{"docs":{},"较":{"docs":{},"于":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"多":{"docs":{},"一":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"来":{"docs":{},"指":{"docs":{},"定":{"docs":{},"方":{"docs":{},"向":{"docs":{"detailed/path/direction_path_chooser.html":{"ref":"detailed/path/direction_path_chooser.html","tf":0.02}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"树":{"docs":{},"结":{"docs":{},"构":{"docs":{"case/tree/level_tree.html":{"ref":"case/tree/level_tree.html","tf":0.017857142857142856}}}}}}},"交":{"docs":{},"叉":{"docs":{},"表":{"docs":{},"头":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}},"内":{"docs":{},"容":{"docs":{},"二":{"docs":{},"维":{"docs":{},"数":{"docs":{},"组":{"docs":{"detailed/table/bi.responsive_table.html":{"ref":"detailed/table/bi.responsive_table.html","tf":0.0053475935828877}}}}}}}}},"项":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}},"键":{"docs":{"case/table/adaptive_table.html":{"ref":"case/table/adaptive_table.html","tf":0.006172839506172839},"case/table/tree_table.html":{"ref":"case/table/tree_table.html","tf":0.0051813471502590676},"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676},"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}},"层":{"docs":{},"级":{"docs":{},"树":{"docs":{},"状":{"docs":{},"结":{"docs":{},"构":{"docs":{},"的":{"docs":{},"表":{"docs":{},"格":{"docs":{"case/table/layer_tree_table.html":{"ref":"case/table/layer_tree_table.html","tf":0.0051813471502590676}}}}}}}}}}},"总":{"docs":{},"行":{"docs":{},"数":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176}}}},"页":{"docs":{},"数":{"docs":{"case/pager/all_count_pager.html":{"ref":"case/pager/all_count_pager.html","tf":0.014705882352941176},"case/pager/direction_pager.html":{"ref":"case/pager/direction_pager.html","tf":0.00819672131147541}}}}},"日":{"docs":{},"历":{"docs":{},"控":{"docs":{},"件":{"docs":{"case/calendar.html":{"ref":"case/calendar.html","tf":0.013888888888888888}}}}},"期":{"docs":{},"选":{"docs":{},"择":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{},"的":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"面":{"docs":{},"板":{"docs":{"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}}}}}}},"(":{"docs":{},"弹":{"docs":{},"出":{"docs":{},"的":{"docs":{},"年":{"docs":{},"月":{"docs":{},"选":{"docs":{},"择":{"docs":{},"可":{"docs":{},"以":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"选":{"docs":{},"择":{"docs":{},"日":{"docs":{},"期":{"docs":{},")":{"docs":{"detailed/date/date_combo.html":{"ref":"detailed/date/date_combo.html","tf":0.058823529411764705}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"选":{"docs":{},"择":{"docs":{},"时":{"docs":{},"分":{"docs":{},"秒":{"docs":{},")":{"docs":{"detailed/date/date_time.html":{"ref":"detailed/date/date_time.html","tf":0.045454545454545456}}}}}}}}}}}}}}}},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"detailed/date/multidate_combo.html":{"ref":"detailed/date/multidate_combo.html","tf":0.05555555555555555}}}}}}}}}}}}}}}}},"区":{"docs":{},"间":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"b":{"docs":{},"i":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"detailed/date/time_interval.html":{"ref":"detailed/date/time_interval.html","tf":0.05555555555555555}}}}}}}}}}}}}}}}}},"剪":{"docs":{},"切":{"docs":{},"板":{"docs":{"case/clipboard.html":{"ref":"case/clipboard.html","tf":0.03125}}}}},"(":{"docs":{},"以":{"docs":{},"x":{"0":{"docs":{},",":{"docs":{"case/complex_canvas.html":{"ref":"case/complex_canvas.html","tf":0.020833333333333332}}}},"docs":{}}}},"颜":{"docs":{},"色":{"docs":{},"值":{"docs":{},"改":{"docs":{},"变":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{"case/color_chooser_popup.html":{"ref":"case/color_chooser_popup.html","tf":0.029411764705882353}}}}}}}}}},"各":{"docs":{},"种":{"docs":{},"s":{"docs":{},"e":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"case/segment.html":{"ref":"case/segment.html","tf":0.009345794392523364},"detailed/bi.button/segment.html":{"ref":"detailed/bi.button/segment.html","tf":10.009345794392523}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"detailed/bi.button/items.html":{"ref":"detailed/bi.button/items.html","tf":10.01063829787234}}}}}},"节":{"docs":{},"点":{"docs":{},"n":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"detailed/bi.button/node.html":{"ref":"detailed/bi.button/node.html","tf":10.00925925925926}}}}}}}}}},"编":{"docs":{},"辑":{"docs":{},"框":{"docs":{},"中":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{"detailed/text_input/number_editor.html":{"ref":"detailed/text_input/number_editor.html","tf":0.037037037037037035}}}}}}}}},"三":{"docs":{},"级":{"docs":{},"参":{"docs":{},"数":{"docs":{"detailed/table/bi.page_table.html":{"ref":"detailed/table/bi.page_table.html","tf":0.0047169811320754715}}}}}},"具":{"docs":{},"体":{"docs":{},"配":{"docs":{},"置":{"docs":{},"方":{"docs":{},"法":{"docs":{},"见":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"b":{"docs":{},"o":{"docs":{"detailed/down_list_combo.html":{"ref":"detailed/down_list_combo.html","tf":0.006578947368421052}}}}}}}}}}}}}},"年":{"docs":{},"份":{"docs":{},"选":{"docs":{},"择":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025}}}}}}}},"月":{"docs":{},"选":{"docs":{},"择":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{"detailed/date/year_month_combo.html":{"ref":"detailed/date/year_month_combo.html","tf":0.029411764705882353}}}}}}}},"季":{"docs":{},"度":{"docs":{},"选":{"docs":{},"择":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{"detailed/date/year_quarter_combo.html":{"ref":"detailed/date/year_quarter_combo.html","tf":0.03225806451612903}}}}}}}}}},"限":{"docs":{},"定":{"docs":{},"可":{"docs":{},"选":{"docs":{},"日":{"docs":{},"期":{"docs":{},"的":{"docs":{},"上":{"docs":{},"限":{"docs":{"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}}}},"下":{"docs":{},"限":{"docs":{"detailed/year_combo.html":{"ref":"detailed/year_combo.html","tf":0.025},"detailed/date/date_pane.html":{"ref":"detailed/date/date_pane.html","tf":0.02702702702702703}}}}}}}}}}},"月":{"docs":{},"份":{"docs":{},"选":{"docs":{},"择":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{"detailed/month_combo.html":{"ref":"detailed/month_combo.html","tf":0.03571428571428571}}}}}}}}},"季":{"docs":{},"度":{"docs":{},"选":{"docs":{},"择":{"docs":{},"下":{"docs":{},"拉":{"docs":{},"框":{"docs":{"detailed/quarter_combo.html":{"ref":"detailed/quarter_combo.html","tf":0.03571428571428571}}}}}}}}},"区":{"docs":{},"间":{"docs":{},"不":{"docs":{},"合":{"docs":{},"法":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"事":{"docs":{},"件":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}}},"合":{"docs":{},"法":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"事":{"docs":{},"件":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"成":{"docs":{},"立":{"docs":{},")":{"docs":{"detailed/number_interval.html":{"ref":"detailed/number_interval.html","tf":0.017241379310344827}}}}}}}}},"路":{"docs":{},"径":{"docs":{},"选":{"docs":{},"择":{"docs":{"detailed/path/path_chooser.html":{"ref":"detailed/path/path_chooser.html","tf":0.019230769230769232}}}}}}},"length":9280},"corpusTokens":["!==","\"","\"\"","\"\",","\"\"],","\"\"}","\"#wrapper\",","\"+\"","\".\"","\"0\",","\"0fbd0dc648f41e97\",","\"1\"","\"1\",","\"100%\"","\"100%\",","\"11\",","\"12\",","\"123\",","\"1f4711c201ef1842\",","\"2\",","\"2010年\",","\"3\"","\"3\",","\"456\",","\"5\"","\"8c4460bc3605685e\",","\"a\"","\"a\");","\"a\",","\"a1\",","\"a1字段\"},","\"aaa\"","\"aaa\",","\"aba\"","\"aba\",","\"acc\"","\"acc\",","\"auto\"","\"b\",","\"b2\",","\"b2...\",","\"b2字段\"","\"bbb\"","\"bbb\",","\"bi","\"bi.adaptive_table\",","\"bi.all_value_chooser_combo\",","\"bi.arrow_group_node\",","\"bi.branch_relation\",","\"bi.branch_tree\",","\"bi.bubble_combo\",","\"bi.button\",","\"bi.button_group\"","\"bi.button_group\",","\"bi.button_group\",behaviors:","\"bi.button_group\",items:","\"bi.button_tree\",","\"bi.button_tree\",choosetype:","\"bi.canvas\",","\"bi.center\",","\"bi.center\",hgap:","\"bi.center_adapt\",","\"bi.code_editor\",","\"bi.collection_table\",","\"bi.collection_view\",","\"bi.color_chooser\",","\"bi.color_chooser_popup\",","\"bi.combo\",","\"bi.combo_group\",","\"bi.complex_canvas\",","\"bi.custom_date_time_combo\",","\"bi.custom_tree\",","\"bi.custom_tree\"}}","\"bi.date_combo\",","\"bi.date_pane_widget\",","\"bi.direction_path_chooser\",","\"bi.display_tree\",","\"bi.editor\",","\"bi.editor_icon_check_combo\",","\"bi.editor_trigger\",","\"bi.expander\",","\"bi.file_manager\",","\"bi.formula_editor\",","\"bi.grid_table\",","\"bi.grid_view\",","\"bi.handstand_branch_tree\",","\"bi.horizontal_adapt\",","\"bi.horizontal_auto\",","\"bi.horizontal_float\",","\"bi.htape\",","\"bi.icon_combo\",","\"bi.icon_text_icon_item\",","\"bi.icon_text_item\",","\"bi.icon_text_node\",","\"bi.icon_trigger\",","\"bi.label\",","\"bi.label\"},","\"bi.label\"}}","\"bi.layer_tree_table\",","\"bi.lazy_loader\",","\"bi.left\"","\"bi.left\",","\"bi.level_tree\",","\"bi.list_loader\",","\"bi.list_view\",","\"bi.loader\",","\"bi.multi_popup_view\",","\"bi.multi_select_combo\",","\"bi.multi_select_item\",","\"bi.multi_tree_combo\",","\"bi.multidate_combo\"","\"bi.multifile_editor\",","\"bi.multilayer_select_level_tree\",","\"bi.multilayer_select_tree_combo\",","\"bi.multilayer_single_level_tree\",","\"bi.multilayer_single_tree_combo\",","\"bi.navigation\",","\"bi.number_interval\",","\"bi.page_table\",","\"bi.pager\",","\"bi.panel\",","\"bi.path_chooser\",","\"bi.plus_group_node\",","\"bi.popup_panel\",","\"bi.popup_view\",","\"bi.preview_table\",","\"bi.relation_view\",","\"bi.resizable_table\",","\"bi.responsive_table\",","\"bi.rich_editor\",","\"bi.right\",","\"bi.search_editor\"}","\"bi.searcher\",","\"bi.searcher_view\",","\"bi.searcher_view\"}","\"bi.segment\",","\"bi.select_level_tree\",","\"bi.select_list\",","\"bi.select_text_trigger\",","\"bi.select_tree_combo\",","\"bi.sequence_table\",","\"bi.shelter_editor\",","\"bi.sign_editor\",","\"bi.sign_initial_editor\",","\"bi.simple_state_editor\"","\"bi.simple_tree\",","\"bi.single_level_tree\",","\"bi.single_select_item\",","\"bi.single_select_radio_item\",","\"bi.single_slider\",","\"bi.single_tree_combo\",","\"bi.sort_list\",","\"bi.state_editor\",","\"bi.static_combo\",","\"bi.svg\",","\"bi.switch_tree\",","\"bi.switcher\",","\"bi.tab\",","\"bi.table\",","\"bi.table_view\",","\"bi.td\",","\"bi.text_button\",","\"bi.text_editor\",","\"bi.text_item\",","\"bi.text_value_check_combo\",","\"bi.text_value_combo\",","\"bi.text_value_down_list_combo\",","\"bi.textarea_editor\",","\"bi.time_interval\"","\"bi.tree_table\",","\"bi.tree_value_chooser_combo\",","\"bi.tree_value_chooser_pane\",","\"bi.triangle_group_node\",","\"bi.value_chooser_combo\",","\"bi.value_chooser_pane\",","\"bi.vertical\"","\"bi.vertical\",","\"bi.vertical\"}]}","\"bi.vertical\"}]}}","\"bi.vertical_adapt\",","\"bi.virtual_group\",","\"bi.virtual_list\",","\"bi.vtape\",","\"bi.year_month_combo\",","\"bi.year_quarter_combo\",","\"body\",","\"bottom\"","\"button_group\"","\"c\",","\"c1\",","\"c1字段\"}","\"c2\",","\"c2字段\"}","\"c6d72d6c7e19a667\",","\"center","\"chart","\"check","\"click\"","\"close","\"column","\"copi","\"defa1f7ba8b2684a客户id\"","\"demo","\"direction\":","\"div\"","\"dot","\"e351e9f1d8147947合同id\",","\"expander\"","\"fill\",","\"floatcenter与center的不同在于,它可以控制最小宽度和最大宽度\",","\"green\");","\"horizont","\"http://www.easyicon.net/api/resizeapi.php?id=1206741&size=128\",","\"id\",","\"item\"","\"label1\",","\"layout","\"left","\"left\"","\"left,right,center\"","\"middle\"","\"mvc","\"normal\"","\"pull","\"red\",","\"red\"});","\"region\":","\"regiontext\":","\"right","\"search","\"success\"","\"switcher\"","\"tab1\",","\"tab2\",","\"tab3","\"text\"","\"text\",","\"text\":","\"toast测试\"","\"top\"","\"valu","\"value\":","\"value_combo\",","\"vertic","\"warning\"","\"warning\",","\"xxxx\"}],","\"一月\",","\"三角形的节点\"","\"上一页\"","\"下一页\"","\"主键\",","\"供应商基本信息\",","\"前进\",","\"十字形的节点\"","\"单选item\"","\"单选项\"","\"原始值\",","\"右边的垂直居中\",","\"合同id\",","\"合同信息\",","\"合同的回款信息\",","\"后退\",","\"基本标签\"","\"复选item\"","\"复选项\"","\"字段不可重名!\",","\"学号\",","\"客户id\",","\"客户信息\",","\"尾页\"","\"左边的垂直居中\",","\"张三\"","\"标题\",","\"根目录\"","\"根目录\",","\"比\",","\"测试\"","\"测试\",","\"点击弹出floatbox\",","\"第\"","\"第一级子目录1\"","\"第一级子目录2\"","\"第一级目录1\"","\"第一级目录1\",","\"第一行第一列\"","\"第一行第三列\"","\"第一行第二列\"","\"第一项\",","\"第三项\",","\"第二级文件1\"","\"第二级文件1\",","\"第二行第一列\"","\"第二行第二列\"","\"第二项\",","\"箭头节点\"","\"表头1\"","\"表头2\"","\"表头3\"","\"这个是带标记的\"","\"这是一个按钮\"","\"这是一个简单的trigger\",","\"这里设置了hgap(水平间距),vgap(垂直间距)\",","\"这里设置了lgap,rgap,tgap,bgap\",","\"采购订单\",","\"采购订单xxx\",","\"面板1\"","\"面板2\"","\"页\"","\"项目1\",","\"项目2\",","\"首页\",","\"默认值\",","\"默认风格\"","$(function(){","%","'#wrapper',","''","'',","'1',","'1900","'2',","'2099","'3',","'bi.all_count_pager',","'bi.border',","'bi.bubble',","'bi.button',","'bi.calendar',","'bi.clear_editor',","'bi.clipboard',","'bi.direction_pager',","'bi.down_list_combo',","'bi.float_center',","'bi.grid',","'bi.horizontal',","'bi.icon_button',","'bi.image_button',","'bi.label',","'bi.left_right_vertical_adapt',","'bi.list_pane',","'bi.month_combo',","'bi.number_editor',","'bi.quarter_combo',","'bi.search_editor',","'bi.text_button',","'bi.toast',","'bi.vertical',","'bi.year_combo',","'body'","'body',","'button1'}},{height:","'button1'}},{width:","'button2'}},{height:","'button2'}},{width:","'button3'}}","'button3'}}]","'common',","'demo.vertical',","'fill',","'fill',el:","'fill']","'fill'],","'label1'}},{","'label2'},{","'label3'}","'sum(c5,","'一般按钮',","'文字按钮',","'点击我弹出一个消息框',","'简单toast测试',","()","(family,","(i","(i,","(index)","(options,","(row1,","(src,x,y,w,h)分别表示图片路径,绘制的原点横、纵坐标,宽、高","(v)","(width,height)分别表示画布宽高","(x,","(x,y)","(x,y,r)分别表示原点的横坐标,纵坐标,以及半径","(x,y,rx,ry)分别表示原点的横、纵坐标,以及水平半径和垂直半径","(x,y,text)分别表示绘制的原点横、纵坐标以及要绘制的文本内容","(x,y,w,h,color)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及绘制的颜色","(x,y,w,h,r)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及矩形的圆角bord","(x,y,width,height,fit)分别表示可视区域原点坐标以及可视区域宽高,以及是否根据可视区域进行调整","(x0,","(注:","*","+",",一些需要在设置状态后做的额外工作可以通过重写_setxxx来实现)","...",".attr({stroke:","/","//","//7表示八月","//width:","//初始化当前页,","//必选项","//最大日期","//最小日期","0","0\",","0,","0,behaviors:","0,layouts:","0,vgap:","01","01'","01',","0}]","1","1\",","1)","1,","1.1\",","1.222222222222222222222222222222222222\",","10","10)","10,","100","100,","100,el:","100;","100],","11","11,","110,","1111\",","12","12,","130],","145","16,","18,","1:","1;}","1],","1表示自动","1,这里虽然设置label的高度30,但是最终影响高度的是center布局\",","2","2\",","2,","2.1\",","2.2\",","20","20,","200","200,","200,el:","200]","200],","2010,","2015","2015,","21,","22,","24","25","25,","26)',","2:","2,为了演示label是占满整个的,用了一个whitespace:normal\",","3","30","30,","300","300,","30;","31'","31',","35","4","400","400,","5,","50","50,","500","500,","500],","50],","6,","600","600,","7","7,","70,","8),","80,","90","90,",":","=","[","[\"\",","[0,","[10,","[100,","[20,","[200,","[200,200],","[50,50,200,250,400],","[[{","[[{el:","[]","[],","[]或[[]]","[{","[{type:","[{width:","]","accept","adapt","adapter:","adaptive_t","adapt上下自适应\",","adapt左右自适应\",","add","additem","additem(arr)","addwidget","adjustheight","adjustlength","adjustlength:","adjustview","adjustwidth","adjustxoffset","adjustyoffset","aftercardcr","aftercardshow","aftercopi","aftercopy:","alert","align","align:","all_count_pag","all_value_chooser_combo","allowblank","api","append元素","array","array/numb","attr","attribut","auto左右自适应\",","b","b:","basecl","basic_sure\")","basicbutton","beforeclick","beforecr","beforedestroy","beforemount","behavior","bg\"","bg1\"","bg1\",","bg2\"","bg2\",","bg3\"","bg3\",","bg4\",","bg5\"","bg5\",","bg6\"","bgap","bi.adaptive_t","bi.all_count_pag","bi.barpopoversection()).open(id);","bi.basic_button","bi.basicbutton","bi.bord","bi.branch_rel","bi.branch_tre","bi.bubbl","bi.bubble_combo","bi.button","bi.button_group","bi.button_tre","bi.buttongroup.choose_type_multi,","bi.buttongroup.choose_type_singl","bi.buttongroup.choose_type_single,","bi.calendar","bi.canva","bi.cent","bi.center_adapt","bi.clear_editor","bi.cleareditor.event_clear","bi.clipboard","bi.code_editor","bi.collection_t","bi.collection_view","bi.collectionview.event_scrol","bi.color_choos","bi.color_chooser_popup","bi.combo","bi.combo.event_after_hideview","bi.combo.event_after_init","bi.combo.event_after_popupview","bi.combo.event_before_hideview","bi.combo.event_before_popupview","bi.combo.event_chang","bi.combo.event_collaps","bi.combo.event_expand","bi.combo.event_trigger_chang","bi.combo_group","bi.createwidget();}","bi.createwidget({","bi.custom_tre","bi.customdatetimecombo.event_cancel","bi.customdatetimecombo.event_confirm","bi.direction.bottom","bi.direction.right,","bi.direction.top","bi.direction_pag","bi.display_tre","bi.downlistcombo.event_before_popupview","bi.downlistcombo.event_chang","bi.downlistcombo.event_son_value_chang","bi.editor","bi.editor.event_backspac","bi.editor.event_blur","bi.editor.event_chang","bi.editor.event_click","bi.editor.event_confirm","bi.editor.event_empti","bi.editor.event_ent","bi.editor.event_error","bi.editor.event_focu","bi.editor.event_key_down","bi.editor.event_paus","bi.editor.event_remov","bi.editor.event_restrict","bi.editor.event_spac","bi.editor.event_start","bi.editor.event_stop","bi.editor.event_valid","bi.editor_trigg","bi.emptyfn","bi.expand","bi.expander.event_after_hideview","bi.expander.event_after_init","bi.expander.event_after_popupview","bi.expander.event_before_hideview","bi.expander.event_before_popupview","bi.expander.event_chang","bi.expander.event_collaps","bi.expander.event_expand","bi.expander.event_trigger_chang","bi.extend(v,","bi.extend({},","bi.float_box","bi.float_cent","bi.flow","bi.formula_editor","bi.grid","bi.grid_t","bi.grid_view","bi.gridview.event_scrol","bi.handstand_branch_tre","bi.horizont","bi.horizontal_adapt","bi.horizontal_auto","bi.horizontal_float","bi.horizontalalign.right,","bi.htap","bi.i18ntext(\"bi","bi.icon_button","bi.icon_combo","bi.icon_trigg","bi.image_button","bi.label","bi.layer_tree_t","bi.lazy_load","bi.left_right_vertical_adapt","bi.level_tre","bi.list_load","bi.list_pan","bi.load","bi.makearray(100,","bi.map([{value:","bi.monthcombo.event_before_popupview","bi.monthcombo.event_confirm","bi.msg","bi.msg.confirm('测试消息框',\"我是测试消息框的内容\");","bi.msg.toast(\"这是一条简单的数据\");","bi.multi_popup_view","bi.multi_select_item","bi.multi_tree_combo","bi.multifile_editor","bi.multifileeditor.event_progress","bi.multifileeditor.event_upload","bi.multifileeditor.event_uploadstart","bi.multilayer_select_tree_combo","bi.multilayer_single_tree_combo","bi.multiselectcombo.event_confirm","bi.multitreecombo.event_confirm","bi.navig","bi.nodebutton","bi.number_interv","bi.numbereditor.event_confirm","bi.numberinterval.event_error","bi.numberinterval.event_valid","bi.pag","bi.page_t","bi.pager.event_after_popul","bi.pan","bi.panel","bi.popovers.create(id,","bi.popovers.remove(id);","bi.popup_panel","bi.popup_view","bi.popuppanel.event_chang","bi.popuppanel.event_click_toolbar_button","bi.popuppanel.event_clos","bi.preview_t","bi.quartercombo.event_before_popupview","bi.quartercombo.event_confirm","bi.random(1,","bi.resizable_t","bi.responsive_t","bi.search","bi.search_editor","bi.searcheditor.event_clear","bi.searcher.event_after_init","bi.searcher.event_chang","bi.searcher.event_paus","bi.searcher.event_search","bi.searcher.event_start","bi.searcher.event_stop","bi.searcher_view","bi.select_list","bi.select_tree_combo","bi.selection.singl","bi.sgement","bi.shelter_editor","bi.sign_editor","bi.sign_initial_editor","bi.simple_tre","bi.singl","bi.single_select_item","bi.single_select_radio_item","bi.single_slid","bi.single_tree_combo","bi.singletreecombo.event_before_popupview","bi.sort_list","bi.state_editor","bi.static_combo","bi.svg","bi.switch","bi.switch_tre","bi.tab","bi.tabl","bi.table.event_table_after_init","bi.table.event_table_res","bi.table.event_table_scrol","bi.table_view","bi.td","bi.text_button","bi.text_editor","bi.text_trigg","bi.text_value_combo","bi.text_value_down_list_combo","bi.textarea_editor","bi.toast","bi.tree_t","bi.uuid()","bi.uuid();","bi.vert","bi.vertical_adapt","bi.verticalalign.middl","bi.verticalalign.top","bi.virtual_group","bi.virtual_list","bi.vtap","bi.widget","bi.yearcombo.event_before_popupview","bi.yearcombo.event_confirm","bi.yearmonthcombo.event_before_popupview","bi.yearmonthcombo.event_confirm","bi.yearquartercombo.event_before_popupview","bi.yearquartercombo.event_confirm","bi的组件就是集成的fineui进行开发的","block","blocksiz","blur","blur事件","boolean","boolean/numb","boolean/str","border","border\",","bottom","bottom,left","bottom,right","bottom:","branch","branch_expander组件配置项","branch_expander配置","branch_rel","branch_tre","bubbl","bubble_combo","button","button_group","button_tre","button的选中状态","calendar","callback","callback({","callback)","callback,","canva","canvas.branch(55,","canvas.circle(150,","canvas.stroke();","canvas绘图,基类bi.widget","card\",","cardcreat","cardcreator:","case","cellsizeandpositiongett","cellsizeandpositiongetter:","center","center:","center_adapt","centeroffset","centeroffset:","check","children","children:","choose_type_singl","choose_type_single,choose_type_multi,choose_type_all,choose_type_none,choose_type_default","choosetyp","choosetype:","choosetype可选值为","circl","cl","class,用于对外调用","clear","clear_editor","click","click,","click,hov","clipboard","close","closemax","closemin","cls:","cls:\"layout","cneter","code_editor","codingpages:","collection_t","collection_view","color","color)分别表示原点的横坐标,纵坐标,半径以及颜色","color_choos","color_chooser_popup","column","column:","columns","columns:","columnsize:","columnwidthgett","columnwidthgetter:","combo","combo,基类bi.widget","combo_group","comboclass","combo弹出层位置","combo类","common","common,success,warning,ignor","complex_canva","components/","confirm","const","context","copi","copy:","count","count:","creat","crosshead","crossheader,","crossheader:","crossitem","crossitems,","crossitems:","curr","curr:","custom_date_tim","custom_tre","data","date_combo","date_pan","date_pane_widget","date_tim","day","day:","day}","dblclick,","defaultshowindex","demo","destroy","destroywhenhid","direct","direction:","direction_pag","direction_path_choos","disabl","disabled\",","disabled:","disabledhov","disableerror","disableselect","disablewatermark","dishov","display_tre","dobehavior","doclick","dohighlight","doredmark","dosearch","down_list_combo","dynamic:","dynamic:false}","dynamic:true}","dynamicshow","dynamicshowfirstlast","dynamicshowprevnext","e","east:","editor","editor_icon_check_combo","editor_trigg","editor的value发生改变触发","el","el:","el:{","element:","element:\"#wrapper\",","element:\"body\",","ellips","empti","enabl","enableerror","enablehov","enablewatermark","end)","errortext","errortext:","estimatedcolumns","estimatedcolumnsize:","estimatedrows","estimatedrowsize:","event_after_hideview","event_after_init","event_after_popupview","event_before_hideview","event_before_popupview","event_collaps","event_expand","event_float_box_clos","event_paus","event_search","event_start","event_stop","event_trigger_chang","event_value_chang","expand","expanderclass","expander初始化后触发","expander展开触发","expander收起触发","extracl","faker.name.findname(),","fals","false,","false,numb","field","fieldtextvaluemap","file_manag","fineui","fineui2.0引入生命周期后,widget的实现类不需要重写setenable,setvalid等方法,会自动调用子组件的对应方法","fineui文档","first","first:","firstpag","firstpage:","float_box","float_cent","floatbox弹出层,bi.widget","float左右自适应\",","flow","fn","focu","focus事件","font\"","font\",","font,","footer","footerrows","forcecent","forcenotselect","forceselect","foreign:","formula_editor","freezecol","freezecols:","function","function()","function(){","function(){return","function(i,","function(idx,","function(op.callback)","function(option)","function(options,","function(row1,","function(v)","function/numb","getallbutton","getallleav","getbyid","getcalculatecolumns","getcalculateregioncolumns","getcalculateregionrows","getcheckstr","getclientregioncolumns","getcolumn","getcolumns","getcurrentpag","getelementbypoint","getelementsbypoint","geterrortext","getfont","getformulastr","getheight","gethpag","getimageheight","getimagewidth","getindexbyvalu","getitems:","getkeyword","getlastvalidvalu","getlefthorizontalscrol","getmaxscrollleft","getmaxscrolltop","getnam","getnodebyid","getnodebyvalu","getnotselectedbutton","getnotselectedvalu","getpopupposit","getregioncolumns","getregions","getrighthorizontalscrol","getscrollleft","getscrollregioncolumns","getscrollregionrows","getscrolltop","getselect","getselectedbutton","getselectedcard","getselectedid","getselectedtab","getselectedvalue()","getsrc","getstat","getstyl","gettab","gettag","gettext","gettiptyp","gettitl","getusedfield","getvalu","getvalue,","getverticalscrol","getview","getvlau","getvpag","getwarningtitl","getwidgetbynam","getwidth","githubpages:","gradient","grid","grid_tabl","grid_view","group","groups:","h","ha","handl","handler","handler:","handstand_branch_tre","hashnext","hashprev","hasmatch","hasnext","hasnext:","hasprev","hasverticalscrol","hasvnext","hasvprev","haswidget","header","header,","header:","headercellstylegett","headerrows","height","height:","height:30","height:50,","hgap","hgap:","hide","hidecheck","hideview","hollow","horizont","horizontal:","horizontal_adapt","horizontal_auto","horizontal_float","horizontaloverscans","hover","hover\"","hoverclass","hover事件","hover类","htape","htape与vertical混合形成的布局,用于二维表结构的布局","html标签","http://fanruan.coding.me/fineui","http://fanruan.coding.me/fineui/dist/index.html","https://coding.net/u/fanruan/p/bi","https://fanruan.github.io/fineui","icon_button","icon_combo","icon_trigg","iconclass","iconclass:","iconcls1:","iconcls:","iconheight","iconwidth","icon的类名","id","id:","imag","image_button","index","inittre","inputtyp","insertfield","insertfunct","insertoper","insertparam","insertstr","invalid","invis","isallselect","isautosearch","isautosearch为false时启用","isautosync","isdefaultinit","isdisableselect","isedit","isen","isexpand","isfinald","isforcenotselect","isforceselect","isfrontd","ismount","isneedadjustheight","isneedadjustwidth","isneedfreez","isneedfreeze:","isneedmerg","isneedmerge:","isneedres","isneedresize:","isol","isonc","isopen","isreadonli","isresizeadapt","isresizeadapt:","issearch","isselect","isshadowshowingonselect","isstatevalid()","isvalid","isviewvis","isvis","item","item)","item,","item.text,","items,","items:","items:[]","itemscr","itemscreator:","items构造器","json","jump","key","key,valu","key:","keydown时触发","keyword","keywords:","key:键,value:值","label","last","last:","lastpag","lastpage:","layer_tree_t","layout","layouts:","lazy_load","lclick","left","left,center,right","left,right,cent","left:","left_right_vertical_adapt","letter_spacing,","level","level,","level:","level_tre","lgap","lhgap","lhgap:","line","line_spacing)","lineheight","linewidth:","list_load","list_view","list面板,基类bi.widget","llgap","load","loader","loading图标是否在元素内部创建,true表示覆盖一层创建","logic","logic:","lrgap","mark","masker","masker:","masker层","matcher","matchresult,","math.floor(index","max","max:","maxcolumns","maxheight","maxheight:","maxsiz","maxwidth","mergecol","mergecols:","mergerul","messag","message,","min","min:","min_width","mincolumns","mincolumnsize:","minheight","minwidth","month","month,","month:","month_combo","monthbehavior","mount","mousedown,","mouseup,","multi_popup_view","multi_select_combo","multi_select_item","multi_select_level_tre","multi_single_level_tre","multi_tree_combo","multidate_combo","multifile_editor","multilayer_select_tree_combo","multilayer_single_tree_combo","multipl","m})","name","name,widget","nameorwidget","navig","new","next","no_select\")","no_selected_item\")","node","node:","nodebutton","normal,nowrap","north:","nowrap","null","null),","number","number,","number,fals","number,funct","number/boolean","number/funct","number/str","number_editor","number_interv","number}","obejct","obj({year:","object","object:","offset:","offsetstyl","onc","once:","onject","onkeydown","onload","onsearch","op","open","open:","opt","option.count","origin,","overflowi","overflowx","overlap","overscancolumncount","overscanheight","overscanrowcount","padding值","page","page_t","pager","pager:","pager刷新完成事件","pages:","pages为数字时可用","pages为数字时可用,","pane","pane_list","panel","panel的value发生改变触发","panel的关闭事件","param","paramformatt","path","path_choos","pathstr","pid:","poplulate(items)","popul","populate(bi.map(bi.map(bi.makearray(3,","populate(items)","populate)","populate这几个方法来设置值,获取值(展示类控件除外)和刷新控件","popup","popup\"","popup:","popup_panel","popup_view","popup组件","prependitem","prepend元素","prev","preview_t","primary:","print","prompt","props.clear","py","quarter_combo","quitcheck","radius,","radius大小","readonli","rect","redmark:","refresh","region:","regioncolumns","regiontext:","relation_view","remov","removeitem","removeitemat","removetab","removewidget","render","reset","resetheight","resetlastvalidvalu","resetlistheight","resetlistwidth","resetwidth","resiz","resizable_t","resizehead","responsive_t","restor","result,","return","rgap","rhgap","rhgap:","rich_editor","right","right:","root","row","row2","row2)","row:","rowheightgett","rowheightgetter:","rows:","rowsiz","rowsize:","rrgap","scrolli","scrollleft","scrollleft,","scrollleft:","scrolltop","scrolltop:","scrolltop}","scrollx","search_editor","searcher","searcher.populate([{","searcher_view","searchresult,","sectionprovid","segment","select","select_level_tre","select_list","select_text_trigg","select_tree_combo","selectal","selected:","selectedtim","sequence_t","sequencecellstylegett","set","setadapt","setallpag","setallselect","setclosemaxenable(boolean)","setcloseminenable(boolean)","setcolumns","setcount","seten","setenabledvalu","seterrortext","seterrorvis","setestimatedcolumns","setestimatedrows","setfieldtextvaluemap","setfinish","setfunct","setheadercolumns","setheight","sethpag","sethpagervis","setimageheight","setimagewidth","setlefthorizontalscrol","setmaxenable(boolean)","setminandmax","setminenable(boolean)","setnotselectedvalu","setnumtip(string)","setopen","setoverflowi","setoverflowx","setpagervis","setregioncolumns","setrighthorizontalscrol","setscrollleft","setscrolltop","setselect","setsiz","setsrc","setstart","setstat","setstorecolor","setstyl","settag","settext","settextstyl","settings:","settitl","settoolbarvis","setvalid","setvalid这几个方法来设置使能,是否可见,是否有效状态,并且在fineui2.0之后,会自动给子组件设置同样的状态,不要重写这些方法,一些需要在设置状态时的额外操作可以通过重写_setxxx来实现","setvalu","setverticalscrol","setviewbox","setvis","setvisible,","setvpag","setvpagervis","setwarningtitl","setwidth","setzindex","shadow","shelter_editor","show","showhint","showview","sign_editor","sign_initial_editor","simple_state_editor","simple_tre","singl","single_level_tre","single_select_item","single_select_radio_item","single_slid","single_tree_combo","singleslid","singleslider.populate();","singleslider.setminandmax({","singleslider.setvalue(30);","size,","slider\"","solid","sort_list(jqueri","sortable封装)","sourc","south:","src","src:","start,","state_editor","statest","static_combo","sting,object","stopev","stoppropag","stopsearch","str","stretch)","string","string,","string,object","string/funct","string/numb","stroke","strokestyle:","style","style,","success,warn","summarycellstylegett","svg","svg.path(\"m10,10l50,50m50,10l10,50\")","svg绘图,基类bi.widget","switch","switch_tre","switcher","switcherclass","switchselect","tab","tab:","tabl","table_view","table初始化完成后触发","table大小调整时触发(窗口变化等)","tabnam","tab标签页","tab面板,bi.widget","tab页元素","tag","tagnam","td","text","text:","text_button","text_editor","text_trigg","text_value_check_combo","text_value_combo","text_value_down_list_combo","textalign","textarea_editor","textheight","textheight:","textwidth","textwidth:","tgap","this.button_group,","time_interv","tiptext","tiptyp","titl","title,","title,opt","title:","titlebutton","titlebuttons:","title文本","title类型","toast","toast提示","toggl","tool","toolbar位置","toolbar栏","top","top,bottom,left,right,(top,left),(top,right),(bottom,left),(bottom,right)","top,bottom,left,right,custom","top,left","top,right","top:","tree","tree.inittree({","tree.populate(items);","tree_tabl","tree_value_chooser_combo","tree_value_chooser_pan","trigger","triggercollaps","triggerexpand","triggerwidth","trigger发生改变触发","true","true,","true,fals","true,false,str","true/fals","true;}","true;}},","type","type:","type:\"bi.absolute\",","unhighlight","unredmark","updat","upload","url","v","v)","v:","valid","validationcheck","valu","value){","value,","value,可以是单个值也可以是个数组","value:","value_chooser_combo","value_chooser_pan","value值","var","vertic","vertical:","vertical_adapt","verticalalign","verticaloverscans","vgap","vgap:","vgap:10","virtual_group","virtual_list","visibl","vtape","warningtitl","watermark","watermark:","watermark:\"带清除按钮的输入框\",","watermark:\"搜索\",","watermark:\"请输入内容\"","watermark:'请输入公式',","weight,","west:","whitespac","whitespace:","widget","width","width:","x1,","x2,","x2,y2...)","x:","y,","y0,","y0为根节点,分支到x1,y1,","y1)","y1,","y2)","y:","year","year:","year_combo","year_month_combo","year_quarter_combo","yearbehavior","z","zindex在1000w,bi.widget","zindex在1000w,基类bi.multipopupview","{","{dynamic:false}","{dynamic:true,scrolly:true}","{dynamic:true}","{el:","{height:","{min:","{offset:","{redmark:","{region:","{return","{scrollleft:","{text:","{type:","{year,","{}","{},","{},layouts:","{},popup:","{}}","|","}","})","}))","}),","});","},","},items:","},{","};","}]","}],","}];","}]]","}]],","}]}","—","一个动态加载的列表项,事先可以不知道列表项高度,可以处理大列表,基类bi.widget","一组具有相同属性的元素集合,与button_group的区别是可以处理树状结构,基类bi.buttongroup","一组具有相同属性的元素集合,基类bi.widget","一般的button父级,表示一个可以点击的区域,基类bi.singl","三级参数","上一页","上下的高度固定/左右的宽度固定,中间的高度/宽度自适应","上传结束后触发","上传过程中触发","下一页","下拉列表弹出前触发","下拉列表弹出后触发","下拉列表收起前触发","下拉列表收起后触发","下拉列表的弹出方式","下拉列表项带√的textvaluecombo,基类bi.widget","下拉框初始化后触发","下拉框展开触发","下拉框弹出前触发","下拉框弹出层,","下拉框弹出层的多选版本,toolbar带有若干按钮,","下拉框收起触发","不仅有选中状态而且有展开状态,","不变\",","不考虑超出边界的情况,","为解决排序问题引入的控件","主要作用于setvalue方法","之后初始值会一直显示的editor","事件","事件名称","事件方法","事件详见editor","二级参数","二级可选节点下拉框树","二级树","二级树下拉框","二维数组,每个元素代表一条路径","二维数组,每个元素代表一条路径,相较于path_chooser多一个属性direction来指定方向","交叉表内容二维数组","交叉表头","交叉项","代码文本框,基类bi.singl","优化过性能的列表,基类bi.widget","优化过的buttongroup,刷新不会删掉所有元素","使能选中","保存表","值","停止搜索","停止搜索触发(搜索框为空)","停止输入触发","储存","允许上传最大字节数","允许上传的文件类型","元素","元素内的空白处理方式","元素内空白处理方式","元素创造器","元素的垂直对齐方式","公式编辑控件,基类bi.singl","关联视图","关键字标红字符串","关闭弹出层","其他事件详见editor","其他事件详见input","具体配置方法见combo","内容项","内部元素间横向距离","内部元素间纵向距离","内部前插入","内部后插入","冻结column","冻结列","冻结的列","冻结的列号,从0开始,isneedfreeze为true时生效","分页控件,基类bi.widget","分页表格","分页计数","分页选项","切换trigger图标的combo","切换显示或隐藏面板,bi.widget","切换树结构","切换状态","切换类","列item","列宽","列宽数组","列宽,必设","列数","列表","列表创建器","列表头","列表最前添加元素","列表最后添加元素","列项宽度","列项间的","创建卡导航页页之后","初始化之后","初始化当前页","判断是否不让选中","判断是否怎么点击都不会被选中","判断是否显示","判断是否有上一页","判断是否有上一页,pages不可用时有效","判断是否有下一页","判断是否有下一页,pages不可用时有效","判断是否有前一页的函数","判断是否有前一页的方法","判断是否有后一页的方法","判断是否有效","判断是否有该组件","判断是否点击即选中","判断是否让选中","判断组件是否挂载","判断节点是否展开","刷新","刷新combo","刷新trigger选项","刷新内容","刷新列表","刷新或者清空列表","刷新文本框","刷新文本框,codemirror需要用到","剪切板","加载tree结构","加载中","加载之后的钩子","加载完成回调","加载完成的回调(测试了无效果)","加载控件,bi.widget","加载设置后的控件","区间不合法的状态事件","区间合法的状态事件","区间是否成立)","单元格宽度集合","单元格布局","单选combo,trigger显示项不会改变","单选层级树,基类bi.widget","单选框item,基类bi.basicbutton","即是否保持搜索面板和adapter面板状态值的统一","去掉所有内容","参数","参数显示值构造函数","参数设置","参考button_group","参考input输入框类型","参考相关css属性","取消hover事件","取消文本标红","取消文本高亮","取消标红","取消触发hover","可以单选多选切换的树,继承bi.widget","可以合并单元格的表格","可以实现展开收起的面板,基类bi.widget","可以点击的label,基类bi.basicbutton","可以点击的一行文字,基类bi.basicbutton","可以理解为multipopupview和panel两个面板的结合体,基类bi.multipopupview","可以编辑trigger的textvaluecheckcombo,基类bi.widget","可以选中父节点的singleleveltree,基类bi.widget","可以选中父节点的多层层级树,基类bi.widget","可调整列宽的表格,继承bi.widget","可选值","右区间初始状态","右边容器left","右边容器right","右边容器左右padding值","各种item","各种segment","各种节点node","合并column","合并的单元格列号","合并规则,","名称","回调参数","回车事件","回车但是值不合法","图标button,基类bi.basicbutton","图标宽度","图标按钮trigger","图标类型","图标高度","图片的button,基类bi.basicbutton","图片路径","在未知宽度和高度时有效","块大小以多少项为单位","垂直tape布局,n列定高,一列自适应","垂直流式布局","基础class类","基础元素","基础属性","基础用法","基类bi.widget","填充中空的路径","填充实心的路径","增加","增加内容","增加行","增加项","复杂的canvas绘图","复选下拉框控件","复选框item,基类bi.basicbutton","复选面板","多层下拉列表的下拉框","多层层级树,基类bi.widget","多层级下拉单选树","多层级下拉可选节点树","多文件,基类bi.singl","子控件数组","子控件数组,二维数组的时候行和列个数就表示了rows和column","子组件","子组件二维数组","子组件数组","子组件构造器","子组件配置","子项","子项创建函数","子项数组","子项,pid代表父节点id","字段集合","存储","存储数据","季度选择下拉框","完全匹配的构造器","完成拷贝后执行的方法","宽度","宽度width","富文本编辑器,基类bi.widget","对外方法","对齐方向","对齐方式","导航栏","导航栏控件,bi.widget","导航页展示之后","层级树状结构的表格","展开类","属性","工具栏的方向","左区间初始状态","左右分离,垂直方向居中容器","左边容器left","左边容器right","左边容器左右padding值","已选择状态输入框,基类bi.widget","布局","布局逻辑","布局都有lgap、rgap、tgap、bgap、hgap、vgap、scrollable,scrollx,scrolly,items属性","带方向的路径选择","带有标题栏的panel,基类bi.widget","带标记的文本框,基类bi.widget","带标记的文本框,需手动控制进入编辑状态","带清除按钮的输入框","带确定的复选下拉框","年份选择下拉框","年季度选择下拉框","年月选择下拉框","开启panel的元素","开启弹出层的元素","开启或者隐藏弹出层","开始上传时触发","开始搜索","开始搜索触发","开始绘制","开始输入触发","弹出列表和trigger的位置关系","弹出列表和trigger的距离","弹出层","弹出层宽度","弹出层显示位置","弹出层显示的位置元素","弹出层最大宽度","弹出层最大高度","弹出层最小宽度","弹出层最小高度","弹出层点击触发","弹出层的位置","弹出层高度","弹出框弹出前触发","弹窗层是否可见","当前元素","当前状态是否有效(输入是否合法,","当前页","当前页,","得到列宽","总行数","总页数","恢复hover可用","恢复文本框placeholder可用","慎用empti","懒加载loader","所有控件的超类","所有简单控件的基类,title的控制,文字超过边界显示3个点,基类bi.widget","打开弹出层","执行行为,一般不会手动调用","扩展class类,用于继承类中","拼音","挂载组件","指定初始值","按下backspace触发","按下空格触发","按钮文本宽度","按钮文本高度","按钮类型","按钮组","按键事件","排序列表","控件位置","控件都会提供setenable,","控件都会提供setvalue,","控件高度","提示titl","提示性信息","提示文本","提示消息框","提示类型","插入函数","插入参数","插入字符串","插入操作符","搜索中","搜索到的元素","搜索暂停触发(搜索文本以空白字符结尾)","搜索框","搜索结果面板初始化完成后触发","搜索结果面板发生改变触发","搜索逻辑控件,bi.widget","搜索面板,","效果相当于容器bottom","效果相当于容器left","效果相当于容器right","效果相当于容器top","效果相当于容器上下padding值","效果相当于容器左右padding值","效果相当于文本框bottom","效果相当于文本框left","效果相当于文本框right","效果相当于文本框top","效果相当于文本框上下padding值","效果相当于文本框左右padding值","效果相当于文本框左右padding值,如果clear属性为true,该属性值置0","数值区间控件","数值微调器","数值滑块","数据","文件上传","文件管理器","文件路径","文字布局","文字类型的按钮,基类bi.basicbutton","文本","文本value值","文本内容","文本域,基类bi.singl","文本域失焦","文本域的值","文本域获取焦点","文本对齐方式","文本标签","文本标签宽度","文本标红","文本框,基类bi.singl","文本框placehold","文本框值","文本框值是否有效","文本框失焦","文本框宽度","文本框是否处于编辑状态","文本框获取焦点","文本框高度","文本框默认值","文本输入框trigger","文本高亮","文档地址","方法","方法名","无","无论怎么点击都不会被选中","无限制","日历控件","日期下拉框,基类bi.widget","日期区间,基类bi.widget","日期选择下拉框的弹出面板","日期选择下拉框(可以选择时分秒)","日期选择下拉框(弹出的年月选择可以进一步选择日期)","时合并","是否为单页","是否为最大日期","是否为最小日期","是否停止mousedown、mouseup事件","是否停止mousedown、mouseup向上冒泡","是否允许为空","是否允许空值","是否允许退出编辑函数","是否全选中","是否冻结","是否冻结列","是否出现滚动条","是否动态显示上一页、下一页,dynamicshow为false时生效","是否动态显示上一页、下一页、首页、尾页,","是否动态显示首页、尾页,dynamicshow为false时生效","是否匹配","是否去掉边框和背景","是否只允许点击一次","是否只读","是否可改变列大小","是否可用","是否可见","是否含有数值滚动条","是否块状显示,即不显示边框,没有最小宽度的限制","是否支持多选","是否无论如何都要居中,","是否是根组件","是否显示尾页","是否显示总页数","是否显示提示信息","是否显示横向滚动条","是否显示纵向滚动条","是否显示阴影","是否显示首页","是否有上一页","是否有下一页","是否有前一页","是否有匹配的元素","是否有后一页","是否有效","是否正在搜索","是否自动同步数据,","是否自动搜索","是否被选中","是否调整时自适应","是否阻止事件","是否阻止冒泡","是否隐藏弹出层检测","是否需要冻结","是否需要冻结列","是否需要冻结单元格","是否需要冻结表头","是否需要合并单元格","是否需要在调整列宽或区域宽度的时候它们自适应变化","是否需要宽度调整","是否需要表尾","是否需要调整列宽","是否需要调整大小","是否需要高度调整","是否默认初始化子数据","是否默认初始化子节点","是否默认显示tab页","显示","显示内容","显示弹出层","显示总页数","显示页码的分页控件","普通单元格高度","暂停搜索","暂停输入触发(输入空白字符)","更换新的内容","更改树结构内容","替换为新内容","替换为新的内容","替换内容","最后一页","最后一页,在万不得已时才会调用这个函数获取最后一页的页码,","最大值初始值","最大列宽","最大宽度","最大日期","最大高度","最小值初始值","最小列宽","最小宽度","最小宽度,如果block/clear中某一项为true,此项值为0,否则为90","最小日期","月份选择下拉框","有二级下拉菜单的combo","有总页数和总行数的分页控件","构造树结构","标红","标题","标题后的按钮组","树下拉框,继承bi.widget","树展示控件","树状结构的表格","根据id获取nod","根据id获取节点","根据id返回元素","根据value值获取value在数组中的索引","根据value值获取节点","根据值获取node","根据值获取索引","根据值获取节点","根据制定参数打印出路径","根据组件名称获取组件","根节点所在方向","检查当前面板状态","概览","横向分支的树","横向坐标是否有上一页","横向坐标是否有下一页","横向滚动距离","横向翻页设置","横向超出可视范围区域预加载的数量","正在加载","正在搜索时触发","每列宽度所组成的数组","每格列宽","每格行宽","气泡提示","气泡显示位置","气泡显示内容","气泡高度","水印","水平tape布局,n列定宽,一列自适应","水平分页选项","水平和垂直方向都居中容器,","水平方向居中容器,水平居中推荐使用这种布局","水平流式布局","没有元素有提示信息,可以提供loading和loaded状态的面板,","浮动布局实现的center居中容器","浮动的水平居中布局,适用于宽度不定元素的水平居中","消息提示","添加字段","添加对象到json数组","添加组件","清空内容","清空组件","渲染列表","渲染组件","源码集成demo","滚动事件","滚动加载的个数","滚动时触发的事件","滚动条相对于左边的偏移","滚动条相对于顶部的偏移","灰化","点击一次选中有效,再点无效","点击一级节点触发","点击之后钩子","点击事件","点击事件之前","点击事件之前钩子","点击事件回调","点击二级节点触发","点击即选中,","点击取消触发","点击增加/减少按钮或者编辑框确定时触发","点击工具栏事件","点击清空按钮触发","点击确定触发","点击确认触发","点击编辑框触发(不在编辑状态时)","生命周期函数","生成树方法","用于继承的方法","用于表格预览,继承bi.widget","用法","确定输入触发(blur时且输入值有效)","确认消息框","移除tab面板页","移除制定元素","移除指定索引处的item","移除组件","空","第一个demo","第一页","简单的复选下拉树控件,","简单的复选下拉树面板,","简单的复选下拉框控件,","简单的多选树","类似于destroy,但元素并不会被销毁,只是被挂载起来了","类型","纵向分支的树","纵向分页,参数与horizont","纵向坐标是否有上一页","纵向坐标是否有下一页","纵向滚动距离","纵向翻页设置,参数与horizontal相同","纵向超出可视范围区域预加载的数量","组件text值","组件value值","组件实例刚被创建","组件实例创建完成","组件挂载","组件挂载之前","组件是否可见","组件更新","组件销毁前调用","组件销毁后调用","结束绘制","绘制","绘制图片","绘制圆形","绘制形状的集合","绘制文本","绘制树枝节点","绘制椭圆","绘制渐变色","绘制矩形","绘制线段","绘制路径","继承bi.widget","编辑框中的值,","网格布局","网格式的表格,继承bi.widget","网格视图集合,高性能组件,可以处理网格状的大集合,实现需要知道每一个视图的高度信息,基类bi.widget","能处理静态宽度以及动态宽度的表","自定义下拉列表中item项的行为,如高亮,标红等(详见button_group)","自定义下拉框trigger","自定义工具栏","自定义年份选择的行为(详见button_group)","自定义树,基类bi.widget","自适应垂直居中布局","自适应宽度的表格","自适应宽度的表格,继承bi.widget","自适应左右垂直居中布局","自适应横向居中布局","节点数组","节点是否展开","若为false,则指对其设置使能状态","获取combo","获取tab面板页","获取tag","获取text值","获取tiptyp","获取titl","获取value值","获取warningtitl","获取事件作用的对象","获取值","获取公式框内容","获取列项","获取可用字段","获取右往左横向滚动距离","获取图片宽度","获取图片路径","获取图片高度","获取左到右横向滚动距离","获取弹出层","获取弹出层的位置","获取当前选中项内容","获取当前选中项的id属性","获取当前选中项的value值","获取当前页码","获取所有button","获取所有叶节点","获取所有未被选中的元素","获取所有的叶子节点","获取所有被选中的元素","获取所选项值","获取搜索关键词","获取搜索关键词数组","获取搜索列表栏","获取文件名称","获取文本值","获取文本域值","获取文本域样式","获取文本样式","获取文本框值","获取文本框最后一次输入的有效值","获取未选中植","获取未选中的根节点","获取校验内容","获取横向滚动条宽度","获取水平向页码","获取没有被选中的值","获取浏览器中显示的列项之间的间隙","获取滚动条相对于左边的偏移","获取滚动条相对于左边的最大偏移","获取滚动条相对于顶部的偏移","获取滚动条相对于顶部的最大偏移","获取纵向滚动条宽度","获取纵向滚动距离","获取纵向页码","获取组件名称","获取组件宽度","获取组件高度","获取被选中的值","获取计算后的列项上下之间的间隙","获取计算后的列项之间的间隙","获取选中的index","获取选中的tab面板页","获取选中的导航页","获取选中的根节点","获取选中项","获取错误文本","获取间隙大小","获取需要拷贝的值","获取颜色值","获得值","获得列项之间的间隙","获得垂直页数","获得当前值","获得所以根节点","获得所有叶节点","获得日期","获得水平页数","获得计算后的列宽","获根据给定的点坐标返回元素","行item","行为,如高亮,标红等","行为,如高亮,标红等","行宽,必设","行数","行表头","行高","表关联树","表头","表头内容","表头行高","表头高度","表尾","表尾行高","表尾高度","表示一个可以展开的节点,","表示一个可以展开的节点,用于树状结构的节点元素,","被选元素要触发的事件","见上","视图集合,高性能容器,可处理大集合,事先需要知道每一个视图的宽度、高度位置等信息","触发hover","触发器宽度","触发节点展开","触发节点收起","警告消息框","记录状态的输入框,基类bi.widget","设定的年份","设定的日期","设定的月份","设置combo","设置error不可用","设置error可用","设置state","设置tag","设置text值","设置titl","设置toolbar是否可见","设置valu","设置value值","设置value值可用","设置z","设置值","设置储存的颜色值","设置全选","设置函数","设置列宽","设置列项之间的间隙","设置加载中,一般在继承类中调用","设置加载完毕,一般在继承类中调用","设置右区间开闭combo的disable状态","设置右区间输入框disable状态","设置右往左横向滚动距离","设置图片宽度","设置图片路径","设置图片高度","设置垂直方向是否有滚动条","设置字段集合","设置宽度","设置属性","设置左到右横向滚动距离","设置左区间开闭combo的disable状态","设置左区间输入框disable状态","设置弹出层显示的位置元素","设置当前值","设置当前选中项内容","设置当前页码","设置总页数","设置数值区间的tip提示","设置文本值","设置文本域值","设置文本域样式","设置文本样式","设置文本框placeholder不可用","设置文本框值","设置文本框样式","设置日期","设置是否显示横向滚动条","设置最大值最小值","设置未被选中的值","设置未选中值","设置标红的关键词","设置标题","设置横向分页键可见","设置每个单元格的位置坐标和宽高","设置水平方向是否有滚动条","设置水平页数","设置滚动条相对于左边的偏移","设置滚动条相对于顶部的偏移","设置画布可视区域","设置画布尺寸","设置纵向分页键可见","设置纵向滚动距离","设置纵向页数","设置组件不可用","设置组件不可见","设置组件可用","设置组件可见","设置组件宽度","设置组件属性","设置组件无效","设置组件是否可用","设置组件是否可见","设置组件是否有效","设置组件有效","设置组件高度","设置节点展开状态","设置行宽","设置表头的列宽","设置计数","设置选中","设置选中值","设置选中的index","设置选中的文本","设置选中项","设置错误titl","设置错误文本","设置错误文本可见","设置页码是否可见","设置颜色值","设置高度","说明","调整宽度","调整弹出层显示的位置元素","调整搜索列表栏","调整横向偏移","调整纵向偏移","调整表头","调整表格","调整高度","谨慎监听和触发bi.controller.event_change事件,一般来说,控件都会有一个bi.classname.event_change事件,一些特殊的事件会在对应控件文档中列出","起步","超出可视范围区域多少高度预加载","超出可视范围区域的高度","超出可视范围区域预加载多少列","超出可视范围区域预加载多少行","路径选择","输入为空时按下backspac","输入值无效的状态事件","输入值有效的状态事件","输入框为空时触发","输入框类型","输入较验函数","返回该对象","还原列表设置","这仅仅只是一个超类,","连续显示分页数","退出时验证函数","适用于数据量少的情况,getvalue返回所有值,基类bi.widget","适配器","选中了就不会被取消,与once的区别是forceselected不影响事件的触发","选中文本框文本","选中日期或者退出编辑状态触发","选中状态下是否显示阴影","选中的初始年月","选择列表","选择字段trigger","选择文件","选择类型","选色控件","选色控件弹窗","通用按钮","通用按钮,详情见bi.button","通用规范","通过给定的参数在已注册的字体中找到字体对象","通过鼠标或键盘输入字符","配置项","重心偏移量","重新设置高度","重置","重置列表宽度","重置列表高度","重置宽度","重置文本框最后一次输入的有效值","重置画布","重置高度","销毁组件","错误titl","错误信息","错误提示","错误提示titl","键","阻止事件","阻止事件冒泡","阻止冒泡","限定可选日期的上限","限定可选日期的下限","隐藏","隐藏弹出层","隐藏弹窗层是否销毁","需要设置的文本值text","需要设置的文本域样式style,例{\"color\":\"#000\"}","需要设置的文本标签样式,例{\"color\":\"#000\"}","需要设置的文本标签样式style,例{\"color\":\"#000\"}","非自适应,用于宽度高度固定的面板","靠左/右对齐的自由浮动布局","面板切换","面板展开","面板收起","面板显示之前","面板显示之后","面板显示的位置","面板构造之后","面板构造器","面板隐藏之前","面板隐藏之后","页数跳转","页码","预估列宽,rowheightgetter为function时必设","预估行宽,columnwidthgetter为function时必设","颜色值改变时触发","验证函数","高度","高度height","高级属性","默认row1","默认值","默认显示页码","默认相等时合并","(以x0,"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"概览","keywords":"","body":"FineUI\nFineUI文档\n文档地址\nGithubPages: https://fanruan.github.io/fineui\nCodingPages: http://fanruan.coding.me/fineui\nDemo\nCodingPages: http://fanruan.coding.me/fineui/dist/index.html\n"},"START.html":{"url":"START.html","title":"起步","keywords":"","body":"第一个demo\n\n \n \n \n \n \n \n \n \n $(function(){\n BI.createWidget({\n type:\"bi.absolute\",\n element: \"body\",\n items: [{\n el:{\n type: \"bi.button\",\n text: \"这是一个按钮\"\n },\n left: 100,\n top: 100\n }]\n })\n })\n \n \n\n\n源码集成Demo\nBI的组件就是集成的fineui进行开发的\nhttps://coding.net/u/fanruan/p/bi-components/\n"},"OVERVIEW.html":{"url":"OVERVIEW.html","title":"通用规范","keywords":"","body":"通用规范\n\n控件都会提供setValue, getValue, populate这几个方法来设置值,获取值(展示类控件除外)和刷新控件\n控件都会提供setEnable, setVisible, setValid这几个方法来设置使能,是否可见,是否有效状态,并且在fineui2.0之后,会自动给子组件设置同样的状态,不要重写这些方法,一些需要在设置状态时的额外操作可以通过重写_setXXX来实现\n布局都有lgap、rgap、tgap、bgap、hgap、vgap、scrollable,scrollx,scrolly,items属性\n慎用empty\n谨慎监听和触发BI.Controller.EVENT_CHANGE事件,一般来说,控件都会有一个BI.ClassName.EVENT_CHANGE事件,一些特殊的事件会在对应控件文档中列出\n\n"},"core/layout/vertical.html":{"url":"core/layout/vertical.html","title":"vertical","keywords":"","body":"bi.vertical\n垂直流式布局\nsource\n\nBI.createWidget({\n type: 'demo.vertical',\n element: \"#wrapper\",\n items: [{\n type: \"bi.label\",\n cls: \"layout-bg1\",\n text: \"这里设置了hgap(水平间距),vgap(垂直间距)\",\n height: 30\n }, {\n type: \"bi.label\",\n cls: \"layout-bg2\",\n text: \"这里设置了hgap(水平间距),vgap(垂直间距)\",\n height: 30\n }]\n});\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nscrolly\n设置垂直方向是否有滚动条\nboolean\ntrue,false\ntrue\n\n\n\n\n"},"core/layout/horizontal.html":{"url":"core/layout/horizontal.html","title":"horizontal","keywords":"","body":"bi.horizontal\n水平流式布局\nsource\n\nBI.createWidget({\n type: 'bi.horizontal',\n element: \"#wrapper\",\n items: [{\n type: \"bi.text_button\",\n cls: \"layout-bg1\",\n text: \"这里设置了lgap,rgap,tgap,bgap\",\n height: 30,\n width: 200\n }, {\n type: \"bi.text_button\",\n cls: \"layout-bg2\",\n text: \"这里设置了lgap,rgap,tgap,bgap\",\n height: 30,\n width: 200\n }]\n});\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ncolumnSize\n每列宽度所组成的数组\narray\n—\n[ ]\n\n\nverticalAlign\n元素的垂直对齐方式\nstring\n参考相关css属性\n\"middle\"\n\n\nscrollx\n设置水平方向是否有滚动条\nboolean\ntrue,false\ntrue\n\n\n\n\n"},"core/layout/htape.html":{"url":"core/layout/htape.html","title":"htape","keywords":"","body":"bi.htape\n水平tape布局,n列定宽,一列自适应\nsource\n\nBI.createWidget({\n type: \"bi.htape\",\n element: \"#wrapper\", \n items : [\n {\n width: 100,\n el : {\n type : 'bi.label',\n text : '1',\n cls: \"layout-bg1\"\n }\n }, {\n width: 200,\n el : {\n type : 'bi.label',\n text : '2',\n cls: \"layout-bg2\"\n }\n }, {\n width: 'fill',\n el : {\n type : 'bi.label',\n text : '3',\n cls: \"layout-bg3\"\n }\n }\n ]\n});\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nitems\n子控件数组\narray\n—\n[{width: 100,el: {type: 'bi.button', text: 'button1'}},{width: 'fill',el: {type: 'bi.button', text: 'button2'}},{width: 200,el: {type: 'bi.button', text: 'button3'}}]\n\n\n\n\n"},"core/layout/vtape.html":{"url":"core/layout/vtape.html","title":"vtape","keywords":"","body":"bi.vtape\n垂直tape布局,n列定高,一列自适应\nsource\n\nBI.createWidget({\n type: \"bi.vtape\",\n element: \"#wrapper\", \n items : [\n {\n height: 100,\n el : {\n type : 'bi.label',\n text : '1',\n cls: \"layout-bg1\"\n }\n }, {\n height: 200,\n el : {\n type : 'bi.label',\n text : '2',\n cls: \"layout-bg2\"\n }\n }, {\n height: 'fill',\n el : {\n type : 'bi.label',\n text : '3',\n cls: \"layout-bg3\"\n }\n }\n ]\n});\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nitems\n子控件数组\narray\n—\n{height: 100,el: {type: 'bi.button', text: 'button1'}},{height: 'fill',el: {type: 'bi.button', text: 'button2'}},{height: 200,el: {type: 'bi.button', text: 'button3'}}\n\n\n\n\n"},"core/layout/center_adapt.html":{"url":"core/layout/center_adapt.html","title":"center_adapt","keywords":"","body":"bi.center_adapt\n自适应左右垂直居中布局\nsource\n\nBI.createWidget({\n type: \"bi.center_adapt\",\n element: \"#wrapper\",\n hgap: 10,\n items: [{\n type: \"bi.label\",\n text: \"Center Adapt 1\",\n cls: \"layout-bg1\",\n height: 30\n }, {\n type: \"bi.label\",\n text: \"Center Adapt 2\",\n cls: \"layout-bg2\",\n height: 30\n }]\n})\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ncolumnSize\n列宽\narray\n—\n[ ]\n\n\n\n\n"},"core/layout/vertical_adapt.html":{"url":"core/layout/vertical_adapt.html","title":"vertical_adapt","keywords":"","body":"bi.vertical_adapt\n自适应垂直居中布局\nsource\n\nBI.createWidget({\n type: \"bi.vertical_adapt\",\n element: \"#wrapper\",\n vgap: 10,\n items: [{\n type: \"bi.label\",\n text: \"Vertical Adapt上下自适应\",\n cls: \"layout-bg1\",\n width: 300,\n height: 30\n }, {\n type: \"bi.label\",\n text: \"Vertical Adapt上下自适应\",\n cls: \"layout-bg2\",\n width: 300,\n height: 30\n }]\n})\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ncolumnSize\n列宽\narray\n—\n[ ]\n\n\n\n\n"},"core/layout/left_right_vertical_adapt.html":{"url":"core/layout/left_right_vertical_adapt.html","title":"left_right_vertical_adapt","keywords":"","body":"bi.left_right_vertical_adapt\n左右分离,垂直方向居中容器\nsource\n\nBI.createWidget({\n type: 'bi.left_right_vertical_adapt',\n element: \"#wrapper\",\n lhgap: 10,\n rhgap: 10,\n items: {\n left: [{\n type: \"bi.label\",\n text: \"左边的垂直居中\",\n cls: \"layout-bg1\",\n width: 100,\n height: 30\n }],\n right: [{\n type: \"bi.label\",\n text: \"右边的垂直居中\",\n cls: \"layout-bg1\",\n width: 100,\n height: 30\n }]\n }\n});\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nlhgap\n左边容器左右padding值\nnumber\n—\n0\n\n\nlrgap\n左边容器right-padding值\nnumber\n—\n0\n\n\nllgap\n左边容器left-padding值\nnumber\n—\n0\n\n\nrhgap\n右边容器左右padding值\nnumber\n—\n0\n\n\nrrgap\n右边容器right-padding值\nnumber\n—\n0\n\n\nrhgap\n右边容器left-padding值\nnumber\n—\n0\n\n\nitems\n子控件数组\narray\n—\n[ ]\n\n\n\n\n"},"core/layout/flow.html":{"url":"core/layout/flow.html","title":"flow","keywords":"","body":"bi.flow\n靠左/右对齐的自由浮动布局\nsource\n\nBI.createWidget({\n type: \"bi.center_adapt\",\n element: \"#wrapper\",\n items: [{\n type: \"bi.left\",\n items: [{\n type: \"bi.label\",\n height: 30,\n text: \"Left-1\",\n cls: \"layout-bg1\",\n hgap: 20\n }, {\n type: \"bi.label\",\n height: 30,\n text: \"Left-2\",\n cls: \"layout-bg2\",\n hgap: 20\n }],\n hgap: 20,\n vgap: 20\n }, {\n type: \"bi.right\",\n items: [{\n type: \"bi.label\",\n height: 30,\n text: \"Right-1\",\n cls: \"layout-bg3\",\n hgap: 20\n }, {\n type: \"bi.label\",\n height: 30,\n text: \"Right-2\",\n cls: \"layout-bg4\",\n hgap: 20\n }],\n hgap: 20,\n vgap: 20\n }]\n});\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n\n"},"core/layout/center.html":{"url":"core/layout/center.html","title":"center","keywords":"","body":"bi.center\n水平和垂直方向都居中容器, 非自适应,用于宽度高度固定的面板\nsource\n\nBI.createWidget({\n type: \"bi.center\",\n element: \"#wrapper\",\n items: [{\n type: \"bi.label\",\n text: \"Center 1,这里虽然设置label的高度30,但是最终影响高度的是center布局\",\n cls: \"layout-bg1\",\n whiteSpace: \"normal\"\n },{\n type: \"bi.label\",\n text: \"Center 2,为了演示label是占满整个的,用了一个whiteSpace:normal\",\n cls: \"layout-bg2\",\n whiteSpace: \"normal\"\n }],\n hgap: 20,\n vgap: 20\n});\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n\n"},"core/layout/horizontal_adapt.html":{"url":"core/layout/horizontal_adapt.html","title":"horizontal_adapt","keywords":"","body":"bi.horizontal_adapt\n自适应横向居中布局\nsource\n\nBI.createWidget({\n type: \"bi.horizontal_adapt\",\n element: \"#wrapper\",\n vgap: 10,\n items: [{\n type: \"bi.label\",\n text: \"Horizontal Adapt左右自适应\",\n cls: \"layout-bg1\",\n width: 300,\n height: 30\n }, {\n type: \"bi.label\",\n text: \"Horizontal Adapt左右自适应\",\n cls: \"layout-bg2\",\n //width: 300,\n height: 30\n }]\n})\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ncolumnSize\n每列宽度所组成的数组\narray\n—\n[ ]\n\n\nverticalAlign\n元素的垂直对齐方式\nconst\n参考相关css属性\nBI.VerticalAlign.Middle\n\n\n\n\n"},"core/layout/horizontal_auto.html":{"url":"core/layout/horizontal_auto.html","title":"horizontal_auto","keywords":"","body":"bi.horizontal_auto\n水平方向居中容器,水平居中推荐使用这种布局\nsource\n\nBI.createWidget({\n type: \"bi.horizontal_auto\",\n element: \"#wrapper\",\n vgap: 10,\n items: [{\n type: \"bi.label\",\n text: \"Horizontal Auto左右自适应\",\n cls: \"layout-bg1\",\n width: 300,\n height: 30\n }, {\n type: \"bi.label\",\n text: \"Horizontal Auto左右自适应\",\n cls: \"layout-bg2\",\n width: 300,\n height: 30\n }]\n})\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n\n"},"core/layout/horizontal_float.html":{"url":"core/layout/horizontal_float.html","title":"horizontal_float","keywords":"","body":"bi.horizontal_float\n浮动的水平居中布局,适用于宽度不定元素的水平居中\nsource\n\nBI.createWidget({\n type: \"bi.horizontal_float\",\n element: \"#wrapper\",\n vgap: 10,\n items: [{\n type: \"bi.label\",\n text: \"Horizontal Float左右自适应\",\n cls: \"layout-bg1\",\n width: 200,\n height:30\n }]\n})\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n\n"},"core/layout/float_center.html":{"url":"core/layout/float_center.html","title":"float_center","keywords":"","body":"bi.float_center\n浮动布局实现的Center居中容器\nsource\n\nBI.createWidget({\n type: 'bi.float_center',\n element: \"#wrapper\",\n items: [{\n type: \"bi.label\",\n text: \"floatCenter与center的不同在于,它可以控制最小宽度和最大宽度\",\n cls: \"layout-bg1\",\n whiteSpace: \"normal\"\n }, {\n type: \"bi.label\",\n text: \"floatCenter与center的不同在于,它可以控制最小宽度和最大宽度\",\n cls: \"layout-bg2\",\n whiteSpace: \"normal\"\n }],\n height: 300,\n hgap: 20,\n vgap: 20\n});\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n\n"},"core/layout/border.html":{"url":"core/layout/border.html","title":"border","keywords":"","body":"bi.border\n上下的高度固定/左右的宽度固定,中间的高度/宽度自适应\nsource\nBI.createWidget({\n type: 'bi.border',\n element: \"#wrapper\",\n items: {\n north: {\n el: {type: \"bi.label\"},\n height: 30,\n top: 20,\n left: 20,\n right: 20\n },\n south: {\n el: {type: \"bi.label\"},\n height: 50,\n bottom: 20,\n left: 20,\n right: 20\n },\n west: {\n el: {type: \"bi.label\"},\n width: 200,\n left: 20\n },\n east: {\n el: {type: \"bi.label\"},\n width: 300,\n right: 20\n },\n center: {el: {type: \"bi.label\"}}\n }\n});\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n\n"},"core/layout/grid.html":{"url":"core/layout/grid.html","title":"grid","keywords":"","body":"bi.grid\n网格布局\nsource\n\nBI.createWidget({\n type: 'bi.grid',\n element: \"#wrapper\",\n columns: 2,\n rows: 2,\n items: [{\n column: 0,\n row: 0,\n el: {\n type: \"bi.label\",\n text: \"column-0, row-0\",\n cls: \"layout-bg1\"\n }\n }, {\n column: 1,\n row: 0,\n el: {\n type: \"bi.label\",\n text: \"column-1, row-0\",\n cls: \"layout-bg2\"\n }\n } {\n column: 0,\n row: 1,\n el: {\n type: \"bi.label\",\n text: \"column-0, row-1\",\n cls: \"layout-bg5\"\n }\n }, {\n column: 1,\n row: 1,\n el: {\n type: \"bi.label\",\n text: \"column-1, row-1\",\n cls: \"layout-bg6\"\n }\n }]\n});\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ncolumns\n列数\nnumber\n—\nnull\n\n\nrows\n行数\nnumber\n—\nnull\n\n\nitems\n子控件数组,二维数组的时候行和列个数就表示了rows和columns\narray\n—\n[]或[[]]\n\n\n\n\n"},"core/layout/table.html":{"url":"core/layout/table.html","title":"table","keywords":"","body":"bi.table\nhtape与vertical混合形成的布局,用于二维表结构的布局\nsource\nBI.createWidget({\n element: \"body\",\n type: \"bi.table\",\n items: [],\n columnSize: [100, \"fill\", 200],\n rowSize: [10, 30, 50, 70, 90, 110, 130],\n hgap: 20,\n vgap: 10\n});\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nscrolly\n是否出现滚动条\nboolean\ntrue\n\n\ncolumnSize\n列项宽度\narray/number\n[200, 200, 'fill']\n\n\nrowSize\n行高\narray/number\n30\n\n\nhgap\n内部元素间纵向距离\nnumber\n0\n\n\nvgap\n内部元素间横向距离\nnumber\n0\n\n\nitems\n子项\narray\n[{width: 100,el: {type: 'bi.button', text: 'button1'}},{width: 'fill',el: {type: 'bi.button', text: 'button2'}},{width: 200,el: {type: 'bi.button', text: 'button3'}}]\n\n\n\n方法\n\n\n\n方法名\n说明\n用法\n\n\n\n\naddItem\n增加内容\naddItem(arr)\n\n\npopulate\n刷新\npopulate(items)\n\n\n\n"},"core/layout/td.html":{"url":"core/layout/td.html","title":"td","keywords":"","body":"bi.td\n单元格布局\nsource\nBI.createWidget({\n type: \"bi.td\",\n element: 'body',\n columnSize: [20, 20, 'fill'],\n items: []\n});\n\n\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\ncolumnSize\n列宽\narray\n[200, 200, 200]\n\n\nitems\n内容项\narray\n[[{el: {text: 'label1'}},{ el: {text: 'label2'},{ el: {text: 'label3'}\n\n\n\n方法\n\n\n\n方法名\n说明\n用法\n\n\n\n\naddItem\n增加内容\naddItem(arr)\n\n\npopulate\n更换新的内容\npoplulate(items)\n\n\n\n"},"core/abstract/button_group.html":{"url":"core/abstract/button_group.html","title":"button_group","keywords":"","body":"bi.button_group\n一组具有相同属性的元素集合,基类BI.Widget\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.button_group\",\n chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE,\n layouts: [{\n type: \"bi.vertical\"\n }],\n items: [{\n el: {\n type: \"bi.label\",\n text: \"button_group\"\n },\n height: 50,\n }]\n})\n\n\n\nAPI\n基础属性\nchooseType可选值为 CHOOSE_TYPE_SINGLE,CHOOSE_TYPE_MULTI,CHOOSE_TYPE_ALL,CHOOSE_TYPE_NONE,CHOOSE_TYPE_DEFAULT\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nbehaviors\n行为,如高亮,标红等\nobject\n—\n{ }\n\n\nitems\n子组件数组\narray\n—\n[ ]\n\n\nchooseType\n选择类型\nconst\n见上\nBI.ButtonGroup.CHOOSE_TYPE_SINGLE\n\n\nlayouts\n布局\narray\n—\n[{type: \"bi.center\",hgap: 0,vgap: 0}]\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\ndoBehavior\n执行行为,一般不会手动调用\n—\n\n\nprependItems\nprepend元素\nitems\n\n\naddItems\nappend元素\nitems\n\n\nremoveItemAt\n移除指定索引处的item\nindexs\n\n\nremoveItems\n移除制定元素\nvalues\n\n\npopulate\n刷新列表\nitems\n\n\nsetNotSelectedValue\n设置未被选中的值\nvalue,可以是单个值也可以是个数组\n\n\nsetEnabledValue\n设置value值可用\nvalue,可以是单个值也可以是个数组\n\n\nsetValue\n设置value值\nvalue,可以是单个值也可以是个数组\n\n\ngetNotSelectedValue\n获取没有被选中的值\n—\n\n\ngetValue\n获取被选中的值\n—\n\n\ngetAllButtons\n获取所有button\n—\n\n\ngetAllLeaves\n获取所有的叶子节点\n—\n\n\ngetSelectedButtons\n获取所有被选中的元素\n—\n\n\ngetNotSelectedButtons\n获取所有未被选中的元素\n—\n\n\ngetIndexByValue\n根据value值获取value在数组中的索引\nvalue\n\n\ngetNodeById\n根据id获取节点\nid\n\n\ngetNodeByValue\n根据value值获取节点\nvalue\n\n\n\n\n"},"core/abstract/button_tree.html":{"url":"core/abstract/button_tree.html","title":"button_tree","keywords":"","body":"bi.button_tree\n一组具有相同属性的元素集合,与button_group的区别是可以处理树状结构,基类BI.ButtonGroup\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.button_tree\",\n chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI,\n layouts: [{\n type: \"bi.vertical\"\n }],\n items: [{\n type: \"bi.label\",\n text: \"0\",\n value: \"label1\",\n height:50,\n vgap:10\n }]\n})\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\n\n\n\n\n\n"},"core/abstract/virtual_group.html":{"url":"core/abstract/virtual_group.html","title":"virtual_group","keywords":"","body":"bi.virtual_group\n优化过的buttonGroup,刷新不会删掉所有元素 基类BI.Widget\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.virtual_group\",\n width: 500,\n height: 300,\n chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI,\n layouts: [{\n type: \"bi.vertical\"\n }, {\n type: \"bi.center_adapt\",\n }],\n items:[]\n})\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nitems\n子组件数组\narray\n—\n[ ]\n\n\nlayouts\n布局\narray\n—\n[{type: \"bi.center\",hgap: 0,vgap: 0}]\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetValue\n设置value值\nvalue,可以是单个值也可以是个数组\n\n\ngetValue\n获取被选中的值\n—\n\n\nprependItems\n内部前插入\nitems\n\n\naddItems\n内部后插入\nitems\n\n\npopulate\n刷新列表\nitems\n\n\nrender\n渲染列表\n—\n\n\n\n\n"},"core/abstract/custom_tree.html":{"url":"core/abstract/custom_tree.html","title":"custom_tree","keywords":"","body":"bi.custom_tree\n自定义树,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.custom_tree\",\n el: {\n type: \"bi.button_tree\",\n chooseType: 0,\n layouts: [{\n type: \"bi.vertical\",\n hgap: 30\n }]\n },\n items: [{\n id: -1,\n pId: -2,\n value: \"根目录\",\n open: true,\n type: \"bi.plus_group_node\",\n height: 25\n },\n {\n id: 1,\n pId: -1,\n value: \"第一级目录1\",\n type: \"bi.plus_group_node\",\n height: 25\n },\n {\n id: 11,\n pId: 1,\n value: \"第二级文件1\",\n type: \"bi.single_select_item\",\n height: 25\n }]\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nitems\n子组件数组\narray\n—\n[ ]\n\n\nitemsCreator\n子组件构造器\nobject\n—\n{ }\n\n\nexpander\npopup组件\nobject\n—\n{el: {},popup: {type: \"bi.custom_tree\"}}\n\n\nel\n当前元素\nobject\n—\n{type: \"bi.button_tree\",chooseType: 0,layouts: [{type: \"bi.vertical\"}]}\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\npopulate\n刷新列表\nnodes\n\n\ngetAllButtons\n获取所有button\n—\n\n\ngetAllLeaves\n获取所有的叶子节点\n—\n\n\ngetNodeById\n根据id获取节点\nid\n\n\ngetNodeByValue\n根据value值获取节点\nvalue\n\n\n\n\n"},"core/abstract/grid_view.html":{"url":"core/abstract/grid_view.html","title":"grid_view","keywords":"","body":"bi.grid_view\n网格视图集合,高性能组件,可以处理网格状的大集合,实现需要知道每一个视图的高度信息,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.grid_view\",\n width: 400,\n height: 300,\n estimatedRowSize: 30,\n estimatedColumnSize: 100,\n items: [],\n scrollTop: 100,\n rowHeightGetter: function () {\n return 30;\n },\n columnWidthGetter: function () {\n return 100;\n }\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nitems\n子组件数组\narray\n—\n[ ]\n\n\noverflowX\n是否显示横向滚动条\nboolean\ntrue,false\ntrue\n\n\noverflowY\n是否显示纵向滚动条\nboolean\ntrue,false\ntrue\n\n\noverscanColumnCount\n超出可视范围区域预加载多少列\nnumber\n—\n0\n\n\noverscanRowCount\n超出可视范围区域预加载多少行\nnumber\n—\n0\n\n\nwidth\n行宽,必设\nnumber\n—\n—\n\n\nheight\n列宽,必设\nnumber\n—\n—\n\n\nrowHeightGetter\n每格行宽\nnumber,function\n—\nfunction\n\n\ncolumnWidthGetter\n每格列宽\nnumber,function\n—\nfunction\n\n\nestimatedColumnSize\n预估行宽,columnWidthGetter为function时必设\nnumber,function\n—\nfunction\n\n\nestimatedRowSize\n预估列宽,rowHeightGetter为function时必设\nnumber,function\n—\nfunction\n\n\nscrollLeft\n滚动条相对于左边的偏移\nnumber\n—\n0\n\n\nscrollTop\n滚动条相对于顶部的偏移\nnumber\n—\n0\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetScrollLeft\n设置滚动条相对于左边的偏移\nscrollLeft\n\n\nsetScrollTop\n设置滚动条相对于顶部的偏移\nscrollTop\n\n\nsetOverflowX\n设置是否显示横向滚动条\nb\n\n\nsetOverflowY\n设置是否显示横向滚动条\nb\n\n\ngetScrollLeft\n获取滚动条相对于左边的偏移\n—\n\n\ngetScrollTop\n获取滚动条相对于顶部的偏移\n—\n\n\ngetMaxScrollLeft\n获取滚动条相对于左边的最大偏移\n—\n\n\ngetMaxScrollTop\n获取滚动条相对于顶部的最大偏移\n—\n\n\nsetEstimatedColumnSize\n设置列宽\nwidth\n\n\nsetEstimatedRowSize\n设置行宽\nheight\n\n\nrestore\n还原列表设置\n—\n\n\npopulate\n刷新列表\nitems\n\n\n\n事件\n\n\n\n事件\n说明\n回调参数\n\n\n\n\nBI.GridView.EVENT_SCROLL\n滚动时触发的事件\n{scrollLeft: scrollLeft, scrollTop: scrollTop}\n\n\n\n\n"},"core/abstract/collection_view.html":{"url":"core/abstract/collection_view.html","title":"collection_view","keywords":"","body":"bi.collection_view\n视图集合,高性能容器,可处理大集合,事先需要知道每一个视图的宽度、高度位置等信息 基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.collection_view\",\n element:\"#wrapper\",\n width: 400,\n height: 300,\n items: [],\n cellSizeAndPositionGetter: function (index) {\n return {\n x: index % 10 * 50,\n y: Math.floor(index / 10) * 50,\n width: 50,\n height: 50\n }\n }\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nitems\n子组件数组\narray\n—\n[ ]\n\n\noverflowX\n是否显示横向滚动条\nboolean\ntrue,false\ntrue\n\n\noverflowY\n是否显示纵向滚动条\nboolean\ntrue,false\ntrue\n\n\ncellSizeAndPositionGetter\n设置每个单元格的位置坐标和宽高\nfunction\n—\n—\n\n\nhorizontalOverscanSize\n横向超出可视范围区域预加载的数量\nnumber\n—\n0\n\n\nverticalOverscanSize\n纵向超出可视范围区域预加载的数量\nnumber\n—\n0\n\n\nwidth\n行宽,必设\nnumber\n—\n—\n\n\nheight\n列宽,必设\nnumber\n—\n—\n\n\nscrollLeft\n滚动条相对于左边的偏移\nnumber\n—\n0\n\n\nscrollTop\n滚动条相对于顶部的偏移\nnumber\n—\n0\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetScrollLeft\n设置滚动条相对于左边的偏移\nscrollLeft\n\n\nsetScrollTop\n设置滚动条相对于顶部的偏移\nscrollTop\n\n\nsetOverflowX\n设置是否显示横向滚动条\nb\n\n\nsetOverflowY\n设置是否显示横向滚动条\nb\n\n\ngetScrollLeft\n获取滚动条相对于左边的偏移\n—\n\n\ngetScrollTop\n获取滚动条相对于顶部的偏移\n—\n\n\ngetMaxScrollLeft\n获取滚动条相对于左边的最大偏移\n—\n\n\ngetMaxScrollTop\n获取滚动条相对于顶部的最大偏移\n—\n\n\nrestore\n还原列表设置\n—\n\n\npopulate\n刷新列表\nitems\n\n\n\n事件\n\n\n\n事件\n说明\n回调参数\n\n\n\n\nBI.CollectionView.EVENT_SCROLL\n滚动时触发的事件\n{scrollLeft: scrollLeft, scrollTop: scrollTop}\n\n\n\n\n"},"core/abstract/list_view.html":{"url":"core/abstract/list_view.html","title":"list_view","keywords":"","body":"list_view\n优化过性能的列表,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.list_view\",\n el: {\n type: \"bi.left\"\n },\n items: []\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\noverscanHeight\n超出可视范围区域多少高度预加载\nnumber\n—\n100\n\n\nblockSize\n块大小以多少项为单位\nnumber\n-\n0\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\npopulate\n刷新列表\nitems\n\n\n\n\n"},"core/abstract/virtual_list.html":{"url":"core/abstract/virtual_list.html","title":"virtual_list","keywords":"","body":"bi.virtual_list\n一个动态加载的列表项,事先可以不知道列表项高度,可以处理大列表,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.virtual_list\",\n element:\"body\",\n items: BI.map([{value: \"xxxx\"}], function (i, item) {\n return BI.extend({}, item, {\n type: \"bi.label\",\n height: 30,\n text: (i + 1) + \".\" + item.text,\n });\n })\n })\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nitems\n子组件数组\narray\n—\n[ ]\n\n\nblockSize\n滚动加载的个数\nnumber\n—\n10\n\n\noverscanHeight\n超出可视范围区域的高度\nnumber\n—\n100\n\n\nscrollTop\n滚动条相对于顶部的偏移\nnumber\n—\n0\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nrender\n渲染列表\n—\n\n\nmounted\n组件挂载\n—\n\n\nrestore\n还原列表设置\n—\n\n\npopulate\n刷新列表\nitems\n\n\ndestroyed\n销毁组件\n—\n\n\n\n\n"},"core/combination/bi.combo.html":{"url":"core/combination/bi.combo.html","title":"combo","keywords":"","body":"bi.combo\ncombo,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.combo\",\n element: \"body\",\n adjustLength: 2,\n el: {\n type: \"bi.button\",\n text: \"测试\",\n height: 25\n },\n popup: {}\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nel\n自定义下拉框trigger\nobject\n—\n{ }\n\n\ntrigger\n下拉列表的弹出方式\nstring\nclick,hover\n\"click\"\n\n\nadjustLength\n弹出列表和trigger的距离\nnumber\n—\n0\n\n\ntoggle\n切换状态\nboolean\ntrue,false\ntrue\n\n\ndirection\n弹出列表和trigger的位置关系\nstring\ntop | bottom | left | right | top,left | top,right | bottom,left | bottom,right\n\"bottom\"\n\n\nisDefaultInit\n是否默认初始化子节点\nboolean\ntrue,false\nfalse\n\n\ndestroyWhenHide\n隐藏弹窗层是否销毁\nboolean\ntrue,false\nfalse\n\n\nisNeedAdjustHeight\n是否需要高度调整\nboolean\ntrue,false\ntrue\n\n\nisNeedAdjustWidth\n是否需要宽度调整\nboolean\ntrue,false\ntrue\n\n\nstopEvent\n是否阻止事件\nboolean\ntrue,false\nfalse\n\n\nstopPropagation\n阻止事件冒泡\nboolean\ntrue,false\nfalse\n\n\nadjustXOffset\n调整横向偏移\nnumber\n—\n0\n\n\nadjustYOffset\n调整纵向偏移\nnumber\n—\n0\n\n\nhideChecker\n是否隐藏弹出层检测\nfunction\n—\n—\n\n\noffsetStyle\n弹出层显示位置\nstring\nleft,right,center\n\"left,right,center\"\n\n\npopup\n弹出层\nobject\n—\n{ }\n\n\ncomboClass\ncombo类\nstring\n—\n\"bi-combo-popup\"\n\n\nhoverClass\nhover类\nstring\n—\n\"bi-combo-hover\"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nadjustWidth\n调整宽度\n—\n\n\nadjustHeight\n调整高度\n—\n\n\nresetListHeight\n重置列表高度\nheight\n\n\nresetListWidth\n重置列表宽度\nwidth\n\n\npopulate\n刷新列表\nitems\n\n\nsetValue\n设置combo value值\nv\n\n\ngetValue\n获取combo value值\n—\n\n\nisViewVisible\n弹窗层是否可见\n—\n\n\nshowView\n显示弹出层\n—\n\n\nhideView\n隐藏弹出层\n—\n\n\ngetView\n获取弹出层\n—\n\n\ngetPopupPosition\n获取弹出层的位置\n—\n\n\ntoggle\n开启或者隐藏弹出层\n—\n\n\n\n事件\n\n\n\n名称\n说明\n\n\n\n\nBI.Combo.EVENT_TRIGGER_CHANGE\ntrigger发生改变触发\n\n\nBI.Combo.EVENT_CHANGE\n弹出层点击触发\n\n\nBI.Combo.EVENT_EXPAND\n下拉框展开触发\n\n\nBI.Combo.EVENT_COLLAPSE\n下拉框收起触发\n\n\nBI.Combo.EVENT_AFTER_INIT\n下拉框初始化后触发\n\n\nBI.Combo.EVENT_BEFORE_POPUPVIEW\n下拉列表弹出前触发\n\n\nBI.Combo.EVENT_AFTER_POPUPVIEW\n下拉列表弹出后触发\n\n\nBI.Combo.EVENT_BEFORE_HIDEVIEW\n下拉列表收起前触发\n\n\nBI.Combo.EVENT_AFTER_HIDEVIEW\n下拉列表收起后触发\n\n\n\n\n"},"core/combination/bi.expander.html":{"url":"core/combination/bi.expander.html","title":"expander","keywords":"","body":"bi.expander\n可以实现展开收起的面板,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.expander\",\n element: \"#wrapper\",\n el: {\n type: \"bi.icon_text_node\",\n cls: \"pull-right-ha-font\",\n height: 25,\n text: \"Expander\"\n },\n popup: {\n items: [{\n type: \"bi.single_select_item\",\n height: 25,\n text: \"项目1\",\n value: 1\n }, {\n type: \"bi.single_select_item\",\n height: 25,\n text: \"项目2\",\n value: 2\n }]\n }\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nel\n自定义下拉框trigger\nobject\n—\n{ }\n\n\ntrigger\n下拉列表的弹出方式\nstring\nclick,hover\n\"click\"\n\n\nadjustLength\n弹出列表和trigger的距离\nnumber\n—\n0\n\n\ntoggle\n切换状态\nboolean\ntrue,false\ntrue\n\n\ndirection\n弹出列表和trigger的位置关系\nstring\ntop | bottom | left | right | top,left | top,right | bottom,left | bottom,right\n\"bottom\"\n\n\nisDefaultInit\n是否默认初始化子节点\nboolean\ntrue,false\nfalse\n\n\npopup\n弹出层\nobject\n—\n{ }\n\n\nexpanderClass\n展开类\nstring\n—\n\"bi-expander-popup\"\n\n\nhoverClass\nhover类\nstring\n—\n\"bi-expander-hover\"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\npopulate\n刷新列表\nitems\n\n\nsetValue\n设置combo value值\nv\n\n\ngetValue\n获取combo value值\n—\n\n\nisViewVisible\n弹窗层是否可见\n—\n\n\nshowView\n显示弹出层\n—\n\n\nhideView\n隐藏弹出层\n—\n\n\ngetView\n获取弹出层\n—\n\n\ngetAllLeaves\n获取所有的叶子节点\n—\n\n\ngetNodeById\n根据id获取节点\nid\n\n\ngetNodeByValue\n根据value值获取节点\nvalue\n\n\nisExpanded\n节点是否展开\n—\n\n\n\n事件\n\n\n\n名称\n说明\n\n\n\n\nBI.Expander.EVENT_TRIGGER_CHANGE\ntrigger发生改变触发\n\n\nBI.Expander.EVENT_CHANGE\n弹出层点击触发\n\n\nBI.Expander.EVENT_EXPAND\nExpander展开触发\n\n\nBI.Expander.EVENT_COLLAPSE\nExpander收起触发\n\n\nBI.Expander.EVENT_AFTER_INIT\nExpander初始化后触发\n\n\nBI.Expander.EVENT_BEFORE_POPUPVIEW\n下拉列表弹出前触发\n\n\nBI.Expander.EVENT_AFTER_POPUPVIEW\n下拉列表弹出后触发\n\n\nBI.Expander.EVENT_BEFORE_HIDEVIEW\n下拉列表收起前触发\n\n\nBI.Expander.EVENT_AFTER_HIDEVIEW\n下拉列表收起后触发\n\n\n\n\n"},"core/combination/combo_group.html":{"url":"core/combination/combo_group.html","title":"combo_group","keywords":"","body":"bi.combo_group\n基类BI.Widget\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.combo_group\",\n el: {\n type: \"bi.icon_text_icon_item\",\n text: \"2010年\",\n value: 2010,\n height: 25,\n iconCls: \"close-ha-font\"\n },\n children: [{\n type: \"bi.single_select_item\",\n height: 25,\n text: \"一月\",\n value: 11\n }]\n});\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nchildren\n子组件配置\narray\n—\n[ ]\n\n\npopup\n弹出层\nobject\n—\n{el: {type: \"bi.button_tree\",chooseType: 0,layouts: [{type: \"bi.vertical\"}]}}\n\n\nisDefaultInit\n是否默认初始化子节点\nboolean\ntrue,false\nfalse\n\n\nisNeedAdjustHeight\n是否需要高度调整\nboolean\ntrue,false\nfalse\n\n\nisNeedAdjustWidth\n是否需要宽度调整\nboolean\ntrue,false\nfalse\n\n\nel\n自定义下拉框trigger\nobject\n—\n{type: \"bi.text_button\", text: \"\", value: \"\"}\n\n\ntrigger\n下拉列表的弹出方式\nstring\nclick,hover\n\"click\"\n\n\nadjustLength\n弹出列表和trigger的距离\nnumber\n—\n0\n\n\ndirection\n弹出列表和trigger的位置关系\nstring\ntop | bottom | left | right | top,left | top,right | bottom,left | bottom,right\n\"bottom\"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetValue\n设置combo value值\nv\n\n\ngetValue\n获取combo value值\n—\n\n\n\n\n"},"core/combination/loader.html":{"url":"core/combination/loader.html","title":"loader","keywords":"","body":"bi.loader\n加载控件,BI.Widget\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.loader\",\n itemsCreator: function(options, populate) {\n populate(BI.map(BI.map(BI.makeArray(3, null), function(idx, value){\n return {\n text: faker.name.findName(),\n value: BI.UUID()\n };\n }), function(i, v) {\n return BI.extend(v, {\n type: \"bi.single_select_item\",\n height: 25\n })\n }))\n },\n hasNext: function(option) {\n return option.count \n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ndirection\ncombo弹出层位置\nstring\ntop,bottom,left,right,(top,left),(top,right),(bottom,left),(bottom,right)\n\"top\"\n\n\nisDefaultInit\n是否默认初始化子数据\nboolean\ntrue,false\ntrue\n\n\nlogic\n布局逻辑\nobject\n—\n{dynamic:true,scrolly:true}\n\n\nitems\n子组件\narray\n—\n[]\n\n\nitemsCreator\n子组件构造器\nfunction\n—\n—\n\n\nonLoaded\n加载中\nfunction\n—\n—\n\n\ncount\n是否显示总页数\nboolean\ntrue,false\nboolean\n\n\nprev\n上一页\nboolean\ntrue,false\nboolean\n\n\nnext\n下一页\nboolean\ntrue,false\nboolean\n\n\nhasPrev\n判断是否有上一页\nfunction\n—\n—\n\n\nhasNext\n判断是否有下一页\nfunction\n—\n—\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nhasNext\n判断是否有下一页\n—\n\n\nprependItems\n内部前插入\nitems\n\n\naddItems\n内部后插入\nitems\n\n\npopulate\n刷新列表\nitems\n\n\nsetNotSelectedValue\n设置未被选中的值\nvalue,可以是单个值也可以是个数组\n\n\nsetValue\n设置value值\nvalue,可以是单个值也可以是个数组\n\n\ngetNotSelectedValue\n获取没有被选中的值\n—\n\n\ngetValue\n获取被选中的值\n—\n\n\ngetAllButtons\n获取所有button\n—\n\n\ngetAllLeaves\n获取所有的叶子节点\n—\n\n\ngetSelectedButtons\n获取所有被选中的元素\n—\n\n\ngetNotSelectedButtons\n获取所有未被选中的元素\n—\n\n\ngetIndexByValue\n根据value值获取value在数组中的索引\nvalue\n\n\ngetNodeById\n根据id获取节点\nid\n\n\ngetNodeByValue\n根据value值获取节点\nvalue\n\n\n\n\n"},"core/combination/navigation.html":{"url":"core/combination/navigation.html","title":"navigation","keywords":"","body":"bi.navigation\n导航栏控件,BI.Widget\nsource\n\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.navigation\",\n tab: {\n height: 30,\n items: [{\n once: false,\n text: \"后退\",\n value: -1\n }, {\n once: false,\n text: \"前进\",\n value: 1\n }]\n },\n cardCreator: function(v) {\n return BI.createWidget({\n type: \"bi.label\",\n cls: \"layout-bg\" + BI.random(1, 8),\n text: \"第\" + v + \"页\"\n })\n }\n})\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ndirection\n控件位置\nstring\ntop,bottom,left,right,custom\n\"bottom\"\n\n\nsingle\n是否为单页\nboolean\ntrue,false\ntrue\n\n\ndefaultShowIndex\n默认显示页码\nnumber,false\nnumber,false\nfalse\n\n\ntab\ntab页元素\nobject\n—\n—\n\n\nlogic\n布局逻辑\nobject\n—\n{dynamic:false}\n\n\ncardCreator\n面板构造器\nfunction\n—\nv\n\n\nafterCardCreated\n面板构造之后\nfunction\n—\n—\n\n\nafterCardShow\n面板显示之后\nfunction\n—\n—\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nrender\n渲染组件\n—\n\n\nmounted\n挂载组件\n—\n\n\nafterCardCreated\n创建卡导航页页之后\nv\n\n\nafterCardShow\n导航页展示之后\nv\n\n\nsetSelect\n设置选中的index\nv\n\n\ngetSelect\n获取选中的index\n—\n\n\ngetSelectedCard\n获取选中的导航页\n—\n\n\npopulate\n刷新列表\nitems\n\n\nsetValue\n设置value值\nvalue\n\n\ngetValue\n获取被选中的值\n—\n\n\n\n\n"},"core/combination/searcher.html":{"url":"core/combination/searcher.html","title":"searcher","keywords":"","body":"bi.searcher\n搜索逻辑控件,BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.searcher\",\n element:\"#wrapper\",\n adapter: {\n getItems: function () {\n return [{\n type: \"bi.label\",\n value: \"张三\"\n }]\n }\n },\n popup: {\n type: \"bi.button_group\",\n cls: \"bi-border\",\n items: items,\n layouts: [{\n type: \"bi.vertical\"\n }],\n },\n masker: false\n })\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于容器左右padding值\nnumber\n—\n0\n\n\nvgap\n效果相当于容器上下padding值\nnumber\n—\n0\n\n\nlgap\n效果相当于容器left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于容器right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于容器top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于容器bottom-padding值\nnumber\n—\n0\n\n\nchooseType\n选择类型\nconst\n\nCHOOSE_TYPE_SINGLE\n\n\nisDefaultInit\n是否默认初始化子节点\nboolean\ntrue,false\nfalse\n\n\nisAutoSearch\n是否自动搜索\nboolean\ntrue,false\ntrue\n\n\nisAutoSync\n是否自动同步数据, 即是否保持搜索面板和adapter面板状态值的统一\nboolean\ntrue,false\ntrue\n\n\nonSearch\nisAutoSearch为false时启用\nfunction(op.callback)\n—\n—\n\n\nel\n开启弹出层的元素\nobject\n—\n{type: \"bi.search_editor\"}\n\n\npopup\n弹出层\nobject\n—\n{type: \"bi.searcher_view\"}\n\n\nadapter\n弹出层显示的位置元素\nobject\n—\nnull\n\n\nmasker\nmasker层\nobject\n—\n{offset: {}}\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\npopulate\n刷新列表\nresult, searchResult, keyword\n\n\nsetValue\n设置value值\nvalue\n\n\ngetValue\n获取被选中的值\n—\n\n\nadapter\n适配器\n—\n\n\ndoSearch\n开始搜索\n—\n\n\nstopSearch\n停止搜索\n—\n\n\nisSearching\n是否正在搜索\n—\n\n\nisViewVisible\n组件是否可见\n—\n\n\ngetView\n获取搜索列表栏\n—\n\n\nhasMatched\n是否匹配\n—\n\n\nadjustHeight\n调整高度\n—\n\n\nadjustView\n调整搜索列表栏\n—\n\n\ngetKeyword\n获取搜索关键词\n—\n\n\ngetKeywords\n获取搜索关键词数组\n—\n\n\n\n事件方法\n\n\n\n事件名称\n说明\n回调参数\n\n\n\n\nEVENT_START\n开始搜索\n—\n\n\nEVENT_STOP\n停止搜索\n—\n\n\nEVENT_PAUSE\n暂停搜索\n—\n\n\nEVENT_SEARCHING\n搜索中\n—\n\n\nEVENT_AFTER_INIT\n初始化之后\n—\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.Searcher.EVENT_CHANGE\n搜索结果面板发生改变触发\n\n\nBI.Searcher.EVENT_START\n开始搜索触发\n\n\nBI.Searcher.EVENT_STOP\n停止搜索触发(搜索框为空)\n\n\nBI.Searcher.EVENT_PAUSE\n搜索暂停触发(搜索文本以空白字符结尾)\n\n\nBI.Searcher.EVENT_SEARCHING\n正在搜索时触发\n\n\nBI.Searcher.EVENT_AFTER_INIT\n搜索结果面板初始化完成后触发\n\n\n\n\n"},"core/combination/switcher.html":{"url":"core/combination/switcher.html","title":"switcher","keywords":"","body":"bi.switcher\n切换显示或隐藏面板,BI.Widget\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.switcher\",\n el: {\n type: \"bi.button\",\n height: 25,\n text: \"Switcher\"\n },\n popup: {\n\n },\n adapter: { \n\n }\n})\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ntrigger\n下拉列表的弹出方式\nstring\nclick,hover\n\"click\"\n\n\ntoggle\n切换状态\nboolean\ntrue,false\ntrue\n\n\ndirection\n面板显示的位置\nstring\n—\nBI.Direction.Top\n\n\nel\n自定义下拉框trigger\nobject\n—\n{ }\n\n\npopup\n弹出层\nobject\n—\n{ }\n\n\nadapter\n弹出层的位置\nobject\n—\nnull\n\n\nmasker\nmasker层\nobejct\n—\n{ }\n\n\nswitcherClass\n切换类\nstring\n—\n\"bi-switcher-popup\"\n\n\nhoverClass\nhover类\nstring\n—\n\"bi-switcher-hover\"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetValue\n设置value值\nvalue\n\n\ngetValue\n获取被选中的值\n—\n\n\npopulate\n刷新列表\nitems\n\n\nisViewVisible\n弹窗层是否可见\n—\n\n\nshowView\n显示弹出层\n—\n\n\nhideView\n隐藏弹出层\n—\n\n\ngetView\n获取弹出层\n—\n\n\ngetAllLeaves\n获取所有的叶子节点\n—\n\n\ngetNodeById\n根据id获取节点\nid\n\n\ngetNodeByValue\n根据value值获取节点\nvalue\n\n\nisExpanded\n节点是否展开\n—\n\n\nsetAdapter\n设置弹出层显示的位置元素\nadapter\n\n\nadjustView\n调整弹出层显示的位置元素\n—\n\n\n\n事件方法\n\n\n\n事件名称\n说明\n回调参数\n\n\n\n\nEVENT_EXPAND\n面板展开\n—\n\n\nEVENT_COLLAPSE\n面板收起\n—\n\n\nEVENT_TRIGGER_CHANGE\n面板切换\n—\n\n\nEVENT_AFTER_INIT\n初始化之后\n—\n\n\nEVENT_BEFORE_POPUPVIEW\n面板显示之前\n—\n\n\nEVENT_AFTER_POPUPVIEW\n面板显示之后\n—\n\n\nEVENT_BEFORE_HIDEVIEW\n面板隐藏之前\n—\n\n\nEVENT_AFTER_HIDEVIEW\n面板隐藏之后\n—\n\n\n\n\n"},"core/combination/tab.html":{"url":"core/combination/tab.html","title":"tab","keywords":"","body":"bi.tab\ntab面板,BI.Widget\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.tab\",\n tab: {\n type: \"bi.button_group\",\n height: 30,\n items: [{\n text: \"Tab1\",\n value: 1,\n width: 50\n }, {\n text: \"Tab2\",\n value: 2,\n width: 50\n }]\n },\n cardCreator: function(v) {\n switch (v) {\n case 1:\n return BI.createWidget({\n type: \"bi.label\",\n cls: \"bi-card\",\n text: \"面板1\"\n })\n case 2:\n return BI.createWidget({\n type: \"bi.label\",\n cls: \"bi-card\",\n text: \"面板2\"\n })\n }\n }\n})\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ndirection\n控件位置\nstring\ntop,bottom,left,right,custom\n\"bottom\"\n\n\nsingle\n是否为单页\nboolean\ntrue,false\nfalse\n\n\ndefaultShowIndex\n是否默认显示tab页\nnumber,falser\nnumber,false\nfalse\n\n\ntab\ntab标签页\nobject\n—\n{ }\n\n\nlogic\n布局逻辑\nobject\n—\n{dynamic:false}\n\n\ncardCreator\n面板构造器\nfunction\n—\nfunction (v) {return BI.createWidget();}\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nremoveTab\n移除tab面板页\ntabName\n\n\ngetTab\n获取tab面板页\nv\n\n\nsetSelect\n设置选中的index\nv\n\n\ngetSelect\n获取选中的index\n—\n\n\ngetSelectedTab\n获取选中的tab面板页\n—\n\n\npopulate\n刷新列表\nitems\n\n\nsetValue\n设置value值\nvalue\n\n\ngetValue\n获取被选中的值\n—\n\n\n\n\n"},"core/layer/layer_float_box.html":{"url":"core/layer/layer_float_box.html","title":"float_box","keywords":"","body":"bi.float_box\nfloatBox弹出层,BI.Widget\nsource\n\nvar id = BI.UUID();\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.text_button\",\n text: \"点击弹出FloatBox\",\n width: 200,\n height: 80,\n handler: function() {\n BI.Popovers.remove(id);\n BI.Popovers.create(id, new BI.BarPopoverSection()).open(id);\n }\n})\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nwidth\n弹出层宽度\nnumber\n—\n600\n\n\nheight\n弹出层高度\nnumber\n—\n500\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\npopulate\n刷新列表\nsectionProvider\n\n\nshow\n显示\n—\n\n\nhide\n隐藏\n—\n\n\nopen\n打开弹出层\n—\n\n\nclose\n关闭弹出层\n—\n\n\nsetZindex\n设置z-index\nz-index\n\n\n\n事件方法\n\n\n\n事件名称\n说明\n回调参数\n\n\n\n\nEVENT_FLOAT_BOX_CLOSED\n关闭弹出层\n—\n\n\nEVENT_FLOAT_BOX_CLOSED\n打开弹出层\n—\n\n\n\n\n"},"core/layer/layer_popup.html":{"url":"core/layer/layer_popup.html","title":"popup_view","keywords":"","body":"bi.popup_view\n下拉框弹出层, zIndex在1000w,BI.Widget\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.popup_view\",\n el: {\n type: \"bi.button_group\",\n items: [{\n text: \"aaa\",\n value: \"aaa\"\n }, {\n text: \"bbb\",\n value: \"bbb\"\n }],\n layouts: [{\n type: \"bi.vertical\"\n }]\n }\n})\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nmaxWidth\n弹出层最大宽度\nnumber/string\n—\n\"auto\"\n\n\nminWidth\n弹出层最小宽度\nnumber\n—\n100\n\n\nmaxHeight\n弹出层最大高度\nnumber/string\n—\n—\n\n\nminHeight\n弹出层最小高度\nnumber\n—\n25\n\n\nhgap\n效果相当于容器左右padding值\nnumber\n—\n0\n\n\nvgap\n效果相当于容器上下padding值\nnumber\n—\n0\n\n\nlgap\n效果相当于容器left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于容器right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于容器top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于容器bottom-padding值\nnumber\n—\n0\n\n\ndirection\n工具栏的方向\nconst\n参考button_group\nBI.Direction.Top\n\n\nstopEvent\n是否停止mousedown、mouseup事件\nboolean\ntrue,false\nfalse\n\n\nstopPropagation\n是否停止mousedown、mouseup向上冒泡\nboolean\ntrue,false\nfalse\n\n\ntabs\n导航栏\narray\n—\n[]\n\n\nlogic\n布局逻辑\nobject\n—\n{dynamic:true}\n\n\ntools\n自定义工具栏\nboolean\ntrue,false\nfalse\n\n\nbuttons\ntoolbar栏\narray\n—\n[]\n\n\nel\n子组件\nobject\n—\n{ type: \"bi.button_group\",items: [], chooseType: 0,behaviors: {},layouts: [{type: \"bi.vertical\"}]}\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\npopulate\n刷新列表\nitems\n\n\nresetWidth\n重置宽度\nwidth\n\n\nresetHeight\n重置高度\nheight\n\n\nsetValue\n设置value 值\nvalue\n\n\ngetValue\n获取value值\n—\n\n\nsetZindex\n设置z-index\nz-index\n\n\ngetView\n获取弹出层\n—\n\n\n\n\n"},"core/layer/layer_searcher.html":{"url":"core/layer/layer_searcher.html","title":"searcher_view","keywords":"","body":"bi.searcher_view\n搜索面板, 基类BI.Widget\nsource\n\nvar searcher = BI.createWidget({\n element: \"#wrapper\",\n type: \"bi.searcher_view\",\n});\nsearcher.populate([{\n text: \"aba\",\n value: \"aba\"\n},{\n text: \"acc\",\n value: \"acc\"\n}], [{\n text: \"a\",\n value: \"a\"\n}], \"a\");\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ntipText\ntitle文本\nstring\n—\nBI.i18nText(\"BI-No_Select\")\n\n\nchooseType\n选择类型\nconst\n参考button_group\nBI.Selection.Single\n\n\nmatcher\n完全匹配的构造器\nobject\n—\n{type: \"bi.button_group\",behaviors: { redmark: function () { return true;} },items: [], layouts: [{ type: \"bi.vertical\"}]}\n\n\nsearcher\n搜索到的元素\nobject\n—\n{type: \"bi.button_group\",behaviors: {redmark: function () {return true;}}, items: [], layouts: [{ type: \"bi.vertical\" }]}\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\npopulate\n刷新列表\nsearchResult, matchResult, keyword\n\n\nsetValue\n设置value 值\nvalue\n\n\ngetValue\n获取value值\n—\n\n\nhasMatched\n是否有匹配的元素\n—\n\n\n\n\n"},"core/widget.html":{"url":"core/widget.html","title":"Widget","keywords":"","body":"bi.widget\n所有控件的超类\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nroot\n是否是根组件\nboolean\ntrue,false\nfalse\n\n\ntagName\nhtml标签\nstring\n—\n\"div\"\n\n\nattributes\n属性\nobject\n—\nnull\n\n\ndata\n数据\nobject\n—\nnull\n\n\ndisabled\n是否可用\nboolean\ntrue,false\nfalse\n\n\ninvisible\n是否可见\nboolean\ntrue,false\nfalse\n\n\ninvalid\n是否有效\nboolean\ntrue,false\nfalse\n\n\nbaseCls\n基础class类\nstring\n—\n\" \"\n\n\nextraCls\n扩展class类,用于继承类中\nstring\n—\n\" \"\n\n\ncls\nclass,用于对外调用\nstring\n—\n\" \"\n\n\n\n生命周期函数\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nbeforeCreate\n组件实例刚被创建\n—\n\n\ncreated\n组件实例创建完成\n—\n\n\nrender\n渲染组件\n—\n\n\nbeforeMount\n组件挂载之前\n—\n\n\nmounted\n组件挂载\n—\n\n\nupdate\n组件更新\n—\n\n\nbeforeDestroy\n组件销毁前调用\n—\n\n\ndestroyed\n组件销毁后调用\n—\n\n\n\n对外方法\n(注: fineui2.0引入生命周期后,widget的实现类不需要重写setEnable,setValid等方法,会自动调用子组件的对应方法\n,一些需要在设置状态后做的额外工作可以通过重写_setXXX来实现)\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nisMounted\n判断组件是否挂载\n—\n\n\nsetWidth\n设置组件宽度\nwidth\n\n\nsetHeight\n设置组件高度\nheight\n\n\nsetEnable\n设置组件是否可用\nenable\n\n\nsetVisible\n设置组件是否可见\nvisible\n\n\nsetValid\n设置组件是否有效\nvalid\n\n\ndoBehavior\n行为,如高亮,标红等\n—\n\n\ngetWidth\n获取组件宽度\n—\n\n\ngetHeight\n获取组件高度\n—\n\n\nisValid\n判断是否有效\n—\n\n\naddWidget\n添加组件\nname,widget\n\n\ngetWidgetByName\n根据组件名称获取组件\nname\n\n\nremoveWidget\n移除组件\nnameOrWidget\n\n\nhasWidget\n判断是否有该组件\nname\n\n\ngetName\n获取组件名称\n—\n\n\nsetTag\n设置tag\ntag\n\n\ngetTag\n获取tag\n—\n\n\nattr\n设置组件属性\nkey,value\n\n\ngetText\n获取text值\n—\n\n\nsetText\n设置text值\ntext\n\n\ngetValue\n获取value值\n—\n\n\nsetValue\n设置value值\nvalue\n\n\nisEnabled\n是否可用\n—\n\n\nisVisible\n是否可见\n—\n\n\ndisable\n设置组件不可用\n—\n\n\nenable\n设置组件可用\n—\n\n\nvalid\n设置组件有效\n—\n\n\ninvalid\n设置组件无效\n—\n\n\ninvisible\n设置组件不可见\n—\n\n\nvisible\n设置组件可见\n—\n\n\nisolate\n类似于destroy,但元素并不会被销毁,只是被挂载起来了\n—\n\n\nempty\n清空组件\n—\n\n\ndestroy\n销毁组件\n—\n\n\n\n\n"},"core/single.html":{"url":"core/single.html","title":"Single","keywords":"","body":"bi.single\n这仅仅只是一个超类, 所有简单控件的基类,title的控制,文字超过边界显示3个点,基类BI.Widget\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nreadonly\n是否只读\nboolean\ntrue,false\nfalse\n\n\ntitle\ntitle\nstring\n—\nnull\n\n\nwarningTitle\n错误title\nstring\n—\nnull\n\n\ntipType\ntitle类型\nstring\nsuccess,warning\nnull\n\n\nvalue\nvalue值\nstring\n—\nnull\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nenableHover\n恢复hover可用\nopt\n\n\ndisabledHover\n取消hover事件\n—\n\n\npopulate\n刷新或者清空列表\nitems\n\n\nsetTitle\n设置title\ntitle,opt\n\n\nsetWarningTitle\n设置错误title\ntitle,opt\n\n\ngetTipType\n获取tipType\n—\n\n\nisReadOnly\n是否只读\n—\n\n\ngetTitle\n获取title\n—\n\n\ngetWarningTitle\n获取warningTitle\n—\n\n\nsetValue\n设置value值\nvalue\n\n\ngetValue\n获取value值\n—\n\n\n\n\n"},"core/basic_button.html":{"url":"core/basic_button.html","title":"BasicButton","keywords":"","body":"bi.basic_button\n一般的button父级,表示一个可以点击的区域,基类BI.Single\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nstopEvent\n是否阻止事件\nboolean\ntrue,false\nfalse\n\n\nstopPropagation\n是否阻止冒泡\nboolean\ntrue,false\nfalse\n\n\nselected\nbutton的选中状态\nboolean\ntrue,false\nfalse\n\n\nonce\n点击一次选中有效,再点无效\nboolean\ntrue,false\nfalse\n\n\nforceSelected\n点击即选中, 选中了就不会被取消,与once的区别是forceSelected不影响事件的触发\nboolean\ntrue,false\nfalse\n\n\nforceNotSelected\n无论怎么点击都不会被选中\nboolean\ntrue,false\nfalse\n\n\ndisableSelected\n使能选中\nboolean\ntrue,false\nfalse\n\n\nshadow\n是否显示阴影\nboolean\ntrue,false\nfalse\n\n\nisShadowShowingOnSelected\n选中状态下是否显示阴影\nboolean\ntrue,false\nfalse\n\n\ntrigger\n被选元素要触发的事件\nstring\nmousedown, mouseup, click, dblclick, lclick\nnull\n\n\ntext\n文本\nstring\n—\n\"\"\n\n\nhandler\n点击事件回调\nfunction\n—\nBI.emptyFn\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\nhover\n触发hover\n—\n\n\ndishover\n取消触发hover\n—\n\n\nsetSelected\n设置选中\nb\n\n\nisSelected\n是否被选中\n—\n\n\nisOnce\n是否只允许点击一次\n—\n\n\nisForceSelected\n判断是否点击即选中\n—\n\n\nisForceNotSelected\n判断是否怎么点击都不会被选中\n—\n\n\nisDisableSelected\n判断是否不让选中\n—\n\n\nsetText\n设置文本值\n—\n\n\ngetText\n获取文本值\n—\n\n\n\n用于继承的方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\nbeforeClick\n点击事件之前钩子\n—\n\n\ndoClick\n点击之后钩子\n—\n\n\nhandle\n获取事件作用的对象\n—\n\n\n\n\n"},"core/node_button.html":{"url":"core/node_button.html","title":"NodeButton","keywords":"","body":"bi.NodeButton\n表示一个可以展开的节点,用于树状结构的节点元素, 不仅有选中状态而且有展开状态, BI.BasicButton\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nopen\n节点是否展开\nboolean\ntrue,false\nfalse\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nisOpened\n判断节点是否展开\n—\n\n\nsetOpened\n设置节点展开状态\nb\n\n\ntriggerCollapse\n触发节点收起\n—\n\n\ntriggerExpand\n触发节点展开\n—\n\n\n\n\n"},"core/pane.html":{"url":"core/pane.html","title":"Pane","keywords":"","body":"bi.pane\n没有元素有提示信息,可以提供loading和loaded状态的面板, BI.Widget\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ntipText\n提示文本\nstring\n—\nBI.i18nText(\"BI-No_Selected_Item\")\n\n\noverlap\nloading图标是否在元素内部创建,true表示覆盖一层创建\nboolean\ntrue,false\ntrue\n\n\nonLoaded\n加载之后的钩子\nfunction\n—\n—\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\npopulate\n刷新列表\nitems\n\n\nhasMatched\n是否有匹配的元素\n—\n\n\nloading\n设置加载中,一般在继承类中调用\n—\n\n\nloaded\n设置加载完毕,一般在继承类中调用\n—\n\n\ncheck\n检查当前面板状态\n—\n\n\n\n\n"},"base/label.html":{"url":"base/label.html","title":"label","keywords":"","body":"bi.label\n文本标签\nsource\n\nBI.createWidget({\n type: \"bi.label\",\n textWidth: 100,\n textHeight: 30,\n text: \"基本标签\"\n});\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于容器左右padding值\nnumber\n—\n0\n\n\nvgap\n效果相当于容器上下padding值\nnumber\n—\n0\n\n\nlgap\n效果相当于容器left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于容器right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于容器top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于容器bottom-padding值\nnumber\n—\n0\n\n\ntextWidth\n文本标签宽度\nnumber\n—\nnull\n\n\ntextHeight\n文本标签宽度\nnumber\n—\nnull\n\n\ntext\n文本内容\nstring\n—\n\" \"\n\n\n\n高级属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ntextAlign\n文本对齐方式\nstring\nleft,center,right\ncenter\n\n\nwhiteSpace\n元素内空白处理方式\nstring\nnormal,nowrap\nnowrap\n\n\nforceCenter\n是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效\nboolean\ntrue,false\ntrue\n\n\npy\n拼音\nstring\n—\n空\n\n\nkeyword\n设置标红的关键词\nstring\n—\n空\n\n\ndisabled\n灰化\nboolean\ntrue,false\n无\n\n\ntitle\n提示title\nstring\n—\n空\n\n\nwarningTitle\n错误提示title\nstring\n—\n空\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\ndoRedMark\n文本标红\n—\n\n\nunRedMark\n取消文本标红\n—\n\n\ndoHighLight\n文本高亮\n—\n\n\nunHighLight\n取消文本高亮\n—\n\n\nsetText\n设置文本值\n需要设置的文本值text\n\n\ngetText\n获取文本值\n—\n\n\nsetStyle\n设置文本样式\n需要设置的文本标签样式,例{\"color\":\"#000\"}\n\n\nsetValue\n设置文本值\n需要设置的文本值text\n\n\n\n\n"},"base/bubble.html":{"url":"base/bubble.html","title":"bubble","keywords":"","body":"bi.bubble\n气泡提示\nsource\n\nBI.createWidget({\n type: 'bi.bubble',\n element: \"#wrapper\",\n height: 30,\n text: \"测试\"\n})\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ndirection\n气泡显示位置\nstring\n—\n\"top\"\n\n\nheight\n气泡高度\nnumber\n—\n35\n\n\ntext\n气泡显示内容\nstring\n—\n\" \"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetText\n设置文本值\n需要设置的文本值text\n\n\n\n\n"},"base/toast.html":{"url":"base/toast.html","title":"toast","keywords":"","body":"bi.toast\ntoast提示\nsource\n\nBI.createWidget({\n type: 'bi.toast',\n element: \"#wrapper\",\n height: 30,\n level: \"warning\",\n text: \"toast测试\"\n})\n\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nlevel\n提示类型\nstring\nsuccess,warning\n\"success\"\n\n\nheight\n高度\nnumber\n—\n30\n\n\ntext\n显示内容\nstring\n—\n\" \"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetText\n设置文本值\n需要设置的文本值text\n\n\n\n\n"},"base/message.html":{"url":"base/message.html","title":"message","keywords":"","body":"BI.Msg\n消息提示\nsource\n\nBI.createWidget({\n type: \"bi.button\",\n element: \"#wrapper\",\n text : '点击我弹出一个消息框',\n height : 30,\n handler : function() {\n BI.Msg.confirm('测试消息框',\"我是测试消息框的内容\");\n }\n});\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nalert\n警告消息框\ntitle, message, callback\n\n\nconfirm\n确认消息框\ntitle, message, callback\n\n\nprompt\n提示消息框\ntitle, message, value, callback, min_width\n\n\ntoast\ntoast提示\nmessage, level, context\n\n\n\n\n"},"base/button/button.html":{"url":"base/button/button.html","title":"button","keywords":"","body":"bi.button\n文字类型的按钮,基类BI.BasicButton\nsource\n\nBI.createWidget({\n type: 'bi.button',\n element: \"#wrapper\",\n text: '一般按钮',\n level: 'common',\n height: 30\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值,如果clear属性为true,该属性值置0\nnumber\n—\n10\n\n\nvgap\n效果相当于文本框上下padding值\nnumber\n—\n0\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于文本框top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于文本框bottom-padding值\nnumber\n—\n0\n\n\nwidth\n宽度\nnumber\n—\n—\n\n\nheight\n高度\nnumber\n—\n—\n\n\n\n高级属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nlevel\n按钮类型\nstring\ncommon,success,warning,ignore\ncommon\n\n\nminWidth\n最小宽度,如果block/clear中某一项为true,此项值为0,否则为90\nnumber\n—\n90\n\n\nshadow\n是否显示阴影\nboolean\ntrue,false\nprops.clear !== true\n\n\nisShadowShowingOnSelected\n选中状态下是否显示阴影\nboolean\ntrue,false\ntrue\n\n\niconClass\n图标类型\nstring\n—\n\" \"\n\n\nblock\n是否块状显示,即不显示边框,没有最小宽度的限制\nboolean\ntrue,false\nfalse\n\n\nclear\n是否去掉边框和背景\nboolean\ntrue,false\nfalse\n\n\ntextAlign\n文字布局\nstring\nleft,center,right\ncneter\n\n\nwhiteSpace\n元素内的空白处理方式\nstring\nnormal,nowrap\nnowrap\n\n\nforceCenter\n是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效\nboolean\ntrue,false\nfalse\n\n\ntextWidth\n按钮文本宽度\nnumber\n—\nnull\n\n\ntextHeight\n按钮文本高度\nnumber\n—\nnull\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\ndoRedMark\n文本标红\n—\n\n\nunRedMark\n取消文本标红\n—\n\n\ndoHighLight\n文本高亮\n—\n\n\nunHighLight\n取消文本高亮\n—\n\n\nsetText\n设置文本值\n需要设置的文本值text\n\n\nsetValue\n设置文本值\n需要设置的文本值text\n\n\n\n\n"},"base/button/text_button.html":{"url":"base/button/text_button.html","title":"text_button","keywords":"","body":"bi.text_button\n可以点击的一行文字,基类BI.BasicButton\nsource\n\nBI.createWidget({\n type: 'bi.text_button',\n text: '文字按钮',\n height: 30\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值,如果clear属性为true,该属性值置0\nnumber\n—\n10\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntextWidth\n按钮文本宽度\nnumber\n—\nnull\n\n\ntextHeight\n按钮文本高度\nnumber\n—\nnull\n\n\n\n高级属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\npy\n拼音\nstring\n\n\" \"\n\n\ntextAlign\n文字布局\nstring\nleft,center,right\ncneter\n\n\nwhiteSpace\n元素内的空白处理方式\nstring\nnormal,nowrap\nnowrap\n\n\nforceCenter\n是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效\nboolean\ntrue,false\nfalse\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\ndoRedMark\n文本标红\n—\n\n\nunRedMark\n取消文本标红\n—\n\n\ndoHighLight\n文本高亮\n—\n\n\nunHighLight\n取消文本高亮\n—\n\n\nsetStyle\n设置文本样式\n需要设置的文本标签样式,例{\"color\":\"#000\"}\n\n\n\n\n"},"base/button/icon_button.html":{"url":"base/button/icon_button.html","title":"icon_button","keywords":"","body":"bi.icon_button\n图标button,基类BI.BasicButton\nsource\n\nBI.createWidget({\n type: 'bi.icon_button',\n cls: \"close-ha-font\",\n width: 20,\n height: 20\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\niconWidth\n图标宽度\nnumber\n—\nnull\n\n\niconHeight\n图标高度\nnumber\n—\nnull\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\n\n\n\n\n\n"},"base/button/image_button.html":{"url":"base/button/image_button.html","title":"image_button","keywords":"","body":"bi.image_button\n图片的button,基类BI.BasicButton\nsource\n\nBI.createWidget({\n type: 'bi.image_button',\n src: \"http://www.easyicon.net/api/resizeApi.php?id=1206741&size=128\",\n width: 100,\n height: 100\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nsrc\n图片路径\nstring\n—\n\" \"\n\n\niconWidth\n图标宽度\nnumber/string\n—\n\"100%\"\n\n\niconHeight\n图标高度\nnumber/string\n—\n\"100%\"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetImageWidth\n设置图片宽度\n宽度width\n\n\nsetImageHeight\n设置图片高度\n高度height\n\n\ngetImageWidth\n获取图片宽度\n—\n\n\ngetImageHeight\n获取图片高度\n—\n\n\nsetSrc\n设置图片路径\nsrc\n\n\ngetSrc\n获取图片路径\n—\n\n\n\n\n"},"base/editor/editor.html":{"url":"base/editor/editor.html","title":"editor","keywords":"","body":"bi.editor\n文本框,基类BI.Single\nsource\n\nBI.createWidget({\n type: \"bi.editor\",\n element: \"#wrapper\",\n errorText: \"字段不可重名!\",\n width: 200,\n height: 30\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值\nnumber\n—\n4\n\n\nvgap\n效果相当于文本框上下padding值\nnumber\n—\n2\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于文本框top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于文本框bottom-padding值\nnumber\n—\n0\n\n\nvalidationChecker\n输入较验函数\nfunction\n—\n—\n\n\nquitChecker\n是否允许退出编辑函数\nfunction\n—\n—\n\n\nallowBlank\n是否允许空值\nboolean\ntrue,false\nfalse\n\n\nwatermark\n文本框placeholder\nstring\n—\n\" \"\n\n\nerrorText\n错误提示\nstring/function\n—\n\" \"\n\n\ntipType\n提示类型\nstring\nsuccess,warning\n\"warning\"\n\n\ninputType\n输入框类型\nstring\n参考input输入框类型\n\"text\"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetErrorText\n设置错误文本\ntext\n\n\ngetErrorText\n获取错误文本\n—\n\n\nsetErrorVisible\n设置错误文本可见\nb\n\n\ndisableError\n设置error不可用\n—\n\n\nenableError\n设置error可用\n—\n\n\ndisableWaterMark\n设置文本框placeholder不可用\n—\n\n\nenableWaterMark\n恢复文本框placeholder可用\n—\n\n\nfocus\n文本框获取焦点\n—\n\n\nblur\n文本框失焦\n—\n\n\nselectAll\n选中文本框文本\n—\n\n\nsetValue\n设置文本框值\nvalue\n\n\ngetLastValidValue\n获取文本框最后一次输入的有效值\n—\n\n\nresetLastValidValue\n重置文本框最后一次输入的有效值\nvalue\n\n\ngetValue\n获取文本框值\n—\n\n\nisEditing\n文本框是否处于编辑状态\n—\n\n\nisValid\n文本框值是否有效\n—\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.Editor.EVENT_CHANGE\neditor的value发生改变触发\n\n\nBI.Editor.EVENT_FOCUS\nfocus事件\n\n\nBI.Editor.EVENT_BLUR\nblur事件\n\n\nBI.Editor.EVENT_CLICK\n点击编辑框触发(不在编辑状态时)\n\n\nBI.Editor.EVENT_KEY_DOWN\nkeyDown时触发\n\n\nBI.Editor.EVENT_SPACE\n按下空格触发\n\n\nBI.Editor.EVENT_BACKSPACE\n按下Backspace触发\n\n\nBI.Editor.EVENT_START\n开始输入触发\n\n\nBI.Editor.EVENT_PAUSE\n暂停输入触发(输入空白字符)\n\n\nBI.Editor.EVENT_STOP\n停止输入触发\n\n\nBI.Editor.EVENT_CONFIRM\n确定输入触发(blur时且输入值有效)\n\n\nBI.Editor.EVENT_VALID\n输入值有效的状态事件\n\n\nBI.Editor.EVENT_ERROR\n输入值无效的状态事件\n\n\nBI.Editor.EVENT_ENTER\n回车事件\n\n\nBI.Editor.EVENT_RESTRICT\n回车但是值不合法\n\n\nBI.Editor.EVENT_REMOVE\n输入为空时按下backspace\n\n\nBI.Editor.EVENT_EMPTY\n输入框为空时触发\n\n\n\n\n"},"base/editor/code_editor.html":{"url":"base/editor/code_editor.html","title":"code_editor","keywords":"","body":"bi.code_editor\n代码文本框,基类BI.Single\nsource\n\nBI.createWidget({\n type: \"bi.code_editor\",\n cls: \"mvc-border\",\n width: 600,\n height: 400\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nwatermark\n文本框placeholder\nstring\n—\n\" \"\n\n\nreadOnly\n是否只读\nboolean\ntrue,false\nfalse\n\n\nlineHeight\n行高\nnumber\n—\n2\n\n\nvalue\n文本框值\nstring\n—\n\" \"\n\n\nparamFormatter\n参数显示值构造函数\nfunction\n—\nvalue\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\ninsertParam\n插入参数\nparam\n\n\ninsertString\n插入字符串\nstr\n\n\ngetValue\n获取文本框值\n—\n\n\nsetValue\n设置文本框值\nvalue\n\n\nfocus\n文本框获取焦点\n—\n\n\nblur\n文本框失焦\n—\n\n\nsetStyle\n设置文本样式\n需要设置的文本标签样式style,例{\"color\":\"#000\"}\n\n\ngetStyle\n获取文本样式\n—\n\n\nrefresh\n刷新文本框,codeMirror需要用到\n—\n\n\n\n\n"},"base/editor/multifile_editor.html":{"url":"base/editor/multifile_editor.html","title":"multifile_editor","keywords":"","body":"bi.multifile_editor\n多文件,基类BI.Single\nsource\n\nBI.createWidget({\n type: \"bi.multifile_editor\",\n width: 400,\n height: 300\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nmultiple\n是否支持多选\nboolean\ntrue,false\nfalse\n\n\nmaxSize\n允许上传最大字节数\nnumber\n—\n-1\n\n\naccept\n允许上传的文件类型\nstring\n—\n\" \"\n\n\nurl\n文件路径\nstring\n—\n\" \"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nselect\n选择文件\n—\n\n\ngetValue\n获取文件名称\n—\n\n\nupload\n文件上传\n—\n\n\nreset\n重置\n—\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.MultifileEditor.EVENT_UPLOADSTART\n开始上传时触发\n\n\nBI.MultifileEditor.EVENT_PROGRESS\n上传过程中触发\n\n\nBI.MultifileEditor.EVENT_UPLOADED\n上传结束后触发\n\n\n\n\n"},"base/editor/textarea_editor.html":{"url":"base/editor/textarea_editor.html","title":"textarea_editor","keywords":"","body":"bi.textarea_editor\n文本域,基类BI.Single\nsource\n\nBI.createWidget({\n type: \"bi.textarea_editor\",\n width: 400,\n height: 300\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nvalue\n文本域的值\nstring\n—\n\" \"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\ngetValue\n获取文本域值\n—\n\n\nsetValue\n设置文本域值\nvalue\n\n\nsetStyle\n设置文本域样式\n需要设置的文本域样式style,例{\"color\":\"#000\"}\n\n\ngetStyle\n获取文本域样式\n—\n\n\nfocus\n文本域获取焦点\n—\n\n\nblur\n文本域失焦\n—\n\n\n\n\n"},"base/editor/formula_editor.html":{"url":"base/editor/formula_editor.html","title":"formula_editor","keywords":"","body":"bi.formula_editor\n公式编辑控件,基类BI.Single\nsource\n\nBI.createWidget({\n type: \"bi.formula_editor\",\n cls: \"bi-border\",\n watermark:'请输入公式',\n value: 'SUM(C5, 16, 26)',\n width: \"100%\",\n height: \"100%\"\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nvalue\n文本域的值\nstring\n—\n\" \"\n\n\nwatermark\n文本框placeholder\nstring\n—\n\" \"\n\n\nfieldTextValueMap\n字段集合\nonject\n—\n{}\n\n\nshowHint\n是否显示提示信息\nboolean\ntrue,false\ntrue\n\n\nlineHeight\n行高\nnumber\n—\n2\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\ndisableWaterMark\n设置文本框placeholder不可用\n—\n\n\nfocus\n文本框获取焦点\n—\n\n\ninsertField\n添加字段\nfield\n\n\ninsertFunction\n插入函数\nfn\n\n\ninsertOperator\n插入操作符\nop\n\n\nsetFunction\n设置函数\nv\n\n\ninsertString\n插入字符串\nstr\n\n\ngetFormulaString\n获取公式框内容\n—\n\n\ngetUsedFields\n获取可用字段\n—\n\n\ngetCheckString\n获取校验内容\n—\n\n\ngetValue\n获取文本框值\n—\n\n\nsetValue\n设置文本框值\nvalue\n\n\nsetFieldTextValueMap\n设置字段集合\nfieldTextValueMap\n\n\nrefresh\n刷新文本框\n—\n\n\n\n\n"},"base/editor/rich_editor.html":{"url":"base/editor/rich_editor.html","title":"rich_editor","keywords":"","body":"rich_editor\n富文本编辑器,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.rich_editor\",\n width: 600,\n height: 400\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\n\n\n\n\n\n"},"base/table/table_view.html":{"url":"base/table/table_view.html","title":"table_view","keywords":"","body":"bi.table_view\n能处理静态宽度以及动态宽度的表\nsource\nBI.createWidget({\n type: \"bi.table_view\",\n element: 'body',\n isNeedMerge: true,\n isNeedFreeze: true,\n freezeCols: [0, 1],\n mergeCols: [0, 1],\n columnSize: [100, 200, 300, 400, 500],\n items: [],\n header: []\n});\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nisNeedMerge\n是否需要合并单元格\nboolean\nfalse\n\n\nmergeCols\n合并的单元格列号\narray\n[]\n\n\nmergeRule\n合并规则, 默认相等时合并\nfunction(row1, row2)\n默认row1 = row2 时合并\n\n\ncolumnSize\n单元格宽度集合\narray\n[]\n\n\nheaderRowSize\n表头高度\nnumber\n25\n\n\nfooterRowSize\n表尾高度\nnumber\n25\n\n\nrowSize\n普通单元格高度\nnumber\n25\n\n\nregionColumnSize\n列项间的\narray\nfalse\n\n\nheader\n表头\narray\n[]\n\n\nfooter\n表尾\narray\nfalse\n\n\nitems\n子组件\narray\n[]\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nresize\n调整表格\n—\n\n\nsetColumnSize\n设置列宽\ncolumnSize\n\n\ngetColumnSize\n得到列宽\n—\n\n\ngetCalculateColumnSize\n获得计算后的列宽\n—\n\n\nsetHeaderColumnSize\n设置表头的列宽\ncolumnSize\n\n\nsetRegionColumnSize\n设置列项之间的间隙\ncolumnSize\n\n\ngetRegionColumnSize\n获得列项之间的间隙\n—\n\n\ngetCalculateRegionColumnSize\n获取计算后的列项之间的间隙\n—\n\n\ngetCalculateRegionRowSize\n获取计算后的列项上下之间的间隙\n—\n\n\ngetClientRegionColumnSize\n获取浏览器中显示的列项之间的间隙\n—\n\n\ngetScrollRegionColumnSize\n获取横向滚动条宽度\n—\n\n\ngetScrollRegionRowSize\n获取纵向滚动条宽度\n—\n\n\nhasVerticalScroll\n是否含有数值滚动条\n—\n\n\nsetVerticalScroll\n设置纵向滚动距离\nscrollTop\n\n\nsetLeftHorizontalScroll\n设置左到右横向滚动距离\nscrollLeft\n\n\nsetRightHorizontalScroll\n设置右往左横向滚动距离\nscrollLeft\n\n\ngetVerticalScroll\n获取纵向滚动距离\n—\n\n\ngetLeftHorizontalScroll\n获取左到右横向滚动距离\n—\n\n\ngetRightHorizontalScroll\n获取右往左横向滚动距离\n—\n\n\ngetColumns\n获取列项\n—\n\n\npopulate\n刷新内容\nrows\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.Table.EVENT_TABLE_AFTER_INIT\ntable初始化完成后触发\n\n\nBI.Table.EVENT_TABLE_RESIZE\ntable大小调整时触发(窗口变化等)\n\n\nBI.Table.EVENT_TABLE_SCROLL\n滚动事件\n\n\n\n\n"},"base/table/grid_table.html":{"url":"base/table/grid_table.html","title":"grid_table","keywords":"","body":"bi.grid_table\n网格式的表格,继承BI.Widget\nsource\nBI.createWidget({\n type: \"bi.grid_table\",\n element: 'body',\n width: 600,\n height: 500,\n isResizeAdapt: true,\n isNeedResize: true,\n isNeedFreeze: true,\n freezeCols: [0, 1],\n columnSize: [50,50,200,250,400],\n items: items,\n header: header\n});\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nisNeedFreeze\n是否需要冻结\nboolean\nfalse\n\n\nfreezeCols\n冻结列\narray\n[]\n\n\ncolumnSize\n单元格宽度集合\narray\n[]\n\n\nheaderRowSize\n表头高度\nnumber\n25\n\n\nrowSize\n普通单元格高度\nnumber\n25\n\n\nregionColumnSize\n列项间的\narray\n[]\n\n\nheader\n表头\narray\n[]\n\n\nitems\n子组件\narray\n[]\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nsetWidth\n设置宽度\nwidth\n\n\nsetHeight\n设置高度\nheight\n\n\ngetRegionSize\n获取间隙大小\n—\n\n\nsetColumnSize\n设置列宽\ncolumnSize\n\n\ngetColumnSize\n得到列宽\n—\n\n\nsetRegionColumnSize\n设置列项之间的间隙\ncolumnSize\n\n\ngetRegionColumnSize\n获得列项之间的间隙\n—\n\n\nsetVerticalScroll\n设置纵向滚动距离\nscrollTop\n\n\nsetLeftHorizontalScroll\n设置左到右横向滚动距离\nscrollLeft\n\n\nsetRightHorizontalScroll\n设置右往左横向滚动距离\nscrollLeft\n\n\ngetVerticalScroll\n获取纵向滚动距离\n—\n\n\ngetLeftHorizontalScroll\n获取左到右横向滚动距离\n—\n\n\ngetRightHorizontalScroll\n获取右往左横向滚动距离\n—\n\n\npopulate\n刷新内容\nrows\n\n\nrestore\n储存\n—\n\n\n\n\n"},"base/table/collection_table.html":{"url":"base/table/collection_table.html","title":"collection_table","keywords":"","body":"bi.collection_table\n可以合并单元格的表格 继承BI.Widget\nsource\nBI.createWidget({\n type: \"bi.collection_table\",\n element: \"body\",\n columnSize: [200,200],\n items: [\n [{\n type: \"bi.label\",\n cls: \"layout-bg1\",\n text: \"第一行第一列\"\n }, {\n type: \"bi.label\",\n cls: \"layout-bg2\",\n text: \"第一行第二列\"\n }],\n [{\n type: \"bi.label\",\n cls: \"layout-bg3\",\n text: \"第二行第一列\"\n }, {\n type: \"bi.label\",\n cls: \"layout-bg4\",\n text: \"第二行第二列\"\n }]\n ] \n});\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nisNeedFreeze\n是否冻结列\nboolean\nfalse\n\n\nfreezeCols\n冻结的列\narray\n[]\n\n\nisNeedMerge\n是否需要合并单元格\nboolean\nfalse\n\n\nmergeCols\n合并的单元格列号\narray\n[]\n\n\nmergeRule\n合并规则, 默认相等时合并\nfunction(row1, row2)\n默认row1 = row2 时合并\n\n\ncolumnSize\n单元格宽度集合\narray\n[]\n\n\nheaderRowSize\n表头高度\nnumber\n25\n\n\nrowSize\n普通单元格高度\nnumber\n25\n\n\nregionColumnSize\n列项间的\narray\n[]\n\n\nitems\n子组件\narray\n[]\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nsetWidth\n设置宽度\nwidth\n\n\nsetHeight\n设置高度\nheight\n\n\nsetColumnSize\n设置列宽\ncolumnSize\n\n\ngetColumnSize\n得到列宽\n—\n\n\nsetRegionColumnSize\n设置列项之间的间隙\ncolumnSize\n\n\ngetRegionColumnSize\n获得列项之间的间隙\n—\n\n\ngetScrollRegionColumnSize\n获取横向滚动条宽度\n—\n\n\nsetVerticalScroll\n设置纵向滚动距离\nscrollTop\n\n\nsetLeftHorizontalScroll\n设置左到右横向滚动距离\nscrollLeft\n\n\nsetRightHorizontalScroll\n设置右往左横向滚动距离\nscrollLeft\n\n\ngetVerticalScroll\n获取纵向滚动距离\n—\n\n\ngetLeftHorizontalScroll\n获取左到右横向滚动距离\n—\n\n\ngetRightHorizontalScroll\n获取右往左横向滚动距离\n—\n\n\ngetColumns\n获取列项\n—\n\n\npopulate\n增加行\nrows\n\n\nrestore\n存储数据\n—\n\n\n\n\n"},"base/table/resizable_table.html":{"url":"base/table/resizable_table.html","title":"resizable_table","keywords":"","body":"bi.resizable_table\n可调整列宽的表格,继承BI.Widget\nsource\nBI.createWidget({\n type: \"bi.resizable_table\",\n element: \"body\",\n columnSize: [200,200],\n items: [\n [{\n type: \"bi.label\",\n cls: \"layout-bg1\",\n text: \"第一行第一列\"\n }, {\n type: \"bi.label\",\n cls: \"layout-bg2\",\n text: \"第一行第二列\"\n }],\n [{\n type: \"bi.label\",\n cls: \"layout-bg3\",\n text: \"第二行第一列\"\n }, {\n type: \"bi.label\",\n cls: \"layout-bg4\",\n text: \"第二行第二列\"\n }]\n ] \n});\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nisNeedFreeze\n是否需要冻结列\nboolean\nfalse\n\n\nfreezeCols\n冻结的列\narray\n[]\n\n\nisNeedResize\n是否需要调整大小\nboolean\nfalse\n\n\nisResizeAdapt\n是否调整时自适应\nboolean\ntrue\n\n\nisNeedMerge\n是否需要合并单元格\nboolean\nfalse\n\n\nmergeCols\n合并的单元格列号\narray\n[]\n\n\ncolumnSize\n单元格宽度集合\narray\n[]\n\n\nminColumnSize\n最小列宽\narray\n[]\n\n\nmaxColumnSize\n最大列宽\narray\n[]\n\n\nheaderRowSize\n表头高度\nnumber\n25\n\n\nrowSize\n普通单元格高度\nnumber\n25\n\n\nheader\n表头\narray\n[]\n\n\nregionColumnSize\n列项间的\narray\n[]\n\n\nitems\n子组件\narray\n[]\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nsetWidth\n设置宽度\n—\n\n\nsetHeight\n设置高度\n—\n\n\nsetColumnSize\n设置列宽\ncolumnSize\n\n\ngetColumnSize\n得到列宽\n—\n\n\nsetRegionColumnSize\n设置列项之间的间隙\ncolumnSize\n\n\ngetRegionColumnSize\n获得列项之间的间隙\n—\n\n\nsetVerticalScroll\n设置纵向滚动距离\nscrollTop\n\n\nsetLeftHorizontalScroll\n设置左到右横向滚动距离\nscrollLeft\n\n\nsetRightHorizontalScroll\n设置右往左横向滚动距离\nscrollLeft\n\n\ngetVerticalScroll\n获取纵向滚动距离\n—\n\n\ngetLeftHorizontalScroll\n获取左到右横向滚动距离\n—\n\n\ngetRightHorizontalScroll\n获取右往左横向滚动距离\n—\n\n\nattr\n设置属性\nkey:键,value:值\n\n\npopulate\n刷新内容\nrows\n\n\nrestore\n保存表\n—\n\n\n\n\n"},"base/pager.html":{"url":"base/pager.html","title":"pager","keywords":"","body":"bi.pager\n分页控件,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.pager\",\n height: 50,\n pages: 18,\n groups: 5,\n curr: 6,\n first: \"首页\",\n last: \"尾页\"\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ndynamicShow\n是否动态显示上一页、下一页、首页、尾页, 若为false,则指对其设置使能状态\nboolean\ntrue,false\ntrue\n\n\ndynamicShowFirstLast\n是否动态显示首页、尾页,dynamicShow为false时生效\nboolean\ntrue,false\nfalse\n\n\ndynamicShowPrevNext\n是否动态显示上一页、下一页,dynamicShow为false时生效\nboolean\ntrue,false\nfalse\n\n\npages\n是否显示总页数\nboolean/number\nfalse,number\nfalse\n\n\ncurr\n初始化当前页\nfunction/number\n—\nfunction(){return 1;}\n\n\ngroups\n连续显示分页数\nnumber\n—\n0\n\n\njump\n页数跳转\nfunction\n—\n—\n\n\nfirst\n是否显示首页\nboolean/string\ntrue,false,string\nfalse\n\n\nlast\n是否显示尾页\nboolean/string\ntrue,false,string\nfalse\n\n\nprev\n上一页\nstring,object —\n—\n\"上一页\"\n\n\nnext\n下一页\nsting,object\n—\n\"下一页\"\n\n\nfirstPage\n第一页\nnumber\n—\n1\n\n\nlastPage\n最后一页,在万不得已时才会调用这个函数获取最后一页的页码, 主要作用于setValue方法\nfunction\n—\nfunction(){ return 1;}\n\n\nhasPrev\n判断是否有上一页,pages不可用时有效\nfunction\n—\n—\n\n\nhasNext\n判断是否有下一页,pages不可用时有效\nfunction\n—\n—\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\ngetCurrentPage\n获取当前页码\n—\n\n\nsetAllPages\n设置总页数\npages\n\n\nhasPrev\n判断是否有上一页\nv\n\n\nhasNext\n判断是否有下一页\nv\n\n\nsetValue\n设置当前页码\nv\n\n\ngetValue\n获取当前页码\n—\n\n\nattr\n设置属性\nkey,value\n\n\npopulate\n刷新或者清空列表\n—\n\n\n\n事件\n\n\n\n名称\n说明\n\n\n\n\nBI.Pager.EVENT_AFTER_POPULATE\npager刷新完成事件\n\n\n\n\n"},"base/svg.html":{"url":"base/svg.html","title":"svg","keywords":"","body":"bi.svg\nsvg绘图,基类BI.Widget\nsource\n\nvar svg = BI.createWidget({\n type: \"bi.svg\",\n width: 500,\n height: 600\n});\n\nsvg.path(\"M10,10L50,50M50,10L10,50\")\n .attr({stroke: \"red\"});\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nadd\n添加对象到json数组\njson\n\n\npath\n绘制路径\npathString\n\n\nimage\n绘制图片\n(src,x,y,w,h)分别表示图片路径,绘制的原点横、纵坐标,宽、高\n\n\nrect\n绘制矩形\n(x,y,w,h,r)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及矩形的圆角border-radius大小\n\n\ncircle\n绘制圆形\n(x,y,r)分别表示原点的横坐标,纵坐标,以及半径\n\n\nellipse\n绘制椭圆\n(x,y,rx,ry)分别表示原点的横、纵坐标,以及水平半径和垂直半径\n\n\ntext\n绘制文本\n(x,y,text)分别表示绘制的原点横、纵坐标以及要绘制的文本内容\n\n\nprint\n根据制定参数打印出路径\n(x, y, string, font, size, origin, letter_spacing, line_spacing)\n\n\nsetStart\n开始绘制\n—\n\n\nsetFinish\n结束绘制\n—\n\n\nsetSize\n设置画布尺寸\n(width,height)分别表示画布宽高\n\n\nsetViewBox\n设置画布可视区域\n(x,y,width,height,fit)分别表示可视区域原点坐标以及可视区域宽高,以及是否根据可视区域进行调整\n\n\ngetById\n根据id返回元素\nid\n\n\ngetElementByPoint\n获根据给定的点坐标返回元素\n(x,y)\n\n\ngetElementsByPoint\n获根据给定的点坐标返回元素\n(x,y)\n\n\ngetFont\n通过给定的参数在已注册的字体中找到字体对象\n(family, weight, style, stretch)\n\n\nset\n绘制形状的集合\n—\n\n\nremove\n设置总页数\npages\n\n\nclear\n判断是否有上一页\nv\n\n\n\n\n"},"base/canvas.html":{"url":"base/canvas.html","title":"canvas","keywords":"","body":"bi.canvas\ncanvas绘图,基类BI.Widget\nsource\n\nvar canvas = BI.createWidget({\n type: \"bi.canvas\",\n element: \"#wrapper\",\n width: 500,\n height: 600\n});\ncanvas.circle(150, 50, 20, \"green\");\ncanvas.stroke();\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nline\n绘制线段\n(x0, y0, x1, y1)\n\n\nrect\n绘制矩形\n(x,y,w,h,color)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及绘制的颜色\n\n\ncircle\n绘制圆形\n(x, y, radius, color)分别表示原点的横坐标,纵坐标,半径以及颜色\n\n\nhollow\n填充中空的路径\n—\n\n\nsolid\n填充实心的路径\n—\n\n\ngradient\n绘制渐变色\n(x0, y0, x1, y1, start, end)\n\n\nreset\n重置画布\n—\n\n\nstroke\n绘制\ncallback\n\n\n\n\n"},"case/button/multi_select_item.html":{"url":"case/button/multi_select_item.html","title":"multi_select_item","keywords":"","body":"bi.multi_select_item\n复选框item,基类BI.BasicButton\nsource\n\nBI.createWidget({\n type: 'bi.vertical',\n element: \"#wrapper\",\n items: [{\n type: \"bi.label\",\n height: 30,\n text: \"复选item\"\n }, {\n type: \"bi.multi_select_item\",\n text: \"复选项\"\n }]\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nheight\n高度\nnumber\n—\n30\n\n\nlogic\n布局逻辑\nobject\n—\n{dynamic:false}\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetSelected\n设置选中值\nv\n\n\ndoRedMark\n标红\n—\n\n\nunRedMark\n取消标红\n—\n\n\n\n\n"},"case/button/single_select_item.html":{"url":"case/button/single_select_item.html","title":"single_select_item","keywords":"","body":"bi.single_select_item\n可以点击的label,基类BI.BasicButton\nsource\n\nBI.createWidget({\n type: 'bi.vertical',\n element: \"#wrapper\",\n items: [{\n type: \"bi.label\",\n height: 30,\n text: \"复选item\"\n }, {\n type: \"bi.single_select_item\",\n text: \"复选项\"\n }]\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nheight\n高度\nnumber\n—\n25\n\n\nhgap\n效果相当于文本框左右padding值\nnumber\n—\n10\n\n\ntextAlign\n文本对齐方式\nstring\nleft,center,right\n\"left\"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetSelected\n设置选中值\nv\n\n\ndoRedMark\n标红\n—\n\n\nunRedMark\n取消标红\n—\n\n\n\n\n"},"case/button/single_select_radio_item.html":{"url":"case/button/single_select_radio_item.html","title":"single_select_radio_item","keywords":"","body":"bi.single_select_radio_item\n单选框item,基类BI.BasicButton\nsource\n\nBI.createWidget({\n type: 'bi.vertical',\n element: \"#wrapper\",\n items: [{\n type: \"bi.label\",\n height: 30,\n text: \"单选item\"\n }, {\n type: \"bi.single_select_radio_item\",\n text: \"单选项\"\n }]\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nheight\n高度\nnumber\n—\n25\n\n\nhgap\n效果相当于文本框左右padding值\nnumber\n—\n10\n\n\ntextAlign\n文本对齐方式\nstring\nleft,center,right\n\"left\"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetSelected\n设置选中值\nv\n\n\ndoRedMark\n标红\n—\n\n\nunRedMark\n取消标红\n—\n\n\n\n\n"},"case/editor/shelter_editor.html":{"url":"case/editor/shelter_editor.html","title":"shelter_editor","keywords":"","body":"bi.shelter_editor\n带标记的文本框,需手动控制进入编辑状态 基类BI.Widget\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.shelter_editor\",\n cls: \"bi-border\",\n width: 300,\n watermark: \"这个是带标记的\"\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值\nnumber\n—\n4\n\n\nvgap\n效果相当于文本框上下padding值\nnumber\n—\n2\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于文本框top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于文本框bottom-padding值\nnumber\n—\n0\n\n\nvalidationChecker\n输入较验函数\nfunction\n—\n—\n\n\nquitChecker\n是否允许退出编辑函数\nfunction\n—\n—\n\n\nallowBlank\n是否允许空值\nboolean\ntrue,false\ntrue\n\n\nwatermark\n文本框placeholder\nstring\n—\n\" \"\n\n\nerrorText\n错误提示\nstring/function\n—\n\" \"\n\n\nheight\n高度\nnumber\n—\n30\n\n\ntextAlign\n对齐方式\nstring\nleft,center,right\n\"left\"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetErrorText\n设置错误文本\ntext\n\n\ngetErrorText\n获取错误文本\n—\n\n\nfocus\n文本框获取焦点\n—\n\n\nblur\n文本框失焦\n—\n\n\nonKeyDown\n按键事件\nkey\n\n\nsetValue\n设置文本框值\nvalue\n\n\ngetLastValidValue\n获取文本框最后一次输入的有效值\n—\n\n\nsetTextStyle\n设置文本框样式\nstyle\n\n\ngetValue\n获取文本框值\n—\n\n\nisEditing\n文本框是否处于编辑状态\n—\n\n\nisValid\n文本框值是否有效\n—\n\n\ndoRedMark\n文本标红\n—\n\n\nunRedMark\n取消文本标红\n—\n\n\ndoHighLight\n文本高亮\n—\n\n\nunHighLight\n取消文本高亮\n—\n\n\nsetTitle\n设置title\ntitle\n\n\nsetWarningTitle\n设置错误title\ntitle\n\n\nsetState\n设置文本框值\n—\n\n\ngetState\n获取文本框值\n—\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.Editor.EVENT_CHANGE\neditor的value发生改变触发\n\n\nBI.Editor.EVENT_FOCUS\nfocus事件\n\n\nBI.Editor.EVENT_BLUR\nblur事件\n\n\nBI.Editor.EVENT_CLICK\n点击编辑框触发(不在编辑状态时)\n\n\nBI.Editor.EVENT_KEY_DOWN\nkeyDown时触发\n\n\nBI.Editor.EVENT_SPACE\n按下空格触发\n\n\nBI.Editor.EVENT_BACKSPACE\n按下Backspace触发\n\n\nBI.Editor.EVENT_START\n开始输入触发\n\n\nBI.Editor.EVENT_PAUSE\n暂停输入触发(输入空白字符)\n\n\nBI.Editor.EVENT_STOP\n停止输入触发\n\n\nBI.Editor.EVENT_CONFIRM\n确定输入触发(blur时且输入值有效)\n\n\nBI.Editor.EVENT_VALID\n输入值有效的状态事件\n\n\nBI.Editor.EVENT_ERROR\n输入值无效的状态事件\n\n\nBI.Editor.EVENT_ENTER\n回车事件\n\n\nBI.Editor.EVENT_RESTRICT\n回车但是值不合法\n\n\nBI.Editor.EVENT_REMOVE\n输入为空时按下backspace\n\n\nBI.Editor.EVENT_EMPTY\n输入框为空时触发\n\n\n\n\n"},"case/editor/sign_editor.html":{"url":"case/editor/sign_editor.html","title":"sign_editor","keywords":"","body":"bi.sign_editor\n带标记的文本框,基类BI.Widget\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.sign_editor\",\n cls:\"layout-bg5\",\n value: \"123\",\n text: \"456\",\n width: 300\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值\nnumber\n—\n4\n\n\nvgap\n效果相当于文本框上下padding值\nnumber\n—\n2\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于文本框top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于文本框bottom-padding值\nnumber\n—\n0\n\n\nvalidationChecker\n输入较验函数\nfunction\n—\n—\n\n\nquitChecker\n是否允许退出编辑函数\nfunction\n—\n—\n\n\nallowBlank\n是否允许空值\nboolean\ntrue,false\ntrue\n\n\nwatermark\n文本框placeholder\nstring\n—\n\" \"\n\n\nerrorText\n错误提示\nstring/function\n—\n\" \"\n\n\nheight\n高度\nnumber\n—\n30\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetErrorText\n设置错误文本\ntext\n\n\ngetErrorText\n获取错误文本\n—\n\n\nfocus\n文本框获取焦点\n—\n\n\nblur\n文本框失焦\n—\n\n\nsetValue\n设置文本框值\nvalue\n\n\ngetLastValidValue\n获取文本框最后一次输入的有效值\n—\n\n\ngetValue\n获取文本框值\n—\n\n\nisEditing\n文本框是否处于编辑状态\n—\n\n\nisValid\n文本框值是否有效\n—\n\n\ndoRedMark\n文本标红\n—\n\n\nunRedMark\n取消文本标红\n—\n\n\ndoHighLight\n文本高亮\n—\n\n\nunHighLight\n取消文本高亮\n—\n\n\nsetTitle\n设置title\ntitle\n\n\nsetWarningTitle\n设置错误title\ntitle\n\n\nsetState\n设置文本框值\n—\n\n\ngetState\n获取文本框值\n—\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.Editor.EVENT_CHANGE\neditor的value发生改变触发\n\n\nBI.Editor.EVENT_FOCUS\nfocus事件\n\n\nBI.Editor.EVENT_BLUR\nblur事件\n\n\nBI.Editor.EVENT_CLICK\n点击编辑框触发(不在编辑状态时)\n\n\nBI.Editor.EVENT_KEY_DOWN\nkeyDown时触发\n\n\nBI.Editor.EVENT_SPACE\n按下空格触发\n\n\nBI.Editor.EVENT_BACKSPACE\n按下Backspace触发\n\n\nBI.Editor.EVENT_START\n开始输入触发\n\n\nBI.Editor.EVENT_PAUSE\n暂停输入触发(输入空白字符)\n\n\nBI.Editor.EVENT_STOP\n停止输入触发\n\n\nBI.Editor.EVENT_CONFIRM\n确定输入触发(blur时且输入值有效)\n\n\nBI.Editor.EVENT_VALID\n输入值有效的状态事件\n\n\nBI.Editor.EVENT_ERROR\n输入值无效的状态事件\n\n\nBI.Editor.EVENT_ENTER\n回车事件\n\n\nBI.Editor.EVENT_RESTRICT\n回车但是值不合法\n\n\nBI.Editor.EVENT_REMOVE\n输入为空时按下backspace\n\n\nBI.Editor.EVENT_EMPTY\n输入框为空时触发\n\n\n\n\n"},"case/editor/sign_initial_editor.html":{"url":"case/editor/sign_initial_editor.html","title":"sign_initial_editor","keywords":"","body":"bi.sign_initial_editor\n指定初始值 之后初始值会一直显示的editor 基类BI.Widget\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.sign_initial_editor\",\n cls: \"layout-bg5\",\n text: \"原始值\",\n width: 300\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值\nnumber\n—\n4\n\n\nvgap\n效果相当于文本框上下padding值\nnumber\n—\n2\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于文本框top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于文本框bottom-padding值\nnumber\n\n0\n\n\nvalidationChecker\n输入较验函数\nfunction\n—\n—\n\n\nquitChecker\n是否允许退出编辑函数\nfunction\n—\n—\n\n\nallowBlank\n是否允许空值\nboolean\ntrue,false\ntrue\n\n\nwatermark\n文本框placeholder\nstring\n—\n\" \"\n\n\nerrorText\n错误提示\nstring/function\n—\n\" \"\n\n\nheight\n高度\nnumber\n—\n30\n\n\ntext\n文本内容\nstring\n—\n\" \"\n\n\nvalue\n文本value值\nstring\n—\n\" \"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetErrorText\n设置错误文本\ntext\n\n\ngetErrorText\n获取错误文本\n—\n\n\nfocus\n文本框获取焦点\n—\n\n\nblur\n文本框失焦\n—\n\n\nsetValue\n设置文本框值\nvalue\n\n\ngetLastValidValue\n获取文本框最后一次输入的有效值\n—\n\n\ngetValue\n获取文本框值\n—\n\n\nisEditing\n文本框是否处于编辑状态\n—\n\n\nisValid\n文本框值是否有效\n—\n\n\ndoRedMark\n文本标红\n—\n\n\nunRedMark\n取消文本标红\n—\n\n\ndoHighLight\n文本高亮\n—\n\n\nunHighLight\n取消文本高亮\n—\n\n\nsetTitle\n设置title\ntitle\n\n\nsetWarningTitle\n设置错误title\ntitle\n\n\nsetState\n设置文本框值\n—\n\n\ngetState\n获取文本框值\n—\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.Editor.EVENT_CHANGE\neditor的value发生改变触发\n\n\nBI.Editor.EVENT_FOCUS\nfocus事件\n\n\nBI.Editor.EVENT_BLUR\nblur事件\n\n\nBI.Editor.EVENT_CLICK\n点击编辑框触发(不在编辑状态时)\n\n\nBI.Editor.EVENT_KEY_DOWN\nkeyDown时触发\n\n\nBI.Editor.EVENT_SPACE\n按下空格触发\n\n\nBI.Editor.EVENT_BACKSPACE\n按下Backspace触发\n\n\nBI.Editor.EVENT_START\n开始输入触发\n\n\nBI.Editor.EVENT_PAUSE\n暂停输入触发(输入空白字符)\n\n\nBI.Editor.EVENT_STOP\n停止输入触发\n\n\nBI.Editor.EVENT_CONFIRM\n确定输入触发(blur时且输入值有效)\n\n\nBI.Editor.EVENT_VALID\n输入值有效的状态事件\n\n\nBI.Editor.EVENT_ERROR\n输入值无效的状态事件\n\n\nBI.Editor.EVENT_ENTER\n回车事件\n\n\nBI.Editor.EVENT_RESTRICT\n回车但是值不合法\n\n\nBI.Editor.EVENT_REMOVE\n输入为空时按下backspace\n\n\nBI.Editor.EVENT_EMPTY\n输入框为空时触发\n\n\n\n\n"},"case/editor/state_editor.html":{"url":"case/editor/state_editor.html","title":"state_editor","keywords":"","body":"bi.state_editor\n记录状态的输入框,基类BI.Widget\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.state_editor\",\n value: \"123\",\n text: \"456\",\n width: 300\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值\nnumber\n—\n4\n\n\nvgap\n效果相当于文本框上下padding值\nnumber\n—\n2\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于文本框top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于文本框bottom-padding值\nnumber\n—\n0\n\n\nvalidationChecker\n输入较验函数\nfunction\n—\n—\n\n\nquitChecker\n是否允许退出编辑函数\nfunction\n—\n—\n\n\nallowBlank\n是否允许空值\nboolean\ntrue,false\ntrue\n\n\nwatermark\n文本框placeholder\nstring\n—\n\" \"\n\n\nerrorText\n错误提示\nstring/function\n—\n\" \"\n\n\nheight\n高度\nnumber\n—\n30\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetErrorText\n设置错误文本\ntext\n\n\ngetErrorText\n获取错误文本\n—\n\n\nfocus\n文本框获取焦点\n—\n\n\nblur\n文本框失焦\n—\n\n\nsetValue\n设置文本框值\nvalue\n\n\ngetLastValidValue\n获取文本框最后一次输入的有效值\n—\n\n\ngetValue\n获取文本框值\n—\n\n\nisEditing\n文本框是否处于编辑状态\n—\n\n\nisValid\n文本框值是否有效\n—\n\n\ndoRedMark\n文本标红\n—\n\n\nunRedMark\n取消文本标红\n—\n\n\ndoHighLight\n文本高亮\n—\n\n\nunHighLight\n取消文本高亮\n—\n\n\nsetState\n设置文本框值\n—\n\n\ngetState\n获取文本框值\n—\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.Editor.EVENT_CHANGE\neditor的value发生改变触发\n\n\nBI.Editor.EVENT_FOCUS\nfocus事件\n\n\nBI.Editor.EVENT_BLUR\nblur事件\n\n\nBI.Editor.EVENT_CLICK\n点击编辑框触发(不在编辑状态时)\n\n\nBI.Editor.EVENT_KEY_DOWN\nkeyDown时触发\n\n\nBI.Editor.EVENT_SPACE\n按下空格触发\n\n\nBI.Editor.EVENT_BACKSPACE\n按下Backspace触发\n\n\nBI.Editor.EVENT_START\n开始输入触发\n\n\nBI.Editor.EVENT_PAUSE\n暂停输入触发(输入空白字符)\n\n\nBI.Editor.EVENT_STOP\n停止输入触发\n\n\nBI.Editor.EVENT_CONFIRM\n确定输入触发(blur时且输入值有效)\n\n\nBI.Editor.EVENT_VALID\n输入值有效的状态事件\n\n\nBI.Editor.EVENT_ERROR\n输入值无效的状态事件\n\n\nBI.Editor.EVENT_ENTER\n回车事件\n\n\nBI.Editor.EVENT_RESTRICT\n回车但是值不合法\n\n\nBI.Editor.EVENT_REMOVE\n输入为空时按下backspace\n\n\nBI.Editor.EVENT_EMPTY\n输入框为空时触发\n\n\n\n\n"},"case/editor/simple_state_editor.html":{"url":"case/editor/simple_state_editor.html","title":"simple_state_editor","keywords":"","body":"simple_state_editor\n无限制-已选择状态输入框,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.simple_state_editor\"\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\nstateState\n设置state\nstring\n\n\n\n\n"},"detailed/text_input/bi.clear_editor.html":{"url":"detailed/text_input/bi.clear_editor.html","title":"clear_editor","keywords":"","body":"bi.clear_editor\n带清除按钮的输入框\nsource\nBI.createWidget({\n type: 'bi.clear_editor',\n cls: \"bi-border\",\n element: '#wrapper',\n width: 300,\n watermark:\"带清除按钮的输入框\",\n});\n\n\n\nAPI\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值\nnumber\n—\n4\n\n\nvgap\n效果相当于文本框上下padding值\nnumber\n—\n2\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于文本框top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于文本框bottom-padding值\nnumber\n—\n0\n\n\nvalidationChecker\n输入较验函数\nfunction\n—\n—\n\n\nquitChecker\n是否允许退出编辑函数\nfunction\n—\n—\n\n\nallowBlank\n是否允许空值\nboolean\ntrue,false\nfalse\n\n\nwatermark\n文本框placeholder\nstring\n—\nnull\n\n\nvalue\n文本框默认值\nstring\n—\n\" \"\n\n\nerrorText\n错误提示\nstring\n—\nnull\n\n\nwidth\n文本框宽度\nnumber\n—\n—\n\n\nheight\n文本框高度\nnumber\n—\n30\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.ClearEditor.EVENT_CLEAR\n点击清空按钮触发\n\n\n\n其他事件详见Input\n\n"},"case/list/list.select.html":{"url":"case/list/list.select.html","title":"select_list","keywords":"","body":"bi.select_list\n选择列表\nsource\n\nBI.createWidget({\n type: \"bi.select_list\",\n items: [{\n text: '1',\n }, {\n text: '2',\n }]\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\ndirection\ntoolbar位置\nstring\nBI.Direction.Top\n\n\nonLoaded\n加载完成的回调(测试了无效果)\nfunction\nBI.emptyFn\n\n\nitems\n子项\narray\n[]\n\n\nitemsCreator\n元素创造器\nfunction\nBI.emptyFn\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nsetAllSelected\n设置全选\nv: boolean\n\n\nsetToolBarVisible\n设置toolbar是否可见\nb: boolean\n\n\nisAllSelected\n是否全选中\n—\n\n\nhasPrev\n是否有上一页\n—\n\n\nhasNext\n是否有下一页\n—\n\n\nprependItems\n列表最前添加元素\nitems\n\n\naddItems\n列表最后添加元素\nitems\n\n\nsetValue\n设置值\ndata\n\n\ngetVlaue\n获得值\n—\n\n\npopulate\n替换内容\nitems\n\n\nresetHeight\n重新设置高度\nh\n\n\nsetNotSelectedValue\n设置未选中值\n—\n\n\ngetNotSelectedValue\n获取未选中植\n—\n\n\ngetAllButtons\n获得所以根节点\n—\n\n\ngetAllLeaves\n获得所有叶节点\n—\n\n\ngetSelectedButtons\n获取选中的根节点\n—\n\n\ngetNotSelectedButtons\n获取未选中的根节点\n—\n\n\ngetIndexByValue\n根据值获取索引\nvalue\n\n\ngetNodeById\n根据id获取node\nid\n\n\ngetNodeByValue\n根据值获取node\nvalue\n\n\n\n\n"},"case/loader/lazy_loader.html":{"url":"case/loader/lazy_loader.html","title":"lazy_loader","keywords":"","body":"bi.lazy_loader\n懒加载loader\nsource\n\nBI.createWidget({\n type: \"bi.lazy_loader\",\n width: 100,\n element: 'body',\n items: items,\n});\n\n\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\naddItems\n列表最后添加元素\nitems\n\n\nsetValue\n设置值\ndata\n\n\ngetValue\n获得值\n—\n\n\npopulate\n替换内容\nitems\n\n\nsetNotSelectedValue\n设置未选中值\n—\n\n\ngetNotSelectedValue\n获取未选中植\n—\n\n\ngetAllButtons\n获得所以根节点\n—\n\n\ngetAllLeaves\n获得所有叶节点\n—\n\n\ngetSelectedButtons\n获取选中的根节点\n—\n\n\ngetNotSelectedButtons\n获取未选中的根节点\n—\n\n\ngetIndexByValue\n根据值获取索引\nvalue\n\n\ngetNodeById\n根据id获取node\nid\n\n\ngetNodeByValue\n根据值获取node\nvalue\n\n\n\n\n"},"case/loader/list_loader.html":{"url":"case/loader/list_loader.html","title":"list_loader","keywords":"","body":"bi.list_loader\n为解决排序问题引入的控件\nsource\n\nBI.createWidget({\n type: \"bi.list_loader\",\n width: 100,\n element: 'body',\n items: items,\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\ncount\n分页计数\nnumber\nfalse\n\n\nnext\n\nobject\n{}\n\n\nhasNext\n是否有下一页\nfunction\nBI.emptyFn\n\n\nitems\n子项\narray\n[]\n\n\nitemsCreator\n元素创造器\nfunction\nBI.emptyFn\n\n\nonLoaded\n加载完成回调\nfunction\nBI.emptyFn\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nhasNext\n是否有下一页\n—\n\n\naddItems\n列表最后添加元素\nitems\n\n\nsetValue\n设置值\ndata\n\n\ngetVlaue\n获得值\n—\n\n\npopulate\n替换内容\nitems\n\n\nresetHeight\n重新设置高度\nh\n\n\nsetNotSelectedValue\n设置未选中值\n—\n\n\ngetNotSelectedValue\n获取未选中植\n—\n\n\ngetAllButtons\n获得所以根节点\n—\n\n\ngetAllLeaves\n获得所有叶节点\n—\n\n\ngetSelectedButtons\n获取选中的根节点\n—\n\n\ngetNotSelectedButtons\n获取未选中的根节点\n—\n\n\ngetIndexByValue\n根据值获取索引\nvalue\n\n\ngetNodeById\n根据id获取node\nid\n\n\ngetNodeByValue\n根据值获取node\nvalue\n\n\n\n\n"},"case/loader/sort_list.html":{"url":"case/loader/sort_list.html","title":"sort_list(jquery-sortable封装)","keywords":"","body":"bi.sort_list\n排序列表\nsource\n\nBI.createWidget({\n type: \"bi.sort_list\",\n width: 100,\n element: 'body',\n items: items,\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\ncount\n分页计数\nnumber\nfalse\n\n\nnext\n\nobject\n{}\n\n\nhasNext\n是否有下一页\nfunction\nBI.emptyFn\n\n\nitems\n子项\narray\n[]\n\n\nitemsCreator\n元素创造器\nfunction\nBI.emptyFn\n\n\nonLoaded\n加载完成回调\nfunction\nBI.emptyFn\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nhasNext\n是否有下一页\n—\n\n\naddItems\n列表最后添加元素\nitems\n\n\nsetValue\n设置值\ndata\n\n\ngetVlaue\n获得值\n—\n\n\npopulate\n替换内容\nitems\n\n\nresetHeight\n重新设置高度\nh\n\n\nsetNotSelectedValue\n设置未选中值\n—\n\n\ngetNotSelectedValue\n获取未选中植\n—\n\n\ngetAllButtons\n获得所以根节点\n—\n\n\ngetAllLeaves\n获得所有叶节点\n—\n\n\ngetSelectedButtons\n获取选中的根节点\n—\n\n\ngetNotSelectedButtons\n获取未选中的根节点\n—\n\n\ngetIndexByValue\n根据值获取索引\nvalue\n\n\ngetNodeById\n根据id获取node\nid\n\n\ngetNodeByValue\n根据值获取node\nvalue\n\n\n\n\n"},"case/layer/pane_list.html":{"url":"case/layer/pane_list.html","title":"pane_list","keywords":"","body":"bi.list_pane\nlist面板,基类BI.Widget\nsource\n\nBI.createWidget({\n type: 'bi.list_pane',\n element: \"#wrapper\",\n cls: \"bi-border\",\n items: []\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nitems\n列表\narray\n—\n[ ]\n\n\nitemsCreator\n列表创建器\nfunction\n—\n—\n\n\nhasNext\n是否有下一页\nfunction\n—\n—\n\n\nonLoad\n正在加载\nfunction\n—\n— \n\n\nel\n开启panel的元素\nobject\n—\n{type: \"bi.button_group\" }\n\n\nlogic\n布局逻辑\nobject\n—\n{ dynamic:true}\n\n\nhgap\n效果相当于容器左右padding值\nnumber\n—\n0\n\n\nvgap\n效果相当于容器上下padding值\nnumber\n—\n0\n\n\nlgap\n效果相当于容器left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于容器right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于容器top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于容器bottom-padding值\nnumber\n—\n0\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nprependItems\n内部前插入\nitems\n\n\naddItems\n内部后插入\nitems\n\n\nremoveItemAt\n移除指定索引处的item\nindexs\n\n\npopulate\n刷新列表\nitems\n\n\nsetNotSelectedValue\n设置未被选中的值\nvalue,可以是单个值也可以是个数组\n\n\nsetValue\n设置value值\nvalue,可以是单个值也可以是个数组\n\n\ngetNotSelectedValue\n获取没有被选中的值\n—\n\n\ngetValue\n获取被选中的值\n—\n\n\ngetAllButtons\n获取所有button\n—\n\n\ngetAllLeaves\n获取所有的叶子节点\n—\n\n\ngetSelectedButtons\n获取所有被选中的元素\n—\n\n\ngetNotSelectedButtons\n获取所有未被选中的元素\n—\n\n\ngetIndexByValue\n根据value值获取value在数组中的索引\nvalue\n\n\ngetNodeById\n根据id获取节点\nid\n\n\ngetNodeByValue\n根据value值获取节点\nvalue\n\n\nhasPrev\n是否有上一页\n—\n\n\nhasNext\n是否有下一页\n—\n\n\n\n\n"},"case/layer/panel.html":{"url":"case/layer/panel.html","title":"panel","keywords":"","body":"bi.panel\n带有标题栏的panel,基类BI.Widget\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.panel\",\n title: \"标题\",\n titleButtons: [{\n type: \"bi.button\",\n text: \"+\"\n }],\n el: this.button_group,\n logic: {\n dynamic: true\n }\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ntitle\n标题\nstring\n—\n\" \"\n\n\ntitleButton\n标题后的按钮组\narray\n—\n[ ]\n\n\nel\n开启panel的元素\nobject\n—\n{ }\n\n\nlogic\n布局逻辑\nobject\n—\n{ dynamic:false}\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetTitle\n设置标题\ntitle\n\n\n\n\n"},"case/layer/multi_popup_layer.html":{"url":"case/layer/multi_popup_layer.html","title":"multi_popup_view","keywords":"","body":"bi.multi_popup_view\n下拉框弹出层的多选版本,toolbar带有若干按钮, zIndex在1000w,基类BI.MultiPopupView\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.multi_popup_view\",\n width: 300\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nbuttons\n按钮组\narray\n—\nBI.i18nText(\"BI-Basic_Sure\")\n\n\n\n\n"},"case/layer/layer_panel.html":{"url":"case/layer/layer_panel.html","title":"popup_panel","keywords":"","body":"bi.popup_panel\n可以理解为MultiPopupView和Panel两个面板的结合体,基类BI.MultiPopupView\nsource\n\nBI.createWidget({\n element: \"#wrapper\",\n type: \"bi.popup_panel\",\n title: \"测试\",\n width: 300\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ntitle\n标题\nstring\n—\n\" \"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nprependItems\n内部前插入\nitems\n\n\naddItems\n内部后插入\nitems\n\n\nremoveItemAt\n移除指定索引处的item\nindexs\n\n\npopulate\n刷新列表\nitems\n\n\nsetNotSelectedValue\n设置未被选中的值\nvalue,可以是单个值也可以是个数组\n\n\nsetValue\n设置value值\nvalue,可以是单个值也可以是个数组\n\n\ngetNotSelectedValue\n获取没有被选中的值\n—\n\n\ngetValue\n获取被选中的值\n—\n\n\ngetAllButtons\n获取所有button\n—\n\n\ngetAllLeaves\n获取所有的叶子节点\n—\n\n\ngetSelectedButtons\n获取所有被选中的元素\n—\n\n\ngetNotSelectedButtons\n获取所有未被选中的元素\n—\n\n\ngetIndexByValue\n根据value值获取value在数组中的索引\nvalue\n\n\ngetNodeById\n根据id获取节点\nid\n\n\ngetNodeByValue\n根据value值获取节点\nvalue\n\n\nempty\n清空组件\n—\n\n\nhasPrev\n是否有上一页\n—\n\n\nhasNext\n是否有下一页\n—\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.PopupPanel.EVENT_CHANGE\npanel的value发生改变触发\n\n\nBI.PopupPanel.EVENT_CLOSE\npanel的关闭事件\n\n\nBI.PopupPanel.EVENT_CLICK_TOOLBAR_BUTTON\n点击工具栏事件\n\n\n\n\n"},"case/trigger/editor_trigger.html":{"url":"case/trigger/editor_trigger.html","title":"editor_trigger","keywords":"","body":"bi.editor_trigger\n文本输入框trigger\nsource\n\nBI.createWidget({\n type: \"bi.editor_trigger\",\n element: \"body\",\n});\n\n\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nvalidationChecker\n验证函数\nfunction\nBI.emptyFn\n\n\nquitChecker\n退出时验证函数\nfunction\nBI.emptyFn\n\n\nallowBlank\n是否允许为空\nboolean\nfalse\n\n\nwatermark\n水印\nstring\n\"\"\n\n\nerrorText\n错误信息\nstring\n\"\"\n\n\ntriggerWidth\n触发器宽度\nnumber\n30\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nsetValue\n设置值\nvalue\n\n\ngetValue\n获得值\n—\n\n\nsetText\n\ntext\n\n\n\n\n"},"case/trigger/icon_trigger.html":{"url":"case/trigger/icon_trigger.html","title":"icon_trigger","keywords":"","body":"bi.icon_trigger\n图标按钮trigger\nsource\n\nBI.createWidget({\n type: \"bi.icon_trigger\",\n element: \"body\",\n});\n\n\n\n\n"},"case/trigger/text_trigger.html":{"url":"case/trigger/text_trigger.html","title":"text_trigger","keywords":"","body":"bi.text_trigger\n文本输入框trigger\nsource\n\nBI.createWidget({\n type: \"bi.editor_trigger\",\n element: \"body\",\n});\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nsetValue\n设置值\nvalue\n\n\ngetValue\n获得值\n—\n\n\n\n\n"},"case/trigger/select_text_trigger.html":{"url":"case/trigger/select_text_trigger.html","title":"select_text_trigger","keywords":"","body":"select_text_trigger\n选择字段trigger\nsource\n\nBI.createWidget({\n type: \"bi.select_text_trigger\",\n text: \"这是一个简单的trigger\",\n width: 200,\n height: 30\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\npopulate\n刷新trigger选项\nitems\n\n\n\n\n"},"case/combo/bubble_combo.html":{"url":"case/combo/bubble_combo.html","title":"bubble_combo","keywords":"","body":"bi.bubble_combo\n表示一个可以展开的节点, 不仅有选中状态而且有展开状态, 基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.bubble_combo\",\n element:\"#wrapper\",\n el: {\n type: \"bi.button\",\n text: \"测试\",\n height: 25\n },\n popup: {\n el: {\n type: \"bi.button_group\",\n items: BI.makeArray(100, {\n type: \"bi.text_item\",\n height: 25,\n text: \"item\"\n }),\n layouts: [{\n type: \"bi.vertical\"\n }]\n },\n maxHeight: 200\n }\n })\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ntext\n组件text值\nstring\n—\n\"\"\n\n\nvalue\n组件value值\nstring\n—\n\"\"\n\n\nstopEvent\n阻止事件\nboolean\ntrue,false\nfalse\n\n\nstopPropagation\n阻止冒泡\nboolean\ntrue,false\nfalse\n\n\nselected\nbutton的选中状态\nboolean\ntrue,false\nfalse\n\n\nonce\n点击一次选中有效,再点无效\nboolean\ntrue,false\nfalse\n\n\nforceSelected\n点击即选中, 选中了就不会被取消,与once的区别是forceSelected不影响事件的触发\nboolean\ntrue,false\nfalse\n\n\nforceNotSelected\n无论怎么点击都不会被选中\nboolean\ntrue,false\nfalse\n\n\ndisableSelected\n使能选中\nboolean\ntrue,false\nfalse\n\n\nshadow\n是否显示阴影\nboolean\ntrue,false\nfalse\n\n\nisShadowShowingOnSelected\n选中状态下是否显示阴影\nboolean\ntrue,false\nfalse\n\n\ntrigger\n被选元素要触发的事件\nstring\nmousedown, mouseup, click, dblclick, lclick\nnull\n\n\nhandler\n点击事件回调\nfunction\n—\nBI.emptyFn\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nbeforeClick\n点击事件之前\n—\n\n\ndoClick\n点击事件\n—\n\n\nhandle\n返回该对象\n—\n\n\nhover\nhover事件\n—\n\n\ndishover\n取消hover事件\n—\n\n\nsetSelected\n设置选中的文本\nb\n\n\nisSelected\n是否被选中\n—\n\n\nisOnce\n是否只允许点击一次\n—\n\n\nisForceSelected\n判断是否点击即选中\n—\n\n\nisForceNotSelected\n判断是否怎么点击都不会被选中\n—\n\n\nisDisableSelected\n判断是否让选中\n—\n\n\nsetText\n设置文本值\n—\n\n\ngetText\n获取文本值\n—\n\n\n\n\n"},"case/combo/icon_combo.html":{"url":"case/combo/icon_combo.html","title":"icon_combo","keywords":"","body":"bi.icon_combo\n切换trigger图标的combo 基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.icon_combo\",\n element: \"#wrapper\",\n iconClass: \"close-font\",\n items: [{\n value: \"第一项\",\n iconClass: \"search-font\"\n }, {\n value: \"第二项\",\n iconClass: \"close-font\"\n }, {\n value: \"第三项\",\n iconClass: \"copy-font\"\n }]\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nwidth\n宽度\nnumber\n—\n24\n\n\nheight\n高度\nnumber\n—\n24\n\n\niconClass\nicon的类名\nstring\n—\n\" \"\n\n\nel\n自定义下拉框trigger\nobject\n—\n{ }\n\n\npopup\n弹出层\nobject\n—\n{ }\n\n\nminWidth\n最小宽度\nnumber\n—\n100\n\n\nmaxWidth\n最大宽度\nstring/number\n—\n\"auto\"\n\n\nmaxHeight\n最大高度\nnumber\n—\n300\n\n\nadjustLength\n弹出列表和trigger的距离\nnumber\n—\n0\n\n\nadjustXOffset\n调整横向偏移\nnumber\n—\n0\n\n\nadjustYOffset\n调整纵向偏移\nnumber\n—\n0\n\n\noffsetStyle\n弹出层显示位置\nstring\nleft,right,center\n\"left,right,center\"\n\n\nchooseType\n选择类型\nconst\n参考button_group\nBI.ButtonGroup.CHOOSE_TYPE_SINGLE\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetValue\n设置value值\n—\n\n\ngetValue\n获取value值\n—\n\n\nshowView\n显示弹出层\n—\n\n\nhideView\n隐藏弹出层\n—\n\n\npopulate\n刷新列表\nitems\n\n\n\n\n"},"case/combo/static_combo.html":{"url":"case/combo/static_combo.html","title":"static_combo","keywords":"","body":"bi.static_combo\n单选combo,trigger显示项不会改变 基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.static_combo\",\n element: \"#wrapper\",\n text: \"Value 不变\",\n items: [{\n text: \"1\",\n value: 1\n }, {\n text: \"2\",\n value: 2\n }, {\n text: \"3\",\n value: 3\n }]\n });\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nheight\n高度\nnumber\n—\n24\n\n\nel\n自定义下拉框trigger\nobject\n—\n{ }\n\n\nitems\n子组件\narray\n—\n[ ]\n\n\ntext\n文本内容\nstring\n—\n\" \"\n\n\nchooseType\n选择类型\nconst\n参考button_group\nBI.ButtonGroup.CHOOSE_TYPE_SINGLE\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetValue\n设置value值\n—\n\n\ngetValue\n获取value值\n—\n\n\npopulate\n刷新列表\nitems\n\n\n\n\n"},"case/combo/text_value_combo.html":{"url":"case/combo/text_value_combo.html","title":"text_value_combo","keywords":"","body":"bi.text_value_combo\n基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.text_value_combo\",\n element: \"#wrapper\",\n text: \"value_combo\",\n width: 300,\n items: [{\n text: \"1\",\n value: 1\n }, {\n text: \"2\",\n value: 2\n }, {\n text: \"3\",\n value: 3\n }]\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nheight\n高度\nnumber\n—\n30\n\n\nel\n自定义下拉框trigger\nobject\n—\n{ }\n\n\ntext\n文本内容\nstring\n—\n\" \"\n\n\nchooseType\n选择类型\nconst\n参考button_group\nBI.ButtonGroup.CHOOSE_TYPE_SINGLE\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetValue\n设置value值\n—\n\n\ngetValue\n获取value值\n—\n\n\npopulate\n刷新列表\nitems\n\n\n\n\n"},"case/combo/text_value_check_combo.html":{"url":"case/combo/text_value_check_combo.html","title":"text_value_check_combo","keywords":"","body":"text_value_check_combo\n下拉列表项带√的TextValueCombo,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.text_value_check_combo\",\n items: []\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\npopulate\n刷新combo\nitems\n\n\n\n\n"},"case/combo/editor_icon_check_combo.html":{"url":"case/combo/editor_icon_check_combo.html","title":"editor_icon_check_combo","keywords":"","body":"editor_icon_check_combo\n可以编辑trigger的TextValueCheckCombo,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.editor_icon_check_combo\",\n items: []\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\npopulate\n刷新combo\nitems\n\n\n\n\n"},"case/combo/text_value_down_list_combo.html":{"url":"case/combo/text_value_down_list_combo.html","title":"text_value_down_list_combo","keywords":"","body":"bi.text_value_down_list_combo\n有二级下拉菜单的combo 基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.text_value_down_list_combo\",\n element: \"#wrapper\",\n text: \"text\",\n items: [\n [{\n el: {\n text: \"1\",\n value: 1\n },\n children: [{\n text: \"11\",\n value: 11\n }]\n }],\n [{\n text: \"2\",\n value: 2\n }, {\n text: \"3\",\n value: 3\n }]\n ]\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nheight\n高度\nnumber\n—\n30\n\n\ntext\n文本内容\nstring\n—\n\" \"\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数 \n\n\n\n\nsetValue\n设置value值\n—\n\n\ngetValue\n获取value值\n—\n\n\npopulate\n刷新列表\nitems\n\n\n\n\n"},"case/tree/branch_tree.html":{"url":"case/tree/branch_tree.html","title":"branch_tree","keywords":"","body":"bi.branch_tree\n横向分支的树\nsource\nBI.createWidget({\n type: \"bi.branch_tree\",\n element: 'body',\n items: [{\n el: {},\n children: [{\n el: {},\n children: {},\n // ...\n }]\n }]\n});\n\n\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nexpander\nbranch_expander组件配置项\nobject\n{}\n\n\nel\n基础元素\nobject\n{}\n\n\nitems\n子项\narray\n[]\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\npopulate\n去掉所有内容\n—\n\n\ngetValue\n获取所选项值\n—\n\n\n\n\n"},"case/tree/handstand_branch_tree.html":{"url":"case/tree/handstand_branch_tree.html","title":"handstand_branch_tree","keywords":"","body":"bi.handstand_branch_tree\n纵向分支的树\nsource\nBI.createWidget({\n type: \"bi.handstand_branch_tree\",\n element: 'body',\n el: {},\n items: [{\n el: {},\n children: [{\n el: {},\n children: {},\n // ...\n }]\n }]\n});\n\n\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nexpander\nbranch_expander组件配置项\nobject\n{}\n\n\nel\n基础元素\nobject\n{}\n\n\nitems\n子项\narray\n[]\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\npopulate\n去掉所有内容\n—\n\n\ngetValue\n获取所选项值\n—\n\n\n\n\n"},"case/tree/display_tree.html":{"url":"case/tree/display_tree.html","title":"display_tree","keywords":"","body":"bi.display_tree\n树展示控件\nsource\nvar tree = BI.createWidget({\n type: \"bi.display_tree\",\n element: 'body',\n});\n\ntree.initTree({\n id: 1,\n text: '',\n open: true,\n});\n\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\ninitTree\n加载tree结构\nnode: 节点数组 settings: 配置项\n\n\n\n\n"},"case/tree/simple_tree.html":{"url":"case/tree/simple_tree.html","title":"simple_tree","keywords":"","body":"bi.simple_tree\n简单的多选树\nsource\nvar tree = BI.createWidget({\n type: \"bi.simple_tree\",\n element: 'body',\n});\n\ntree.populate(items);\n\n\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nitemsCreator\nitems构造器\nfunction\nBI.emptyFn\n\n\nitems\n元素\narray\nnull\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\npopulate\n去掉所有内容\nitems: 子项数组 keywords: 关键字标红字符串\n\n\nsetValue\n设置值\nv\n\n\ngetValue\n获得值\n—\n\n\n\n\n"},"case/tree/level_tree.html":{"url":"case/tree/level_tree.html","title":"level_tree","keywords":"","body":"bi.level_tree\n二级树\nsource\nvar tree = BI.createWidget({\n type: \"bi.level_tree\",\n element: 'body',\n items: [],\n});\n\n\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nexpander\nbranch_expander配置\nobject\n{}\n\n\nitems\n元素\narray\n[]\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\ninitTree\n构造树结构\nnodes\n\n\nstroke\n生成树方法\nnodes\n\n\npopulate\n去掉所有内容\nitems: 子项数组\n\n\nsetValue\n设置值\nv\n\n\ngetValue\n获得值\n—\n\n\ngetAllLeaves\n获取所有叶节点\n—\n\n\ngetNodeById\n根据Id获取节点\nid\n\n\ngetNodeByValue\n根据值获取节点\nid\n\n\n\n\n"},"case/tree/branch_relation.html":{"url":"case/tree/branch_relation.html","title":"branch_relation","keywords":"","body":"bi.branch_relation\n表关联树\nsource\nvar tree = BI.createWidget({\n type: \"bi.branch_relation\",\n element: 'body',\n items: [],\n direction: BI.Direction.Right,\n align: BI.HorizontalAlign.Right,\n centerOffset: -50\n});\n\n\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\ncenterOffset\n重心偏移量\nnumber\n0\n\n\ndirection\n根节点所在方向\nstring\nBI.Direction.Bottom\n\n\nalign\n对齐方向\nstring\nBI.VerticalAlign.Top\n\n\nitems\n元素\narray\nnull\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\npopulate\n去掉所有内容\nitems: 子项数组\n\n\n\n\n"},"case/table/adaptive_table.html":{"url":"case/table/adaptive_table.html","title":"adaptive_table","keywords":"","body":"bi.adaptive_table\n自适应宽度的表格\nsource\nBI.createWidget({\n type: \"bi.adaptive_table\",\n element: 'body',\n width: 600,\n height: 500,\n isResizeAdapt: true,\n isNeedResize: true,\n isNeedFreeze: true,\n freezeCols: [0, 1],\n columnSize: [50,50,200,250,400],\n header: [],\n items: [],\n});\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nisNeedResize\n是否可改变列大小\nboolean\ntrue\n\n\nisNeedFreeze\n是否需要冻结表头\nboolean\nfalse\n\n\nfreezeCols\n冻结的列\narray\n[]\n\n\nisNeedMerge\n是否需要合并单元格\nboolean\nfalse\n\n\nmergeCols\n合并的单元格列号\narray\n[]\n\n\nmergeRule\n合并规则, 默认相等时合并\nfunction(row1, row2)\n默认row1 = row2 时合并\n\n\ncolumnSize\n单元格宽度集合\narray\n[]\n\n\nminColumnSize\n最小列宽\narray\n[]\n\n\nmaxColumnSize\n最大列宽\narray\n[]\n\n\nheaderRowSize\n表头高度\nnumber\n25\n\n\nrowSize\n普通单元格高度\nnumber\n25\n\n\nregionColumnSize\n列项间的\narray\n[]\n\n\nheader\n表头\narray\n[]\n\n\nitems\n子组件\narray\n[]\n\n\ncrossHeader\n交叉表头\narray\n[]\n\n\ncrossItems\n交叉项\narray\n[]\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nsetWidth\n设置宽度\nwidth: 宽度\n\n\nsetHeight\n设置高度\nheight: 高度\n\n\nsetColumnSize\n设置列宽\ncolumnSize: 列宽数组\n\n\ngetColumnSize\n得到列宽\n—\n\n\nsetRegionColumnSize\n设置列项之间的间隙\ncolumnSize: 列宽数组\n\n\ngetRegionColumnSize\n获得列项之间的间隙\n—\n\n\nsetVerticalScroll\n设置纵向滚动距离\nscrollTop: 纵向滚动距离\n\n\nsetLeftHorizontalScroll\n设置左到右横向滚动距离\nscrollLeft: 横向滚动距离\n\n\nsetRightHorizontalScroll\n设置右往左横向滚动距离\nscrollLeft: 横向滚动距离\n\n\ngetVerticalScroll\n获取纵向滚动距离\n—\n\n\ngetLeftHorizontalScroll\n获取左到右横向滚动距离\n—\n\n\ngetRightHorizontalScroll\n获取右往左横向滚动距离\n—\n\n\nattr\n设置属性\nkey: 键 value: 值\n\n\nrestore\n存储\n—\n\n\npopulate\n增加项\nitems: array\n\n\n\n\n"},"case/table/tree_table.html":{"url":"case/table/tree_table.html","title":"tree_table","keywords":"","body":"bi.tree_table\n树状结构的表格\nsource\nvar table = BI.createWidget({\n type: \"bi.tree_table\",\n width: 600,\n height: 400,\n columnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],\n minColumnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],\n header: header,\n items: items,\n crossHeader: crossHeader,\n crossItems: crossItems,\n element: 'body',\n});\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nisNeedResize\n是否需要调整列宽\nboolean\nfalse\n\n\nisResizeAdapt\n是否需要在调整列宽或区域宽度的时候它们自适应变化\nboolean\ntrue\n\n\nisNeedFreeze\n是否需要冻结表头\nboolean\nfalse\n\n\nfreezeCols\n冻结的列\narray\n[]\n\n\nisNeedMerge\n是否需要合并单元格\nboolean\nfalse\n\n\nmergeCols\n合并的单元格列号\narray\n[]\n\n\nmergeRule\n合并规则, 默认相等时合并\nfunction(row1, row2)\n默认row1 = row2 时合并\n\n\ncolumnSize\n单元格宽度集合\narray\n[]\n\n\nminColumnSize\n最小列宽\narray\n[]\n\n\nmaxColumnSize\n最大列宽\narray\n[]\n\n\nheaderRowSize\n表头高度\nnumber\n25\n\n\nheaderCellStyleGetter\n\nfunction\nBI.emptyFn\n\n\nsummaryCellStyleGetter\n\nfunction\nBI.emptyFn\n\n\nsequenceCellStyleGetter\n\nfunction\nBI.emptyFn\n\n\nrowSize\n普通单元格高度\nnumber\n25\n\n\nregionColumnSize\n列项间的\narray\n[]\n\n\nheader\n表头\narray\n[]\n\n\nitems\n子组件\narray\n[]\n\n\ncrossHeader\n交叉表头\narray\n[]\n\n\ncrossItems\n交叉项\narray\n[]\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nsetWidth\n设置宽度\nwidth: 宽度\n\n\nsetHeight\n设置高度\nheight: 高度\n\n\nsetColumnSize\n设置列宽\ncolumnSize: 列宽数组\n\n\ngetColumnSize\n得到列宽\n—\n\n\nsetRegionColumnSize\n设置列项之间的间隙\ncolumnSize: 列宽数组\n\n\ngetRegionColumnSize\n获得列项之间的间隙\n—\n\n\nsetVerticalScroll\n设置纵向滚动距离\nscrollTop: 纵向滚动距离\n\n\nsetLeftHorizontalScroll\n设置左到右横向滚动距离\nscrollLeft: 横向滚动距离\n\n\nsetRightHorizontalScroll\n设置右往左横向滚动距离\nscrollLeft: 横向滚动距离\n\n\ngetVerticalScroll\n获取纵向滚动距离\n—\n\n\ngetLeftHorizontalScroll\n获取左到右横向滚动距离\n—\n\n\ngetRightHorizontalScroll\n获取右往左横向滚动距离\n—\n\n\nattr\n设置属性\nkey: 键 value: 值\n\n\nrestore\n存储\n—\n\n\npopulate\n增加项\nitems: array\n\n\n\n\n"},"case/table/layer_tree_table.html":{"url":"case/table/layer_tree_table.html","title":"layer_tree_table","keywords":"","body":"bi.layer_tree_table\n层级树状结构的表格\nsource\nvar table = BI.createWidget({\n type: \"bi.layer_tree_table\",\n width: 600,\n height: 400,\n columnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],\n minColumnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100],\n header: header,\n items: items,\n crossHeader: crossHeader,\n crossItems: crossItems,\n element: 'body',\n});\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nisNeedResize\n是否需要调整列宽\nboolean\nfalse\n\n\nisResizeAdapt\n是否需要在调整列宽或区域宽度的时候它们自适应变化\nboolean\ntrue\n\n\nisNeedFreeze\n是否需要冻结表头\nboolean\nfalse\n\n\nfreezeCols\n冻结的列\narray\n[]\n\n\nisNeedMerge\n是否需要合并单元格\nboolean\nfalse\n\n\nmergeCols\n合并的单元格列号\narray\n[]\n\n\nmergeRule\n合并规则, 默认相等时合并\nfunction(row1, row2)\n默认row1 = row2 时合并\n\n\ncolumnSize\n单元格宽度集合\narray\n[]\n\n\nminColumnSize\n最小列宽\narray\n[]\n\n\nmaxColumnSize\n最大列宽\narray\n[]\n\n\nheaderRowSize\n表头高度\nnumber\n25\n\n\nheaderCellStyleGetter\n\nfunction\nBI.emptyFn\n\n\nsummaryCellStyleGetter\n\nfunction\nBI.emptyFn\n\n\nsequenceCellStyleGetter\n\nfunction\nBI.emptyFn\n\n\nrowSize\n普通单元格高度\nnumber\n25\n\n\nregionColumnSize\n列项间的\narray\n[]\n\n\nheader\n表头\narray\n[]\n\n\nitems\n子组件\narray\n[]\n\n\ncrossHeader\n交叉表头\narray\n[]\n\n\ncrossItems\n交叉项\narray\n[]\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nsetWidth\n设置宽度\nwidth: 宽度\n\n\nsetHeight\n设置高度\nheight: 高度\n\n\nsetColumnSize\n设置列宽\ncolumnSize: 列宽数组\n\n\ngetColumnSize\n得到列宽\n—\n\n\nsetRegionColumnSize\n设置列项之间的间隙\ncolumnSize: 列宽数组\n\n\ngetRegionColumnSize\n获得列项之间的间隙\n—\n\n\nsetVerticalScroll\n设置纵向滚动距离\nscrollTop: 纵向滚动距离\n\n\nsetLeftHorizontalScroll\n设置左到右横向滚动距离\nscrollLeft: 横向滚动距离\n\n\nsetRightHorizontalScroll\n设置右往左横向滚动距离\nscrollLeft: 横向滚动距离\n\n\ngetVerticalScroll\n获取纵向滚动距离\n—\n\n\ngetLeftHorizontalScroll\n获取左到右横向滚动距离\n—\n\n\ngetRightHorizontalScroll\n获取右往左横向滚动距离\n—\n\n\nattr\n设置属性\nkey: 键 value: 值\n\n\nrestore\n存储\n—\n\n\npopulate\n增加项\nitems: array\n\n\n\n\n"},"case/pager/all_count_pager.html":{"url":"case/pager/all_count_pager.html","title":"all_count_pager","keywords":"","body":"bi.all_count_pager\n有总页数和总行数的分页控件\nsource\n\nBI.createWidget({\n type: 'bi.all_count_pager',\n height: 30,\n pages: 10, //必选项\n curr: 1,\n count: 1,\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nheight\n控件高度\nnumber\n30\n\n\npages\n总页数\nnumber\n1\n\n\ncurr\n当前页\nnumber\n1\n\n\ncount\n总行数\nnumber\n1\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nsetAllPages\n设置总页数\nv\n\n\nsetValue\n设置当前页码\nv\n\n\nsetVPage\n设置当前页码\nv\n\n\nsetCount\n设置计数\ncount\n\n\ngetCurrentPage\n获取当前页码\n—\n\n\nhasPrev\n是否有前一页\n—\n\n\nhasNext\n是否有后一页\n—\n\n\nsetPagerVisible\n设置页码是否可见\ntrue/false\n\n\npopulate\n清空内容\n—\n\n\n\n\n"},"case/pager/direction_pager.html":{"url":"case/pager/direction_pager.html","title":"direction_pager","keywords":"","body":"bi.direction_pager\n显示页码的分页控件\nsource\n\nvar pager = BI.createWidget({\n type: 'bi.direction_pager',\n height: 30,\n horizontal: {\n pages: 10, //必选项\n curr: 1, //初始化当前页, pages为数字时可用,\n firstPage: 1,\n lastPage: 10,\n },\n vertical: {\n pages: 10, //必选项\n curr: 1, //初始化当前页, pages为数字时可用,\n firstPage: 1,\n lastPage: 10,\n },\n element: 'body',\n});\n\n\n\n参数\n\n\n\n参数\n二级参数\n说明\n类型\n默认值\n\n\n\n\nheight\n\n控件高度\nnumber\n30\n\n\nhorizontal\n\n横向翻页设置\nobject\n—\n\n\n\npages\n总页数\nnumber/boolean\nfalse\n\n\n\ncurr\n当前页, pages为数字时可用\nnumber\n1\n\n\n\nhasPrev\n判断是否有前一页的方法\nfunction\nBI.emptyFn\n\n\n\nhasNext\n判断是否有后一页的方法\nfunction\nBI.emptyFn\n\n\n\nfirstPage\n第一页\nnumber\n1\n\n\n\nlastPage\n最后一页\nnumber/function\nBI.emptyFn\n\n\nvertical\n\n纵向翻页设置,参数与horizontal相同\nobject\n—\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\ngetVPage\n获取纵向页码\n—\n\n\ngetHPage\n获取水平向页码\n—\n\n\nsetVPage\n获取纵向页码\nv\n\n\nsetHPage\n获取水平向页码\nv\n\n\nhasVNext\n纵向坐标是否有下一页\n—\n\n\nhasHNext\n横向坐标是否有下一页\n—\n\n\nhasVPrev\n纵向坐标是否有上一页\n—\n\n\nhasHPrev\n横向坐标是否有上一页\n—\n\n\nsetHPagerVisible\n设置横向分页键可见\n—\n\n\nsetVPagerVisible\n设置纵向分页键可见\n—\n\n\npopulate\n清空内容\n—\n\n\n\n\n"},"case/calendar.html":{"url":"case/calendar.html","title":"calendar","keywords":"","body":"bi.calendar\n日历控件\nsource\n\nBI.createWidget({\n type: 'bi.calendar',\n min: '1900-01-01', //最小日期\n max: '2099-12-31', //最大日期\n year: 2015,\n month: 7, //7表示八月\n day: 25,\n});\n\n\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nmin\n最小日期\nstring\n'1900-01-01'\n\n\nmax\n最大日期\nstring\n'2099-12-31'\n\n\nyear\n设定的年份\nnumber\n2015\n\n\nmonth\n设定的月份\nnumber\n7\n\n\nday\n设定的日期\nnumber\n25\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nisFrontDate\n是否为最小日期\n—\n\n\nisFinalDate\n是否为最大日期\n—\n\n\nsetValue\n设置日期\nobject: {year, month, day}\n\n\ngetValue\n获得日期\n—\n\n\n\n\n"},"case/clipboard.html":{"url":"case/clipboard.html","title":"clipboard","keywords":"","body":"bi.clipboard\n剪切板\nsource\n\nBI.createWidget({\n type: 'bi.clipboard',\n width: 100,\n height: 100,\n copy: function () {},\n\n afterCopy: function () {}\n});\n\n\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\ncopy\n获取需要拷贝的值\nfunction\nBI.emptyFn\n\n\nafterCopy\n完成拷贝后执行的方法\nfunction\nBI.emptyFn\n\n\n\n\n"},"case/complex_canvas.html":{"url":"case/complex_canvas.html","title":"complex_canvas","keywords":"","body":"complex_canvas\n复杂的canvas绘图\nsource\n\nvar canvas = BI.createWidget({\n type: \"bi.complex_canvas\",\n width: 500,\n height: 600\n });\ncanvas.branch(55, 100, 10, 10, 100, 10, 200, 10, {\n offset: 20,\n strokeStyle: \"red\",\n lineWidth: 2\n });\n\ncanvas.stroke();\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\nbranch\n绘制树枝节点\n(x0, y0, x1, y1, x2, y2) (以x0, y0为根节点,分支到x1,y1, x2,y2...)\n\n\nstroke\n绘制\n\n\n\n\n"},"case/color_chooser.html":{"url":"case/color_chooser.html","title":"color_chooser","keywords":"","body":"bi.color_chooser\n选色控件\nsource\n\nBI.createWidget({\n type: \"bi.color_chooser\",\n element: \"#wrapper\",\n width: 30,\n height: 30\n});\n\n\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nisViewVisible\n判断是否显示\n—\n\n\nsetValue\n设置颜色值\ncolor\n\n\ngetValue\n获取颜色值\n—\n\n\n\n\n"},"case/color_chooser_popup.html":{"url":"case/color_chooser_popup.html","title":"color_chooser_popup","keywords":"","body":"bi.color_chooser_popup\n选色控件弹窗\nsource\n\nBI.createWidget({\n type: \"bi.color_chooser_popup\",\n});\n\n\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nheight\n高度\nnumber\n145\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nsetStoreColors\n设置储存的颜色值\ncolors\n\n\nsetValue\n设置颜色值\ncolor\n\n\ngetValue\n获取颜色值\n—\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nEVENT_VALUE_CHANGE\n颜色值改变时触发\n\n\n\n\n"},"case/segment.html":{"url":"case/segment.html","title":"segment","keywords":"","body":"bi.sgement\n各种segment\nsource\n\nBI.createWidget({\n type: \"bi.vertical\",\n element: \"#wrapper\",\n items: [{\n type: \"bi.label\",\n height: 30,\n text: \"默认风格\"\n }, {\n type: \"bi.segment\",\n items: [{\n text: \"tab1\",\n value: 1,\n selected: true\n }, {\n text: \"tab2\",\n value: 2\n }, {\n text: \"tab3 disabled\",\n disabled: true,\n value: 3\n }]\n }],\n hgap: 50,\n vgap: 20\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值\nnumber\n—\n10\n\n\nvgap\n效果相当于文本框上下padding值\nnumber\n—\n0\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于文本框top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于文本框bottom-padding值\nnumber\n—\n0\n\n\nitems\n子控件数组\narray\n—\n[ ]\n\n\nwidth\n宽度\nnumber\n—\n—\n\n\nheight\n高度\nnumber\n—\n—\n\n\n\n\n"},"detailed/bi.button/general.html":{"url":"detailed/bi.button/general.html","title":"通用按钮","keywords":"","body":"bi.button\n通用按钮,详情见BI.button\n"},"detailed/bi.button/tooltip.html":{"url":"detailed/bi.button/tooltip.html","title":"提示性信息","keywords":"","body":"提示性信息\nsource\nvar toast = BI.createWidget({\n type: \"bi.vertical\",\n element: \"#wrapper\",\n items: [{\n el: {\n type: 'bi.button',\n text: '简单Toast测试',\n height: 30,\n handler: function () {\n BI.Msg.toast(\"这是一条简单的数据\");\n }\n }\n }],\n vgap: 20\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值\nnumber\n—\n10\n\n\nvgap\n效果相当于文本框上下padding值\nnumber\n—\n0\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于文本框top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于文本框bottom-padding值\nnumber\n—\n0\n\n\nitems\n子控件数组\narray\n—\n[ ]\n\n\nwidth\n宽度\nnumber\n—\n—\n\n\nheight\n高度\nnumber\n—\n—\n\n\n\n\n"},"detailed/bi.button/items.html":{"url":"detailed/bi.button/items.html","title":"各种items","keywords":"","body":"各种items\nsource\n\nBI.createWidget({\n type: 'bi.vertical',\n element: \"#wrapper\",\n items: [{\n type: \"bi.label\",\n height: 30,\n text: \"单选item\"\n }, {\n type: \"bi.single_select_item\",\n text: \"单选项\"\n }, {\n type: \"bi.label\",\n height: 30,\n text: \"复选item\"\n }, {\n type: \"bi.multi_select_item\",\n text: \"复选项\"\n }]\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值,如果clear属性为true,该属性值置0\nnumber\n—\n10\n\n\nvgap\n效果相当于文本框上下padding值\nnumber\n—\n0\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于文本框top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于文本框bottom-padding值\nnumber\n—\n0\n\n\nitems\n子控件数组\narray\n—\n[ ]\n\n\nwidth\n宽度\nnumber\n—\n—\n\n\nheight\n高度\nnumber\n—\n—\n\n\n\n\n"},"detailed/bi.button/node.html":{"url":"detailed/bi.button/node.html","title":"各种节点nodes","keywords":"","body":"各种节点nodes\nsource\n\nBI.createWidget({\n type: 'bi.vertical',\n element: \"#wrapper\",\n items: [{\n type: \"bi.label\",\n height: 30,\n text: \"十字形的节点\"\n }, {\n type: \"bi.plus_group_node\",\n text: \"十字形的节点\"\n }, {\n type: \"bi.label\",\n height: 30,\n text: \"三角形的节点\"\n }, {\n type: \"bi.triangle_group_node\",\n text: \"三角形的节点\"\n }, {\n type: \"bi.label\",\n height: 30,\n text: \"箭头节点\"\n }, {\n type: \"bi.arrow_group_node\",\n text: \"箭头节点\"\n }]\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值,如果clear属性为true,该属性值置0\nnumber\n—\n10\n\n\nvgap\n效果相当于文本框上下padding值\nnumber\n—\n0\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于文本框top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于文本框bottom-padding值\nnumber\n—\n0\n\n\nitems\n子控件数组\narray\n—\n[ ]\n\n\nwidth\n宽度\nnumber\n—\n—\n\n\nheight\n高度\nnumber\n—\n—\n\n\n\n\n"},"detailed/bi.button/segment.html":{"url":"detailed/bi.button/segment.html","title":"各种segment","keywords":"","body":"bi.sgement\n各种segment\nsource\n\nBI.createWidget({\n type: \"bi.vertical\",\n element: \"#wrapper\",\n items: [{\n type: \"bi.label\",\n height: 30,\n text: \"默认风格\"\n }, {\n type: \"bi.segment\",\n items: [{\n text: \"tab1\",\n value: 1,\n selected: true\n }, {\n text: \"tab2\",\n value: 2\n }, {\n text: \"tab3 disabled\",\n disabled: true,\n value: 3\n }]\n }],\n hgap: 50,\n vgap: 20\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值\nnumber\n—\n10\n\n\nvgap\n效果相当于文本框上下padding值\nnumber\n—\n0\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于文本框top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于文本框bottom-padding值\nnumber\n—\n0\n\n\nitems\n子控件数组\narray\n—\n[ ]\n\n\nwidth\n宽度\nnumber\n—\n—\n\n\nheight\n高度\nnumber\n—\n—\n\n\n\n\n"},"detailed/text_input/bi.text_editor.html":{"url":"detailed/text_input/bi.text_editor.html","title":"text_editor","keywords":"","body":"bi.text_editor\n通过鼠标或键盘输入字符\n基础用法\nsource\nBI.createWidget({\n type: \"bi.text_editor\",\n element: \"#wrapper\",\n width: 200,\n height: 30,\n watermark:\"请输入内容\"\n});\n\n\n\nAPI\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值\nnumber\n—\n4\n\n\nvgap\n效果相当于文本框上下padding值\nnumber\n—\n2\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于文本框top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于文本框bottom-padding值\nnumber\n—\n0\n\n\nvalidationChecker\n输入较验函数\nfunction\n—\n—\n\n\nquitChecker\n是否允许退出编辑函数\nfunction\n—\n—\n\n\nallowBlank\n是否允许空值\nboolean\ntrue,false\nfalse\n\n\nwatermark\n文本框placeholder\nstring\n—\nnull\n\n\nvalue\n文本框默认值\nstring\n—\n\" \"\n\n\nerrorText\n错误提示\nstring\n—\nnull\n\n\nwidth\n文本框宽度\nnumber\n—\n—\n\n\nheight\n文本框高度\nnumber\n—\n30\n\n\n\n事件详见Editor\n\n"},"detailed/text_input/bi.search_editor.html":{"url":"detailed/text_input/bi.search_editor.html","title":"search_editor","keywords":"","body":"bi.search_editor\n搜索框\nsource\nBI.createWidget({\n type: 'bi.search_editor',\n element: '#wrapper',\n width: 300,\n watermark:\"搜索\",\n});\n\n\n\nAPI\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nhgap\n效果相当于文本框左右padding值\nnumber\n—\n4\n\n\nvgap\n效果相当于文本框上下padding值\nnumber\n—\n2\n\n\nlgap\n效果相当于文本框left-padding值\nnumber\n—\n0\n\n\nrgap\n效果相当于文本框right-padding值\nnumber\n—\n0\n\n\ntgap\n效果相当于文本框top-padding值\nnumber\n—\n0\n\n\nbgap\n效果相当于文本框bottom-padding值\nnumber\n—\n0\n\n\nvalidationChecker\n输入较验函数\nfunction\n—\n—\n\n\nquitChecker\n是否允许退出编辑函数\nfunction\n—\n—\n\n\nallowBlank\n是否允许空值\nboolean\ntrue,false\nfalse\n\n\nwatermark\n文本框placeholder\nstring\n—\nnull\n\n\nvalue\n文本框默认值\nstring\n—\n\" \"\n\n\nerrorText\n错误提示\nstring\n—\nnull\n\n\nwidth\n文本框宽度\nnumber\n—\n—\n\n\nheight\n文本框高度\nnumber\n—\n30\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.SearchEditor.EVENT_CLEAR\n点击清空按钮触发\n\n\n\n其他事件详见Editor\n\n"},"detailed/text_input/number_editor.html":{"url":"detailed/text_input/number_editor.html","title":"number_editor","keywords":"","body":"number_editor\n数值微调器\nsource\nBI.createWidget({\n type: 'bi.number_editor',\n element: '#wrapper',\n width: 300\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nvalue\n编辑框中的值,-1表示自动\nnumber\n\n-1\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.NumberEditor.EVENT_CONFIRM\n点击增加/减少按钮或者编辑框确定时触发\n\n\n\n\n"},"detailed/tree/single_level_tree.html":{"url":"detailed/tree/single_level_tree.html","title":"single_level_tree","keywords":"","body":"single_level_tree\n单选层级树,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.single_level_tree\",\n items: []\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\npopulate\n刷新列表\nitems\n\n\n\n\n"},"detailed/tree/select_level_tree.html":{"url":"detailed/tree/select_level_tree.html","title":"select_level_tree","keywords":"","body":"select_level_tree\n可以选中父节点的SingleLevelTree,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.select_level_tree\",\n items: []\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\npopulate\n刷新列表\nitems\n\n\n\n\n"},"detailed/tree/multi_single_level_tree.html":{"url":"detailed/tree/multi_single_level_tree.html","title":"multi_single_level_tree","keywords":"","body":"multi_single_level_tree\n多层层级树,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.multilayer_single_level_tree\",\n items: []\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\npopulate\n刷新列表\nitems\n\n\n\n\n"},"detailed/tree/multi_select_level_tree.html":{"url":"detailed/tree/multi_select_level_tree.html","title":"multi_select_level_tree","keywords":"","body":"multi_select_level_tree\n可以选中父节点的多层层级树,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.multilayer_select_level_tree\",\n items: []\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\npopulate\n刷新列表\nitems\n\n\n\n\n"},"detailed/tree/bi.switch_tree.html":{"url":"detailed/tree/bi.switch_tree.html","title":"switch_tree","keywords":"","body":"bi.switch_tree\n可以单选多选切换的树,继承BI.Widget\nsource\nvar items = [{\n id: -1,\n pId: -2,\n value: \"根目录\",\n text: \"根目录\"\n}, {\n id: 1,\n pId: -1,\n value: \"第一级目录1\",\n text: \"第一级目录1\"\n}, {\n id: 11,\n pId: 1,\n value: \"第二级文件1\",\n text: \"第二级文件1\"\n}];\n\nvar tree = BI.createWidget({\n type: \"bi.switch_tree\",\n items: items,\n});\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nitems\n子项,pId代表父节点ID\narray\n[]\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nswitchSelect\n切换树结构\n—\n\n\nsetSelect\n设置选中项\nv\n\n\ngetSelect\n获取选中项\n—\n\n\nsetValue\n设置当前选中项内容\nv\n\n\ngetValue\n获取当前选中项内容\nv\n\n\npopulate\n更改树结构内容\nitems\n\n\n\n\n"},"detailed/table/bi.preview_table.html":{"url":"detailed/table/bi.preview_table.html","title":"preview_table","keywords":"","body":"bi.preview_table\n用于表格预览,继承BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.preview_table\",\n header: [[{\n text: \"表头1\"\n }, {\n text: \"表头2\"\n }, {\n text: \"表头3\"\n }]],\n element: 'body',\n columnSize: [100, \"\", 50],\n items: [[{\n text: \"第一行第一列\"\n }, {\n text: \"第一行第二列\"\n }, {\n text: \"第一行第三列\"\n }]]\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nisNeedFreeze\n是否冻结\nboolean\nfalse\n\n\nfreezeCols\n冻结的列\narray\n[]\n\n\nrowSize\n行高\narray/number\nnull\n\n\ncolumnSize\n列宽\narray\n[]\n\n\nheaderRowSize\n表头行高\nnumber\n30\n\n\nheader\n表头内容\narray\n[]\n\n\nitems\n子组件\narray\n[]\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nresize\n调整表格\n—\n\n\nsetColumnSize\n设置列宽\ncolumnSize\n\n\ngetColumnSize\n得到列宽\n—\n\n\ngetCalculateColumnSize\n获得计算后的列宽\n—\n\n\nsetHeaderColumnSize\n设置表头的列宽\ncolumnSize\n\n\nsetRegionColumnSize\n设置列项之间的间隙\ncolumnSize\n\n\ngetRegionColumnSize\n获得列项之间的间隙\n—\n\n\ngetCalculateRegionColumnSize\n获取计算后的列项之间的间隙\n—\n\n\ngetCalculateRegionRowSize\n获取计算后的列项上下之间的间隙\n—\n\n\ngetClientRegionColumnSize\n获取浏览器中显示的列项之间的间隙\n—\n\n\ngetScrollRegionColumnSize\n获取横向滚动条宽度\n—\n\n\ngetScrollRegionRowSize\n获取纵向滚动条宽度\n—\n\n\nhasVerticalScroll\n是否含有数值滚动条\n—\n\n\nsetVerticalScroll\n设置纵向滚动距离\nscrollTop\n\n\nsetLeftHorizontalScroll\n设置左到右横向滚动距离\nscrollLeft\n\n\nsetRightHorizontalScroll\n设置右往左横向滚动距离\nscrollLeft\n\n\ngetVerticalScroll\n获取纵向滚动距离\n—\n\n\ngetLeftHorizontalScroll\n获取左到右横向滚动距离\n—\n\n\ngetRightHorizontalScroll\n获取右往左横向滚动距离\n—\n\n\ngetColumns\n获取列项\n—\n\n\nresizeHeader\n调整表头\n—\n\n\nattr\n设置属性\nkey:键,value:值\n\n\npopulate\n替换为新的内容\nrows\n\n\n\n\n"},"detailed/table/bi.responsive_table.html":{"url":"detailed/table/bi.responsive_table.html","title":"responsive_table","keywords":"","body":"bi.responsive_table\n自适应宽度的表格,继承BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.responsive_table\",\n isNeedMerge: true,\n isNeedFreeze: true,\n mergeCols: [0, 1],\n columnSize: [\"\", \"\", \"\"],\n items: [[{\n text: \"第一行第一列\"\n }, {\n text: \"第一行第二列\"\n }, {\n text: \"第一行第三列\"\n }]],\n header: [[{\n text: \"表头1\"\n }, {\n text: \"表头2\"\n }, {\n text: \"表头3\"\n }]],\n element: 'body'\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nisNeedFreeze\n是否需要冻结单元格\nboolean\nfalse\n\n\nfreezeCols\n冻结的列号,从0开始,isNeedFreeze为true时生效\narray\n[]\n\n\nisNeedMerge\n是否需要合并单元格\nboolean\nfalse\n\n\nmergeRule\nfunction (row1, row2) 合并规则, 默认相等时合并\nfunction\nfunction\n\n\ncolumnSize\n列宽\narray\n[]\n\n\nheaderRowSize\n表头行高\nnumber\n25\n\n\nfooterRowSize\n表尾行高\nnumber\n25\n\n\nrowSize\n行高\nnumber\n25\n\n\ncolumnSize\n列宽\narray\n[]\n\n\nregionColumnSize\n\nboolean\nfalse\n\n\nheader\n表头内容\narray\n[]\n\n\nfooter\n是否需要表尾\nboolean\nfalse\n\n\nitems\n子组件二维数组\narray\n[]\n\n\ncrossHeader\n交叉表头\narray\n[]\n\n\ncrossItems\n交叉表内容二维数组\narray\n[]\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nresize\n调整表格\n—\n\n\nsetColumnSize\n设置列宽\ncolumnSize\n\n\ngetColumnSize\n得到列宽\n—\n\n\ngetCalculateColumnSize\n获得计算后的列宽\n—\n\n\nsetHeaderColumnSize\n设置表头的列宽\ncolumnSize\n\n\nsetRegionColumnSize\n设置列项之间的间隙\ncolumnSize\n\n\ngetRegionColumnSize\n获得列项之间的间隙\n—\n\n\ngetCalculateRegionColumnSize\n获取计算后的列项之间的间隙\n—\n\n\ngetCalculateRegionRowSize\n获取计算后的列项上下之间的间隙\n—\n\n\ngetClientRegionColumnSize\n获取浏览器中显示的列项之间的间隙\n—\n\n\ngetScrollRegionColumnSize\n获取横向滚动条宽度\n—\n\n\ngetScrollRegionRowSize\n获取纵向滚动条宽度\n—\n\n\nhasVerticalScroll\n是否含有数值滚动条\n—\n\n\nsetVerticalScroll\n设置纵向滚动距离\nscrollTop\n\n\nsetLeftHorizontalScroll\n设置左到右横向滚动距离\nscrollLeft\n\n\nsetRightHorizontalScroll\n设置右往左横向滚动距离\nscrollLeft\n\n\ngetVerticalScroll\n获取纵向滚动距离\n—\n\n\ngetLeftHorizontalScroll\n获取左到右横向滚动距离\n—\n\n\ngetRightHorizontalScroll\n获取右往左横向滚动距离\n—\n\n\ngetColumns\n获取列项\n—\n\n\nresizeHeader\n调整表头\n—\n\n\nattr\n设置属性\nkey:键,value:值\n\n\npopulate\n替换为新内容\nrows\n\n\n\n\n"},"detailed/table/bi.sequence_table.html":{"url":"detailed/table/bi.sequence_table.html","title":"sequence_table","keywords":"","body":"sequence_table\n优化过性能的列表,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.sequence_table\",\n header: [],\n items: [],\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\ncrossHeader\n列表头\narray\n—\n100\n\n\ncrossItems\n列items\narray\n-\n0\n\n\nfreezeCols\n冻结Column\narray\n-\n0\n\n\nmergeCols\n合并Column\narray\n-\n0\n\n\nheader\n行表头\narray\n-\n0\n\n\nitems\n行items\narray\n-\n0\n\n\ncolumnSize\n列宽\narray\n-\n0\n\n\nminColumnSize\n最小列宽\narray\n-\n0\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\npopulate\n刷新列表\nitems\n\n\n\n\n"},"detailed/table/bi.page_table.html":{"url":"detailed/table/bi.page_table.html","title":"page_table","keywords":"","body":"bi.page_table\n分页表格\nsource\nBI.createWidget({\n type: \"bi.page_table\",\n element: \"body\",\n columnSize: [200,200],\n items: [],\n pager: {\n horizontal : {},\n vertical: {}\n } \n});\n\n\n\n参数设置\n\n\n\n参数\n二级参数\n三级参数\n说明\n类型\n默认值\n\n\n\n\npager\n\n\n分页选项\nobject\n—\n\n\n\nhorizontal\n\n水平分页选项\nobject\n—\n\n\n\n\npages\n显示总页数\nboolean\nfalse\n\n\n\n\ncurr\n当前页\nnumber\n1\n\n\n\n\nhasPrev\n判断是否有前一页的函数\nfunction\nBI.emptyFn\n\n\n\n\nhasNext\n是否有下一页\nfunction\nBI.emptyFn\n\n\n\n\nfirstPage\n第一页\nnumber\n1\n\n\n\n\nlastPage\n最后一页\nnumber/function\nBI.emptyFn\n\n\n\nvertical\n\n纵向分页,参数与horizontal\nobject\n—\n\n\nitemsCreator\n\n\n元素创造器\nfunction\nBI.emptyFn\n\n\nisNeedFreeze\n\n\n是否需要冻结表头\nboolean\nfalse\n\n\nfreezeCols\n\n\n冻结的列\narray\n[]\n\n\nisNeedMerge\n\n\n是否需要合并单元格\nboolean\nfalse\n\n\nmergeCols\n\n\n合并的单元格列号\narray\n[]\n\n\nmergeRule\n\n\n合并规则, 默认相等时合并\nfunction(row1, row2)\n默认row1 = row2 时合并\n\n\ncolumnSize\n\n\n单元格宽度集合\narray\n[]\n\n\nminColumnSize\n\n\n最小列宽\narray\n[]\n\n\nmaxColumnSize\n\n\n最大列宽\narray\n[]\n\n\nheaderRowSize\n\n\n表头高度\nnumber\n25\n\n\nrowSize\n\n\n普通单元格高度\nnumber\n25\n\n\nregionColumnSize\n\n\n列项间的\narray\n[]\n\n\nheaderCellStyleGetter\n\n\n\nfunction\nBI.emptyFn\n\n\nsummaryCellStyleGetter\n\n\n\nfunction\nBI.emptyFn\n\n\nsequenceCellStyleGetter\n\n\n\nfunction\nBI.emptyFn\n\n\nheader\n\n\n表头\narray\n[]\n\n\nitems\n\n\n子组件\narray\n[]\n\n\ncrossHeader\n\n\n交叉表头\narray\n[]\n\n\ncrossItems\n\n\n交叉项\narray\n[]\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nsetHPage\n设置水平页数\nv: 页码\n\n\nsetVpage\n设置纵向页数\nv: 页码\n\n\ngetHPage\n获得水平页数\n—\n\n\ngetVPage\n获得垂直页数\n—\n\n\nsetWidth\n设置宽度\nwidth: 宽度\n\n\nsetHeight\n设置高度\nheight: 高度\n\n\nsetColumnSize\n设置列宽\ncolumnSize: 列宽数组\n\n\ngetColumnSize\n得到列宽\n—\n\n\nsetRegionColumnSize\n设置列项之间的间隙\ncolumnSize: 列宽数组\n\n\ngetRegionColumnSize\n获得列项之间的间隙\n—\n\n\nsetVerticalScroll\n设置纵向滚动距离\nscrollTop: 纵向滚动距离\n\n\nsetLeftHorizontalScroll\n设置左到右横向滚动距离\nscrollLeft: 横向滚动距离\n\n\nsetRightHorizontalScroll\n设置右往左横向滚动距离\nscrollLeft: 横向滚动距离\n\n\ngetVerticalScroll\n获取纵向滚动距离\n—\n\n\ngetLeftHorizontalScroll\n获取左到右横向滚动距离\n—\n\n\ngetRightHorizontalScroll\n获取右往左横向滚动距离\n—\n\n\nattr\n设置属性\nkey: 键 value: 值\n\n\npopulate\n增加\n—\n\n\n\n\n"},"detailed/down_list_combo.html":{"url":"detailed/down_list_combo.html","title":"down_list_combo","keywords":"","body":"down_list_combo\n多层下拉列表的下拉框\nsource\nBI.createWidget({\n type: 'bi.down_list_combo',\n element: '#wrapper',\n width: 300,\n items: [\n [{\n el: {\n text: \"column 1111\",\n iconCls1: \"check-mark-e-font\",\n value: 11\n },\n children: [{\n text: \"column 1.1\",\n value: 21,\n cls: \"dot-e-font\",\n selected: true\n }, {\n text: \"column 1.222222222222222222222222222222222222\",\n cls: \"dot-e-font\",\n value: 22,\n }]\n }],\n [{\n el: {\n type: \"bi.icon_text_icon_item\",\n text: \"column 2\",\n iconCls1: \"chart-type-e-font\",\n cls: \"dot-e-font\",\n value: 12\n },\n disabled: true,\n children: [{\n type: \"bi.icon_text_item\",\n cls: \"dot-e-font\",\n height: 25,\n text: \"column 2.1\",\n value: 11\n }, {\n text: \"column 2.2\",\n value: 12,\n cls: \"dot-e-font\"\n }]\n }]\n ]\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nel\n自定义下拉框trigger\nobject\n\n\n\n\ntrigger\n下拉列表的弹出方式\nstring\nclick, hover\nclick\n\n\ndirection\n弹出列表和trigger的位置关系\nstring\ntop | bottom | left | right | top,left | top,right | bottom,left | bottom,right\nbottom\n\n\nadjustLength\n弹出列表和trigger的距离\nnumber\n\n0\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.DownListCombo.EVENT_CHANGE\n点击一级节点触发\n\n\nBI.DownListCombo.EVENT_SON_VALUE_CHANGE\n点击二级节点触发\n\n\nBI.DownListCombo.EVENT_BEFORE_POPUPVIEW\n下拉列表弹出前触发\n\n\n\n具体配置方法见Combo\n\n"},"detailed/multi_select_combo.html":{"url":"detailed/multi_select_combo.html","title":"multi_select_combo","keywords":"","body":"multi_select_combo\n带确定的复选下拉框\nsource\nBI.createWidget({\n type: \"bi.multi_select_combo\",\n element: '#wrapper',\n width: 500,\n itemsCreator: function(){\n return {\n items: [],\n hasNext: false\n }\n }\n});\n\n\n\n\n\n\n\n事件\n说明\n\n\n\n\nBI.MultiSelectCombo.EVENT_CONFIRM\n点击确定触发\n\n\n\n\n"},"detailed/combo/single_tree_combo.html":{"url":"detailed/combo/single_tree_combo.html","title":"single_tree_combo","keywords":"","body":"bi.single_tree_combo\n二级树下拉框\nsource\nvar tree = BI.createWidget({\n type: \"bi.single_tree_combo\",\n element: 'body',\n items: [],\n text: \"默认值\",\n width: 300,\n});\n\n\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\ntrigger\n下拉列表的弹出方式\nobject\n{}\n\n\nheight\n高度\nnumber\n30\n\n\ntext\n文本框值\nstring\n''\n\n\nitems\n元素\narray\nnull\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\npopulate\n刷新内容\nitems: 子项数组\n\n\nsetValue\n设置值\nsetValue\n\n\ngetValue\n获取值\ngetValue\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.SingleTreeCombo.EVENT_BEFORE_POPUPVIEW\n下拉框弹出前触发\n\n\n\n其他事件详见Input\n\n"},"detailed/combo/multilayer_single_tree_combo.html":{"url":"detailed/combo/multilayer_single_tree_combo.html","title":"multilayer_single_tree_combo","keywords":"","body":"bi.multilayer_single_tree_combo\n多层级下拉单选树\nsource\nvar tree = BI.createWidget({\n type: \"bi.multilayer_single_tree_combo\",\n element: 'body',\n items: [],\n text: \"默认值\",\n width: 300,\n});\n\n\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nheight\n高度\nnumber\n30\n\n\ntext\n文本框值\nstring\n''\n\n\nitemsCreator\n元素创造器\nfunction\nBI.emptyFn\n\n\nitems\n元素\narray\nnull\n\n\n\n方法\n\n\n\n方法名\n说明\n回调参数\n\n\n\n\npopulate\n刷新内容\nitems: 子项数组\n\n\nsetValue\n设置值\nsetValue\n\n\ngetValue\n获取值\ngetValue\n\n\n\n\n"},"detailed/combo/select_tree_combo.html":{"url":"detailed/combo/select_tree_combo.html","title":"select_tree_combo","keywords":"","body":"bi.select_tree_combo\n二级可选节点下拉框树\nsource\nvar tree = BI.createWidget({\n type: \"bi.select_tree_combo\",\n element: 'body',\n items: [],\n text: \"默认值\",\n width: 300,\n});\n\n\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nheight\n高度\nnumber\n30\n\n\ntext\n文本框值\nstring\n''\n\n\nitems\n元素\narray\nnull\n\n\n\n方法\n\n\n\n方法名\n说明\n回调参数\n\n\n\n\npopulate\n刷新内容\nitems: 子项数组\n\n\nsetValue\n设置值\nsetValue\n\n\ngetValue\n获取值\ngetValue\n\n\n\n\n"},"detailed/combo/multilayer_select_tree_combo.html":{"url":"detailed/combo/multilayer_select_tree_combo.html","title":"multilayer_select_tree_combo","keywords":"","body":"bi.multilayer_select_tree_combo\n多层级下拉可选节点树\nsource\nvar tree = BI.createWidget({\n type: \"bi.multilayer_select_tree_combo\",\n element: 'body',\n items: [],\n text: \"默认值\",\n width: 300,\n});\n\n\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nheight\n高度\nnumber\n30\n\n\ntext\n文本框值\nstring\n''\n\n\nitems\n元素\narray\nnull\n\n\n\n方法\n\n\n\n方法名\n说明\n回调参数\n\n\n\n\npopulate\n刷新内容\nitems: 子项数组\n\n\nsetValue\n设置值\nsetValue\n\n\ngetValue\n获取值\ngetValue\n\n\n\n\n"},"detailed/tree/bi.multi_tree_combo.html":{"url":"detailed/tree/bi.multi_tree_combo.html","title":"multi_tree_combo","keywords":"","body":"bi.multi_tree_combo\n树下拉框,继承BI.Widget\nsource\nvar items = [{\n id: -1,\n pId: -2,\n value: \"根目录\",\n text: \"根目录\"\n}, {\n id: 1,\n pId: -1,\n value: \"第一级目录1\",\n text: \"第一级目录1\"\n}, {\n id: 11,\n pId: 1,\n value: \"第二级文件1\",\n text: \"第二级文件1\"\n}];\n\nBI.createWidget({\n type: \"bi.multi_tree_combo\",\n itemsCreator: function (options, callback) {\n callback({\n items: items\n });\n },\n width: 300\n})\n\n\n\n参数设置\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\nwidth\n宽度\nnumber\n200\n\n\nheight\n高度\nnumber\n30\n\n\nitems\n子项,pId代表父节点ID\narray\nnull\n\n\nitemsCreator\n子项创建函数\nfunction\nfunction() {}\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nsetValue\n设置文本框值\nv\n\n\ngetValue\n获取文本框值\n—\n\n\npopulate\n更改树结构内容\nitems\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.MultiTreeCombo.EVENT_CONFIRM\n点击一级节点触发\n\n\n\n\n"},"detailed/year_combo.html":{"url":"detailed/year_combo.html","title":"year_combo","keywords":"","body":"year_combo\n年份选择下拉框\nsource\nBI.createWidget({\n type: 'bi.year_combo',\n element: '#wrapper',\n width: 300\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nbehaviors\n自定义下拉列表中item项的行为,如高亮,标红等(详见button_group)\nobject\n\n{}\n\n\nmin\n限定可选日期的下限\nstring\n\n'1900-01-01'\n\n\nmax\n限定可选日期的上限\nstring\n\n'2099-12-31'\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.YearCombo.EVENT_CONFIRM\n选中日期或者退出编辑状态触发\n\n\nBI.YearCombo.EVENT_BEFORE_POPUPVIEW\n选中日期或者退出编辑状态触发\n\n\n\n\n"},"detailed/month_combo.html":{"url":"detailed/month_combo.html","title":"month_combo","keywords":"","body":"month_combo\n月份选择下拉框\nsource\nBI.createWidget({\n type: 'bi.month_combo',\n element: '#wrapper',\n width: 300\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nbehaviors\n自定义下拉列表中item项的行为,如高亮,标红等(详见button_group)\nobject\n\n{}\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.MonthCombo.EVENT_CONFIRM\n选中日期或者退出编辑状态触发\n\n\nBI.MonthCombo.EVENT_BEFORE_POPUPVIEW\n选中日期或者退出编辑状态触发\n\n\n\n\n"},"detailed/quarter_combo.html":{"url":"detailed/quarter_combo.html","title":"quarter_combo","keywords":"","body":"quarter_combo\n季度选择下拉框\nsource\nBI.createWidget({\n type: 'bi.quarter_combo',\n element: '#wrapper',\n width: 300\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nbehaviors\n自定义下拉列表中item项的行为,如高亮,标红等(详见button_group)\nobject\n\n{}\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.QuarterCombo.EVENT_CONFIRM\n选中日期或者退出编辑状态触发\n\n\nBI.QuarterCombo.EVENT_BEFORE_POPUPVIEW\n选中日期或者退出编辑状态触发\n\n\n\n\n"},"detailed/date/year_month_combo.html":{"url":"detailed/date/year_month_combo.html","title":"year_month_combo","keywords":"","body":"year_month_combo\n年月选择下拉框\nsource\nBI.createWidget({\n type: \"bi.year_month_combo\",\n width: 300\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nyearBehaviors\n自定义年份选择的行为(详见button_group)\nobject\n—\n{ }\n\n\nmonthBehaviors\n自定义年份选择的行为(详见button_group)\nobject\n—\n{ }\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.YearMonthCombo.EVENT_BEFORE_POPUPVIEW\n弹出框弹出前触发\n\n\nBI.YearMonthCombo.EVENT_CONFIRM\n点击确认触发\n\n\n\n\n"},"detailed/date/year_quarter_combo.html":{"url":"detailed/date/year_quarter_combo.html","title":"year_quarter_combo","keywords":"","body":"year_quarter_combo\n年季度选择下拉框\nsource\nBI.createWidget({\n type: \"bi.year_quarter_combo\",\n width: 300\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nyearBehaviors\n自定义年份选择的行为(详见button_group)\nobject\n\n\n\n\nmonthBehaviors\n自定义年份选择的行为(详见button_group)\nobject\n—\n{ }\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.YearQuarterCombo.EVENT_BEFORE_POPUPVIEW\n弹出框弹出前触发\n\n\nBI.YearQuarterCombo.EVENT_CONFIRM\n点击确认触发\n\n\n\n\n"},"detailed/date/date_pane.html":{"url":"detailed/date/date_pane.html","title":"date_pane","keywords":"","body":"date_pane_widget\n日期选择下拉框的弹出面板\nsource\nBI.createWidget({\n type: \"bi.date_pane_widget\",\n element: \"#wrapper\",\n width: 300\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nmin\n限定可选日期的下限\nstring\n\n'1900-01-01'\n\n\nmax\n限定可选日期的上限\nstring\n\n'2099-12-31'\n\n\nselectedTime\n选中的初始年月\nobj({year: y, month: m})\n—\n—\n\n\n\n\n"},"detailed/date/date_combo.html":{"url":"detailed/date/date_combo.html","title":"date_combo","keywords":"","body":"date_combo\n日期选择下拉框(弹出的年月选择可以进一步选择日期)\nsource\nBI.createWidget({\n type: \"bi.date_combo\",\n element: \"#wrapper\",\n width: 300\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n\n"},"detailed/date/multidate_combo.html":{"url":"detailed/date/multidate_combo.html","title":"multidate_combo","keywords":"","body":"multidate_combo\n日期下拉框,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.multidate_combo\"\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\n\n\n\n\n\n"},"detailed/date/date_time.html":{"url":"detailed/date/date_time.html","title":"date_time","keywords":"","body":"custom_date_time\n日期选择下拉框(可以选择时分秒)\nsource\nBI.createWidget({\n type: \"bi.custom_date_time_combo\",\n element: \"#wrapper\",\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.CustomDateTimeCombo.EVENT_CANCEL\n点击取消触发\n\n\nBI.CustomDateTimeCombo.EVENT_CONFIRM\n点击确认触发\n\n\n\n\n"},"detailed/date/time_interval.html":{"url":"detailed/date/time_interval.html","title":"time_interval","keywords":"","body":"time_interval\n日期区间,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.time_interval\"\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\n\n\n\n\n\n"},"detailed/number_interval.html":{"url":"detailed/number_interval.html","title":"number_interval","keywords":"","body":"bi.number_interval\n数值区间控件\nsource\nBI.createWidget({\n type: \"bi.number_interval\",\n element: 'body',\n width: 500\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nmin\n最小值初始值\nnumber\n\n无\n\n\nmax\n最大值初始值\nnumber\n\n无\n\n\ncloseMin\n左区间初始状态\nboolean\n\ntrue\n\n\ncloseMax\n右区间初始状态\nboolean\n\ntrue\n\n\n\n方法\n\n\n\n方法\n说明\n用法\n\n\n\n\nisStateValid()\n当前状态是否有效(输入是否合法, 区间是否成立)\n\n\n\nsetMinEnable(boolean)\n设置左区间输入框disable状态\n\n\n\nsetCloseMinEnable(boolean)\n设置左区间开闭combo的disable状态\n\n\n\nsetMaxEnable(boolean)\n设置右区间输入框disable状态\n\n\n\nsetCloseMaxEnable(boolean)\n设置右区间开闭combo的disable状态\n\n\n\nsetNumTip(string)\n设置数值区间的tip提示\n—\n\n\n\n事件\n\n\n\n事件\n说明\n\n\n\n\nBI.NumberInterval.EVENT_VALID\n区间合法的状态事件\n\n\nBI.NumberInterval.EVENT_ERROR\n区间不合法的状态事件\n\n\n\n\n"},"detailed/path/path_chooser.html":{"url":"detailed/path/path_chooser.html","title":"path_chooser","keywords":"","body":"path_chooser\n路径选择\nsource\nBI.createWidget({\n type: \"bi.path_chooser\",\n element: \"#wrapper\",\n items: [[{\n \"region\": \"8c4460bc3605685e\",\n \"regionText\": \"采购订单XXX\",\n \"text\": \"ID\",\n \"value\": \"1\"\n }, {\n \"region\": \"0fbd0dc648f41e97\",\n \"regionText\": \"采购订单\",\n \"text\": \"学号\",\n \"value\": \"3\"\n }, {\n \"region\": \"c6d72d6c7e19a667\",\n \"regionText\": \"供应商基本信息\",\n \"text\": \"ID\",\n \"value\": \"5\"\n }]]\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nitems\n二维数组,每个元素代表一条路径\narray\n—\n[ ]\n\n\n\n\n"},"detailed/path/direction_path_chooser.html":{"url":"detailed/path/direction_path_chooser.html","title":"direction_path_chooser","keywords":"","body":"direction_path_chooser\n带方向的路径选择\nsource\nBI.createWidget({\n type: \"bi.direction_path_chooser\",\n element: \"#wrapper\",\n items: [[{\n \"region\": \"合同信息\",\n \"text\": \"客户ID\",\n \"value\": \"defa1f7ba8b2684a客户ID\"\n }, {\n \"region\": \"客户信息\",\n \"text\": \"主键\",\n \"value\": \"1f4711c201ef1842\",\n \"direction\": -1\n }, {\n \"region\": \"合同的回款信息\",\n \"text\": \"合同ID\",\n \"value\": \"e351e9f1d8147947合同ID\",\n \"direction\": -1\n }]]\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\nitems\n二维数组,每个元素代表一条路径,相较于path_chooser多一个属性direction来指定方向\narray\n—\n[ ]\n\n\n\n\n"},"detailed/relation_view.html":{"url":"detailed/relation_view.html","title":"relation_view","keywords":"","body":"relation_view\n关联视图\nsource\nBI.createWidget({\n type: \"bi.relation_view\",\n items: [{\n primary: {\n region: \"B\", regionText: \"比\",\n title: \"b2...\",\n value: \"b2\", text: \"b2字段\"\n },\n foreign: {region: \"C\", value: \"c1\", text: \"c1字段\"}\n }, {\n primary: {region: \"A\", value: \"a1\", text: \"a1字段\"},\n foreign: {region: \"C\", value: \"c2\", text: \"c2字段\"}\n }]\n});\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n\n"},"detailed/file_manager.html":{"url":"detailed/file_manager.html","title":"file_manager","keywords":"","body":"file_manager\n文件管理器\nsource\nBI.createWidget({\n type: \"bi.file_manager\",\n items: [{\n id: \"1\",\n value: \"1\",\n text: \"根目录\"\n }, {\n id: \"11\",\n pId: \"1\",\n value: \"11\",\n text: \"第一级子目录1\"\n }, {\n id: \"12\",\n pId: \"1\",\n value: \"12\",\n text: \"第一级子目录2\"\n }]\n})\n\n\n\n\n\n方法\n\n\n\n方法\n说明\n\n\n\n\ngetSelectedValue()\n获取当前选中项的value值\n\n\ngetSelectedId\n获取当前选中项的id属性\n\n\n\n\n"},"components/value_chooser_combo.html":{"url":"components/value_chooser_combo.html","title":"value_chooser_combo","keywords":"","body":"value_chooser_combo\n复选下拉框控件 基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.value_chooser_combo\",\n items: []\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\n\n\n\n\n\n"},"components/value_chooser_pane.html":{"url":"components/value_chooser_pane.html","title":"value_chooser_pane","keywords":"","body":"value_chooser_pane\n复选面板 基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.value_chooser_pane\",\n items: []\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\n\n\n\n\n\n"},"components/all_value_chooser_combo.html":{"url":"components/all_value_chooser_combo.html","title":"all_value_chooser_combo","keywords":"","body":"all_value_chooser_combo\n简单的复选下拉框控件, 适用于数据量少的情况,getValue返回所有值,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.all_value_chooser_combo\",\n items: []\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\n\n\n\n\n\n"},"components/tree_value_chooser_combo.html":{"url":"components/tree_value_chooser_combo.html","title":"tree_value_chooser_combo","keywords":"","body":"tree_value_chooser_combo\n简单的复选下拉树控件, 适用于数据量少的情况,getValue返回所有值,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.tree_value_chooser_combo\",\n items: []\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\n\n\n\n\n\n"},"components/tree_value_chooser_pane.html":{"url":"components/tree_value_chooser_pane.html","title":"tree_value_chooser_pane","keywords":"","body":"tree_value_chooser_pane\n简单的复选下拉树面板, 适用于数据量少的情况,getValue返回所有值,基类BI.Widget\nsource\n\nBI.createWidget({\n type: \"bi.tree_value_chooser_pane\",\n items: []\n});\n\n\n\nAPI\n基础属性\n\n\n\n参数\n说明\n类型\n可选值\n默认值\n\n\n\n\n\n\n\n\n对外方法\n\n\n\n名称\n说明\n回调参数\n\n\n\n\n\n\n\n\n\n"},"detailed/single_slider.html":{"url":"detailed/single_slider.html","title":"single_slider","keywords":"","body":"bi.single_slider\n数值滑块\nsource\nvar singleSlider = BI.createWidget({\n type: \"bi.single_slider\",\n element: \"body\",\n width: 200,\n height: 50,\n cls: \"demo-slider\"\n});\n\nsingleSlider.setMinAndMax({\n min: 10,\n max: 100\n});\nsingleSlider.setValue(30);\nsingleSlider.populate();\n\n\n\n\n\n参数\n\n\n\n参数\n说明\n类型\n默认值\n\n\n\n\n\n\n\n\n方法\n\n\n\n方法名\n说明\n参数\n\n\n\n\nsetMinAndMax\n设置最大值最小值\n{min: number, max: number}\n\n\ngetValue\n获得当前值\n—\n\n\nsetValue\n设置当前值\nvalue\n\n\npopulate\n加载设置后的控件\n—\n\n\n\n\n"}}} \ No newline at end of file diff --git a/docs/base/bubble.md b/docs/base/bubble.md deleted file mode 100644 index bd138066d8..0000000000 --- a/docs/base/bubble.md +++ /dev/null @@ -1,40 +0,0 @@ -# bi.bubble - -#### 气泡提示 - -{% method %} -[source](https://jsfiddle.net/fineui/4u705v2v/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.bubble', - element: "#wrapper", - height: 30, - text: "测试" -}) - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :---- |:---- -| direction | 气泡显示位置 | string | — | "top" | -| height | 气泡高度 | number | — | 35 | -| text | 气泡显示内容 | string | — | " " | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setText | 设置文本值 | 需要设置的文本值text| - - ---- \ No newline at end of file diff --git a/docs/base/button/button.md b/docs/base/button/button.md deleted file mode 100644 index df9e498441..0000000000 --- a/docs/base/button/button.md +++ /dev/null @@ -1,66 +0,0 @@ -# bi.button - -## 文字类型的按钮,基类[BI.BasicButton](/core/basicButton.md) - -{% method %} -[source](https://jsfiddle.net/fineui/txqwwzLm/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.button', - element: "#wrapper", - text: '一般按钮', - level: 'common', - height: 30 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值,如果clear属性为true,该属性值置0 | number | — | 10 | -| vgap | 效果相当于文本框上下padding值 | number | — | 0 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| width | 宽度 | number | — | — | -| height | 高度 | number | — | — | - - -##### 高级属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| level |按钮类型 | string| common,success,warning,ignore | common | -| minWidth | 最小宽度,如果block/clear中某一项为true,此项值为0,否则为90 | number | — | 90 | -| shadow | 是否显示阴影 | boolean| true,false | props.clear !== true | -| isShadowShowingOnSelected|选中状态下是否显示阴影 | boolean| true,false | true | -| iconClass | 图标类型 | string| — | " "| -| block| 是否块状显示,即不显示边框,没有最小宽度的限制 | boolean| true,false | false | -| clear| 是否去掉边框和背景 |boolean| true,false | false | -| textAlign | 文字布局 | string | left,center,right | cneter | -| whiteSpace | 元素内的空白处理方式 | string | normal,nowrap | nowrap| -| forceCenter | 是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效 | boolean | true,false | false | -| textWidth| 按钮文本宽度 | number| — | null | -| textHeight | 按钮文本高度 | number| — | null | - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| doRedMark | 文本标红 | — | -| unRedMark | 取消文本标红| —| -| doHighLight | 文本高亮 | —| -| unHighLight | 取消文本高亮 | —| -| setText| 设置文本值 | 需要设置的文本值text| -| setValue | 设置文本值 | 需要设置的文本值text | - ---- - - diff --git a/docs/base/button/icon_button.md b/docs/base/button/icon_button.md deleted file mode 100644 index b6cdfa6837..0000000000 --- a/docs/base/button/icon_button.md +++ /dev/null @@ -1,38 +0,0 @@ -# bi.icon_button - -## 图标button,基类[BI.BasicButton](/core/basicButton.md) - -{% method %} -[source](https://jsfiddle.net/fineui/g52u14ay/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.icon_button', - cls: "close-ha-font", - width: 20, - height: 20 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| iconWidth | 图标宽度 | number| — | null | -| iconHeight | 图标高度 | number| — | null | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - ---- - - diff --git a/docs/base/button/image_button.md b/docs/base/button/image_button.md deleted file mode 100644 index 272ae87ea8..0000000000 --- a/docs/base/button/image_button.md +++ /dev/null @@ -1,46 +0,0 @@ -# bi.image_button - -## 图片的button,基类[BI.BasicButton](/core/basicButton.md) - -{% method %} -[source](https://jsfiddle.net/fineui/yc0g9gLw/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.image_button', - src: "http://www.easyicon.net/api/resizeApi.php?id=1206741&size=128", - width: 100, - height: 100 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| src |图片路径 |string | —|" " | -| iconWidth | 图标宽度 | number/string| — | "100%" | -| iconHeight | 图标高度 | number/string | — | "100%"| - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setImageWidth | 设置图片宽度| 宽度width | -| setImageHeight| 设置图片高度| 高度height| -| getImageWidth | 获取图片宽度| —| -| getImageHeight | 获取图片高度| —| -| setSrc| 设置图片路径| src | -| getSrc |获取图片路径| — | - - - ---- - - diff --git a/docs/base/button/text_button.md b/docs/base/button/text_button.md deleted file mode 100644 index a83233e9e1..0000000000 --- a/docs/base/button/text_button.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.text_button - -## 可以点击的一行文字,基类[BI.BasicButton](/core/basicButton.md) - -{% method %} -[source](https://jsfiddle.net/fineui/5p99L39q/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.text_button', - text: '文字按钮', - height: 30 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值,如果clear属性为true,该属性值置0 | number | — | 10 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| textWidth| 按钮文本宽度 | number| — | null | -| textHeight | 按钮文本高度 | number| — | null | - - -##### 高级属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| py | 拼音 | string| | " " | -| textAlign | 文字布局 | string | left,center,right | cneter | -| whiteSpace | 元素内的空白处理方式 | string | normal,nowrap | nowrap| -| forceCenter | 是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效 | boolean | true,false | false | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| doRedMark | 文本标红 | — | -| unRedMark | 取消文本标红| —| -| doHighLight | 文本高亮 | —| -| unHighLight | 取消文本高亮 | —| -| setStyle | 设置文本样式 |需要设置的文本标签样式,例{"color":"#000"} | - ---- - - diff --git a/docs/base/canvas.md b/docs/base/canvas.md deleted file mode 100644 index 7c08f96afd..0000000000 --- a/docs/base/canvas.md +++ /dev/null @@ -1,40 +0,0 @@ -# bi.canvas - -## canvas绘图,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/gcgd1va0/) - -{% common %} -```javascript - -var canvas = BI.createWidget({ - type: "bi.canvas", - element: "#wrapper", - width: 500, - height: 600 -}); -canvas.circle(150, 50, 20, "green"); -canvas.stroke(); - - -``` - -{% endmethod %} - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| line | 绘制线段| (x0, y0, x1, y1) | -| rect | 绘制矩形 | (x,y,w,h,color)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及绘制的颜色| -| circle | 绘制圆形 | (x, y, radius, color)分别表示原点的横坐标,纵坐标,半径以及颜色 | -| hollow | 填充中空的路径 | — | -| solid | 填充实心的路径 | — | -| gradient | 绘制渐变色 | (x0, y0, x1, y1, start, end) | -| reset | 重置画布 | —| -| stroke | 绘制 | callback | - ---- - - diff --git a/docs/base/editor/code_editor.md b/docs/base/editor/code_editor.md deleted file mode 100644 index 91e9da38ed..0000000000 --- a/docs/base/editor/code_editor.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.code_editor - -## 代码文本框,基类[BI.Single](/core/single.md) - -{% method %} -[source](https://jsfiddle.net/fineui/fx86hLgm/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.code_editor", - cls: "mvc-border", - width: 600, - height: 400 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| watermark | 文本框placeholder | string | — | " " | -| readOnly | 是否只读 | boolean | true,false | false| -| lineHeight | 行高 | number|— | 2| -| value | 文本框值| string| —| " "| -| paramFormatter| 参数显示值构造函数 | function| — | value | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| insertParam | 插入参数 | param | -| insertString | 插入字符串 | str| -| getValue | 获取文本框值|—| -| setValue | 设置文本框值|value| -| focus | 文本框获取焦点| — | -| blur | 文本框失焦|—| -| setStyle | 设置文本样式 |需要设置的文本标签样式style,例{"color":"#000"} | -| getStyle | 获取文本样式 |— | -| refresh | 刷新文本框,codeMirror需要用到 | —| - - - - ---- - - diff --git a/docs/base/editor/editor.md b/docs/base/editor/editor.md deleted file mode 100644 index 9b615c9da6..0000000000 --- a/docs/base/editor/editor.md +++ /dev/null @@ -1,88 +0,0 @@ -# bi.editor - -## 文本框,基类[BI.Single](/core/single.md) - -{% method %} -[source](https://jsfiddle.net/fineui/4eLytgve/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.editor", - element: "#wrapper", - errorText: "字段不可重名!", - width: 200, - height: 30 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | — | 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| validationChecker | 输入较验函数 |function| — | — | -| quitChecker | 是否允许退出编辑函数 | function | — | — | -| allowBlank | 是否允许空值 | boolean | true,false | false | -| watermark | 文本框placeholder | string | — | " " | -| errorText | 错误提示 | string/function | —| " "| -| tipType| 提示类型 | string |success,warning | "warning"| -| inputType| 输入框类型| string| 参考input输入框类型 | "text"| - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setErrorText | 设置错误文本 | text | -| getErrorText | 获取错误文本 | —| -| setErrorVisible | 设置错误文本可见|b | -| disableError | 设置error不可用|— | -| enableError| 设置error可用| —| -| disableWaterMark | 设置文本框placeholder不可用| —| -| enableWaterMark | 恢复文本框placeholder可用| — | -| focus | 文本框获取焦点| — | -| blur | 文本框失焦|—| -| selectAll | 选中文本框文本| —| -| setValue | 设置文本框值|value| -| getLastValidValue | 获取文本框最后一次输入的有效值| —| -| resetLastValidValue| 重置文本框最后一次输入的有效值|value| -| getValue | 获取文本框值|—| -| isEditing | 文本框是否处于编辑状态|—| -| isValid | 文本框值是否有效|—| - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.Editor.EVENT_CHANGE | editor的value发生改变触发 | -|BI.Editor.EVENT_FOCUS | focus事件 | -|BI.Editor.EVENT_BLUR | blur事件 | -|BI.Editor.EVENT_CLICK | 点击编辑框触发(不在编辑状态时) | -|BI.Editor.EVENT_KEY_DOWN | keyDown时触发 | -|BI.Editor.EVENT_SPACE | 按下空格触发 | -|BI.Editor.EVENT_BACKSPACE | 按下Backspace触发 | -|BI.Editor.EVENT_START | 开始输入触发 | -|BI.Editor.EVENT_PAUSE | 暂停输入触发(输入空白字符) | -|BI.Editor.EVENT_STOP | 停止输入触发 | -|BI.Editor.EVENT_CONFIRM | 确定输入触发(blur时且输入值有效) | -|BI.Editor.EVENT_VALID | 输入值有效的状态事件 | -|BI.Editor.EVENT_ERROR | 输入值无效的状态事件 | -|BI.Editor.EVENT_ENTER | 回车事件 | -|BI.Editor.EVENT_RESTRICT | 回车但是值不合法 | -|BI.Editor.EVENT_REMOVE | 输入为空时按下backspace | -|BI.Editor.EVENT_EMPTY | 输入框为空时触发 | - - ---- - - diff --git a/docs/base/editor/formula_editor.md b/docs/base/editor/formula_editor.md deleted file mode 100644 index e44f77c324..0000000000 --- a/docs/base/editor/formula_editor.md +++ /dev/null @@ -1,59 +0,0 @@ -# bi.formula_editor - -## 公式编辑控件,基类[BI.Single](/core/single.md) - -{% method %} -[source](https://jsfiddle.net/fineui/qnquz4o0/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.formula_editor", - cls: "bi-border", - watermark:'请输入公式', - value: 'SUM(C5, 16, 26)', - width: "100%", - height: "100%" -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| value | 文本域的值 | string | — | " "| -| watermark | 文本框placeholder| string | —| " " | -| fieldTextValueMap | 字段集合 | onject | —| {}| -| showHint | 是否显示提示信息 | boolean | true,false | true | -| lineHeight | 行高 | number | —| 2| - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| disableWaterMark | 设置文本框placeholder不可用 | — | -| focus | 文本框获取焦点| — | -| insertField | 添加字段 | field | -| insertFunction | 插入函数 | fn | -| insertOperator | 插入操作符| op| -| setFunction | 设置函数 | v| -| insertString | 插入字符串 | str| -| getFormulaString | 获取公式框内容 |— | -| getUsedFields | 获取可用字段 | — | -| getCheckString | 获取校验内容 | — | -| getValue | 获取文本框值|—| -| setValue | 设置文本框值|value| -| setFieldTextValueMap | 设置字段集合 | fieldTextValueMap | -| refresh | 刷新文本框 | —| - - - ---- - - diff --git a/docs/base/editor/multifile_editor.md b/docs/base/editor/multifile_editor.md deleted file mode 100644 index fd23da66e4..0000000000 --- a/docs/base/editor/multifile_editor.md +++ /dev/null @@ -1,51 +0,0 @@ -# bi.multifile_editor - -## 多文件,基类[BI.Single](/core/single.md) - -{% method %} -[source](https://jsfiddle.net/fineui/25r3r5fq/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.multifile_editor", - width: 400, - height: 300 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| multiple | 是否支持多选 | boolean | true,false| false | -| maxSize | 允许上传最大字节数 | number |— | -1 | -| accept | 允许上传的文件类型 | string | —| " "| -| url | 文件路径 | string | —| " "| - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| select | 选择文件 | —| -| getValue | 获取文件名称 | —| -| upload | 文件上传| —| -| reset | 重置| —| - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.MultifileEditor.EVENT_UPLOADSTART | 开始上传时触发 | -|BI.MultifileEditor.EVENT_PROGRESS | 上传过程中触发 | -|BI.MultifileEditor.EVENT_UPLOADED | 上传结束后触发 | - - ---- - - diff --git a/docs/base/editor/rich_editor.md b/docs/base/editor/rich_editor.md deleted file mode 100644 index a3b7c85975..0000000000 --- a/docs/base/editor/rich_editor.md +++ /dev/null @@ -1,36 +0,0 @@ -# rich_editor - -## 富文本编辑器,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/e1jzxvq5/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.rich_editor", - width: 600, - height: 400 -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/base/editor/textarea_editor.md b/docs/base/editor/textarea_editor.md deleted file mode 100644 index a220051632..0000000000 --- a/docs/base/editor/textarea_editor.md +++ /dev/null @@ -1,45 +0,0 @@ -# bi.textarea_editor - -## 文本域,基类[BI.Single](/core/single.md) - -{% method %} -[source](https://jsfiddle.net/fineui/90721e0a/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.textarea_editor", - width: 400, - height: 300 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| value | 文本域的值 | string | — | " "| - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| getValue | 获取文本域值|—| -| setValue | 设置文本域值|value| -| setStyle | 设置文本域样式 |需要设置的文本域样式style,例{"color":"#000"} | -| getStyle | 获取文本域样式 |— | -| focus | 文本域获取焦点| — | -| blur | 文本域失焦|—| - - - - ---- - - diff --git a/docs/base/label.md b/docs/base/label.md deleted file mode 100644 index 6a3b3c853e..0000000000 --- a/docs/base/label.md +++ /dev/null @@ -1,66 +0,0 @@ -# bi.label - -#### 文本标签 - -{% method %} -[source](https://jsfiddle.net/fineui/47f5ps1j/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.label", - textWidth: 100, - textHeight: 30, - text: "基本标签" -}); - - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| hgap | 效果相当于容器左右padding值 | number | —| 0 | -| vgap | 效果相当于容器上下padding值 | number | —| 0 | -| lgap | 效果相当于容器left-padding值 | number | — | 0 | -| rgap | 效果相当于容器right-padding值 | number | —| 0 | -| tgap | 效果相当于容器top-padding值 | number | — | 0 | -| bgap | 效果相当于容器bottom-padding值 | number | — | 0 | -| textWidth | 文本标签宽度 | number| — | null | -| textHeight | 文本标签宽度 | number| — | null | -| text | 文本内容 | string | — | " " | - - -##### 高级属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| textAlign | 文本对齐方式 | string | left,center,right | center | -| whiteSpace | 元素内空白处理方式 | string| normal,nowrap | nowrap| -| forceCenter | 是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效 | boolean | true,false | true | -| py | 拼音 | string | — | 空 | -| keyword | 设置标红的关键词 | string | —| 空 | -| disabled | 灰化 | boolean| true,false | 无 | -| title | 提示title | string | — | 空 | -| warningTitle | 错误提示title | string | — | 空 | - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| doRedMark | 文本标红 | — | -| unRedMark | 取消文本标红| —| -| doHighLight | 文本高亮 | —| -| unHighLight | 取消文本高亮 | —| -| setText| 设置文本值 | 需要设置的文本值text| -| getText| 获取文本值 | —| -| setStyle | 设置文本样式 |需要设置的文本标签样式,例{"color":"#000"} | -| setValue | 设置文本值 | 需要设置的文本值text | - - ---- \ No newline at end of file diff --git a/docs/base/message.md b/docs/base/message.md deleted file mode 100644 index 0b897e1662..0000000000 --- a/docs/base/message.md +++ /dev/null @@ -1,39 +0,0 @@ -# BI.Msg - -#### 消息提示 - -{% method %} -[source](https://jsfiddle.net/fineui/feu8kf4u/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.button", - element: "#wrapper", - text : '点击我弹出一个消息框', - height : 30, - handler : function() { - BI.Msg.confirm('测试消息框',"我是测试消息框的内容"); - } -}); - - - -``` - -{% endmethod %} - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| alert | 警告消息框 | title, message, callback| -| confirm | 确认消息框 | title, message, callback | -| prompt | 提示消息框 | title, message, value, callback, min_width | -| toast | toast提示 | message, level, context| - - ---- diff --git a/docs/base/pager.md b/docs/base/pager.md deleted file mode 100644 index 9b88b6d02a..0000000000 --- a/docs/base/pager.md +++ /dev/null @@ -1,66 +0,0 @@ -# bi.pager - -## 分页控件,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/rhhte9b3/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.pager", - height: 50, - pages: 18, - groups: 5, - curr: 6, - first: "首页", - last: "尾页" -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| dynamicShow | 是否动态显示上一页、下一页、首页、尾页, 若为false,则指对其设置使能状态 | boolean| true,false | true| -| dynamicShowFirstLast | 是否动态显示首页、尾页,dynamicShow为false时生效| boolean| true,false | false | -| dynamicShowPrevNext | 是否动态显示上一页、下一页,dynamicShow为false时生效 | boolean| true,false | false| -| pages | 是否显示总页数 | boolean/number| false,number|false| -| curr | 初始化当前页 | function/number | —| function(){return 1;}| -| groups | 连续显示分页数 | number | — | 0 | -| jump | 页数跳转| function |— | —| -| first | 是否显示首页 | boolean/string | true,false,string| false| -| last | 是否显示尾页 | boolean/string | true,false,string| false| -| prev | 上一页 | string,object —| — |"上一页" | -| next | 下一页 | sting,object| —| "下一页" | -| firstPage | 第一页 | number|— | 1 | -| lastPage | 最后一页,在万不得已时才会调用这个函数获取最后一页的页码, 主要作用于setValue方法 | function | —| function(){ return 1;}| -| hasPrev | 判断是否有上一页,pages不可用时有效 | function | —| — | -| hasNext | 判断是否有下一页,pages不可用时有效 | function |— | — | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| getCurrentPage | 获取当前页码 | —| -| setAllPages | 设置总页数 | pages | -| hasPrev | 判断是否有上一页 | v | -| hasNext | 判断是否有下一页 | v | -| setValue | 设置当前页码 | v | -| getValue | 获取当前页码 | —| -| attr | 设置属性 | key,value | -| populate | 刷新或者清空列表| —| - -## 事件 -| 名称 | 说明 | -| :------ |:------------- | -| BI.Pager.EVENT_AFTER_POPULATE | pager刷新完成事件 | - ---- - - diff --git a/docs/base/svg.md b/docs/base/svg.md deleted file mode 100644 index 6724b4fc97..0000000000 --- a/docs/base/svg.md +++ /dev/null @@ -1,55 +0,0 @@ -# bi.svg - -## svg绘图,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/1xn8snp3/) - -{% common %} -```javascript - -var svg = BI.createWidget({ - type: "bi.svg", - width: 500, - height: 600 -}); - -svg.path("M10,10L50,50M50,10L10,50") - .attr({stroke: "red"}); - - -``` - -{% endmethod %} - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| add | 添加对象到json数组 | json | -| path | 绘制路径 | pathString | -| image | 绘制图片 | (src,x,y,w,h)分别表示图片路径,绘制的原点横、纵坐标,宽、高 | -| rect | 绘制矩形 | (x,y,w,h,r)分别表示左上角的横坐标、纵坐标,矩形宽、高、以及矩形的圆角border-radius大小| -| circle | 绘制圆形 | (x,y,r)分别表示原点的横坐标,纵坐标,以及半径 | -| ellipse | 绘制椭圆 |(x,y,rx,ry)分别表示原点的横、纵坐标,以及水平半径和垂直半径| -| text | 绘制文本 | (x,y,text)分别表示绘制的原点横、纵坐标以及要绘制的文本内容| -| print | 根据制定参数打印出路径 | (x, y, string, font, size, origin, letter_spacing, line_spacing) | -| setStart | 开始绘制 | — | -| setFinish | 结束绘制 | — | -| setSize | 设置画布尺寸 | (width,height)分别表示画布宽高| -| setViewBox | 设置画布可视区域 | (x,y,width,height,fit)分别表示可视区域原点坐标以及可视区域宽高,以及是否根据可视区域进行调整 | -| getById | 根据id返回元素 | id | -| getElementByPoint | 获根据给定的点坐标返回元素 | (x,y)| -| getElementsByPoint | 获根据给定的点坐标返回元素 | (x,y) | -| getFont | 通过给定的参数在已注册的字体中找到字体对象 | (family, weight, style, stretch) | -| set | 绘制形状的集合 | — | -| remove | 设置总页数 | pages | -| clear | 判断是否有上一页 | v | - - - - - ---- - - diff --git a/docs/base/table/collection_table.md b/docs/base/table/collection_table.md deleted file mode 100644 index 09bf1c0453..0000000000 --- a/docs/base/table/collection_table.md +++ /dev/null @@ -1,74 +0,0 @@ -# bi.collection_table - -### 可以合并单元格的表格 继承BI.Widget - -{% method %} -[source](https://jsfiddle.net/fineui/x2zxfzhp/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.collection_table", - element: "body", - columnSize: [200,200], - items: [ - [{ - type: "bi.label", - cls: "layout-bg1", - text: "第一行第一列" - }, { - type: "bi.label", - cls: "layout-bg2", - text: "第一行第二列" - }], - [{ - type: "bi.label", - cls: "layout-bg3", - text: "第二行第一列" - }, { - type: "bi.label", - cls: "layout-bg4", - text: "第二行第二列" - }] - ] -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ---------------- | ------------- | -------------------- | ----------------- | -| isNeedFreeze | 是否冻结列 | boolean | false | -| freezeCols | 冻结的列 | array | [] | -| isNeedMerge | 是否需要合并单元格 | boolean | false | -| mergeCols | 合并的单元格列号 | array | [] | -| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | -| columnSize | 单元格宽度集合 | array | [] | -| headerRowSize | 表头高度 | number | 25 | -| rowSize | 普通单元格高度 | number | 25 | -| regionColumnSize | 列项间的 | array | [] | -| items | 子组件 | array | [] | - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------------------- | ----------- | ---------- | -| setWidth | 设置宽度 | width | -| setHeight | 设置高度 | height | -| setColumnSize | 设置列宽 | columnSize | -| getColumnSize | 得到列宽 | — | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| getScrollRegionColumnSize | 获取横向滚动条宽度 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| getColumns | 获取列项 | — | -| populate | 增加行 | rows | -| restore | 存储数据 | — | - ------- - diff --git a/docs/base/table/grid_table.md b/docs/base/table/grid_table.md deleted file mode 100644 index b8924aacad..0000000000 --- a/docs/base/table/grid_table.md +++ /dev/null @@ -1,59 +0,0 @@ -# bi.grid_table - -### 网格式的表格,继承BI.Widget - -{% method %} -[source](https://jsfiddle.net/fineui/a936vcvj/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.grid_table", - element: 'body', - width: 600, - height: 500, - isResizeAdapt: true, - isNeedResize: true, - isNeedFreeze: true, - freezeCols: [0, 1], - columnSize: [50,50,200,250,400], - items: items, - header: header -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ---------------- | ------- | ------- | ----- | -| isNeedFreeze | 是否需要冻结 | boolean | false | -| freezeCols | 冻结列 | array | [] | -| columnSize | 单元格宽度集合 | array | [] | -| headerRowSize | 表头高度 | number | 25 | -| rowSize | 普通单元格高度 | number | 25 | -| regionColumnSize | 列项间的 | array | [] | -| header | 表头 | array | [] | -| items | 子组件 | array | [] | - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------------------ | ----------- | ---------- | -| setWidth | 设置宽度 | width | -| setHeight | 设置高度 | height | -| getRegionSize | 获取间隙大小 | — | -| setColumnSize | 设置列宽 | columnSize | -| getColumnSize | 得到列宽 | — | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| populate | 刷新内容 | rows | -| restore | 储存 | — | - ------- - diff --git a/docs/base/table/resizable_table.md b/docs/base/table/resizable_table.md deleted file mode 100644 index 54f9cd8326..0000000000 --- a/docs/base/table/resizable_table.md +++ /dev/null @@ -1,77 +0,0 @@ -# bi.resizable_table - -### 可调整列宽的表格,继承BI.Widget - -{% method %} -[source](https://jsfiddle.net/fineui/0e7p2ezc/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.resizable_table", - element: "body", - columnSize: [200,200], - items: [ - [{ - type: "bi.label", - cls: "layout-bg1", - text: "第一行第一列" - }, { - type: "bi.label", - cls: "layout-bg2", - text: "第一行第二列" - }], - [{ - type: "bi.label", - cls: "layout-bg3", - text: "第二行第一列" - }, { - type: "bi.label", - cls: "layout-bg4", - text: "第二行第二列" - }] - ] -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ---------------- | --------- | ------- | ----- | -| isNeedFreeze | 是否需要冻结列 | boolean | false | -| freezeCols | 冻结的列 | array | [] | -| isNeedResize | 是否需要调整大小 | boolean | false | -| isResizeAdapt | 是否调整时自适应 | boolean | true | -| isNeedMerge | 是否需要合并单元格 | boolean | false | -| mergeCols | 合并的单元格列号 | array | [] | -| columnSize | 单元格宽度集合 | array | [] | -| minColumnSize | 最小列宽 | array | [] | -| maxColumnSize | 最大列宽 | array | [] | -| headerRowSize | 表头高度 | number | 25 | -| rowSize | 普通单元格高度 | number | 25 | -| header | 表头 | array | [] | -| regionColumnSize | 列项间的 | array | [] | -| items | 子组件 | array | [] | - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------------------ | ----------- | ------------- | -| setWidth | 设置宽度 | — | -| setHeight | 设置高度 | — | -| setColumnSize | 设置列宽 | columnSize | -| getColumnSize | 得到列宽 | — | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| attr | 设置属性 | key:键,value:值 | -| populate | 刷新内容 | rows | -| restore | 保存表 | — | - ------- - diff --git a/docs/base/table/table_view.md b/docs/base/table/table_view.md deleted file mode 100644 index 2cceb75ab1..0000000000 --- a/docs/base/table/table_view.md +++ /dev/null @@ -1,73 +0,0 @@ -# bi.table_view - -### 能处理静态宽度以及动态宽度的表 - -{% method %} -[source](https://jsfiddle.net/fineui/mbazb80a/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.table_view", - element: 'body', - isNeedMerge: true, - isNeedFreeze: true, - freezeCols: [0, 1], - mergeCols: [0, 1], - columnSize: [100, 200, 300, 400, 500], - items: [], - header: [] -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ---------------- | ------------- | -------------------- | ----------------- | -| isNeedMerge | 是否需要合并单元格 | boolean | false | -| mergeCols | 合并的单元格列号 | array | [] | -| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | -| columnSize | 单元格宽度集合 | array | [] | -| headerRowSize | 表头高度 | number | 25 | -| footerRowSize | 表尾高度 | number | 25 | -| rowSize | 普通单元格高度 | number | 25 | -| regionColumnSize | 列项间的 | array | false | -| header | 表头 | array | [] | -| footer | 表尾 | array | false | -| items | 子组件 | array | [] | - -## 方法 -| 方法名 | 说明 | 参数 | -| ---------------------------- | ---------------- | ---------- | -| resize | 调整表格 | — | -| setColumnSize | 设置列宽 | columnSize | -| getColumnSize | 得到列宽 | — | -| getCalculateColumnSize | 获得计算后的列宽 | — | -| setHeaderColumnSize | 设置表头的列宽 | columnSize | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| getCalculateRegionColumnSize | 获取计算后的列项之间的间隙 | — | -| getCalculateRegionRowSize | 获取计算后的列项上下之间的间隙 | — | -| getClientRegionColumnSize | 获取浏览器中显示的列项之间的间隙 | — | -| getScrollRegionColumnSize | 获取横向滚动条宽度 | — | -| getScrollRegionRowSize | 获取纵向滚动条宽度 | — | -| hasVerticalScroll | 是否含有数值滚动条 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| getColumns | 获取列项 | — | -| populate | 刷新内容 | rows | - -## 事件 -| 事件 | 说明 | -| :------------------------------ | :------------------ | -| BI.Table.EVENT_TABLE_AFTER_INIT | table初始化完成后触发 | -| BI.Table.EVENT_TABLE_RESIZE | table大小调整时触发(窗口变化等) | -| BI.Table.EVENT_TABLE_SCROLL | 滚动事件 | - ---- - diff --git a/docs/base/toast.md b/docs/base/toast.md deleted file mode 100644 index 86c9273d30..0000000000 --- a/docs/base/toast.md +++ /dev/null @@ -1,41 +0,0 @@ -# bi.toast - -#### toast提示 - -{% method %} -[source](https://jsfiddle.net/fineui/wop751sg/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.toast', - element: "#wrapper", - height: 30, - level: "warning", - text: "toast测试" -}) - - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :---- |:---- -| level | 提示类型 | string | success,warning | "success" | -| height | 高度 | number | — | 30 | -| text | 显示内容 | string | — | " " | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setText | 设置文本值 | 需要设置的文本值text | - ---- diff --git a/docs/book.json b/docs/book.json deleted file mode 100644 index 2fcb0b3d20..0000000000 --- a/docs/book.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "plugins": [ - "jsfiddle", - "splitter", - "theme-api", - "expandable-chapters" - ], - "pluginsConfig": { - "theme-default": { - "showLevel": false - }, - "jsfiddle": { - "type": "script", - "tabs": [ - "result", - "js", - "html" - ], - "height": "100", - "width": "500", - "fontColor": "00FF00" - }, - "expandable-chapters":{} - } -} \ No newline at end of file diff --git a/docs/case/button/multi_select_item.md b/docs/case/button/multi_select_item.md deleted file mode 100644 index 12e73c1ce5..0000000000 --- a/docs/case/button/multi_select_item.md +++ /dev/null @@ -1,52 +0,0 @@ -# bi.multi_select_item - -## 复选框item,基类[BI.BasicButton](/core/basic_button.md) - -{% method %} -[source](https://jsfiddle.net/fineui/0z1fud88/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.vertical', - element: "#wrapper", - items: [{ - type: "bi.label", - height: 30, - text: "复选item" - }, { - type: "bi.multi_select_item", - text: "复选项" - }] -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| height | 高度 | number | — | 30 -| logic | 布局逻辑 | object | — | {dynamic:false} | - - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setSelected| 设置选中值| v | -| doRedMark | 标红 |—| -| unRedMark | 取消标红 | — | - - - - - ---- - - diff --git a/docs/case/button/single_select_item.md b/docs/case/button/single_select_item.md deleted file mode 100644 index 0405e04605..0000000000 --- a/docs/case/button/single_select_item.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.single_select_item - -## 可以点击的label,基类[BI.BasicButton](/core/basic_button.md) - -{% method %} -[source](https://jsfiddle.net/fineui/19qqcej4/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.vertical', - element: "#wrapper", - items: [{ - type: "bi.label", - height: 30, - text: "复选item" - }, { - type: "bi.single_select_item", - text: "复选项" - }] -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| height | 高度 | number | — | 25 -| hgap | 效果相当于文本框左右padding值 |number | —| 10 | -| textAlign |文本对齐方式 |string |left,center,right |"left" - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setSelected| 设置选中值| v | -| doRedMark | 标红 |—| -| unRedMark | 取消标红 | — | - - - - - - ---- - - diff --git a/docs/case/button/single_select_radio_item.md b/docs/case/button/single_select_radio_item.md deleted file mode 100644 index d4126bd264..0000000000 --- a/docs/case/button/single_select_radio_item.md +++ /dev/null @@ -1,54 +0,0 @@ -# bi.single_select_radio_item - -## 单选框item,基类[BI.BasicButton](/core/basic_button.md) - -{% method %} -[source](https://jsfiddle.net/fineui/d3vw4438/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.vertical', - element: "#wrapper", - items: [{ - type: "bi.label", - height: 30, - text: "单选item" - }, { - type: "bi.single_select_radio_item", - text: "单选项" - }] -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| height | 高度 | number | — | 25 -| hgap | 效果相当于文本框左右padding值 |number | —| 10 | -| textAlign |文本对齐方式 |string |left,center,right |"left" - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setSelected| 设置选中值| v | -| doRedMark | 标红 |—| -| unRedMark | 取消标红 | — | - - - - - - - ---- - - diff --git a/docs/case/calendar.md b/docs/case/calendar.md deleted file mode 100644 index 472eac2c38..0000000000 --- a/docs/case/calendar.md +++ /dev/null @@ -1,47 +0,0 @@ -# bi.calendar - -### 日历控件 - -{% method %} -[source](https://jsfiddle.net/fineui/4sfsaoma/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.calendar', - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - year: 2015, - month: 7, //7表示八月 - day: 25, -}); - -``` - -{% endmethod %} - - - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ----- | ----- | ------ | ------------ | -| min | 最小日期 | string | '1900-01-01' | -| max | 最大日期 | string | '2099-12-31' | -| year | 设定的年份 | number | 2015 | -| month | 设定的月份 | number | 7 | -| day | 设定的日期 | number | 25 | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| ----------- | ------- | -------------------------- | -| isFrontDate | 是否为最小日期 | — | -| isFinalDate | 是否为最大日期 | — | -| setValue | 设置日期 | object: {year, month, day} | -| getValue | 获得日期 | — | - ------- \ No newline at end of file diff --git a/docs/case/clipboard.md b/docs/case/clipboard.md deleted file mode 100644 index afd485beb3..0000000000 --- a/docs/case/clipboard.md +++ /dev/null @@ -1,33 +0,0 @@ -# bi.clipboard - -### 剪切板 - -{% method %} -[source](https://jsfiddle.net/fineui/kLzq99c3/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.clipboard', - width: 100, - height: 100, - copy: function () {}, - - afterCopy: function () {} -}); - -``` - -{% endmethod %} - - - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| --------- | ---------- | -------- | ---------- | -| copy | 获取需要拷贝的值 | function | BI.emptyFn | -| afterCopy | 完成拷贝后执行的方法 | function | BI.emptyFn | - ------- \ No newline at end of file diff --git a/docs/case/color_chooser.md b/docs/case/color_chooser.md deleted file mode 100644 index b8627be06e..0000000000 --- a/docs/case/color_chooser.md +++ /dev/null @@ -1,32 +0,0 @@ -# bi.color_chooser - -### 选色控件 - -{% method %} -[source](https://jsfiddle.net/fineui/z4fwweg9/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.color_chooser", - element: "#wrapper", - width: 30, - height: 30 -}); - -``` - -{% endmethod %} - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| ------------- | ------ | ----- | -| isViewVisible | 判断是否显示 | — | -| setValue | 设置颜色值 | color | -| getValue | 获取颜色值 | — | - ------- \ No newline at end of file diff --git a/docs/case/color_chooser_popup.md b/docs/case/color_chooser_popup.md deleted file mode 100644 index f279f76acf..0000000000 --- a/docs/case/color_chooser_popup.md +++ /dev/null @@ -1,45 +0,0 @@ -# bi.color_chooser_popup - -### 选色控件弹窗 - -{% method %} -[source](https://jsfiddle.net/fineui/xL7moydu/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.color_chooser_popup", -}); - -``` - -{% endmethod %} - - - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ------ | ---- | ------ | ---- | -| height | 高度 | number | 145 | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------------- | -------- | ------ | -| setStoreColors | 设置储存的颜色值 | colors | -| setValue | 设置颜色值 | color | -| getValue | 获取颜色值 | — | - - - -### 事件 - -| 事件 | 说明 | -| ------------------ | -------- | -| EVENT_VALUE_CHANGE | 颜色值改变时触发 | - ------- \ No newline at end of file diff --git a/docs/case/combo/bubble_combo.md b/docs/case/combo/bubble_combo.md deleted file mode 100644 index 8bb7bd70d5..0000000000 --- a/docs/case/combo/bubble_combo.md +++ /dev/null @@ -1,82 +0,0 @@ -# bi.bubble_combo - -## 表示一个可以展开的节点, 不仅有选中状态而且有展开状态, 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/urvt04so/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.bubble_combo", - element:"#wrapper", - el: { - type: "bi.button", - text: "测试", - height: 25 - }, - popup: { - el: { - type: "bi.button_group", - items: BI.makeArray(100, { - type: "bi.text_item", - height: 25, - text: "item" - }), - layouts: [{ - type: "bi.vertical" - }] - }, - maxHeight: 200 - } - }) - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| text | 组件text值 | string | —| "" | -| value | 组件value值 | string |— |""| -| stopEvent | 阻止事件 |boolean | true,false | false | -| stopPropagation | 阻止冒泡 | boolean | true,false| false | -| selected | button的选中状态 | boolean | true,false |false | -| once | 点击一次选中有效,再点无效 | boolean | true,false | false| -| forceSelected | 点击即选中, 选中了就不会被取消,与once的区别是forceSelected不影响事件的触发| boolean | true,false| false| -| forceNotSelected | 无论怎么点击都不会被选中 | boolean| true,false | false| -| disableSelected | 使能选中| boolean | true,false| false| -| shadow | 是否显示阴影 | boolean| true,false| false| -| isShadowShowingOnSelected| 选中状态下是否显示阴影|boolean| true,false | false| -| trigger | 被选元素要触发的事件 | string | mousedown, mouseup, click, dblclick, lclick | null| -| handler | 点击事件回调 | function | —| BI.emptyFn | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| beforeClick | 点击事件之前 | —| -| doClick | 点击事件 | — | -| handle | 返回该对象 | —| -| hover | hover事件| —| -| dishover | 取消hover事件| —| -| setSelected | 设置选中的文本| b| -| isSelected | 是否被选中| —| -| isOnce | 是否只允许点击一次| —| -| isForceSelected| 判断是否点击即选中| —| -| isForceNotSelected| 判断是否怎么点击都不会被选中|—| -| isDisableSelected| 判断是否让选中|—| -| setText| 设置文本值|—| -| getText| 获取文本值|—| - - - - ---- - - diff --git a/docs/case/combo/editor_icon_check_combo.md b/docs/case/combo/editor_icon_check_combo.md deleted file mode 100644 index 12ffd168dd..0000000000 --- a/docs/case/combo/editor_icon_check_combo.md +++ /dev/null @@ -1,36 +0,0 @@ -# editor_icon_check_combo - -## 可以编辑trigger的TextValueCheckCombo,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/w4gm7tfk/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.editor_icon_check_combo", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新combo | items | - - - ---- \ No newline at end of file diff --git a/docs/case/combo/icon_combo.md b/docs/case/combo/icon_combo.md deleted file mode 100644 index 36256138c1..0000000000 --- a/docs/case/combo/icon_combo.md +++ /dev/null @@ -1,68 +0,0 @@ -# bi.icon_combo - -## 切换trigger图标的combo 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/z02vzvtb/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.icon_combo", - element: "#wrapper", - iconClass: "close-font", - items: [{ - value: "第一项", - iconClass: "search-font" - }, { - value: "第二项", - iconClass: "close-font" - }, { - value: "第三项", - iconClass: "copy-font" - }] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| width | 宽度 | number | — | 24 -| height | 高度 | number | — | 24 -| iconClass | icon的类名 | string | —|" "| -| el | 自定义下拉框trigger| object | —|{ } | -| popup | 弹出层| object | —| { } -| minWidth| 最小宽度| number | —|100| -| maxWidth | 最大宽度 | string/number | — | "auto"| -| maxHeight | 最大高度 | number | —| 300 -| adjustLength | 弹出列表和trigger的距离 | number | — | 0 | -| adjustXOffset | 调整横向偏移 | number | — | 0 | -| adjustYOffset |调整纵向偏移 | number | — | 0 | -| offsetStyle | 弹出层显示位置 | string | left,right,center | "left,right,center"| -| chooseType | 选择类型 | const | 参考button_group | BI.ButtonGroup.CHOOSE_TYPE_SINGLE | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setValue| 设置value值|—| -| getValue| 获取value值|—| -| showView | 显示弹出层 | —| -| hideView | 隐藏弹出层 |—| -| populate | 刷新列表 | items | - - - - - ---- - - diff --git a/docs/case/combo/static_combo.md b/docs/case/combo/static_combo.md deleted file mode 100644 index c6417aa64f..0000000000 --- a/docs/case/combo/static_combo.md +++ /dev/null @@ -1,58 +0,0 @@ -# bi.static_combo - -## 单选combo,trigger显示项不会改变 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/kn64gfzn/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.static_combo", - element: "#wrapper", - text: "Value 不变", - items: [{ - text: "1", - value: 1 - }, { - text: "2", - value: 2 - }, { - text: "3", - value: 3 - }] - }); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| height | 高度 | number | — | 24 -| el | 自定义下拉框trigger| object | —|{ } | -| items | 子组件 | array | — | [ ] -| text | 文本内容 | string | — | " " | -| chooseType | 选择类型 | const |参考button_group | BI.ButtonGroup.CHOOSE_TYPE_SINGLE | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setValue| 设置value值|—| -| getValue| 获取value值|—| -| populate | 刷新列表 | items | - - - - - ---- - - diff --git a/docs/case/combo/text_value_check_combo.md b/docs/case/combo/text_value_check_combo.md deleted file mode 100644 index 8d31116bdf..0000000000 --- a/docs/case/combo/text_value_check_combo.md +++ /dev/null @@ -1,36 +0,0 @@ -# text_value_check_combo - -## 下拉列表项带√的TextValueCombo,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/4dm7uu7w/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.text_value_check_combo", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新combo | items | - - - ---- \ No newline at end of file diff --git a/docs/case/combo/text_value_combo.md b/docs/case/combo/text_value_combo.md deleted file mode 100644 index 0111637b7f..0000000000 --- a/docs/case/combo/text_value_combo.md +++ /dev/null @@ -1,58 +0,0 @@ -# bi.text_value_combo - -## 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/hcf0kd9m/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.text_value_combo", - element: "#wrapper", - text: "value_combo", - width: 300, - items: [{ - text: "1", - value: 1 - }, { - text: "2", - value: 2 - }, { - text: "3", - value: 3 - }] -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| height | 高度 | number | — | 30 -| el | 自定义下拉框trigger| object |—|{ } | -| text | 文本内容 | string | — | " " | -| chooseType | 选择类型 | const |参考button_group | BI.ButtonGroup.CHOOSE_TYPE_SINGLE | - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setValue| 设置value值|—| -| getValue| 获取value值|—| -| populate | 刷新列表 | items | - - - - - ---- - - diff --git a/docs/case/combo/text_value_down_list_combo.md b/docs/case/combo/text_value_down_list_combo.md deleted file mode 100644 index 733435fc59..0000000000 --- a/docs/case/combo/text_value_down_list_combo.md +++ /dev/null @@ -1,65 +0,0 @@ -# bi.text_value_down_list_combo - -## 有二级下拉菜单的combo 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/xtxmfgx1/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.text_value_down_list_combo", - element: "#wrapper", - text: "text", - items: [ - [{ - el: { - text: "1", - value: 1 - }, - children: [{ - text: "11", - value: 11 - }] - }], - [{ - text: "2", - value: 2 - }, { - text: "3", - value: 3 - }] - ] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| height | 高度 | number | — | 30 -| text | 文本内容 | string | — | " " | - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setValue| 设置value值|—| -| getValue| 获取value值|—| -| populate | 刷新列表 | items | - - - - - ---- - - diff --git a/docs/case/complex_canvas.md b/docs/case/complex_canvas.md deleted file mode 100644 index 8a358a502b..0000000000 --- a/docs/case/complex_canvas.md +++ /dev/null @@ -1,37 +0,0 @@ -# complex_canvas - -## 复杂的canvas绘图 - -{% method %} -[source](https://jsfiddle.net/fineui/psozjkgn/) - -{% common %} -```javascript - -var canvas = BI.createWidget({ - type: "bi.complex_canvas", - width: 500, - height: 600 - }); -canvas.branch(55, 100, 10, 10, 100, 10, 200, 10, { - offset: 20, - strokeStyle: "red", - lineWidth: 2 - }); - -canvas.stroke(); - - -``` - -{% endmethod %} - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| branch | 绘制树枝节点| (x0, y0, x1, y1, x2, y2) (以x0, y0为根节点,分支到x1,y1, x2,y2...)| -| stroke | 绘制 | | - ---- - - diff --git a/docs/case/editor/shelter_editor.md b/docs/case/editor/shelter_editor.md deleted file mode 100644 index 58e28c3729..0000000000 --- a/docs/case/editor/shelter_editor.md +++ /dev/null @@ -1,93 +0,0 @@ -# bi.shelter_editor - -## 带标记的文本框,需手动控制进入编辑状态 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/9Lbx6kga/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.shelter_editor", - cls: "bi-border", - width: 300, - watermark: "这个是带标记的" -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | — | 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| validationChecker | 输入较验函数 |function| — | — | -| quitChecker | 是否允许退出编辑函数 | function | — | — | -| allowBlank | 是否允许空值 | boolean | true,false | true | -| watermark | 文本框placeholder | string | — | " " | -| errorText | 错误提示 | string/function | —| " "| -| height| 高度| number |— | 30| -| textAlign| 对齐方式 | string |left,center,right |"left"| - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setErrorText | 设置错误文本 | text | -| getErrorText | 获取错误文本 | —| -| focus | 文本框获取焦点| — | -| blur | 文本框失焦|—| -| onKeyDown |按键事件|key| -| setValue | 设置文本框值|value| -| getLastValidValue | 获取文本框最后一次输入的有效值| —| -| setTextStyle| 设置文本框样式| style | -| getValue | 获取文本框值|—| -| isEditing | 文本框是否处于编辑状态|—| -| isValid | 文本框值是否有效|—| -| doRedMark | 文本标红 | — | -| unRedMark | 取消文本标红| —| -| doHighLight | 文本高亮 | —| -| unHighLight | 取消文本高亮 | —| -| setTitle| 设置title | title| -| setWarningTitle| 设置错误title | title | -| setState | 设置文本框值 |— -| getState | 获取文本框值 | — - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.Editor.EVENT_CHANGE | editor的value发生改变触发 | -|BI.Editor.EVENT_FOCUS | focus事件 | -|BI.Editor.EVENT_BLUR | blur事件 | -|BI.Editor.EVENT_CLICK | 点击编辑框触发(不在编辑状态时) | -|BI.Editor.EVENT_KEY_DOWN | keyDown时触发 | -|BI.Editor.EVENT_SPACE | 按下空格触发 | -|BI.Editor.EVENT_BACKSPACE | 按下Backspace触发 | -|BI.Editor.EVENT_START | 开始输入触发 | -|BI.Editor.EVENT_PAUSE | 暂停输入触发(输入空白字符) | -|BI.Editor.EVENT_STOP | 停止输入触发 | -|BI.Editor.EVENT_CONFIRM | 确定输入触发(blur时且输入值有效) | -|BI.Editor.EVENT_VALID | 输入值有效的状态事件 | -|BI.Editor.EVENT_ERROR | 输入值无效的状态事件 | -|BI.Editor.EVENT_ENTER | 回车事件 | -|BI.Editor.EVENT_RESTRICT | 回车但是值不合法 | -|BI.Editor.EVENT_REMOVE | 输入为空时按下backspace | -|BI.Editor.EVENT_EMPTY | 输入框为空时触发 | - - - - ---- - - diff --git a/docs/case/editor/sign_editor.md b/docs/case/editor/sign_editor.md deleted file mode 100644 index 11dffc2e0d..0000000000 --- a/docs/case/editor/sign_editor.md +++ /dev/null @@ -1,91 +0,0 @@ -# bi.sign_editor - -## 带标记的文本框,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/tmdedu5t/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.sign_editor", - cls:"layout-bg5", - value: "123", - text: "456", - width: 300 -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | —| 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| validationChecker | 输入较验函数 |function| — | — | -| quitChecker | 是否允许退出编辑函数 | function | — | — | -| allowBlank | 是否允许空值 | boolean | true,false | true | -| watermark | 文本框placeholder | string | — | " " | -| errorText | 错误提示 | string/function | —| " "| -| height| 高度| number |— | 30| - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setErrorText | 设置错误文本 | text | -| getErrorText | 获取错误文本 | —| -| focus | 文本框获取焦点| — | -| blur | 文本框失焦|—| -| setValue | 设置文本框值|value| -| getLastValidValue | 获取文本框最后一次输入的有效值| —| -| getValue | 获取文本框值|—| -| isEditing | 文本框是否处于编辑状态|—| -| isValid | 文本框值是否有效|—| -| doRedMark | 文本标红 | — | -| unRedMark | 取消文本标红| —| -| doHighLight | 文本高亮 | —| -| unHighLight | 取消文本高亮 | —| -| setTitle| 设置title | title| -| setWarningTitle| 设置错误title | title | -| setState | 设置文本框值 |— -| getState | 获取文本框值 | — - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.Editor.EVENT_CHANGE | editor的value发生改变触发 | -|BI.Editor.EVENT_FOCUS | focus事件 | -|BI.Editor.EVENT_BLUR | blur事件 | -|BI.Editor.EVENT_CLICK | 点击编辑框触发(不在编辑状态时) | -|BI.Editor.EVENT_KEY_DOWN | keyDown时触发 | -|BI.Editor.EVENT_SPACE | 按下空格触发 | -|BI.Editor.EVENT_BACKSPACE | 按下Backspace触发 | -|BI.Editor.EVENT_START | 开始输入触发 | -|BI.Editor.EVENT_PAUSE | 暂停输入触发(输入空白字符) | -|BI.Editor.EVENT_STOP | 停止输入触发 | -|BI.Editor.EVENT_CONFIRM | 确定输入触发(blur时且输入值有效) | -|BI.Editor.EVENT_VALID | 输入值有效的状态事件 | -|BI.Editor.EVENT_ERROR | 输入值无效的状态事件 | -|BI.Editor.EVENT_ENTER | 回车事件 | -|BI.Editor.EVENT_RESTRICT | 回车但是值不合法 | -|BI.Editor.EVENT_REMOVE | 输入为空时按下backspace | -|BI.Editor.EVENT_EMPTY | 输入框为空时触发 | - - - - ---- - - diff --git a/docs/case/editor/sign_initial_editor.md b/docs/case/editor/sign_initial_editor.md deleted file mode 100644 index c08af2c657..0000000000 --- a/docs/case/editor/sign_initial_editor.md +++ /dev/null @@ -1,92 +0,0 @@ -# bi.sign_initial_editor - -## 指定初始值 之后初始值会一直显示的editor 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/9vjghevp/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.sign_initial_editor", - cls: "layout-bg5", - text: "原始值", - width: 300 -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | — | 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | —| 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | | 0 | -| validationChecker | 输入较验函数 |function| — | — | -| quitChecker | 是否允许退出编辑函数 | function | — | — | -| allowBlank | 是否允许空值 | boolean | true,false | true | -| watermark | 文本框placeholder | string | — | " " | -| errorText | 错误提示 | string/function | —| " "| -| height| 高度| number |— | 30| -| text | 文本内容 | string | —| " " | -| value | 文本value值 | string | — | " " | - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setErrorText | 设置错误文本 | text | -| getErrorText | 获取错误文本 | —| -| focus | 文本框获取焦点| — | -| blur | 文本框失焦|—| -| setValue | 设置文本框值|value| -| getLastValidValue | 获取文本框最后一次输入的有效值| —| -| getValue | 获取文本框值|—| -| isEditing | 文本框是否处于编辑状态|—| -| isValid | 文本框值是否有效|—| -| doRedMark | 文本标红 | — | -| unRedMark | 取消文本标红| —| -| doHighLight | 文本高亮 | —| -| unHighLight | 取消文本高亮 | —| -| setTitle| 设置title | title| -| setWarningTitle| 设置错误title | title | -| setState | 设置文本框值 |— -| getState | 获取文本框值 | — - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.Editor.EVENT_CHANGE | editor的value发生改变触发 | -|BI.Editor.EVENT_FOCUS | focus事件 | -|BI.Editor.EVENT_BLUR | blur事件 | -|BI.Editor.EVENT_CLICK | 点击编辑框触发(不在编辑状态时) | -|BI.Editor.EVENT_KEY_DOWN | keyDown时触发 | -|BI.Editor.EVENT_SPACE | 按下空格触发 | -|BI.Editor.EVENT_BACKSPACE | 按下Backspace触发 | -|BI.Editor.EVENT_START | 开始输入触发 | -|BI.Editor.EVENT_PAUSE | 暂停输入触发(输入空白字符) | -|BI.Editor.EVENT_STOP | 停止输入触发 | -|BI.Editor.EVENT_CONFIRM | 确定输入触发(blur时且输入值有效) | -|BI.Editor.EVENT_VALID | 输入值有效的状态事件 | -|BI.Editor.EVENT_ERROR | 输入值无效的状态事件 | -|BI.Editor.EVENT_ENTER | 回车事件 | -|BI.Editor.EVENT_RESTRICT | 回车但是值不合法 | -|BI.Editor.EVENT_REMOVE | 输入为空时按下backspace | -|BI.Editor.EVENT_EMPTY | 输入框为空时触发 | - - - - ---- - - diff --git a/docs/case/editor/simple_state_editor.md b/docs/case/editor/simple_state_editor.md deleted file mode 100644 index bb441b9cec..0000000000 --- a/docs/case/editor/simple_state_editor.md +++ /dev/null @@ -1,35 +0,0 @@ -# simple_state_editor - -## 无限制-已选择状态输入框,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/2go0L3h4/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.simple_state_editor" -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| stateState | 设置state | string | - - - ---- diff --git a/docs/case/editor/state_editor.md b/docs/case/editor/state_editor.md deleted file mode 100644 index 364a5cc0d0..0000000000 --- a/docs/case/editor/state_editor.md +++ /dev/null @@ -1,89 +0,0 @@ -# bi.state_editor - -## 记录状态的输入框,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/p68bwkmv/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.state_editor", - value: "123", - text: "456", - width: 300 -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | — | 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | —| 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| validationChecker | 输入较验函数 |function| — | — | -| quitChecker | 是否允许退出编辑函数 | function |— | — | -| allowBlank | 是否允许空值 | boolean | true,false | true | -| watermark | 文本框placeholder | string | —| " " | -| errorText | 错误提示 | string/function |— | " "| -| height| 高度| number |— | 30| - - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setErrorText | 设置错误文本 | text | -| getErrorText | 获取错误文本 | —| -| focus | 文本框获取焦点| — | -| blur | 文本框失焦|—| -| setValue | 设置文本框值|value| -| getLastValidValue | 获取文本框最后一次输入的有效值| —| -| getValue | 获取文本框值|—| -| isEditing | 文本框是否处于编辑状态|—| -| isValid | 文本框值是否有效|—| -| doRedMark | 文本标红 | — | -| unRedMark | 取消文本标红| —| -| doHighLight | 文本高亮 | —| -| unHighLight | 取消文本高亮 | —| -| setState | 设置文本框值 |— -| getState | 获取文本框值 | — - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.Editor.EVENT_CHANGE | editor的value发生改变触发 | -|BI.Editor.EVENT_FOCUS | focus事件 | -|BI.Editor.EVENT_BLUR | blur事件 | -|BI.Editor.EVENT_CLICK | 点击编辑框触发(不在编辑状态时) | -|BI.Editor.EVENT_KEY_DOWN | keyDown时触发 | -|BI.Editor.EVENT_SPACE | 按下空格触发 | -|BI.Editor.EVENT_BACKSPACE | 按下Backspace触发 | -|BI.Editor.EVENT_START | 开始输入触发 | -|BI.Editor.EVENT_PAUSE | 暂停输入触发(输入空白字符) | -|BI.Editor.EVENT_STOP | 停止输入触发 | -|BI.Editor.EVENT_CONFIRM | 确定输入触发(blur时且输入值有效) | -|BI.Editor.EVENT_VALID | 输入值有效的状态事件 | -|BI.Editor.EVENT_ERROR | 输入值无效的状态事件 | -|BI.Editor.EVENT_ENTER | 回车事件 | -|BI.Editor.EVENT_RESTRICT | 回车但是值不合法 | -|BI.Editor.EVENT_REMOVE | 输入为空时按下backspace | -|BI.Editor.EVENT_EMPTY | 输入框为空时触发 | - - - - ---- - - diff --git a/docs/case/layer/layer_panel.md b/docs/case/layer/layer_panel.md deleted file mode 100644 index 8e34ca2f27..0000000000 --- a/docs/case/layer/layer_panel.md +++ /dev/null @@ -1,69 +0,0 @@ -# bi.popup_panel - -## 可以理解为MultiPopupView和Panel两个面板的结合体,基类[BI.MultiPopupView](case/layer/multi_popup_layer.md) - -{% method %} -[source](https://jsfiddle.net/fineui/zhnqvera/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.popup_panel", - title: "测试", - width: 300 -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| title | 标题 | string | — | " " - - - - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| prependItems | 内部前插入 | items | -| addItems | 内部后插入 | items | -| removeItemAt | 移除指定索引处的item | indexs | -| populate | 刷新列表 | items | -| setNotSelectedValue| 设置未被选中的值 | value,可以是单个值也可以是个数组| -| setValue | 设置value值 | value,可以是单个值也可以是个数组 | -| getNotSelectedValue | 获取没有被选中的值 | —| -| getValue | 获取被选中的值 |—| -| getAllButtons | 获取所有button |—| -| getAllLeaves | 获取所有的叶子节点 | —| -| getSelectedButtons | 获取所有被选中的元素 | —| -| getNotSelectedButtons | 获取所有未被选中的元素 | —| -| getIndexByValue | 根据value值获取value在数组中的索引 | value| -| getNodeById | 根据id获取节点 | id | -| getNodeByValue | 根据value值获取节点 | value | -| empty| 清空组件|—| -| hasPrev| 是否有上一页|—| -| hasNext | 是否有下一页 | — - - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.PopupPanel.EVENT_CHANGE | panel的value发生改变触发 | -| BI.PopupPanel.EVENT_CLOSE | panel的关闭事件 -| BI.PopupPanel.EVENT_CLICK_TOOLBAR_BUTTON | 点击工具栏事件 - - - - ---- - - diff --git a/docs/case/layer/multi_popup_layer.md b/docs/case/layer/multi_popup_layer.md deleted file mode 100644 index dfe6b7f26e..0000000000 --- a/docs/case/layer/multi_popup_layer.md +++ /dev/null @@ -1,34 +0,0 @@ -# bi.multi_popup_view - -## 下拉框弹出层的多选版本,toolbar带有若干按钮, zIndex在1000w,基类[BI.MultiPopupView](case/layer/multi_popup_layer.md) - -{% method %} -[source](https://jsfiddle.net/fineui/8of9a7cy/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.multi_popup_view", - width: 300 -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| buttons | 按钮组 |array | — | BI.i18nText("BI-Basic_Sure") - - - - - ---- - - diff --git a/docs/case/layer/pane_list.md b/docs/case/layer/pane_list.md deleted file mode 100644 index 81496a9c4f..0000000000 --- a/docs/case/layer/pane_list.md +++ /dev/null @@ -1,73 +0,0 @@ -# bi.list_pane - -## list面板,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/7Lv8q9p9/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.list_pane', - element: "#wrapper", - cls: "bi-border", - items: [] -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| items | 列表 | array | — | [ ] -| itemsCreator | 列表创建器| function | — | — -| hasNext | 是否有下一页 | function | —| — -| onLoad | 正在加载 | function | —| — -| el | 开启panel的元素 | object | —|{type: "bi.button_group" }| -| logic | 布局逻辑 | object |— | { dynamic:true} -| hgap | 效果相当于容器左右padding值 | number | — | 0 | -| vgap | 效果相当于容器上下padding值 | number | —| 0 | -| lgap | 效果相当于容器left-padding值 | number | —| 0 | -| rgap | 效果相当于容器right-padding值 | number | — | 0 | -| tgap | 效果相当于容器top-padding值 | number | — | 0 | -| bgap | 效果相当于容器bottom-padding值 | number | — | 0 | - - - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| prependItems | 内部前插入 | items | -| addItems | 内部后插入 | items | -| removeItemAt | 移除指定索引处的item | indexs | -| populate | 刷新列表 | items | -| setNotSelectedValue| 设置未被选中的值 | value,可以是单个值也可以是个数组| -| setValue | 设置value值 | value,可以是单个值也可以是个数组 | -| getNotSelectedValue | 获取没有被选中的值 | —| -| getValue | 获取被选中的值 |—| -| getAllButtons | 获取所有button |—| -| getAllLeaves | 获取所有的叶子节点 | —| -| getSelectedButtons | 获取所有被选中的元素 | —| -| getNotSelectedButtons | 获取所有未被选中的元素 | —| -| getIndexByValue | 根据value值获取value在数组中的索引 | value| -| getNodeById | 根据id获取节点 | id | -| getNodeByValue | 根据value值获取节点 | value | -| hasPrev| 是否有上一页|—| -| hasNext | 是否有下一页 | — - - - - - - ---- - - diff --git a/docs/case/layer/panel.md b/docs/case/layer/panel.md deleted file mode 100644 index 4eb7392848..0000000000 --- a/docs/case/layer/panel.md +++ /dev/null @@ -1,54 +0,0 @@ -# bi.panel - -## 带有标题栏的panel,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/3m1q3857/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.panel", - title: "标题", - titleButtons: [{ - type: "bi.button", - text: "+" - }], - el: this.button_group, - logic: { - dynamic: true - } -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| title | 标题 | string | — | " " -| titleButton | 标题后的按钮组 | array | —| [ ] -| el | 开启panel的元素 | object | —|{ }| -| logic | 布局逻辑 | object |— | { dynamic:false} - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setTitle |设置标题| title - - - - - ---- - - diff --git a/docs/case/list/list.select.md b/docs/case/list/list.select.md deleted file mode 100644 index 00a4fe7f82..0000000000 --- a/docs/case/list/list.select.md +++ /dev/null @@ -1,58 +0,0 @@ -# bi.select_list - -### 选择列表 - -{% method %} -[source](https://jsfiddle.net/fineui/c3azpxss/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.select_list", - items: [{ - text: '1', - }, { - text: '2', - }] -}); - -``` - -{% endmethod %} - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | --------------- | -------- | ---------------- | -| direction | toolbar位置 | string | BI.Direction.Top | -| onLoaded | 加载完成的回调(测试了无效果) | function | BI.emptyFn | -| items | 子项 | array | [] | -| itemsCreator | 元素创造器 | function | BI.emptyFn | - -### 方法 - -| 方法名 | 说明 | 参数 | -| --------------------- | ------------- | ------- | -| setAllSelected | 设置全选 | v: boolean | -| setToolBarVisible | 设置toolbar是否可见 | b: boolean | -| isAllSelected | 是否全选中 | — | -| hasPrev | 是否有上一页 | — | -| hasNext | 是否有下一页 | — | -| prependItems | 列表最前添加元素 | items | -| addItems | 列表最后添加元素 | items | -| setValue | 设置值 | data | -| getVlaue | 获得值 | — | -| populate | 替换内容 | items | -| resetHeight | 重新设置高度 | h | -| setNotSelectedValue | 设置未选中值 | — | -| getNotSelectedValue | 获取未选中植 | — | -| getAllButtons | 获得所以根节点 | — | -| getAllLeaves | 获得所有叶节点 | — | -| getSelectedButtons | 获取选中的根节点 | — | -| getNotSelectedButtons | 获取未选中的根节点 | — | -| getIndexByValue | 根据值获取索引 | value | -| getNodeById | 根据id获取node | id | -| getNodeByValue | 根据值获取node | value | - ------- \ No newline at end of file diff --git a/docs/case/loader/lazy_loader.md b/docs/case/loader/lazy_loader.md deleted file mode 100644 index 90c8de2c35..0000000000 --- a/docs/case/loader/lazy_loader.md +++ /dev/null @@ -1,42 +0,0 @@ -# bi.lazy_loader - -### 懒加载loader - -{% method %} -[source](https://jsfiddle.net/fineui/n710yphc/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.lazy_loader", - width: 100, - element: 'body', - items: items, -}); - -``` - -{% endmethod %} - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| --------------------- | ---------- | ----- | -| addItems | 列表最后添加元素 | items | -| setValue | 设置值 | data | -| getValue | 获得值 | — | -| populate | 替换内容 | items | -| setNotSelectedValue | 设置未选中值 | — | -| getNotSelectedValue | 获取未选中植 | — | -| getAllButtons | 获得所以根节点 | — | -| getAllLeaves | 获得所有叶节点 | — | -| getSelectedButtons | 获取选中的根节点 | — | -| getNotSelectedButtons | 获取未选中的根节点 | — | -| getIndexByValue | 根据值获取索引 | value | -| getNodeById | 根据id获取node | id | -| getNodeByValue | 根据值获取node | value | - ------- \ No newline at end of file diff --git a/docs/case/loader/list_loader.md b/docs/case/loader/list_loader.md deleted file mode 100644 index 731b82a9f9..0000000000 --- a/docs/case/loader/list_loader.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.list_loader - -### 为解决排序问题引入的控件 - -{% method %} -[source](https://jsfiddle.net/fineui/8wa7rvcd/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.list_loader", - width: 100, - element: 'body', - items: items, -}); - -``` - -{% endmethod %} - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | ------ | -------- | ---------- | -| count | 分页计数 | number | false | -| next | | object | {} | -| hasNext | 是否有下一页 | function | BI.emptyFn | -| items | 子项 | array | [] | -| itemsCreator | 元素创造器 | function | BI.emptyFn | -| onLoaded | 加载完成回调 | function | BI.emptyFn | - -### 方法 - -| 方法名 | 说明 | 参数 | -| --------------------- | ---------- | ----- | -| hasNext | 是否有下一页 | — | -| addItems | 列表最后添加元素 | items | -| setValue | 设置值 | data | -| getVlaue | 获得值 | — | -| populate | 替换内容 | items | -| resetHeight | 重新设置高度 | h | -| setNotSelectedValue | 设置未选中值 | — | -| getNotSelectedValue | 获取未选中植 | — | -| getAllButtons | 获得所以根节点 | — | -| getAllLeaves | 获得所有叶节点 | — | -| getSelectedButtons | 获取选中的根节点 | — | -| getNotSelectedButtons | 获取未选中的根节点 | — | -| getIndexByValue | 根据值获取索引 | value | -| getNodeById | 根据id获取node | id | -| getNodeByValue | 根据值获取node | value | - ------- \ No newline at end of file diff --git a/docs/case/loader/sort_list.md b/docs/case/loader/sort_list.md deleted file mode 100644 index 51fd632e0c..0000000000 --- a/docs/case/loader/sort_list.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.sort_list - -### 排序列表 - -{% method %} -[source](https://jsfiddle.net/fineui/wj68tdvx/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.sort_list", - width: 100, - element: 'body', - items: items, -}); - -``` - -{% endmethod %} - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | ------ | -------- | ---------- | -| count | 分页计数 | number | false | -| next | | object | {} | -| hasNext | 是否有下一页 | function | BI.emptyFn | -| items | 子项 | array | [] | -| itemsCreator | 元素创造器 | function | BI.emptyFn | -| onLoaded | 加载完成回调 | function | BI.emptyFn | - -### 方法 - -| 方法名 | 说明 | 参数 | -| --------------------- | ---------- | ----- | -| hasNext | 是否有下一页 | — | -| addItems | 列表最后添加元素 | items | -| setValue | 设置值 | data | -| getVlaue | 获得值 | — | -| populate | 替换内容 | items | -| resetHeight | 重新设置高度 | h | -| setNotSelectedValue | 设置未选中值 | — | -| getNotSelectedValue | 获取未选中植 | — | -| getAllButtons | 获得所以根节点 | — | -| getAllLeaves | 获得所有叶节点 | — | -| getSelectedButtons | 获取选中的根节点 | — | -| getNotSelectedButtons | 获取未选中的根节点 | — | -| getIndexByValue | 根据值获取索引 | value | -| getNodeById | 根据id获取node | id | -| getNodeByValue | 根据值获取node | value | - ------- \ No newline at end of file diff --git a/docs/case/pager/all_count_pager.md b/docs/case/pager/all_count_pager.md deleted file mode 100644 index 88a5807271..0000000000 --- a/docs/case/pager/all_count_pager.md +++ /dev/null @@ -1,48 +0,0 @@ -# bi.all_count_pager - -### 有总页数和总行数的分页控件 - -{% method %} -[source](https://jsfiddle.net/fineui/cmtamo5L/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.all_count_pager', - height: 30, - pages: 10, //必选项 - curr: 1, - count: 1, -}); - -``` - -{% endmethod %} - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ------ | ---- | ------ | ---- | -| height | 控件高度 | number | 30 | -| pages | 总页数 | number | 1 | -| curr | 当前页 | number | 1 | -| count | 总行数 | number | 1 | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| --------------- | -------- | ---------- | -| setAllPages | 设置总页数 | v | -| setValue | 设置当前页码 | v | -| setVPage | 设置当前页码 | v | -| setCount | 设置计数 | count | -| getCurrentPage | 获取当前页码 | — | -| hasPrev | 是否有前一页 | — | -| hasNext | 是否有后一页 | — | -| setPagerVisible | 设置页码是否可见 | true/false | -| populate | 清空内容 | — | - ------- \ No newline at end of file diff --git a/docs/case/pager/direction_pager.md b/docs/case/pager/direction_pager.md deleted file mode 100644 index 636fd69313..0000000000 --- a/docs/case/pager/direction_pager.md +++ /dev/null @@ -1,65 +0,0 @@ -# bi.direction_pager - -### 显示页码的分页控件 - -{% method %} -[source](https://jsfiddle.net/fineui/vyc36s2a/) - -{% common %} -```javascript - -var pager = BI.createWidget({ - type: 'bi.direction_pager', - height: 30, - horizontal: { - pages: 10, //必选项 - curr: 1, //初始化当前页, pages为数字时可用, - firstPage: 1, - lastPage: 10, - }, - vertical: { - pages: 10, //必选项 - curr: 1, //初始化当前页, pages为数字时可用, - firstPage: 1, - lastPage: 10, - }, - element: 'body', -}); - -``` - -{% endmethod %} - -### 参数 - -| 参数 | 二级参数 | 说明 | 类型 | 默认值 | -| ---------- | --------- | ---------------------- | --------------- | ---------- | -| height | | 控件高度 | number | 30 | -| horizontal | | 横向翻页设置 | object | — | -| | pages | 总页数 | number/boolean | false | -| | curr | 当前页, pages为数字时可用 | number | 1 | -| | hasPrev | 判断是否有前一页的方法 | function | BI.emptyFn | -| | hasNext | 判断是否有后一页的方法 | function | BI.emptyFn | -| | firstPage | 第一页 | number | 1 | -| | lastPage | 最后一页 | number/function | BI.emptyFn | -| vertical | | 纵向翻页设置,参数与horizontal相同 | object | — | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| ---------------- | ---------- | ---- | -| getVPage | 获取纵向页码 | — | -| getHPage | 获取水平向页码 | — | -| setVPage | 获取纵向页码 | v | -| setHPage | 获取水平向页码 | v | -| hasVNext | 纵向坐标是否有下一页 | — | -| hasHNext | 横向坐标是否有下一页 | — | -| hasVPrev | 纵向坐标是否有上一页 | — | -| hasHPrev | 横向坐标是否有上一页 | — | -| setHPagerVisible | 设置横向分页键可见 | — | -| setVPagerVisible | 设置纵向分页键可见 | — | -| populate | 清空内容 | — | - ------- \ No newline at end of file diff --git a/docs/case/segment.md b/docs/case/segment.md deleted file mode 100644 index 0a8164faa6..0000000000 --- a/docs/case/segment.md +++ /dev/null @@ -1,58 +0,0 @@ -# bi.sgement - -## 各种segment - -{% method %} -[source](https://jsfiddle.net/fineui/7skvd64L/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.vertical", - element: "#wrapper", - items: [{ - type: "bi.label", - height: 30, - text: "默认风格" - }, { - type: "bi.segment", - items: [{ - text: "tab1", - value: 1, - selected: true - }, { - text: "tab2", - value: 2 - }, { - text: "tab3 disabled", - disabled: true, - value: 3 - }] - }], - hgap: 50, - vgap: 20 -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 10 | -| vgap | 效果相当于文本框上下padding值 | number | — | 0 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| items | 子控件数组 | array |— | [ ] | -| width | 宽度 | number | — | — | -| height | 高度 | number | — | — | - - ---- - - diff --git a/docs/case/shelter_editor.md b/docs/case/shelter_editor.md deleted file mode 100644 index 1b1e4fef31..0000000000 --- a/docs/case/shelter_editor.md +++ /dev/null @@ -1,2 +0,0 @@ -# clipboard - diff --git a/docs/case/table/adaptive_table.md b/docs/case/table/adaptive_table.md deleted file mode 100644 index 995c10ad86..0000000000 --- a/docs/case/table/adaptive_table.md +++ /dev/null @@ -1,68 +0,0 @@ -# bi.adaptive_table - -### 自适应宽度的表格 - -{% method %} -[source](https://jsfiddle.net/fineui/pbgnjeg0/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.adaptive_table", - element: 'body', - width: 600, - height: 500, - isResizeAdapt: true, - isNeedResize: true, - isNeedFreeze: true, - freezeCols: [0, 1], - columnSize: [50,50,200,250,400], - header: [], - items: [], -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ---------------- | ------------- | -------------------- | ----------------- | -| isNeedResize | 是否可改变列大小 | boolean | true | -| isNeedFreeze | 是否需要冻结表头 | boolean | false | -| freezeCols | 冻结的列 | array | [] | -| isNeedMerge | 是否需要合并单元格 | boolean | false | -| mergeCols | 合并的单元格列号 | array | [] | -| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | -| columnSize | 单元格宽度集合 | array | [] | -| minColumnSize | 最小列宽 | array | [] | -| maxColumnSize | 最大列宽 | array | [] | -| headerRowSize | 表头高度 | number | 25 | -| rowSize | 普通单元格高度 | number | 25 | -| regionColumnSize | 列项间的 | array | [] | -| header | 表头 | array | [] | -| items | 子组件 | array | [] | -| crossHeader | 交叉表头 | array | [] | -| crossItems | 交叉项 | array | [] | - - - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------------------ | ----------- | ------------------ | -| setWidth | 设置宽度 | width: 宽度 | -| setHeight | 设置高度 | height: 高度 | -| setColumnSize | 设置列宽 | columnSize: 列宽数组 | -| getColumnSize | 得到列宽 | — | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize: 列宽数组 | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop: 纵向滚动距离 | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft: 横向滚动距离 | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft: 横向滚动距离 | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| attr | 设置属性 | key: 键 value: 值 | -| restore | 存储 | — | -| populate | 增加项 | items: array | - ------- \ No newline at end of file diff --git a/docs/case/table/layer_tree_table.md b/docs/case/table/layer_tree_table.md deleted file mode 100644 index cdb79a4277..0000000000 --- a/docs/case/table/layer_tree_table.md +++ /dev/null @@ -1,71 +0,0 @@ -# bi.layer_tree_table - -### 层级树状结构的表格 - -{% method %} -[source](https://jsfiddle.net/fineui/pqyuLoay/) - -{% common %} -```javascript -var table = BI.createWidget({ - type: "bi.layer_tree_table", - width: 600, - height: 400, - columnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100], - minColumnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100], - header: header, - items: items, - crossHeader: crossHeader, - crossItems: crossItems, - element: 'body', -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ----------------------- | ------------------------ | -------------------- | ----------------- | -| isNeedResize | 是否需要调整列宽 | boolean | false | -| isResizeAdapt | 是否需要在调整列宽或区域宽度的时候它们自适应变化 | boolean | true | -| isNeedFreeze | 是否需要冻结表头 | boolean | false | -| freezeCols | 冻结的列 | array | [] | -| isNeedMerge | 是否需要合并单元格 | boolean | false | -| mergeCols | 合并的单元格列号 | array | [] | -| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | -| columnSize | 单元格宽度集合 | array | [] | -| minColumnSize | 最小列宽 | array | [] | -| maxColumnSize | 最大列宽 | array | [] | -| headerRowSize | 表头高度 | number | 25 | -| headerCellStyleGetter | | function | BI.emptyFn | -| summaryCellStyleGetter | | function | BI.emptyFn | -| sequenceCellStyleGetter | | function | BI.emptyFn | -| rowSize | 普通单元格高度 | number | 25 | -| regionColumnSize | 列项间的 | array | [] | -| header | 表头 | array | [] | -| items | 子组件 | array | [] | -| crossHeader | 交叉表头 | array | [] | -| crossItems | 交叉项 | array | [] | - - - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------------------ | ----------- | ------------------ | -| setWidth | 设置宽度 | width: 宽度 | -| setHeight | 设置高度 | height: 高度 | -| setColumnSize | 设置列宽 | columnSize: 列宽数组 | -| getColumnSize | 得到列宽 | — | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize: 列宽数组 | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop: 纵向滚动距离 | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft: 横向滚动距离 | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft: 横向滚动距离 | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| attr | 设置属性 | key: 键 value: 值 | -| restore | 存储 | — | -| populate | 增加项 | items: array | - ------- \ No newline at end of file diff --git a/docs/case/table/tree_table.md b/docs/case/table/tree_table.md deleted file mode 100644 index f05b8bee3c..0000000000 --- a/docs/case/table/tree_table.md +++ /dev/null @@ -1,72 +0,0 @@ -# bi.tree_table - -### 树状结构的表格 - -{% method %} -[source](https://jsfiddle.net/fineui/a0m21ozk/) - -{% common %} -```javascript -var table = BI.createWidget({ - type: "bi.tree_table", - width: 600, - height: 400, - columnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100], - minColumnSize: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100], - header: header, - items: items, - crossHeader: crossHeader, - crossItems: crossItems, - element: 'body', -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ----------------------- | ------------------------ | -------------------- | ----------------- | -| isNeedResize | 是否需要调整列宽 | boolean | false | -| isResizeAdapt | 是否需要在调整列宽或区域宽度的时候它们自适应变化 | boolean | true | -| isNeedFreeze | 是否需要冻结表头 | boolean | false | -| freezeCols | 冻结的列 | array | [] | -| isNeedMerge | 是否需要合并单元格 | boolean | false | -| mergeCols | 合并的单元格列号 | array | [] | -| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | -| columnSize | 单元格宽度集合 | array | [] | -| minColumnSize | 最小列宽 | array | [] | -| maxColumnSize | 最大列宽 | array | [] | -| headerRowSize | 表头高度 | number | 25 | -| headerCellStyleGetter | | function | BI.emptyFn | -| summaryCellStyleGetter | | function | BI.emptyFn | -| sequenceCellStyleGetter | | function | BI.emptyFn | -| rowSize | 普通单元格高度 | number | 25 | -| regionColumnSize | 列项间的 | array | [] | -| header | 表头 | array | [] | -| items | 子组件 | array | [] | -| crossHeader | 交叉表头 | array | [] | -| crossItems | 交叉项 | array | [] | - - - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------------------ | ----------- | ------------------ | -| setWidth | 设置宽度 | width: 宽度 | -| setHeight | 设置高度 | height: 高度 | -| setColumnSize | 设置列宽 | columnSize: 列宽数组 | -| getColumnSize | 得到列宽 | — | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize: 列宽数组 | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop: 纵向滚动距离 | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft: 横向滚动距离 | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft: 横向滚动距离 | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| attr | 设置属性 | key: 键 value: 值 | -| restore | 存储 | — | -| populate | 增加项 | items: array | - ------- - diff --git a/docs/case/tree/branch_relation.md b/docs/case/tree/branch_relation.md deleted file mode 100644 index 7976786946..0000000000 --- a/docs/case/tree/branch_relation.md +++ /dev/null @@ -1,41 +0,0 @@ -# bi.branch_relation - -### 表关联树 - -{% method %} -[source](https://jsfiddle.net/fineui/z5hLcruk/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.branch_relation", - element: 'body', - items: [], - direction: BI.Direction.Right, - align: BI.HorizontalAlign.Right, - centerOffset: -50 -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | ------- | ------ | -------------------- | -| centerOffset | 重心偏移量 | number | 0 | -| direction | 根节点所在方向 | string | BI.Direction.Bottom | -| align | 对齐方向 | string | BI.VerticalAlign.Top | -| items | 元素 | array | null | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ---- | ----------- | -| populate | 去掉所有内容 | items: 子项数组 | - ------- \ No newline at end of file diff --git a/docs/case/tree/branch_tree.md b/docs/case/tree/branch_tree.md deleted file mode 100644 index 76e1837051..0000000000 --- a/docs/case/tree/branch_tree.md +++ /dev/null @@ -1,44 +0,0 @@ -# bi.branch_tree -### 横向分支的树 - -{% method %} -[source](https://jsfiddle.net/fineui/mLq3e170/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.branch_tree", - element: 'body', - items: [{ - el: {}, - children: [{ - el: {}, - children: {}, - // ... - }] - }] -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| -------- | -------------------- | ------ | ---- | -| expander | branch_expander组件配置项 | object | {} | -| el | 基础元素 | object | {} | -| items | 子项 | array | [] | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ------ | ---- | -| populate | 去掉所有内容 | — | -| getValue | 获取所选项值 | — | - ------- \ No newline at end of file diff --git a/docs/case/tree/display_tree.md b/docs/case/tree/display_tree.md deleted file mode 100644 index c0978e68bc..0000000000 --- a/docs/case/tree/display_tree.md +++ /dev/null @@ -1,32 +0,0 @@ -# bi.display_tree - -### 树展示控件 - -{% method %} -[source](https://jsfiddle.net/fineui/cfL6fpa1/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.display_tree", - element: 'body', -}); - -tree.initTree({ - id: 1, - text: '', - open: true, -}); -``` - -{% endmethod %} - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ------ | ---- | -| initTree | 加载tree结构 | node: 节点数组 settings: 配置项 | - ------- - diff --git a/docs/case/tree/handstand_branch_tree.md b/docs/case/tree/handstand_branch_tree.md deleted file mode 100644 index bac0a81eb9..0000000000 --- a/docs/case/tree/handstand_branch_tree.md +++ /dev/null @@ -1,46 +0,0 @@ -# bi.handstand_branch_tree -### 纵向分支的树 - -{% method %} -[source](https://jsfiddle.net/fineui/c2kaoc7x/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.handstand_branch_tree", - element: 'body', - el: {}, - items: [{ - el: {}, - children: [{ - el: {}, - children: {}, - // ... - }] - }] -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| -------- | -------------------- | ------ | ---- | -| expander | branch_expander组件配置项 | object | {} | -| el | 基础元素 | object | {} | -| items | 子项 | array | [] | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ------ | ---- | -| populate | 去掉所有内容 | — | -| getValue | 获取所选项值 | — | - ------- - diff --git a/docs/case/tree/level_tree.md b/docs/case/tree/level_tree.md deleted file mode 100644 index e444f27e78..0000000000 --- a/docs/case/tree/level_tree.md +++ /dev/null @@ -1,43 +0,0 @@ -# bi.level_tree - -### 二级树 - -{% method %} -[source](https://jsfiddle.net/fineui/nvvkwhfo/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.level_tree", - element: 'body', - items: [], -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| -------- | ----------------- | ------ | ---- | -| expander | branch_expander配置 | object | {} | -| items | 元素 | array | [] | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------------- | -------- | ----------- | -| initTree | 构造树结构 | nodes | -| stroke | 生成树方法 | nodes | -| populate | 去掉所有内容 | items: 子项数组 | -| setValue | 设置值 | v | -| getValue | 获得值 | — | -| getAllLeaves | 获取所有叶节点 | — | -| getNodeById | 根据Id获取节点 | id | -| getNodeByValue | 根据值获取节点 | id | - ------- \ No newline at end of file diff --git a/docs/case/tree/simple_tree.md b/docs/case/tree/simple_tree.md deleted file mode 100644 index 2dafb078fe..0000000000 --- a/docs/case/tree/simple_tree.md +++ /dev/null @@ -1,39 +0,0 @@ -# bi.simple_tree - -### 简单的多选树 - -{% method %} -[source](https://jsfiddle.net/fineui/5qtobqxb/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.simple_tree", - element: 'body', -}); - -tree.populate(items); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | -------- | -------- | ---------- | -| itemsCreator | items构造器 | function | BI.emptyFn | -| items | 元素 | array | null | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ---- | ------------------------------ | -| populate | 去掉所有内容 | items: 子项数组 keywords: 关键字标红字符串 | -| setValue | 设置值 | v | -| getValue | 获得值 | — | - ------- \ No newline at end of file diff --git a/docs/case/trigger/editor_trigger.md b/docs/case/trigger/editor_trigger.md deleted file mode 100644 index fbbfe9d50a..0000000000 --- a/docs/case/trigger/editor_trigger.md +++ /dev/null @@ -1,44 +0,0 @@ -# bi.editor_trigger - -### 文本输入框trigger - -{% method %} -[source](https://jsfiddle.net/fineui/8ttm4g1u/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.editor_trigger", - element: "body", -}); - -``` - -{% endmethod %} - - - -### 参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ----------------- | ------- | -------- | ---------- | -| validationChecker | 验证函数 | function | BI.emptyFn | -| quitChecker | 退出时验证函数 | function | BI.emptyFn | -| allowBlank | 是否允许为空 | boolean | false | -| watermark | 水印 | string | "" | -| errorText | 错误信息 | string | "" | -| triggerWidth | 触发器宽度 | number | 30 | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ---- | ----- | -| setValue | 设置值 | value | -| getValue | 获得值 | — | -| setText | | text | - ------- - diff --git a/docs/case/trigger/icon_trigger.md b/docs/case/trigger/icon_trigger.md deleted file mode 100644 index e61f8cf77f..0000000000 --- a/docs/case/trigger/icon_trigger.md +++ /dev/null @@ -1,21 +0,0 @@ -# bi.icon_trigger - -### 图标按钮trigger - -{% method %} -[source](https://jsfiddle.net/fineui/qs44h1xy/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.icon_trigger", - element: "body", -}); - -``` - -{% endmethod %} - ------- - diff --git a/docs/case/trigger/select_text_trigger.md b/docs/case/trigger/select_text_trigger.md deleted file mode 100644 index 50f7efb0ed..0000000000 --- a/docs/case/trigger/select_text_trigger.md +++ /dev/null @@ -1,38 +0,0 @@ -# select_text_trigger - -选择字段trigger - -{% method %} -[source](https://jsfiddle.net/fineui/c6xpsks4/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.select_text_trigger", - text: "这是一个简单的trigger", - width: 200, - height: 30 -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新trigger选项 | items | - - - ---- diff --git a/docs/case/trigger/text_trigger.md b/docs/case/trigger/text_trigger.md deleted file mode 100644 index 52d3dc28f9..0000000000 --- a/docs/case/trigger/text_trigger.md +++ /dev/null @@ -1,28 +0,0 @@ -# bi.text_trigger - -### 文本输入框trigger - -{% method %} -[source](https://jsfiddle.net/fineui/6pz5pjp6/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.editor_trigger", - element: "body", -}); - -``` - -{% endmethod %} - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ---- | ----- | -| setValue | 设置值 | value | -| getValue | 获得值 | — | - ------- - diff --git a/docs/components/all_value_chooser_combo.md b/docs/components/all_value_chooser_combo.md deleted file mode 100644 index d06bbdec47..0000000000 --- a/docs/components/all_value_chooser_combo.md +++ /dev/null @@ -1,35 +0,0 @@ -# all_value_chooser_combo - -## 简单的复选下拉框控件, 适用于数据量少的情况,getValue返回所有值,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/q076jyfL/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.all_value_chooser_combo", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/components/tree_value_chooser_combo.md b/docs/components/tree_value_chooser_combo.md deleted file mode 100644 index ff77f34909..0000000000 --- a/docs/components/tree_value_chooser_combo.md +++ /dev/null @@ -1,35 +0,0 @@ -# tree_value_chooser_combo - -## 简单的复选下拉树控件, 适用于数据量少的情况,getValue返回所有值,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/prwxr2rb/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.tree_value_chooser_combo", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/components/tree_value_chooser_pane.md b/docs/components/tree_value_chooser_pane.md deleted file mode 100644 index a9f9e6d6b5..0000000000 --- a/docs/components/tree_value_chooser_pane.md +++ /dev/null @@ -1,35 +0,0 @@ -# tree_value_chooser_pane - -## 简单的复选下拉树面板, 适用于数据量少的情况,getValue返回所有值,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/ofhLmdkc/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.tree_value_chooser_pane", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/components/value_chooser_combo.md b/docs/components/value_chooser_combo.md deleted file mode 100644 index 3e252ba6f0..0000000000 --- a/docs/components/value_chooser_combo.md +++ /dev/null @@ -1,35 +0,0 @@ -# value_chooser_combo - -## 复选下拉框控件 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/1bsvvayt/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.value_chooser_combo", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/components/value_chooser_pane.md b/docs/components/value_chooser_pane.md deleted file mode 100644 index b42bdd138d..0000000000 --- a/docs/components/value_chooser_pane.md +++ /dev/null @@ -1,35 +0,0 @@ -# value_chooser_pane - -## 复选面板 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/ezxp578m/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.value_chooser_pane", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/core/abstract/button_group.md b/docs/core/abstract/button_group.md deleted file mode 100644 index 5604dc4564..0000000000 --- a/docs/core/abstract/button_group.md +++ /dev/null @@ -1,66 +0,0 @@ -# bi.button_group - -## 一组具有相同属性的元素集合,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/te0nLap1/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.button_group", - chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE, - layouts: [{ - type: "bi.vertical" - }], - items: [{ - el: { - type: "bi.label", - text: "button_group" - }, - height: 50, - }] -}) - -``` - -{% endmethod %} - -## API -##### 基础属性 -###### chooseType可选值为 CHOOSE_TYPE_SINGLE,CHOOSE_TYPE_MULTI,CHOOSE_TYPE_ALL,CHOOSE_TYPE_NONE,CHOOSE_TYPE_DEFAULT -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| behaviors | 行为,如高亮,标红等 |object | — |{ }| -| items | 子组件数组 | array | — | [ ] | -| chooseType | 选择类型 | const | 见上| BI.ButtonGroup.CHOOSE_TYPE_SINGLE | -| layouts | 布局 | array | — | [{type: "bi.center",hgap: 0,vgap: 0}] | - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| doBehavior | 执行行为,一般不会手动调用 | — | -| prependItems | prepend元素 | items | -| addItems | append元素 | items | -| removeItemAt | 移除指定索引处的item | indexs | -| removeItems | 移除制定元素 | values | -| populate | 刷新列表 | items | -| setNotSelectedValue| 设置未被选中的值 | value,可以是单个值也可以是个数组| -| setEnabledValue | 设置value值可用| value,可以是单个值也可以是个数组 | -| setValue | 设置value值 | value,可以是单个值也可以是个数组 | -| getNotSelectedValue | 获取没有被选中的值 | —| -| getValue | 获取被选中的值 |—| -| getAllButtons | 获取所有button |—| -| getAllLeaves | 获取所有的叶子节点 | —| -| getSelectedButtons | 获取所有被选中的元素 | —| -| getNotSelectedButtons | 获取所有未被选中的元素 | —| -| getIndexByValue | 根据value值获取value在数组中的索引 | value| -| getNodeById | 根据id获取节点 | id | -| getNodeByValue | 根据value值获取节点 | value | - - ---- - - diff --git a/docs/core/abstract/button_tree.md b/docs/core/abstract/button_tree.md deleted file mode 100644 index 292b108297..0000000000 --- a/docs/core/abstract/button_tree.md +++ /dev/null @@ -1,38 +0,0 @@ -# bi.button_tree - -## 一组具有相同属性的元素集合,与button_group的区别是可以处理树状结构,基类[BI.ButtonGroup](/core/abstract/button_group.md) - -{% method %} -[source](https://jsfiddle.net/fineui/pgwpw4n9/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.button_tree", - chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI, - layouts: [{ - type: "bi.vertical" - }], - items: [{ - type: "bi.label", - text: "0", - value: "label1", - height:50, - vgap:10 - }] -}) -``` - -{% endmethod %} - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- - - diff --git a/docs/core/abstract/collection_view.md b/docs/core/abstract/collection_view.md deleted file mode 100644 index 7201b3a4c5..0000000000 --- a/docs/core/abstract/collection_view.md +++ /dev/null @@ -1,71 +0,0 @@ -# bi.collection_view - -## 视图集合,高性能容器,可处理大集合,事先需要知道每一个视图的宽度、高度位置等信息 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/cmq0b3v0/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.collection_view", - element:"#wrapper", - width: 400, - height: 300, - items: [], - cellSizeAndPositionGetter: function (index) { - return { - x: index % 10 * 50, - y: Math.floor(index / 10) * 50, - width: 50, - height: 50 - } - } -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| items | 子组件数组 | array | — | [ ] | -| overflowX | 是否显示横向滚动条| boolean | true,false | true | -| overflowY | 是否显示纵向滚动条 | boolean | true,false | true | -| cellSizeAndPositionGetter | 设置每个单元格的位置坐标和宽高 | function|— | — | -| horizontalOverscanSize | 横向超出可视范围区域预加载的数量 | number | — | 0 | -| verticalOverscanSize | 纵向超出可视范围区域预加载的数量 | number | — | 0 | -| width | 行宽,必设 |number| — | — | -| height | 列宽,必设 | number | —| — | -| scrollLeft | 滚动条相对于左边的偏移 | number | — | 0 | -| scrollTop | 滚动条相对于顶部的偏移 | number | — | 0 | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setScrollLeft | 设置滚动条相对于左边的偏移 | scrollLeft| -| setScrollTop | 设置滚动条相对于顶部的偏移 | scrollTop | -| setOverflowX | 设置是否显示横向滚动条 | b | -| setOverflowY | 设置是否显示横向滚动条 | b| -| getScrollLeft | 获取滚动条相对于左边的偏移 | —| -| getScrollTop | 获取滚动条相对于顶部的偏移 | — | -| getMaxScrollLeft | 获取滚动条相对于左边的最大偏移 | — | -| getMaxScrollTop | 获取滚动条相对于顶部的最大偏移 |—| -| restore | 还原列表设置 | — | -| populate | 刷新列表 | items | - - -## 事件 -| 事件 | 说明 | 回调参数 | -| :------ |:------------- |:------------------------| -|BI.CollectionView.EVENT_SCROLL| 滚动时触发的事件 | {scrollLeft: scrollLeft, scrollTop: scrollTop} | - ---- - - diff --git a/docs/core/abstract/custom_tree.md b/docs/core/abstract/custom_tree.md deleted file mode 100644 index 2593d6bf38..0000000000 --- a/docs/core/abstract/custom_tree.md +++ /dev/null @@ -1,76 +0,0 @@ -# bi.custom_tree - -## 自定义树,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/gesh31xg/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.custom_tree", - el: { - type: "bi.button_tree", - chooseType: 0, - layouts: [{ - type: "bi.vertical", - hgap: 30 - }] - }, - items: [{ - id: -1, - pId: -2, - value: "根目录", - open: true, - type: "bi.plus_group_node", - height: 25 - }, - { - id: 1, - pId: -1, - value: "第一级目录1", - type: "bi.plus_group_node", - height: 25 - }, - { - id: 11, - pId: 1, - value: "第二级文件1", - type: "bi.single_select_item", - height: 25 - }] -}); - - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| items | 子组件数组 | array | — | [ ] | -| itemsCreator| 子组件构造器 | object | — | { } | -| expander | popup组件 | object | — | {el: {},popup: {type: "bi.custom_tree"}}| -| el | 当前元素 | object | — | {type: "bi.button_tree",chooseType: 0,layouts: [{type: "bi.vertical"}]}| - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | nodes| -| getAllButtons | 获取所有button |—| -| getAllLeaves | 获取所有的叶子节点 | —| -| getNodeById | 根据id获取节点 | id | -| getNodeByValue | 根据value值获取节点 | value | - - - ---- - - diff --git a/docs/core/abstract/grid_view.md b/docs/core/abstract/grid_view.md deleted file mode 100644 index e36d84137d..0000000000 --- a/docs/core/abstract/grid_view.md +++ /dev/null @@ -1,78 +0,0 @@ -# bi.grid_view - -## 网格视图集合,高性能组件,可以处理网格状的大集合,实现需要知道每一个视图的高度信息,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/fkntzLq5/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.grid_view", - width: 400, - height: 300, - estimatedRowSize: 30, - estimatedColumnSize: 100, - items: [], - scrollTop: 100, - rowHeightGetter: function () { - return 30; - }, - columnWidthGetter: function () { - return 100; - } -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| items | 子组件数组 | array | — | [ ] | -| overflowX | 是否显示横向滚动条| boolean | true,false | true | -| overflowY | 是否显示纵向滚动条 | boolean | true,false | true | -| overscanColumnCount| 超出可视范围区域预加载多少列 | number|— | 0 | -| overscanRowCount| 超出可视范围区域预加载多少行 | number | — | 0 | -| width | 行宽,必设 |number| — | — | -| height | 列宽,必设 | number | —| — | -| rowHeightGetter| 每格行宽 |number,function | —| function | -| columnWidthGetter| 每格列宽 | number,function |— | function | -| estimatedColumnSize| 预估行宽,columnWidthGetter为function时必设 |number,function |— | function | -| estimatedRowSize | 预估列宽,rowHeightGetter为function时必设 | number,function | —| function | -| scrollLeft | 滚动条相对于左边的偏移 | number | — | 0 | -| scrollTop | 滚动条相对于顶部的偏移 | number | —|0 | - - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setScrollLeft | 设置滚动条相对于左边的偏移 | scrollLeft| -| setScrollTop | 设置滚动条相对于顶部的偏移 | scrollTop | -| setOverflowX | 设置是否显示横向滚动条 | b | -| setOverflowY | 设置是否显示横向滚动条 | b| -| getScrollLeft | 获取滚动条相对于左边的偏移 | —| -| getScrollTop | 获取滚动条相对于顶部的偏移 | — | -| getMaxScrollLeft | 获取滚动条相对于左边的最大偏移 | — | -| getMaxScrollTop | 获取滚动条相对于顶部的最大偏移 |—| -| setEstimatedColumnSize | 设置列宽 |width| -| setEstimatedRowSize | 设置行宽 | height | -| restore | 还原列表设置 | — | -| populate | 刷新列表 | items | - -## 事件 -| 事件 | 说明 | 回调参数 -| :------ |:------------- |:----------| -|BI.GridView.EVENT_SCROLL| 滚动时触发的事件 | {scrollLeft: scrollLeft, scrollTop: scrollTop} | - - ---- - - diff --git a/docs/core/abstract/list_view.md b/docs/core/abstract/list_view.md deleted file mode 100644 index 04263cff6c..0000000000 --- a/docs/core/abstract/list_view.md +++ /dev/null @@ -1,41 +0,0 @@ -# list_view - -## 优化过性能的列表,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/ueutn0sj/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.list_view", - el: { - type: "bi.left" - }, - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| overscanHeight | 超出可视范围区域多少高度预加载 | number | — | 100 | -| blockSize | 块大小以多少项为单位 | number | - | 0 | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | - - - ---- \ No newline at end of file diff --git a/docs/core/abstract/virtual_group.md b/docs/core/abstract/virtual_group.md deleted file mode 100644 index 39f2788655..0000000000 --- a/docs/core/abstract/virtual_group.md +++ /dev/null @@ -1,51 +0,0 @@ -# bi.virtual_group - -## 优化过的buttonGroup,刷新不会删掉所有元素 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/9pd0dct0/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.virtual_group", - width: 500, - height: 300, - chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI, - layouts: [{ - type: "bi.vertical" - }, { - type: "bi.center_adapt", - }], - items:[] -}) -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| items | 子组件数组 | array | — | [ ] | -| layouts | 布局 | array | — | [{type: "bi.center",hgap: 0,vgap: 0}] | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setValue | 设置value值 | value,可以是单个值也可以是个数组 | -| getValue | 获取被选中的值 |—| -| prependItems | 内部前插入 | items | -| addItems | 内部后插入 | items | -| populate | 刷新列表 | items | -| render | 渲染列表 | —| - - - ---- - - diff --git a/docs/core/abstract/virtual_list.md b/docs/core/abstract/virtual_list.md deleted file mode 100644 index 854d76522e..0000000000 --- a/docs/core/abstract/virtual_list.md +++ /dev/null @@ -1,52 +0,0 @@ -# bi.virtual_list - -## 一个动态加载的列表项,事先可以不知道列表项高度,可以处理大列表,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/L995LrL9/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.virtual_list", - element:"body", - items: BI.map([{value: "xxxx"}], function (i, item) { - return BI.extend({}, item, { - type: "bi.label", - height: 30, - text: (i + 1) + "." + item.text, - }); - }) - }) - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| items | 子组件数组 | array | — | [ ] | -| blockSize | 滚动加载的个数 | number | — | 10 | -| overscanHeight | 超出可视范围区域的高度 | number | — | 100 | -| scrollTop | 滚动条相对于顶部的偏移 | number | — | 0 | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| render | 渲染列表 | —| -| mounted | 组件挂载 | —| -| restore | 还原列表设置 | — | -| populate | 刷新列表 | items | -| destroyed | 销毁组件 | —| - - - ---- - - diff --git a/docs/core/basic_button.md b/docs/core/basic_button.md deleted file mode 100644 index 37e9b4e048..0000000000 --- a/docs/core/basic_button.md +++ /dev/null @@ -1,47 +0,0 @@ -# bi.basic_button - -## 一般的button父级,表示一个可以点击的区域,基类[BI.Single](/core/single.md) - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| stopEvent | 是否阻止事件 |boolean | true,false | false | -| stopPropagation | 是否阻止冒泡 | boolean | true,false| false | -| selected | button的选中状态 | boolean | true,false |false | -| once | 点击一次选中有效,再点无效 | boolean | true,false | false| -| forceSelected | 点击即选中, 选中了就不会被取消,与once的区别是forceSelected不影响事件的触发| boolean | true,false| false| -| forceNotSelected | 无论怎么点击都不会被选中 | boolean| true,false | false| -| disableSelected | 使能选中| boolean | true,false| false| -| shadow | 是否显示阴影 | boolean| true,false| false| -| isShadowShowingOnSelected| 选中状态下是否显示阴影|boolean| true,false | false| -| trigger | 被选元素要触发的事件 | string | mousedown, mouseup, click, dblclick, lclick | null| -| text | 文本 | string | —| "" | -| handler | 点击事件回调 | function | —| BI.emptyFn | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| hover | 触发hover| —| -| dishover | 取消触发hover| —| -| setSelected | 设置选中| b| -| isSelected | 是否被选中| —| -| isOnce | 是否只允许点击一次| —| -| isForceSelected| 判断是否点击即选中| —| -| isForceNotSelected| 判断是否怎么点击都不会被选中|—| -| isDisableSelected| 判断是否不让选中|—| -| setText| 设置文本值|—| -| getText| 获取文本值|—| - -## 用于继承的方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| beforeClick | 点击事件之前钩子 | —| -| doClick | 点击之后钩子 | — | -| handle | 获取事件作用的对象 | —| - - ---- - - diff --git a/docs/core/combination/bi.combo.md b/docs/core/combination/bi.combo.md deleted file mode 100644 index 10157e81b0..0000000000 --- a/docs/core/combination/bi.combo.md +++ /dev/null @@ -1,87 +0,0 @@ -# bi.combo - -## combo,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/wxykkjou/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.combo", - element: "body", - adjustLength: 2, - el: { - type: "bi.button", - text: "测试", - height: 25 - }, - popup: {} -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| el | 自定义下拉框trigger | object | — |{ }| -| trigger | 下拉列表的弹出方式 | string | click,hover | "click" | -| adjustLength | 弹出列表和trigger的距离 | number | — | 0 | -| toggle | 切换状态 | boolean | true,false | true | -| direction | 弹出列表和trigger的位置关系 | string | top | bottom | left | right | top,left | top,right | bottom,left | bottom,right | "bottom"| -| isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false | -| destroyWhenHide | 隐藏弹窗层是否销毁 | boolean | true,false | false | -| isNeedAdjustHeight | 是否需要高度调整 | boolean | true,false | true | -| isNeedAdjustWidth | 是否需要宽度调整 | boolean | true,false | true | -| stopEvent | 是否阻止事件 | boolean | true,false | false | -| stopPropagation | 阻止事件冒泡 | boolean | true,false | false | -| adjustXOffset | 调整横向偏移 | number | — | 0 | -| adjustYOffset |调整纵向偏移 | number | — | 0 | -| hideChecker | 是否隐藏弹出层检测 | function | — | —| -| offsetStyle | 弹出层显示位置 | string | left,right,center | "left,right,center"| -| popup | 弹出层 | object | — | { }| -| comboClass | combo类 | string | — | "bi-combo-popup" | -| hoverClass | hover类 | string | — | "bi-combo-hover" | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| adjustWidth | 调整宽度 | —| -| adjustHeight | 调整高度 | —| -| resetListHeight | 重置列表高度 | height | -| resetListWidth | 重置列表宽度 | width | -| populate | 刷新列表 | items | -| setValue |设置combo value值| v | -| getValue | 获取combo value值 | —| -| isViewVisible | 弹窗层是否可见 | —| -| showView | 显示弹出层 | —| -| hideView | 隐藏弹出层 |—| -| getView | 获取弹出层 | —| -| getPopupPosition | 获取弹出层的位置 | —| -| toggle | 开启或者隐藏弹出层 | —| - -## 事件 -| 名称 | 说明 | -| :------ |:------------- | -|BI.Combo.EVENT_TRIGGER_CHANGE | trigger发生改变触发 | -|BI.Combo.EVENT_CHANGE | 弹出层点击触发 | -|BI.Combo.EVENT_EXPAND | 下拉框展开触发 | -|BI.Combo.EVENT_COLLAPSE | 下拉框收起触发 -|BI.Combo.EVENT_AFTER_INIT | 下拉框初始化后触发 | -|BI.Combo.EVENT_BEFORE_POPUPVIEW | 下拉列表弹出前触发 | -|BI.Combo.EVENT_AFTER_POPUPVIEW | 下拉列表弹出后触发 | -|BI.Combo.EVENT_BEFORE_HIDEVIEW | 下拉列表收起前触发 | -|BI.Combo.EVENT_AFTER_HIDEVIEW | 下拉列表收起后触发 | - - ---- - - diff --git a/docs/core/combination/bi.expander.md b/docs/core/combination/bi.expander.md deleted file mode 100644 index a264f425f1..0000000000 --- a/docs/core/combination/bi.expander.md +++ /dev/null @@ -1,87 +0,0 @@ -# bi.expander - -## 可以实现展开收起的面板,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/2xavqk4k/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.expander", - element: "#wrapper", - el: { - type: "bi.icon_text_node", - cls: "pull-right-ha-font", - height: 25, - text: "Expander" - }, - popup: { - items: [{ - type: "bi.single_select_item", - height: 25, - text: "项目1", - value: 1 - }, { - type: "bi.single_select_item", - height: 25, - text: "项目2", - value: 2 - }] - } -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| el | 自定义下拉框trigger | object | — |{ }| -| trigger | 下拉列表的弹出方式 | string | click,hover | "click" | -| adjustLength | 弹出列表和trigger的距离 | number | — | 0 | -| toggle | 切换状态 | boolean | true,false | true | -| direction | 弹出列表和trigger的位置关系 | string | top | bottom | left | right | top,left | top,right | bottom,left | bottom,right | "bottom"| -| isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false | -| popup | 弹出层 | object | — | { }| -| expanderClass | 展开类 | string | —| "bi-expander-popup" | -| hoverClass | hover类| string | — | "bi-expander-hover" | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | -| setValue | 设置combo value值| v | -| getValue | 获取combo value值 | —| -| isViewVisible | 弹窗层是否可见 | —| -| showView | 显示弹出层| —| -| hideView | 隐藏弹出层| —| -| getView | 获取弹出层| —| -| getAllLeaves | 获取所有的叶子节点 | —| -| getNodeById | 根据id获取节点 | id | -| getNodeByValue | 根据value值获取节点 | value | -| isExpanded | 节点是否展开 | — | - -## 事件 -| 名称 | 说明 | -| :------ |:------------- | -|BI.Expander.EVENT_TRIGGER_CHANGE | trigger发生改变触发 | -|BI.Expander.EVENT_CHANGE | 弹出层点击触发 | -|BI.Expander.EVENT_EXPAND | Expander展开触发 | -|BI.Expander.EVENT_COLLAPSE | Expander收起触发 -|BI.Expander.EVENT_AFTER_INIT | Expander初始化后触发 | -|BI.Expander.EVENT_BEFORE_POPUPVIEW | 下拉列表弹出前触发 | -|BI.Expander.EVENT_AFTER_POPUPVIEW | 下拉列表弹出后触发 | -|BI.Expander.EVENT_BEFORE_HIDEVIEW | 下拉列表收起前触发 | -|BI.Expander.EVENT_AFTER_HIDEVIEW | 下拉列表收起后触发 | - ---- - - diff --git a/docs/core/combination/combo_group.md b/docs/core/combination/combo_group.md deleted file mode 100644 index 25d16a5eb8..0000000000 --- a/docs/core/combination/combo_group.md +++ /dev/null @@ -1,63 +0,0 @@ -# bi.combo_group - -## 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/x32ue8xv/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.combo_group", - el: { - type: "bi.icon_text_icon_item", - text: "2010年", - value: 2010, - height: 25, - iconCls: "close-ha-font" - }, - children: [{ - type: "bi.single_select_item", - height: 25, - text: "一月", - value: 11 - }] -}); - - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| children | 子组件配置 | array | — | [ ] | -| popup | 弹出层 | object | — |{el: {type: "bi.button_tree",chooseType: 0,layouts: [{type: "bi.vertical"}]}}| -| isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false | -| isNeedAdjustHeight | 是否需要高度调整 | boolean | true,false | false | -| isNeedAdjustWidth | 是否需要宽度调整 | boolean | true,false | false | -| el | 自定义下拉框trigger | object | — |{type: "bi.text_button", text: "", value: ""}| -| trigger | 下拉列表的弹出方式 | string | click,hover | "click" | -| adjustLength | 弹出列表和trigger的距离 | number | — | 0 | -| direction | 弹出列表和trigger的位置关系 | string | top | bottom | left | right | top,left | top,right | bottom,left | bottom,right | "bottom"| - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setValue | 设置combo value值| v | -| getValue | 获取combo value值 | — | - - - ---- - - diff --git a/docs/core/combination/loader.md b/docs/core/combination/loader.md deleted file mode 100644 index 860431a70e..0000000000 --- a/docs/core/combination/loader.md +++ /dev/null @@ -1,81 +0,0 @@ -# bi.loader - -## 加载控件,[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/qgLtctnx/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.loader", - itemsCreator: function(options, populate) { - populate(BI.map(BI.map(BI.makeArray(3, null), function(idx, value){ - return { - text: faker.name.findName(), - value: BI.UUID() - }; - }), function(i, v) { - return BI.extend(v, { - type: "bi.single_select_item", - height: 25 - }) - })) - }, - hasNext: function(option) { - return option.count < 10; - } -}); - - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| direction | combo弹出层位置 | string | top,bottom,left,right,(top,left),(top,right),(bottom,left),(bottom,right) | "top"| -| isDefaultInit | 是否默认初始化子数据 |boolean | true,false | true | -| logic | 布局逻辑 | object | —| {dynamic:true,scrolly:true} | -| items| 子组件 | array | — | []| -| itemsCreator | 子组件构造器 | function | — | — | -| onLoaded | 加载中 | function | — | — | -| count | 是否显示总页数 | boolean| true,false|boolean| -| prev | 上一页 | boolean | true,false | boolean | -| next | 下一页 | boolean | true,false | boolean | -| hasPrev | 判断是否有上一页 | function | — | — | -| hasNext | 判断是否有下一页 | function | — | — | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| hasNext | 判断是否有下一页 | — | -| prependItems | 内部前插入 | items | -| addItems | 内部后插入 | items | -| populate | 刷新列表 | items | -| setNotSelectedValue| 设置未被选中的值 | value,可以是单个值也可以是个数组| -| setValue | 设置value值 | value,可以是单个值也可以是个数组 | -| getNotSelectedValue | 获取没有被选中的值 | —| -| getValue | 获取被选中的值 |—| -| getAllButtons | 获取所有button |—| -| getAllLeaves | 获取所有的叶子节点 | —| -| getSelectedButtons | 获取所有被选中的元素 | —| -| getNotSelectedButtons | 获取所有未被选中的元素 | —| -| getIndexByValue | 根据value值获取value在数组中的索引 | value| -| getNodeById | 根据id获取节点 | id | -| getNodeByValue | 根据value值获取节点 | value | - - - ---- - - diff --git a/docs/core/combination/navigation.md b/docs/core/combination/navigation.md deleted file mode 100644 index 9c6a6a2ffc..0000000000 --- a/docs/core/combination/navigation.md +++ /dev/null @@ -1,76 +0,0 @@ -# bi.navigation - -## 导航栏控件,[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/ubsren48/) - -{% common %} -```javascript - - -BI.createWidget({ - element: "#wrapper", - type: "bi.navigation", - tab: { - height: 30, - items: [{ - once: false, - text: "后退", - value: -1 - }, { - once: false, - text: "前进", - value: 1 - }] - }, - cardCreator: function(v) { - return BI.createWidget({ - type: "bi.label", - cls: "layout-bg" + BI.random(1, 8), - text: "第" + v + "页" - }) - } -}) - - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| direction | 控件位置 | string | top,bottom,left,right,custom | "bottom"| -| single | 是否为单页 | boolean | true,false | true | -| defaultShowIndex | 默认显示页码 |number,false | number,false | false | -| tab | tab页元素 | object | — | — | -| logic | 布局逻辑 | object | — | {dynamic:false} | -| cardCreator | 面板构造器 | function | — | v | -| afterCardCreated | 面板构造之后 | function | — | — | -| afterCardShow | 面板显示之后 | function | —| — | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| render | 渲染组件 | — | -| mounted | 挂载组件 | —| -| afterCardCreated | 创建卡导航页页之后 | v | -| afterCardShow | 导航页展示之后 | v | -| setSelect | 设置选中的index | v | -| getSelect | 获取选中的index| —| -| getSelectedCard | 获取选中的导航页| —| -| populate | 刷新列表 | items | -| setValue | 设置value值 | value | -| getValue | 获取被选中的值 |—| - - - ---- - - diff --git a/docs/core/combination/searcher.md b/docs/core/combination/searcher.md deleted file mode 100644 index 50aff71fa5..0000000000 --- a/docs/core/combination/searcher.md +++ /dev/null @@ -1,100 +0,0 @@ -# bi.searcher - -## 搜索逻辑控件,[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/k6s24et1/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.searcher", - element:"#wrapper", - adapter: { - getItems: function () { - return [{ - type: "bi.label", - value: "张三" - }] - } - }, - popup: { - type: "bi.button_group", - cls: "bi-border", - items: items, - layouts: [{ - type: "bi.vertical" - }], - }, - masker: false - }) - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于容器左右padding值 | number | —| 0 | -| vgap | 效果相当于容器上下padding值 | number | — | 0 | -| lgap | 效果相当于容器left-padding值 | number | —| 0 | -| rgap | 效果相当于容器right-padding值 | number | — | 0 | -| tgap | 效果相当于容器top-padding值 | number | —| 0 | -| bgap | 效果相当于容器bottom-padding值 | number | —| 0 | -| chooseType | 选择类型 | const | | CHOOSE_TYPE_SINGLE | -| isDefaultInit | 是否默认初始化子节点 |boolean | true,false | false | -| isAutoSearch | 是否自动搜索 |boolean | true,false | true | -| isAutoSync | 是否自动同步数据, 即是否保持搜索面板和adapter面板状态值的统一 |boolean | true,false | true | -| onSearch | isAutoSearch为false时启用 | function(op.callback) | — | —| -| el | 开启弹出层的元素 | object | — | {type: "bi.search_editor"}| -| popup | 弹出层 | object | — |{type: "bi.searcher_view"}| -| adapter | 弹出层显示的位置元素 | object | —| null| -| masker | masker层 | object | — | {offset: {}}| - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | result, searchResult, keyword | -| setValue | 设置value值 | value | -| getValue | 获取被选中的值 |—| -| adapter | 适配器 | — | -| doSearch | 开始搜索 | — | -| stopSearch | 停止搜索 | —| -| isSearching | 是否正在搜索 | —| -| isViewVisible | 组件是否可见 | —| -| getView | 获取搜索列表栏 | —| -| hasMatched | 是否匹配 | —| -| adjustHeight | 调整高度 | —| -| adjustView| 调整搜索列表栏| —| -| getKeyword | 获取搜索关键词| —| -| getKeywords | 获取搜索关键词数组| —| - - -## 事件方法 - -| 事件名称| 说明| 回调参数 | -| :------ |:------------- | :----- -| EVENT_START | 开始搜索 | —| -| EVENT_STOP | 停止搜索 | —| -| EVENT_PAUSE | 暂停搜索 | —| -| EVENT_SEARCHING | 搜索中| —| -| EVENT_AFTER_INIT | 初始化之后 | —| - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.Searcher.EVENT_CHANGE | 搜索结果面板发生改变触发 | -|BI.Searcher.EVENT_START | 开始搜索触发 | -|BI.Searcher.EVENT_STOP | 停止搜索触发(搜索框为空) | -|BI.Searcher.EVENT_PAUSE | 搜索暂停触发(搜索文本以空白字符结尾) | -|BI.Searcher.EVENT_SEARCHING | 正在搜索时触发 | -|BI.Searcher.EVENT_AFTER_INIT | 搜索结果面板初始化完成后触发 | - ---- - - diff --git a/docs/core/combination/switcher.md b/docs/core/combination/switcher.md deleted file mode 100644 index 0c0bf95808..0000000000 --- a/docs/core/combination/switcher.md +++ /dev/null @@ -1,81 +0,0 @@ -# bi.switcher - -## 切换显示或隐藏面板,[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/4sj60ap0/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.switcher", - el: { - type: "bi.button", - height: 25, - text: "Switcher" - }, - popup: { - - }, - adapter: { - - } -}) - - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| trigger | 下拉列表的弹出方式 | string | click,hover | "click" | -| toggle | 切换状态 | boolean | true,false | true | -| direction | 面板显示的位置 | string | — | BI.Direction.Top | -| el | 自定义下拉框trigger | object | — | { }| -| popup | 弹出层 | object | — |{ }| -| adapter | 弹出层的位置 | object | — | null| -| masker | masker层 | obejct | — | { }| -| switcherClass | 切换类 | string| —| "bi-switcher-popup" | -| hoverClass | hover类 | string | — | "bi-switcher-hover" | - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| setValue | 设置value值 | value | -| getValue | 获取被选中的值 |—| -| populate | 刷新列表 | items | -| isViewVisible | 弹窗层是否可见 | —| -| showView | 显示弹出层 | —| -| hideView | 隐藏弹出层|—| -| getView | 获取弹出层|—| -| getAllLeaves | 获取所有的叶子节点 | —| -| getNodeById | 根据id获取节点 | id | -| getNodeByValue | 根据value值获取节点 | value | -| isExpanded | 节点是否展开 |— | -| setAdapter | 设置弹出层显示的位置元素|adapter| -| adjustView| 调整弹出层显示的位置元素 |—| - -## 事件方法 - -| 事件名称| 说明| 回调参数 | -| :------ |:------------- | :----- -| EVENT_EXPAND | 面板展开 | —| -| EVENT_COLLAPSE | 面板收起 | —| -| EVENT_TRIGGER_CHANGE | 面板切换 | —| -| EVENT_AFTER_INIT | 初始化之后 | —| -| EVENT_BEFORE_POPUPVIEW | 面板显示之前| —| -| EVENT_AFTER_POPUPVIEW | 面板显示之后| —| -| EVENT_BEFORE_HIDEVIEW | 面板隐藏之前| —| -| EVENT_AFTER_HIDEVIEW | 面板隐藏之后 | —| - - ---- - - diff --git a/docs/core/combination/tab.md b/docs/core/combination/tab.md deleted file mode 100644 index 9940afa13b..0000000000 --- a/docs/core/combination/tab.md +++ /dev/null @@ -1,79 +0,0 @@ -# bi.tab - -## tab面板,[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/pdo5s8pq/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.tab", - tab: { - type: "bi.button_group", - height: 30, - items: [{ - text: "Tab1", - value: 1, - width: 50 - }, { - text: "Tab2", - value: 2, - width: 50 - }] - }, - cardCreator: function(v) { - switch (v) { - case 1: - return BI.createWidget({ - type: "bi.label", - cls: "bi-card", - text: "面板1" - }) - case 2: - return BI.createWidget({ - type: "bi.label", - cls: "bi-card", - text: "面板2" - }) - } - } -}) - - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| direction | 控件位置 | string | top,bottom,left,right,custom | "bottom"| -| single | 是否为单页 | boolean | true,false | false | -| defaultShowIndex | 是否默认显示tab页 | number,falser | number,false | false | -| tab | tab标签页 | object | — | { } | -| logic | 布局逻辑 | object | — | {dynamic:false} | -| cardCreator | 面板构造器| function | — | function (v) {return BI.createWidget();} | - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| removeTab | 移除tab面板页 | tabName | -| getTab | 获取tab面板页 | v | -| setSelect | 设置选中的index | v | -| getSelect | 获取选中的index| —| -| getSelectedTab | 获取选中的tab面板页 | —| -| populate | 刷新列表 | items | -| setValue | 设置value值 | value | -| getValue | 获取被选中的值 |—| - - - ---- - - diff --git a/docs/core/layer/layer_float_box.md b/docs/core/layer/layer_float_box.md deleted file mode 100644 index d3ebea679e..0000000000 --- a/docs/core/layer/layer_float_box.md +++ /dev/null @@ -1,62 +0,0 @@ -# bi.float_box - -## floatBox弹出层,[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/72gp1n0p/) - -{% common %} -```javascript - -var id = BI.UUID(); - -BI.createWidget({ - element: "#wrapper", - type: "bi.text_button", - text: "点击弹出FloatBox", - width: 200, - height: 80, - handler: function() { - BI.Popovers.remove(id); - BI.Popovers.create(id, new BI.BarPopoverSection()).open(id); - } -}) - - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| width | 弹出层宽度 | number | — | 600 | -| height | 弹出层高度 | number | — | 500 | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | sectionProvider | -| show | 显示 | —| -| hide | 隐藏 | —| -| open | 打开弹出层 | —| -| close| 关闭弹出层 | —| -| setZindex | 设置z-index| z-index | - - -## 事件方法 - -| 事件名称| 说明| 回调参数 | -| :------ |:------------- | :----- -| EVENT_FLOAT_BOX_CLOSED | 关闭弹出层 | —| -| EVENT_FLOAT_BOX_CLOSED | 打开弹出层 | —| - - - ---- - - diff --git a/docs/core/layer/layer_popup.md b/docs/core/layer/layer_popup.md deleted file mode 100644 index 365009083e..0000000000 --- a/docs/core/layer/layer_popup.md +++ /dev/null @@ -1,76 +0,0 @@ -# bi.popup_view - -## 下拉框弹出层, zIndex在1000w,[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/x95pg143/) - -{% common %} -```javascript - -BI.createWidget({ - element: "#wrapper", - type: "bi.popup_view", - el: { - type: "bi.button_group", - items: [{ - text: "aaa", - value: "aaa" - }, { - text: "bbb", - value: "bbb" - }], - layouts: [{ - type: "bi.vertical" - }] - } -}) - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| maxWidth | 弹出层最大宽度 | number/string | — | "auto" | -| minWidth | 弹出层最小宽度 | number | — | 100 | -| maxHeight | 弹出层最大高度 | number/string | — | — | -| minHeight | 弹出层最小高度 | number | — | 25 | -| hgap | 效果相当于容器左右padding值 | number | — | 0 | -| vgap | 效果相当于容器上下padding值 | number | —| 0 | -| lgap | 效果相当于容器left-padding值 | number | — | 0 | -| rgap | 效果相当于容器right-padding值 | number | —| 0 | -| tgap | 效果相当于容器top-padding值 | number | —| 0 | -| bgap | 效果相当于容器bottom-padding值 | number | — | 0 | -| direction| 工具栏的方向| const | 参考button_group | BI.Direction.Top | -| stopEvent | 是否停止mousedown、mouseup事件 | boolean | true,false | false | -| stopPropagation | 是否停止mousedown、mouseup向上冒泡 | boolean | true,false | false | -| tabs | 导航栏 | array | — | [] | -| logic | 布局逻辑| object | — | {dynamic:true} | -| tools | 自定义工具栏 |boolean | true,false | false | -| buttons | toolbar栏 | array | — | [] | -| el | 子组件 | object | — |{ type: "bi.button_group",items: [], chooseType: 0,behaviors: {},layouts: [{type: "bi.vertical"}]} | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | -| resetWidth | 重置宽度 | width | -| resetHeight | 重置高度 | height| -| setValue | 设置value 值 | value | -| getValue| 获取value值 | —| -| setZindex | 设置z-index| z-index | -| getView | 获取弹出层 | —| - - - - - ---- - - diff --git a/docs/core/layer/layer_searcher.md b/docs/core/layer/layer_searcher.md deleted file mode 100644 index bdd6fe58f7..0000000000 --- a/docs/core/layer/layer_searcher.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.searcher_view - -## 搜索面板, 基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/qkfns6wm/) - -{% common %} -```javascript - -var searcher = BI.createWidget({ - element: "#wrapper", - type: "bi.searcher_view", -}); -searcher.populate([{ - text: "aba", - value: "aba" -},{ - text: "acc", - value: "acc" -}], [{ - text: "a", - value: "a" -}], "a"); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| tipText | title文本 | string | — | BI.i18nText("BI-No_Select") | -| chooseType | 选择类型 | const | 参考button_group | BI.Selection.Single | -| matcher | 完全匹配的构造器 | object | — | {type: "bi.button_group",behaviors: { redmark: function () { return true;} },items: [], layouts: [{ type: "bi.vertical"}]} | -| searcher | 搜索到的元素 | object| — | {type: "bi.button_group",behaviors: {redmark: function () {return true;}}, items: [], layouts: [{ type: "bi.vertical" }]}| - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | searchResult, matchResult, keyword | -| setValue | 设置value 值 | value | -| getValue| 获取value值 | —| -| hasMatched | 是否有匹配的元素 | —| - - - ---- - - diff --git a/docs/core/layout/border.md b/docs/core/layout/border.md deleted file mode 100644 index e8520a70de..0000000000 --- a/docs/core/layout/border.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.border - -#### 上下的高度固定/左右的宽度固定,中间的高度/宽度自适应 - -{% method %} -[source](https://jsfiddle.net/fineui/qtdsdegp/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.border', - element: "#wrapper", - items: { - north: { - el: {type: "bi.label"}, - height: 30, - top: 20, - left: 20, - right: 20 - }, - south: { - el: {type: "bi.label"}, - height: 50, - bottom: 20, - left: 20, - right: 20 - }, - west: { - el: {type: "bi.label"}, - width: 200, - left: 20 - }, - east: { - el: {type: "bi.label"}, - width: 300, - right: 20 - }, - center: {el: {type: "bi.label"}} - } -}); - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- - ---- \ No newline at end of file diff --git a/docs/core/layout/center.md b/docs/core/layout/center.md deleted file mode 100644 index a9e13e424e..0000000000 --- a/docs/core/layout/center.md +++ /dev/null @@ -1,41 +0,0 @@ -# bi.center - -#### 水平和垂直方向都居中容器, 非自适应,用于宽度高度固定的面板 - -{% method %} -[source](https://jsfiddle.net/fineui/8fd2nvkm/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.center", - element: "#wrapper", - items: [{ - type: "bi.label", - text: "Center 1,这里虽然设置label的高度30,但是最终影响高度的是center布局", - cls: "layout-bg1", - whiteSpace: "normal" - },{ - type: "bi.label", - text: "Center 2,为了演示label是占满整个的,用了一个whiteSpace:normal", - cls: "layout-bg2", - whiteSpace: "normal" - }], - hgap: 20, - vgap: 20 -}); - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- - - ---- \ No newline at end of file diff --git a/docs/core/layout/center_adapt.md b/docs/core/layout/center_adapt.md deleted file mode 100644 index fd2de475c2..0000000000 --- a/docs/core/layout/center_adapt.md +++ /dev/null @@ -1,41 +0,0 @@ -# bi.center_adapt - -#### 自适应左右垂直居中布局 - -{% method %} -[source](https://jsfiddle.net/fineui/7bsxw7u5/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.center_adapt", - element: "#wrapper", - hgap: 10, - items: [{ - type: "bi.label", - text: "Center Adapt 1", - cls: "layout-bg1", - height: 30 - }, { - type: "bi.label", - text: "Center Adapt 2", - cls: "layout-bg2", - height: 30 - }] -}) - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| columnSize | 列宽 | array | — | [ ] | - ---- \ No newline at end of file diff --git a/docs/core/layout/float_center.md b/docs/core/layout/float_center.md deleted file mode 100644 index cd00d8fcd8..0000000000 --- a/docs/core/layout/float_center.md +++ /dev/null @@ -1,42 +0,0 @@ -# bi.float_center - -#### 浮动布局实现的Center居中容器 - -{% method %} -[source](https://jsfiddle.net/fineui/1vgn555m/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.float_center', - element: "#wrapper", - items: [{ - type: "bi.label", - text: "floatCenter与center的不同在于,它可以控制最小宽度和最大宽度", - cls: "layout-bg1", - whiteSpace: "normal" - }, { - type: "bi.label", - text: "floatCenter与center的不同在于,它可以控制最小宽度和最大宽度", - cls: "layout-bg2", - whiteSpace: "normal" - }], - height: 300, - hgap: 20, - vgap: 20 -}); - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- - - ---- \ No newline at end of file diff --git a/docs/core/layout/flow.md b/docs/core/layout/flow.md deleted file mode 100644 index 852ce974a4..0000000000 --- a/docs/core/layout/flow.md +++ /dev/null @@ -1,68 +0,0 @@ -# bi.flow - -#### 靠左/右对齐的自由浮动布局 - -{% method %} -[source](https://jsfiddle.net/fineui/c761a856/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.center_adapt", - element: "#wrapper", - items: [{ - type: "bi.left", - items: [{ - type: "bi.label", - height: 30, - text: "Left-1", - cls: "layout-bg1", - hgap: 20 - }, { - type: "bi.label", - height: 30, - text: "Left-2", - cls: "layout-bg2", - hgap: 20 - }], - hgap: 20, - vgap: 20 - }, { - type: "bi.right", - items: [{ - type: "bi.label", - height: 30, - text: "Right-1", - cls: "layout-bg3", - hgap: 20 - }, { - type: "bi.label", - height: 30, - text: "Right-2", - cls: "layout-bg4", - hgap: 20 - }], - hgap: 20, - vgap: 20 - }] -}); - - - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- - - - ---- \ No newline at end of file diff --git a/docs/core/layout/grid.md b/docs/core/layout/grid.md deleted file mode 100644 index e0c7dffc6f..0000000000 --- a/docs/core/layout/grid.md +++ /dev/null @@ -1,71 +0,0 @@ -# bi.grid - -#### 网格布局 - -{% method %} -[source](https://jsfiddle.net/fineui/1gwjbpL6/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.grid', - element: "#wrapper", - columns: 2, - rows: 2, - items: [{ - column: 0, - row: 0, - el: { - type: "bi.label", - text: "column-0, row-0", - cls: "layout-bg1" - } - }, { - column: 1, - row: 0, - el: { - type: "bi.label", - text: "column-1, row-0", - cls: "layout-bg2" - } - } { - column: 0, - row: 1, - el: { - type: "bi.label", - text: "column-0, row-1", - cls: "layout-bg5" - } - }, { - column: 1, - row: 1, - el: { - type: "bi.label", - text: "column-1, row-1", - cls: "layout-bg6" - } - }] -}); - - - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| columns | 列数 | number | — | null | -| rows | 行数 | number | — | null | -| items | 子控件数组,二维数组的时候行和列个数就表示了rows和columns | array | — | []或[[]] | - - - ---- \ No newline at end of file diff --git a/docs/core/layout/horizontal.md b/docs/core/layout/horizontal.md deleted file mode 100644 index ca39a83f22..0000000000 --- a/docs/core/layout/horizontal.md +++ /dev/null @@ -1,45 +0,0 @@ -# bi.horizontal - -#### 水平流式布局 - -{% method %} -[source](https://jsfiddle.net/fineui/oj7y7q3o/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.horizontal', - element: "#wrapper", - items: [{ - type: "bi.text_button", - cls: "layout-bg1", - text: "这里设置了lgap,rgap,tgap,bgap", - height: 30, - width: 200 - }, { - type: "bi.text_button", - cls: "layout-bg2", - text: "这里设置了lgap,rgap,tgap,bgap", - height: 30, - width: 200 - }] -}); - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| columnSize | 每列宽度所组成的数组 | array | — | [ ] | -| verticalAlign | 元素的垂直对齐方式 | string | 参考相关css属性 | "middle" | -| scrollx | 设置水平方向是否有滚动条 | boolean | true,false | true | - ---- \ No newline at end of file diff --git a/docs/core/layout/horizontal_adapt.md b/docs/core/layout/horizontal_adapt.md deleted file mode 100644 index 64f61980e2..0000000000 --- a/docs/core/layout/horizontal_adapt.md +++ /dev/null @@ -1,46 +0,0 @@ -# bi.horizontal_adapt - - -#### 自适应横向居中布局 - -{% method %} -[source](https://jsfiddle.net/fineui/Lgobog42/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.horizontal_adapt", - element: "#wrapper", - vgap: 10, - items: [{ - type: "bi.label", - text: "Horizontal Adapt左右自适应", - cls: "layout-bg1", - width: 300, - height: 30 - }, { - type: "bi.label", - text: "Horizontal Adapt左右自适应", - cls: "layout-bg2", - //width: 300, - height: 30 - }] -}) - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| columnSize | 每列宽度所组成的数组 | array | — | [ ] | -| verticalAlign | 元素的垂直对齐方式 | const | 参考相关css属性 | BI.VerticalAlign.Middle | - - ---- - diff --git a/docs/core/layout/horizontal_auto.md b/docs/core/layout/horizontal_auto.md deleted file mode 100644 index dec46ed26b..0000000000 --- a/docs/core/layout/horizontal_auto.md +++ /dev/null @@ -1,43 +0,0 @@ -# bi.horizontal_auto - -#### 水平方向居中容器,水平居中推荐使用这种布局 - -{% method %} -[source](https://jsfiddle.net/fineui/ej2j8umg/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.horizontal_auto", - element: "#wrapper", - vgap: 10, - items: [{ - type: "bi.label", - text: "Horizontal Auto左右自适应", - cls: "layout-bg1", - width: 300, - height: 30 - }, { - type: "bi.label", - text: "Horizontal Auto左右自适应", - cls: "layout-bg2", - width: 300, - height: 30 - }] -}) - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- - - - ---- \ No newline at end of file diff --git a/docs/core/layout/horizontal_float.md b/docs/core/layout/horizontal_float.md deleted file mode 100644 index 5ca1060c89..0000000000 --- a/docs/core/layout/horizontal_float.md +++ /dev/null @@ -1,37 +0,0 @@ -# bi.horizontal_float - -#### 浮动的水平居中布局,适用于宽度不定元素的水平居中 - -{% method %} -[source](https://jsfiddle.net/fineui/91rd0zpe/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.horizontal_float", - element: "#wrapper", - vgap: 10, - items: [{ - type: "bi.label", - text: "Horizontal Float左右自适应", - cls: "layout-bg1", - width: 200, - height:30 - }] -}) - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- - - ---- \ No newline at end of file diff --git a/docs/core/layout/htape.md b/docs/core/layout/htape.md deleted file mode 100644 index 2fac5c0f39..0000000000 --- a/docs/core/layout/htape.md +++ /dev/null @@ -1,58 +0,0 @@ -# bi.htape - -#### 水平tape布局,n列定宽,一列自适应 - -{% method %} -[source](https://jsfiddle.net/fineui/ry7Lnhgw/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.htape", - element: "#wrapper", - items : [ - { - width: 100, - el : { - type : 'bi.label', - text : '1', - cls: "layout-bg1" - } - }, { - width: 200, - el : { - type : 'bi.label', - text : '2', - cls: "layout-bg2" - } - }, { - width: 'fill', - el : { - type : 'bi.label', - text : '3', - cls: "layout-bg3" - } - } - ] -}); - - - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| items | 子控件数组 | array | — | [{width: 100,el: {type: 'bi.button', text: 'button1'}},{width: 'fill',el: {type: 'bi.button', text: 'button2'}},{width: 200,el: {type: 'bi.button', text: 'button3'}}] | - - - ---- \ No newline at end of file diff --git a/docs/core/layout/left_right_vertical_adapt.md b/docs/core/layout/left_right_vertical_adapt.md deleted file mode 100644 index 8c101a587b..0000000000 --- a/docs/core/layout/left_right_vertical_adapt.md +++ /dev/null @@ -1,55 +0,0 @@ - -# bi.left_right_vertical_adapt - -#### 左右分离,垂直方向居中容器 - -{% method %} -[source](https://jsfiddle.net/fineui/2udhep9z/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.left_right_vertical_adapt', - element: "#wrapper", - lhgap: 10, - rhgap: 10, - items: { - left: [{ - type: "bi.label", - text: "左边的垂直居中", - cls: "layout-bg1", - width: 100, - height: 30 - }], - right: [{ - type: "bi.label", - text: "右边的垂直居中", - cls: "layout-bg1", - width: 100, - height: 30 - }] - } -}); - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| lhgap | 左边容器左右padding值 | number | — | 0 | -| lrgap | 左边容器right-padding值 | number | — | 0 | -| llgap | 左边容器left-padding值 | number | — | 0 | -| rhgap | 右边容器左右padding值 | number | — | 0 | -| rrgap | 右边容器right-padding值 | number | — | 0 | -| rhgap | 右边容器left-padding值 | number | — | 0 | -| items | 子控件数组 | array | — | [ ] | - - ---- \ No newline at end of file diff --git a/docs/core/layout/table.md b/docs/core/layout/table.md deleted file mode 100644 index ad64bca116..0000000000 --- a/docs/core/layout/table.md +++ /dev/null @@ -1,37 +0,0 @@ -# bi.table - -### htape与vertical混合形成的布局,用于二维表结构的布局 -{% method %} -[source](https://jsfiddle.net/fineui/8t2en619/) - -{% common %} -```javascript -BI.createWidget({ - element: "body", - type: "bi.table", - items: [], - columnSize: [100, "fill", 200], - rowSize: [10, 30, 50, 70, 90, 110, 130], - hgap: 20, - vgap: 10 -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ---------- | --------- | ------------ | ---------------------------------------- | -| scrolly | 是否出现滚动条 | boolean | true | -| columnSize | 列项宽度 | array/number | [200, 200, 'fill'] | -| rowSize | 行高 | array/number | 30 | -| hgap | 内部元素间纵向距离 | number | 0 | -| vgap | 内部元素间横向距离 | number | 0 | -| items | 子项 | array | [{width: 100,el: {type: 'bi.button', text: 'button1'}},{width: 'fill',el: {type: 'bi.button', text: 'button2'}},{width: 200,el: {type: 'bi.button', text: 'button3'}}] | - -## 方法 -| 方法名 | 说明 | 用法 | -| :------- | ------ | ---------------- | -| addItem | 增加内容 | addItem(arr) | -| populate | 刷新 | populate(items) | - diff --git a/docs/core/layout/td.md b/docs/core/layout/td.md deleted file mode 100644 index 64e2485997..0000000000 --- a/docs/core/layout/td.md +++ /dev/null @@ -1,36 +0,0 @@ -# bi.td - -### 单元格布局 - -{% method %} -[source](https://jsfiddle.net/fineui/v4jrz6a3/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.td", - element: 'body', - columnSize: [20, 20, 'fill'], - items: [] -}); -``` - -{% endmethod %} - - - -##参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ---------- | ---- | ------ | ---------------------------------------- | -| columnSize | 列宽 | array | [200, 200, 200] | -| items | 内容项 | array | [[{el: {text: 'label1'}},{ el: {text: 'label2'},{ el: {text: 'label3'} | - - -## 方法 - -| 方法名 | 说明 | 用法 | -| -------- | ------ | ---------------- | -| addItem | 增加内容 | addItem(arr) | -| populate | 更换新的内容 | poplulate(items) | - diff --git a/docs/core/layout/vertical.md b/docs/core/layout/vertical.md deleted file mode 100644 index f69554ed7e..0000000000 --- a/docs/core/layout/vertical.md +++ /dev/null @@ -1,40 +0,0 @@ -# bi.vertical - -#### 垂直流式布局 - -{% method %} -[source](https://jsfiddle.net/fineui/zjyaz9fn/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'demo.vertical', - element: "#wrapper", - items: [{ - type: "bi.label", - cls: "layout-bg1", - text: "这里设置了hgap(水平间距),vgap(垂直间距)", - height: 30 - }, { - type: "bi.label", - cls: "layout-bg2", - text: "这里设置了hgap(水平间距),vgap(垂直间距)", - height: 30 - }] -}); - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| scrolly | 设置垂直方向是否有滚动条 | boolean | true,false | true | - ---- \ No newline at end of file diff --git a/docs/core/layout/vertical_adapt.md b/docs/core/layout/vertical_adapt.md deleted file mode 100644 index a0d958c627..0000000000 --- a/docs/core/layout/vertical_adapt.md +++ /dev/null @@ -1,43 +0,0 @@ -# bi.vertical_adapt - -#### 自适应垂直居中布局 - -{% method %} -[source](https://jsfiddle.net/fineui/7t1bsfy0/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.vertical_adapt", - element: "#wrapper", - vgap: 10, - items: [{ - type: "bi.label", - text: "Vertical Adapt上下自适应", - cls: "layout-bg1", - width: 300, - height: 30 - }, { - type: "bi.label", - text: "Vertical Adapt上下自适应", - cls: "layout-bg2", - width: 300, - height: 30 - }] -}) - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| columnSize | 列宽 | array | — | [ ] | - ---- \ No newline at end of file diff --git a/docs/core/layout/vtape.md b/docs/core/layout/vtape.md deleted file mode 100644 index 3a2d6382ee..0000000000 --- a/docs/core/layout/vtape.md +++ /dev/null @@ -1,58 +0,0 @@ -# bi.vtape - -#### 垂直tape布局,n列定高,一列自适应 - -{% method %} -[source](https://jsfiddle.net/fineui/ufpnz53d/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.vtape", - element: "#wrapper", - items : [ - { - height: 100, - el : { - type : 'bi.label', - text : '1', - cls: "layout-bg1" - } - }, { - height: 200, - el : { - type : 'bi.label', - text : '2', - cls: "layout-bg2" - } - }, { - height: 'fill', - el : { - type : 'bi.label', - text : '3', - cls: "layout-bg3" - } - } - ] -}); - - - - - -``` - -{% endmethod %} - - -## API -##### 基础属性 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :----- | :----|:---- -| items | 子控件数组 | array | — | {height: 100,el: {type: 'bi.button', text: 'button1'}},{height: 'fill',el: {type: 'bi.button', text: 'button2'}},{height: 200,el: {type: 'bi.button', text: 'button3'}} | - - - ---- \ No newline at end of file diff --git a/docs/core/node_button.md b/docs/core/node_button.md deleted file mode 100644 index 416af5a092..0000000000 --- a/docs/core/node_button.md +++ /dev/null @@ -1,26 +0,0 @@ -# bi.NodeButton - -## 表示一个可以展开的节点,用于树状结构的节点元素, 不仅有选中状态而且有展开状态, [BI.BasicButton](/core/basic_button.md) - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| open | 节点是否展开 | boolean | true,false | false | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| isOpened | 判断节点是否展开| — -| setOpened | 设置节点展开状态| b -| triggerCollapse | 触发节点收起 | — -| triggerExpand | 触发节点展开| — - - - - ---- - - diff --git a/docs/core/pane.md b/docs/core/pane.md deleted file mode 100644 index 4d2a475632..0000000000 --- a/docs/core/pane.md +++ /dev/null @@ -1,29 +0,0 @@ -# bi.pane - -## 没有元素有提示信息,可以提供loading和loaded状态的面板, [BI.Widget](/core/widget.md) - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| tipText | 提示文本 | string | — | BI.i18nText("BI-No_Selected_Item") | -| overlap| loading图标是否在元素内部创建,true表示覆盖一层创建 | boolean | true,false | true | -| onLoaded | 加载之后的钩子 | function | — | — | - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | -| hasMatched | 是否有匹配的元素 | —| -| loading | 设置加载中,一般在继承类中调用 | — | -| loaded | 设置加载完毕,一般在继承类中调用 | — -| check | 检查当前面板状态| — - - - - ---- - - diff --git a/docs/core/single.md b/docs/core/single.md deleted file mode 100644 index fad6646e57..0000000000 --- a/docs/core/single.md +++ /dev/null @@ -1,39 +0,0 @@ -# bi.single - -## 这仅仅只是一个超类, 所有简单控件的基类,title的控制,文字超过边界显示3个点,基类[BI.Widget](/core/widget.md) - - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| readonly | 是否只读 | boolean | true,false| false | -| title | title | string |— | null | -| warningTitle | 错误title | string | —| null| -| tipType | title类型 | string | success,warning | null | -| value | value值 | string |— | null | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| enableHover | 恢复hover可用| opt | -| disabledHover | 取消hover事件 | —| -| populate | 刷新或者清空列表 | items | -| setTitle | 设置title| title,opt | -| setWarningTitle | 设置错误title | title,opt| -| getTipType | 获取tipType|—| -| isReadOnly | 是否只读| —| -| getTitle | 获取title|—| -| getWarningTitle | 获取warningTitle| —| -| setValue | 设置value值| value| -| getValue| 获取value值| —| - - - - - ---- - - diff --git a/docs/core/widget.md b/docs/core/widget.md deleted file mode 100644 index 632a9810e0..0000000000 --- a/docs/core/widget.md +++ /dev/null @@ -1,77 +0,0 @@ -# bi.widget - -## 所有控件的超类 - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| root | 是否是根组件 | boolean | true,false | false | -| tagName | html标签 | string| —| "div" | -| attributes | 属性 | object | —| null | -| data | 数据 | object | — | null | -| disabled | 是否可用 | boolean |true,false | false | -| invisible | 是否可见 | boolean | true,false | false| -| invalid | 是否有效 | boolean | true,false |false | -| baseCls | 基础class类 | string | —| " "| -| extraCls | 扩展class类,用于继承类中 | string| — | " "| -| cls | class,用于对外调用 | string |— | " "| - -## 生命周期函数 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| beforeCreate | 组件实例刚被创建 |— | -| created | 组件实例创建完成 | —| -| render | 渲染组件 | — | -| beforeMount | 组件挂载之前| —| -| mounted | 组件挂载 |—| -| update | 组件更新 | —| -| beforeDestroy | 组件销毁前调用| —| -| destroyed | 组件销毁后调用 | —| - - -## 对外方法 -#####(注: fineui2.0引入生命周期后,widget的实现类不需要重写setEnable,setValid等方法,会自动调用子组件的对应方法 -#####,一些需要在设置状态后做的额外工作可以通过重写_setXXX来实现) - -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| isMounted | 判断组件是否挂载| — | -| setWidth | 设置组件宽度 | width | -| setHeight | 设置组件高度 | height | -| setEnable | 设置组件是否可用 | enable | -| setVisible | 设置组件是否可见 | visible | -| setValid | 设置组件是否有效 | valid| -| doBehavior | 行为,如高亮,标红等 | —| -| getWidth | 获取组件宽度 | —| -| getHeight| 获取组件高度| —| -| isValid | 判断是否有效 | —| -| addWidget | 添加组件 | name,widget| -| getWidgetByName | 根据组件名称获取组件| name | -| removeWidget | 移除组件 | nameOrWidget | -| hasWidget | 判断是否有该组件 | name | -| getName | 获取组件名称 | —| -| setTag | 设置tag | tag | -| getTag | 获取tag | —| -| attr | 设置组件属性 | key,value | -| getText | 获取text值 | —| -| setText | 设置text值 | text| -| getValue | 获取value值 | —| -| setValue| 设置value值| value| -| isEnabled | 是否可用 | —| -| isVisible | 是否可见 | —| -| disable | 设置组件不可用 | —| -| enable | 设置组件可用| —| -| valid | 设置组件有效| —| -| invalid | 设置组件无效 | —| -| invisible | 设置组件不可见 | —| -| visible | 设置组件可见 | —| -| isolate | 类似于destroy,但元素并不会被销毁,只是被挂载起来了 | —| -| empty | 清空组件 | —| -| destroy | 销毁组件| —| - - - ---- - - diff --git a/docs/detailed/bi.button/general.md b/docs/detailed/bi.button/general.md deleted file mode 100644 index 76adf095cf..0000000000 --- a/docs/detailed/bi.button/general.md +++ /dev/null @@ -1,7 +0,0 @@ -# bi.button - -## 通用按钮,详情见[BI.button](/base/button/button.md) - - - - diff --git a/docs/detailed/bi.button/items.md b/docs/detailed/bi.button/items.md deleted file mode 100644 index 57bc8ae655..0000000000 --- a/docs/detailed/bi.button/items.md +++ /dev/null @@ -1,52 +0,0 @@ -## 各种items - -{% method %} -[source](https://jsfiddle.net/fineui/jyo0qdwL/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.vertical', - element: "#wrapper", - items: [{ - type: "bi.label", - height: 30, - text: "单选item" - }, { - type: "bi.single_select_item", - text: "单选项" - }, { - type: "bi.label", - height: 30, - text: "复选item" - }, { - type: "bi.multi_select_item", - text: "复选项" - }] -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值,如果clear属性为true,该属性值置0 | number | — | 10 | -| vgap | 效果相当于文本框上下padding值 | number | — | 0 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| items | 子控件数组 | array | — | [ ] | -| width | 宽度 | number | — | — | -| height | 高度 | number | — | — | - - - ---- - - diff --git a/docs/detailed/bi.button/node.md b/docs/detailed/bi.button/node.md deleted file mode 100644 index 1445723baf..0000000000 --- a/docs/detailed/bi.button/node.md +++ /dev/null @@ -1,58 +0,0 @@ -## 各种节点nodes - -{% method %} -[source](https://jsfiddle.net/fineui/jg257cog/) - -{% common %} -```javascript - -BI.createWidget({ - type: 'bi.vertical', - element: "#wrapper", - items: [{ - type: "bi.label", - height: 30, - text: "十字形的节点" - }, { - type: "bi.plus_group_node", - text: "十字形的节点" - }, { - type: "bi.label", - height: 30, - text: "三角形的节点" - }, { - type: "bi.triangle_group_node", - text: "三角形的节点" - }, { - type: "bi.label", - height: 30, - text: "箭头节点" - }, { - type: "bi.arrow_group_node", - text: "箭头节点" - }] -}); - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值,如果clear属性为true,该属性值置0 | number | — | 10 | -| vgap | 效果相当于文本框上下padding值 | number | — | 0 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| items | 子控件数组 | array | — | [ ] | -| width | 宽度 | number | — | — | -| height | 高度 | number | — | — | - - ---- - - diff --git a/docs/detailed/bi.button/segment.md b/docs/detailed/bi.button/segment.md deleted file mode 100644 index 2261e781ea..0000000000 --- a/docs/detailed/bi.button/segment.md +++ /dev/null @@ -1,58 +0,0 @@ -# bi.sgement - -## 各种segment - -{% method %} -[source](https://jsfiddle.net/fineui/7skvd64L/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.vertical", - element: "#wrapper", - items: [{ - type: "bi.label", - height: 30, - text: "默认风格" - }, { - type: "bi.segment", - items: [{ - text: "tab1", - value: 1, - selected: true - }, { - text: "tab2", - value: 2 - }, { - text: "tab3 disabled", - disabled: true, - value: 3 - }] - }], - hgap: 50, - vgap: 20 -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 10 | -| vgap | 效果相当于文本框上下padding值 | number | — | 0 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| items | 子控件数组 | array | — | [ ] | -| width | 宽度 | number | — | — | -| height | 高度 | number | — | — | - - ---- - - diff --git a/docs/detailed/bi.button/tooltip.md b/docs/detailed/bi.button/tooltip.md deleted file mode 100644 index ad2075e880..0000000000 --- a/docs/detailed/bi.button/tooltip.md +++ /dev/null @@ -1,46 +0,0 @@ -## 提示性信息 - -{% method %} -[source](https://jsfiddle.net/fineui/gn25yyrx/) - -{% common %} -```javascript -var toast = BI.createWidget({ - type: "bi.vertical", - element: "#wrapper", - items: [{ - el: { - type: 'bi.button', - text: '简单Toast测试', - height: 30, - handler: function () { - BI.Msg.toast("这是一条简单的数据"); - } - } - }], - vgap: 20 -}); - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| hgap | 效果相当于文本框左右padding值 | number | — | 10 | -| vgap | 效果相当于文本框上下padding值 | number | — | 0 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| items | 子控件数组 | array | — | [ ] | -| width | 宽度 | number | — | — | -| height | 高度 | number | — | — | - - - ---- - - diff --git a/docs/detailed/combo/multilayer_select_tree_combo.md b/docs/detailed/combo/multilayer_select_tree_combo.md deleted file mode 100644 index f5934c7a68..0000000000 --- a/docs/detailed/combo/multilayer_select_tree_combo.md +++ /dev/null @@ -1,41 +0,0 @@ -# bi.multilayer_select_tree_combo - -### 多层级下拉可选节点树 - -{% method %} -[source](https://jsfiddle.net/fineui/ryo1cnrL/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.multilayer_select_tree_combo", - element: 'body', - items: [], - text: "默认值", - width: 300, -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| ------ | ---- | ------ | ---- | -| height | 高度 | number | 30 | -| text | 文本框值 | string | '' | -| items | 元素 | array | null | - - - -### 方法 - -| 方法名 | 说明 | 回调参数 | -| -------- | ---- | ----------- | -| populate | 刷新内容 | items: 子项数组 | -| setValue | 设置值 | setValue | -| getValue | 获取值 | getValue | - ------- \ No newline at end of file diff --git a/docs/detailed/combo/multilayer_single_tree_combo.md b/docs/detailed/combo/multilayer_single_tree_combo.md deleted file mode 100644 index de905edcec..0000000000 --- a/docs/detailed/combo/multilayer_single_tree_combo.md +++ /dev/null @@ -1,42 +0,0 @@ -# bi.multilayer_single_tree_combo - -### 多层级下拉单选树 - -{% method %} -[source](https://jsfiddle.net/fineui/o0u3vp83/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.multilayer_single_tree_combo", - element: 'body', - items: [], - text: "默认值", - width: 300, -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | ----- | -------- | ---------- | -| height | 高度 | number | 30 | -| text | 文本框值 | string | '' | -| itemsCreator | 元素创造器 | function | BI.emptyFn | -| items | 元素 | array | null | - - - -### 方法 - -| 方法名 | 说明 | 回调参数 | -| -------- | ---- | ----------- | -| populate | 刷新内容 | items: 子项数组 | -| setValue | 设置值 | setValue | -| getValue | 获取值 | getValue | - ------- \ No newline at end of file diff --git a/docs/detailed/combo/select_tree_combo.md b/docs/detailed/combo/select_tree_combo.md deleted file mode 100644 index 30d7679c02..0000000000 --- a/docs/detailed/combo/select_tree_combo.md +++ /dev/null @@ -1,41 +0,0 @@ -# bi.select_tree_combo - -### 二级可选节点下拉框树 - -{% method %} -[source](https://jsfiddle.net/fineui/Lgqr17tg/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.select_tree_combo", - element: 'body', - items: [], - text: "默认值", - width: 300, -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| ------- | ---- | ------ | ---- | -| height | 高度 | number | 30 | -| text | 文本框值 | string | '' | -| items | 元素 | array | null | - - - -### 方法 - -| 方法名 | 说明 | 回调参数 | -| -------- | ---- | ----------- | -| populate | 刷新内容 | items: 子项数组 | -| setValue | 设置值 | setValue | -| getValue | 获取值 | getValue | - ------- \ No newline at end of file diff --git a/docs/detailed/combo/single_tree_combo.md b/docs/detailed/combo/single_tree_combo.md deleted file mode 100644 index e404841467..0000000000 --- a/docs/detailed/combo/single_tree_combo.md +++ /dev/null @@ -1,51 +0,0 @@ -# bi.single_tree_combo - -### 二级树下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/oxkb9uw5/) - -{% common %} -```javascript -var tree = BI.createWidget({ - type: "bi.single_tree_combo", - element: 'body', - items: [], - text: "默认值", - width: 300, -}); -``` - -{% endmethod %} - - - -### 参数设置 - -| 参数 | 说明 | 类型 | 默认值 | -| ------- | ---- | ------ | ---- | -| trigger | 下拉列表的弹出方式 | object | {} | -| height | 高度 | number | 30 | -| text | 文本框值 | string | '' | -| items | 元素 | array | null | - - - -### 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ---- | ----------- | -| populate | 刷新内容 | items: 子项数组 | -| setValue | 设置值 | setValue | -| getValue | 获取值 | getValue | - - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.SingleTreeCombo.EVENT_BEFORE_POPUPVIEW| 下拉框弹出前触发 | -其他事件详见[Input](../../base/editor/editor.md) - - ---- - diff --git a/docs/detailed/date/date_combo.md b/docs/detailed/date/date_combo.md deleted file mode 100644 index 0db0306f39..0000000000 --- a/docs/detailed/date/date_combo.md +++ /dev/null @@ -1,25 +0,0 @@ -# date_combo - -##日期选择下拉框(弹出的年月选择可以进一步选择日期) - -{% method %} -[source](https://jsfiddle.net/fineui/ebps32uy/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.date_combo", - element: "#wrapper", - width: 300 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - ---- \ No newline at end of file diff --git a/docs/detailed/date/date_pane.md b/docs/detailed/date/date_pane.md deleted file mode 100644 index 57a0172208..0000000000 --- a/docs/detailed/date/date_pane.md +++ /dev/null @@ -1,28 +0,0 @@ -# date_pane_widget - -##日期选择下拉框的弹出面板 - -{% method %} -[source](https://jsfiddle.net/fineui/rL9005u6/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.date_pane_widget", - element: "#wrapper", - width: 300 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| min | 限定可选日期的下限 | string | | '1900-01-01' | -| max | 限定可选日期的上限 | string | | '2099-12-31' | -| selectedTime | 选中的初始年月 | obj({year: y, month: m}) | — | — | - - ---- \ No newline at end of file diff --git a/docs/detailed/date/date_time.md b/docs/detailed/date/date_time.md deleted file mode 100644 index cd2b1d4564..0000000000 --- a/docs/detailed/date/date_time.md +++ /dev/null @@ -1,30 +0,0 @@ -# custom_date_time - -## 日期选择下拉框(可以选择时分秒) - -{% method %} -[source](https://jsfiddle.net/fineui/2d9dcxov/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.custom_date_time_combo", - element: "#wrapper", -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -| BI.CustomDateTimeCombo.EVENT_CANCEL| 点击取消触发 | -| BI.CustomDateTimeCombo.EVENT_CONFIRM| 点击确认触发 | - ---- diff --git a/docs/detailed/date/multidate_combo.md b/docs/detailed/date/multidate_combo.md deleted file mode 100644 index 7eba70ec04..0000000000 --- a/docs/detailed/date/multidate_combo.md +++ /dev/null @@ -1,34 +0,0 @@ -# multidate_combo - -## 日期下拉框,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/dutd5534/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.multidate_combo" -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/detailed/date/time_interval.md b/docs/detailed/date/time_interval.md deleted file mode 100644 index 2b360d06b9..0000000000 --- a/docs/detailed/date/time_interval.md +++ /dev/null @@ -1,34 +0,0 @@ -# time_interval - -## 日期区间,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/fcfwjsuk/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.time_interval" -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- - - - ---- \ No newline at end of file diff --git a/docs/detailed/date/year_month_combo.md b/docs/detailed/date/year_month_combo.md deleted file mode 100644 index f22537f98b..0000000000 --- a/docs/detailed/date/year_month_combo.md +++ /dev/null @@ -1,33 +0,0 @@ -# year_month_combo - -##年月选择下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/ehvjj3xt/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.year_month_combo", - width: 300 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| yearBehaviors |自定义年份选择的行为(详见[button_group](../../core/abstract/button_group.md)) | object| —| { } | -| monthBehaviors |自定义年份选择的行为(详见[button_group](../../core/abstract/button_group.md)) | object|— | { }| - - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -| BI.YearMonthCombo.EVENT_BEFORE_POPUPVIEW | 弹出框弹出前触发 | -| BI.YearMonthCombo.EVENT_CONFIRM| 点击确认触发 | - - ---- \ No newline at end of file diff --git a/docs/detailed/date/year_quarter_combo.md b/docs/detailed/date/year_quarter_combo.md deleted file mode 100644 index 6389cf304d..0000000000 --- a/docs/detailed/date/year_quarter_combo.md +++ /dev/null @@ -1,34 +0,0 @@ -# year_quarter_combo - -##年季度选择下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/xe6Lt6mo/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.year_quarter_combo", - width: 300 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| yearBehaviors |自定义年份选择的行为(详见[button_group](../../core/abstract/button_group.md)) | object| | | -| monthBehaviors |自定义年份选择的行为(详见[button_group](../../core/abstract/button_group.md)) | object| —|{ } | - - - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -| BI.YearQuarterCombo.EVENT_BEFORE_POPUPVIEW | 弹出框弹出前触发 | -| BI.YearQuarterCombo.EVENT_CONFIRM| 点击确认触发 | - - ---- \ No newline at end of file diff --git a/docs/detailed/down_list_combo.md b/docs/detailed/down_list_combo.md deleted file mode 100644 index 5766bd5325..0000000000 --- a/docs/detailed/down_list_combo.md +++ /dev/null @@ -1,80 +0,0 @@ -# down_list_combo - -## 多层下拉列表的下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/p0hykqo9/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.down_list_combo', - element: '#wrapper', - width: 300, - items: [ - [{ - el: { - text: "column 1111", - iconCls1: "check-mark-e-font", - value: 11 - }, - children: [{ - text: "column 1.1", - value: 21, - cls: "dot-e-font", - selected: true - }, { - text: "column 1.222222222222222222222222222222222222", - cls: "dot-e-font", - value: 22, - }] - }], - [{ - el: { - type: "bi.icon_text_icon_item", - text: "column 2", - iconCls1: "chart-type-e-font", - cls: "dot-e-font", - value: 12 - }, - disabled: true, - children: [{ - type: "bi.icon_text_item", - cls: "dot-e-font", - height: 25, - text: "column 2.1", - value: 11 - }, { - text: "column 2.2", - value: 12, - cls: "dot-e-font" - }] - }] - ] -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| el | 自定义下拉框trigger | object | | | -| trigger | 下拉列表的弹出方式 | string | click, hover | click | -| direction | 弹出列表和trigger的位置关系 | string | top | bottom | left | right | top,left | top,right | bottom,left | bottom,right | bottom | -| adjustLength | 弹出列表和trigger的距离 | number | | 0 | - - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.DownListCombo.EVENT_CHANGE| 点击一级节点触发 | -|BI.DownListCombo.EVENT_SON_VALUE_CHANGE| 点击二级节点触发 | -|BI.DownListCombo.EVENT_BEFORE_POPUPVIEW| 下拉列表弹出前触发 | - -##具体配置方法见[Combo](../core/combination/bi.combo.md) - - - ---- \ No newline at end of file diff --git a/docs/detailed/file_manager.md b/docs/detailed/file_manager.md deleted file mode 100644 index dbad359670..0000000000 --- a/docs/detailed/file_manager.md +++ /dev/null @@ -1,42 +0,0 @@ -# file_manager - -## 文件管理器 - -{% method %} -[source](https://jsfiddle.net/fineui/2g4k0kxh/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.file_manager", - items: [{ - id: "1", - value: "1", - text: "根目录" - }, { - id: "11", - pId: "1", - value: "11", - text: "第一级子目录1" - }, { - id: "12", - pId: "1", - value: "12", - text: "第一级子目录2" - }] -}) -``` - -{% endmethod %} - - - -##方法 - -| 方法 | 说明 | -| :------ |:------------- | -| getSelectedValue() | 获取当前选中项的value值 | -| getSelectedId | 获取当前选中项的id属性 | - - ---- \ No newline at end of file diff --git a/docs/detailed/month_combo.md b/docs/detailed/month_combo.md deleted file mode 100644 index ea87ce4bc5..0000000000 --- a/docs/detailed/month_combo.md +++ /dev/null @@ -1,34 +0,0 @@ -# month_combo - -## 月份选择下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/u4u04ntn/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.month_combo', - element: '#wrapper', - width: 300 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| behaviors | 自定义下拉列表中item项的行为,如高亮,标红等(详见[button_group](../core/abstract/button_group.md)) | object | | {} | - - - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.MonthCombo.EVENT_CONFIRM| 选中日期或者退出编辑状态触发 | -|BI.MonthCombo.EVENT_BEFORE_POPUPVIEW| 选中日期或者退出编辑状态触发 | - - ---- \ No newline at end of file diff --git a/docs/detailed/multi_select_combo.md b/docs/detailed/multi_select_combo.md deleted file mode 100644 index f0b44627d0..0000000000 --- a/docs/detailed/multi_select_combo.md +++ /dev/null @@ -1,31 +0,0 @@ -# multi_select_combo - -## 带确定的复选下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/oskypvLe/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.multi_select_combo", - element: '#wrapper', - width: 500, - itemsCreator: function(){ - return { - items: [], - hasNext: false - } - } -}); -``` - -{% endmethod %} - - -| 事件 | 说明 | -| :------ |:------------- | -|BI.MultiSelectCombo.EVENT_CONFIRM| 点击确定触发 | - - ---- \ No newline at end of file diff --git a/docs/detailed/number_interval.md b/docs/detailed/number_interval.md deleted file mode 100644 index 9c781fb650..0000000000 --- a/docs/detailed/number_interval.md +++ /dev/null @@ -1,45 +0,0 @@ -# bi.number_interval - -## 数值区间控件 - -{% method %} -[source](https://jsfiddle.net/fineui/5mmj70j5/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.number_interval", - element: 'body', - width: 500 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| min | 最小值初始值 | number | | 无 | -| max | 最大值初始值 | number | | 无 | -| closeMin | 左区间初始状态 | boolean | | true | -| closeMax | 右区间初始状态 | boolean | | true | - -## 方法 -| 方法 | 说明 | 用法 | -| ---------------------------- | ---------------- | ------------------------------------ | -| isStateValid() | 当前状态是否有效(输入是否合法, 区间是否成立) | | -| setMinEnable(boolean) | 设置左区间输入框disable状态 | | -| setCloseMinEnable(boolean) | 设置左区间开闭combo的disable状态 | | -| setMaxEnable(boolean) | 设置右区间输入框disable状态 | | -| setCloseMaxEnable(boolean) | 设置右区间开闭combo的disable状态 | | -| setNumTip(string) | 设置数值区间的tip提示 | — | - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.NumberInterval.EVENT_VALID| 区间合法的状态事件 | -|BI.NumberInterval.EVENT_ERROR| 区间不合法的状态事件 | - - ---- \ No newline at end of file diff --git a/docs/detailed/path/direction_path_chooser.md b/docs/detailed/path/direction_path_chooser.md deleted file mode 100644 index e22203d234..0000000000 --- a/docs/detailed/path/direction_path_chooser.md +++ /dev/null @@ -1,40 +0,0 @@ -# direction_path_chooser - -## 带方向的路径选择 - -{% method %} -[source](https://jsfiddle.net/fineui/04h6gsps/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.direction_path_chooser", - element: "#wrapper", - items: [[{ - "region": "合同信息", - "text": "客户ID", - "value": "defa1f7ba8b2684a客户ID" - }, { - "region": "客户信息", - "text": "主键", - "value": "1f4711c201ef1842", - "direction": -1 - }, { - "region": "合同的回款信息", - "text": "合同ID", - "value": "e351e9f1d8147947合同ID", - "direction": -1 - }]] -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| items |二维数组,每个元素代表一条路径,相较于[path_chooser](path_chooser.md)多一个属性direction来指定方向 | array| — | [ ]| - - ---- \ No newline at end of file diff --git a/docs/detailed/path/path_chooser.md b/docs/detailed/path/path_chooser.md deleted file mode 100644 index 097ecb0607..0000000000 --- a/docs/detailed/path/path_chooser.md +++ /dev/null @@ -1,42 +0,0 @@ -# path_chooser - -## 路径选择 - -{% method %} -[source](https://jsfiddle.net/fineui/5519b4xo/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.path_chooser", - element: "#wrapper", - items: [[{ - "region": "8c4460bc3605685e", - "regionText": "采购订单XXX", - "text": "ID", - "value": "1" - }, { - "region": "0fbd0dc648f41e97", - "regionText": "采购订单", - "text": "学号", - "value": "3" - }, { - "region": "c6d72d6c7e19a667", - "regionText": "供应商基本信息", - "text": "ID", - "value": "5" - }]] -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| items |二维数组,每个元素代表一条路径 | array| — | [ ] | - - - ---- \ No newline at end of file diff --git a/docs/detailed/quarter_combo.md b/docs/detailed/quarter_combo.md deleted file mode 100644 index e15d26d540..0000000000 --- a/docs/detailed/quarter_combo.md +++ /dev/null @@ -1,34 +0,0 @@ -# quarter_combo - -## 季度选择下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/rw7ubwtj/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.quarter_combo', - element: '#wrapper', - width: 300 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| behaviors | 自定义下拉列表中item项的行为,如高亮,标红等(详见[button_group](../core/abstract/button_group.md)) | object | | {} | - - - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.QuarterCombo.EVENT_CONFIRM| 选中日期或者退出编辑状态触发 | -|BI.QuarterCombo.EVENT_BEFORE_POPUPVIEW| 选中日期或者退出编辑状态触发 | - - ---- \ No newline at end of file diff --git a/docs/detailed/relation_view.md b/docs/detailed/relation_view.md deleted file mode 100644 index d2997620d7..0000000000 --- a/docs/detailed/relation_view.md +++ /dev/null @@ -1,35 +0,0 @@ -# relation_view - -## 关联视图 - -{% method %} -[source](https://jsfiddle.net/fineui/k19mvL7q/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.relation_view", - items: [{ - primary: { - region: "B", regionText: "比", - title: "b2...", - value: "b2", text: "b2字段" - }, - foreign: {region: "C", value: "c1", text: "c1字段"} - }, { - primary: {region: "A", value: "a1", text: "a1字段"}, - foreign: {region: "C", value: "c2", text: "c2字段"} - }] -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| - - - ---- \ No newline at end of file diff --git a/docs/detailed/single_slider.md b/docs/detailed/single_slider.md deleted file mode 100644 index 2618951ee7..0000000000 --- a/docs/detailed/single_slider.md +++ /dev/null @@ -1,48 +0,0 @@ -# bi.single_slider - -## 数值滑块 - -{% method %} -[source](https://jsfiddle.net/fineui/k6svamdz/) - -{% common %} -```javascript -var singleSlider = BI.createWidget({ - type: "bi.single_slider", - element: "body", - width: 200, - height: 50, - cls: "demo-slider" -}); - -singleSlider.setMinAndMax({ - min: 10, - max: 100 -}); -singleSlider.setValue(30); -singleSlider.populate(); - -``` - -{% endmethod %} - - - -##参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ---- | ---- | ------ | ---- | - - - -## 方法 - -| 方法名 | 说明 | 参数 | -| -------- | ---- | ----- | -| setMinAndMax | 设置最大值最小值 | {min: number, max: number} | -| getValue | 获得当前值 | — | -| setValue | 设置当前值 | value | -| populate | 加载设置后的控件 | — | - ------- - diff --git a/docs/detailed/table/bi.page_table.md b/docs/detailed/table/bi.page_table.md deleted file mode 100644 index c60bb9f00c..0000000000 --- a/docs/detailed/table/bi.page_table.md +++ /dev/null @@ -1,80 +0,0 @@ -# bi.page_table - -### 分页表格 - -{% method %} -[source](https://jsfiddle.net/fineui/4egug10x/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.page_table", - element: "body", - columnSize: [200,200], - items: [], - pager: { - horizontal : {}, - vertical: {} - } -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 二级参数 | 三级参数 | 说明 | 类型 | 默认值 | -| ----------------------- | ---------- | --------- | ------------------ | -------------------- | ----------------- | -| pager | | | 分页选项 | object | — | -| | horizontal | | 水平分页选项 | object | — | -| | | pages | 显示总页数 | boolean | false | -| | | curr | 当前页 | number | 1 | -| | | hasPrev | 判断是否有前一页的函数 | function | BI.emptyFn | -| | | hasNext | 是否有下一页 | function | BI.emptyFn | -| | | firstPage | 第一页 | number | 1 | -| | | lastPage | 最后一页 | number/function | BI.emptyFn | -| | vertical | | 纵向分页,参数与horizontal | object | — | -| itemsCreator | | | 元素创造器 | function | BI.emptyFn | -| isNeedFreeze | | | 是否需要冻结表头 | boolean | false | -| freezeCols | | | 冻结的列 | array | [] | -| isNeedMerge | | | 是否需要合并单元格 | boolean | false | -| mergeCols | | | 合并的单元格列号 | array | [] | -| mergeRule | | | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | -| columnSize | | | 单元格宽度集合 | array | [] | -| minColumnSize | | | 最小列宽 | array | [] | -| maxColumnSize | | | 最大列宽 | array | [] | -| headerRowSize | | | 表头高度 | number | 25 | -| rowSize | | | 普通单元格高度 | number | 25 | -| regionColumnSize | | | 列项间的 | array | [] | -| headerCellStyleGetter | | | | function | BI.emptyFn | -| summaryCellStyleGetter | | | | function | BI.emptyFn | -| sequenceCellStyleGetter | | | | function | BI.emptyFn | -| header | | | 表头 | array | [] | -| items | | | 子组件 | array | [] | -| crossHeader | | | 交叉表头 | array | [] | -| crossItems | | | 交叉项 | array | [] | - - - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------------------ | ----------- | ------------------ | -| setHPage | 设置水平页数 | v: 页码 | -| setVpage | 设置纵向页数 | v: 页码 | -| getHPage | 获得水平页数 | — | -| getVPage | 获得垂直页数 | — | -| setWidth | 设置宽度 | width: 宽度 | -| setHeight | 设置高度 | height: 高度 | -| setColumnSize | 设置列宽 | columnSize: 列宽数组 | -| getColumnSize | 得到列宽 | — | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize: 列宽数组 | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop: 纵向滚动距离 | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft: 横向滚动距离 | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft: 横向滚动距离 | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| attr | 设置属性 | key: 键 value: 值 | -| populate | 增加 | — | - ------- \ No newline at end of file diff --git a/docs/detailed/table/bi.preview_table.md b/docs/detailed/table/bi.preview_table.md deleted file mode 100644 index e5876b55d8..0000000000 --- a/docs/detailed/table/bi.preview_table.md +++ /dev/null @@ -1,74 +0,0 @@ -# bi.preview_table - -### 用于表格预览,继承BI.Widget - -{% method %} -[source](https://jsfiddle.net/fineui/po4s0hub/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.preview_table", - header: [[{ - text: "表头1" - }, { - text: "表头2" - }, { - text: "表头3" - }]], - element: 'body', - columnSize: [100, "", 50], - items: [[{ - text: "第一行第一列" - }, { - text: "第一行第二列" - }, { - text: "第一行第三列" - }]] -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ------------- | ---- | ------------ | ----- | -| isNeedFreeze | 是否冻结 | boolean | false | -| freezeCols | 冻结的列 | array | [] | -| rowSize | 行高 | array/number | null | -| columnSize | 列宽 | array | [] | -| headerRowSize | 表头行高 | number | 30 | -| header | 表头内容 | array | [] | -| items | 子组件 | array | [] | - -## 方法 -| 方法名 | 说明 | 参数 | -| ---------------------------- | ---------------- | ------------- | -| resize | 调整表格 | — | -| setColumnSize | 设置列宽 | columnSize | -| getColumnSize | 得到列宽 | — | -| getCalculateColumnSize | 获得计算后的列宽 | — | -| setHeaderColumnSize | 设置表头的列宽 | columnSize | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| getCalculateRegionColumnSize | 获取计算后的列项之间的间隙 | — | -| getCalculateRegionRowSize | 获取计算后的列项上下之间的间隙 | — | -| getClientRegionColumnSize | 获取浏览器中显示的列项之间的间隙 | — | -| getScrollRegionColumnSize | 获取横向滚动条宽度 | — | -| getScrollRegionRowSize | 获取纵向滚动条宽度 | — | -| hasVerticalScroll | 是否含有数值滚动条 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| getColumns | 获取列项 | — | -| resizeHeader | 调整表头 | — | -| attr | 设置属性 | key:键,value:值 | -| populate | 替换为新的内容 | rows | - ---- - diff --git a/docs/detailed/table/bi.responsive_table.md b/docs/detailed/table/bi.responsive_table.md deleted file mode 100644 index 5210f0f075..0000000000 --- a/docs/detailed/table/bi.responsive_table.md +++ /dev/null @@ -1,85 +0,0 @@ -# bi.responsive_table - -### 自适应宽度的表格,继承BI.Widget - -{% method %} -[source](https://jsfiddle.net/fineui/y70jwztm/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.responsive_table", - isNeedMerge: true, - isNeedFreeze: true, - mergeCols: [0, 1], - columnSize: ["", "", ""], - items: [[{ - text: "第一行第一列" - }, { - text: "第一行第二列" - }, { - text: "第一行第三列" - }]], - header: [[{ - text: "表头1" - }, { - text: "表头2" - }, { - text: "表头3" - }]], - element: 'body' -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 默认值 | -| ---------------- | ------------------------------------ | -------- | -------- | -| isNeedFreeze | 是否需要冻结单元格 | boolean | false | -| freezeCols | 冻结的列号,从0开始,isNeedFreeze为true时生效 | array | [] | -| isNeedMerge | 是否需要合并单元格 | boolean | false | -| mergeRule | function (row1, row2) 合并规则, 默认相等时合并 | function | function | -| columnSize | 列宽 | array | [] | -| headerRowSize | 表头行高 | number | 25 | -| footerRowSize | 表尾行高 | number | 25 | -| rowSize | 行高 | number | 25 | -| columnSize | 列宽 | array | [] | -| regionColumnSize | | boolean | false | -| header | 表头内容 | array | [] | -| footer | 是否需要表尾 | boolean | false | -| items | 子组件二维数组 | array | [] | -| crossHeader | 交叉表头 | array | [] | -| crossItems | 交叉表内容二维数组 | array | [] | - -## 方法 -| 方法名 | 说明 | 参数 | -| ---------------------------- | ---------------- | ------------- | -| resize | 调整表格 | — | -| setColumnSize | 设置列宽 | columnSize | -| getColumnSize | 得到列宽 | — | -| getCalculateColumnSize | 获得计算后的列宽 | — | -| setHeaderColumnSize | 设置表头的列宽 | columnSize | -| setRegionColumnSize | 设置列项之间的间隙 | columnSize | -| getRegionColumnSize | 获得列项之间的间隙 | — | -| getCalculateRegionColumnSize | 获取计算后的列项之间的间隙 | — | -| getCalculateRegionRowSize | 获取计算后的列项上下之间的间隙 | — | -| getClientRegionColumnSize | 获取浏览器中显示的列项之间的间隙 | — | -| getScrollRegionColumnSize | 获取横向滚动条宽度 | — | -| getScrollRegionRowSize | 获取纵向滚动条宽度 | — | -| hasVerticalScroll | 是否含有数值滚动条 | — | -| setVerticalScroll | 设置纵向滚动距离 | scrollTop | -| setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft | -| setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft | -| getVerticalScroll | 获取纵向滚动距离 | — | -| getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | -| getRightHorizontalScroll | 获取右往左横向滚动距离 | — | -| getColumns | 获取列项 | — | -| resizeHeader | 调整表头 | — | -| attr | 设置属性 | key:键,value:值 | -| populate | 替换为新内容 | rows | - ------- - diff --git a/docs/detailed/table/bi.sequence_table.md b/docs/detailed/table/bi.sequence_table.md deleted file mode 100644 index bdc9c93324..0000000000 --- a/docs/detailed/table/bi.sequence_table.md +++ /dev/null @@ -1,45 +0,0 @@ -# sequence_table - -## 优化过性能的列表,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/ggcdop1x/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.sequence_table", - header: [], - items: [], -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- -| crossHeader | 列表头 | array | — | 100 | -| crossItems | 列items | array | - | 0 | -| freezeCols | 冻结Column | array | - | 0 | -| mergeCols | 合并Column | array | - | 0 | -| header | 行表头 | array | - | 0 | -| items | 行items | array | - | 0 | -| columnSize | 列宽 | array | - | 0 | -| minColumnSize | 最小列宽 | array | - | 0 | - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | - - - ---- \ No newline at end of file diff --git a/docs/detailed/text_input/bi.clear_editor.md b/docs/detailed/text_input/bi.clear_editor.md deleted file mode 100644 index 63a1303d8f..0000000000 --- a/docs/detailed/text_input/bi.clear_editor.md +++ /dev/null @@ -1,51 +0,0 @@ -# bi.clear_editor - -## 带清除按钮的输入框 - -{% method %} -[source](https://jsfiddle.net/fineui/ppgph3qu/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.clear_editor', - cls: "bi-border", - element: '#wrapper', - width: 300, - watermark:"带清除按钮的输入框", -}); -``` - -{% endmethod %} - -##API - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | — | 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| validationChecker | 输入较验函数 | function | — | — | -| quitChecker | 是否允许退出编辑函数 | function | — | — | -| allowBlank | 是否允许空值 | boolean | true,false | false | -| watermark | 文本框placeholder | string | — | null | -| value | 文本框默认值 | string | — | " " | -| errorText | 错误提示 | string | — | null | -| width | 文本框宽度 | number | — | — | -| height | 文本框高度 | number | — | 30 | - - - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.ClearEditor.EVENT_CLEAR| 点击清空按钮触发 | - -### 其他事件详见[Input](../../base/editor/editor.md) - - ---- - diff --git a/docs/detailed/text_input/bi.search_editor.md b/docs/detailed/text_input/bi.search_editor.md deleted file mode 100644 index 62a967f490..0000000000 --- a/docs/detailed/text_input/bi.search_editor.md +++ /dev/null @@ -1,50 +0,0 @@ - -## bi.search_editor -### 搜索框 - -{% method %} -[source](https://jsfiddle.net/fineui/4a1rLppw/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.search_editor', - element: '#wrapper', - width: 300, - watermark:"搜索", -}); -``` - -{% endmethod %} - -##API - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | — | 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| validationChecker | 输入较验函数 |function| — | — | -| quitChecker | 是否允许退出编辑函数 | function | — | — | -| allowBlank | 是否允许空值 | boolean | true,false | false | -| watermark | 文本框placeholder | string | — | null | -| value | 文本框默认值 | string | — | " " | -| errorText | 错误提示 | string | —| null | -| width | 文本框宽度 | number | — | — | -| height | 文本框高度 | number | — | 30 | - - - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.SearchEditor.EVENT_CLEAR| 点击清空按钮触发 | - -### 其他事件详见[Editor](../../base/editor/editor.md) - - ---- - diff --git a/docs/detailed/text_input/bi.text_editor.md b/docs/detailed/text_input/bi.text_editor.md deleted file mode 100644 index 8ee6de74d3..0000000000 --- a/docs/detailed/text_input/bi.text_editor.md +++ /dev/null @@ -1,48 +0,0 @@ -#bi.text_editor -#####通过鼠标或键盘输入字符 - -## 基础用法 - -{% method %} -[source](https://jsfiddle.net/fineui/cna5o200/) - -{% common %} -```javascript -BI.createWidget({ - type: "bi.text_editor", - element: "#wrapper", - width: 200, - height: 30, - watermark:"请输入内容" -}); -``` - -{% endmethod %} - -## API - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| hgap | 效果相当于文本框左右padding值 | number | — | 4 | -| vgap | 效果相当于文本框上下padding值 | number | — | 2 | -| lgap | 效果相当于文本框left-padding值 | number | — | 0 | -| rgap | 效果相当于文本框right-padding值 | number | — | 0 | -| tgap |效果相当于文本框top-padding值 | number | — | 0 | -| bgap | 效果相当于文本框bottom-padding值 | number | — | 0 | -| validationChecker | 输入较验函数 |function| — | — | -| quitChecker | 是否允许退出编辑函数 | function | — | — | -| allowBlank | 是否允许空值 | boolean | true,false | false | -| watermark | 文本框placeholder | string | — | null | -| value | 文本框默认值 | string | — | " " | -| errorText | 错误提示 | string | — | null | -| width | 文本框宽度 | number | — | — | -| height | 文本框高度 | number | — | 30 | - - - - -### 事件详见[Editor](../../base/editor/editor.md) - - - ---- \ No newline at end of file diff --git a/docs/detailed/text_input/number_editor.md b/docs/detailed/text_input/number_editor.md deleted file mode 100644 index bd70b79ee1..0000000000 --- a/docs/detailed/text_input/number_editor.md +++ /dev/null @@ -1,34 +0,0 @@ -# number_editor - -## 数值微调器 - -{% method %} -[source](https://jsfiddle.net/fineui/52dhwtfz/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.number_editor', - element: '#wrapper', - width: 300 -}); -``` - -{% endmethod %} - -## 参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| value | 编辑框中的值,-1表示自动 | number | | -1 | - - - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.NumberEditor.EVENT_CONFIRM| 点击增加/减少按钮或者编辑框确定时触发 | - - - ---- \ No newline at end of file diff --git a/docs/detailed/tree/bi.multi_tree_combo.md b/docs/detailed/tree/bi.multi_tree_combo.md deleted file mode 100644 index dca879fad4..0000000000 --- a/docs/detailed/tree/bi.multi_tree_combo.md +++ /dev/null @@ -1,60 +0,0 @@ -# bi.multi_tree_combo - -### 树下拉框,继承BI.Widget - -{% method %} -[source](https://jsfiddle.net/fineui/caw7efpf/) - -{% common %} -```javascript -var items = [{ - id: -1, - pId: -2, - value: "根目录", - text: "根目录" -}, { - id: 1, - pId: -1, - value: "第一级目录1", - text: "第一级目录1" -}, { - id: 11, - pId: 1, - value: "第二级文件1", - text: "第二级文件1" -}]; - -BI.createWidget({ - type: "bi.multi_tree_combo", - itemsCreator: function (options, callback) { - callback({ - items: items - }); - }, - width: 300 -}) -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ------------ | ------------- | -------- | ------------- | -| width | 宽度 | number | 200 | -| height | 高度 | number | 30 | -| items | 子项,pId代表父节点ID | array | null | -| itemsCreator | 子项创建函数 | function | function() {} | - -## 方法 -| 方法名 | 说明 | 参数 | -| -------- | ------- | --------------- | -| setValue | 设置文本框值 | v | -| getValue | 获取文本框值 | — | -| populate | 更改树结构内容 | items | - -## 事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.MultiTreeCombo.EVENT_CONFIRM| 点击一级节点触发 | ---- - diff --git a/docs/detailed/tree/bi.switch_tree.md b/docs/detailed/tree/bi.switch_tree.md deleted file mode 100644 index b1e3302078..0000000000 --- a/docs/detailed/tree/bi.switch_tree.md +++ /dev/null @@ -1,53 +0,0 @@ -# bi.switch_tree - -### 可以单选多选切换的树,继承BI.Widget - -{% method %} -[source](https://jsfiddle.net/fineui/crd4z1nd/) - -{% common %} -```javascript -var items = [{ - id: -1, - pId: -2, - value: "根目录", - text: "根目录" -}, { - id: 1, - pId: -1, - value: "第一级目录1", - text: "第一级目录1" -}, { - id: 11, - pId: 1, - value: "第二级文件1", - text: "第二级文件1" -}]; - -var tree = BI.createWidget({ - type: "bi.switch_tree", - items: items, -}); -``` - -{% endmethod %} - -## 参数设置 -| 参数 | 说明 | 类型 | 默认值 | -| ----- | ------------- | ----- | ---- | -| items | 子项,pId代表父节点ID | array | [] | - -## 方法 -| 方法名 | 说明 | 参数 | -| ------------ | --------- | ------------ | -| switchSelect | 切换树结构 | — | -| setSelect | 设置选中项 | v | -| getSelect | 获取选中项 | — | -| setValue | 设置当前选中项内容 | v | -| getValue | 获取当前选中项内容 | v | -| populate | 更改树结构内容 | items | - ------- - - - diff --git a/docs/detailed/tree/multi_select_level_tree.md b/docs/detailed/tree/multi_select_level_tree.md deleted file mode 100644 index f38787ab50..0000000000 --- a/docs/detailed/tree/multi_select_level_tree.md +++ /dev/null @@ -1,36 +0,0 @@ -# multi_select_level_tree - -## 可以选中父节点的多层层级树,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/yp9nhwf0/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.multilayer_select_level_tree", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | - - - ---- \ No newline at end of file diff --git a/docs/detailed/tree/multi_single_level_tree.md b/docs/detailed/tree/multi_single_level_tree.md deleted file mode 100644 index 1171208d6e..0000000000 --- a/docs/detailed/tree/multi_single_level_tree.md +++ /dev/null @@ -1,36 +0,0 @@ -# multi_single_level_tree - -## 多层层级树,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/5d0yyk4y/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.multilayer_single_level_tree", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | - - - ---- \ No newline at end of file diff --git a/docs/detailed/tree/multilayer_select_tree_combo.md b/docs/detailed/tree/multilayer_select_tree_combo.md deleted file mode 100644 index 63d7bc4a98..0000000000 --- a/docs/detailed/tree/multilayer_select_tree_combo.md +++ /dev/null @@ -1,2 +0,0 @@ -# multilayer_select_tree_combo - diff --git a/docs/detailed/tree/multilayer_single_tree_combo.md b/docs/detailed/tree/multilayer_single_tree_combo.md deleted file mode 100644 index 5fe7cf8338..0000000000 --- a/docs/detailed/tree/multilayer_single_tree_combo.md +++ /dev/null @@ -1,2 +0,0 @@ -# multilayer_single_tree_combo - diff --git a/docs/detailed/tree/select_level_tree.md b/docs/detailed/tree/select_level_tree.md deleted file mode 100644 index 5f40c73537..0000000000 --- a/docs/detailed/tree/select_level_tree.md +++ /dev/null @@ -1,36 +0,0 @@ -# select_level_tree - -## 可以选中父节点的SingleLevelTree,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/0o1oeqrw/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.select_level_tree", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | - - - ---- \ No newline at end of file diff --git a/docs/detailed/tree/select_tree_combo.md b/docs/detailed/tree/select_tree_combo.md deleted file mode 100644 index 13b21ef6be..0000000000 --- a/docs/detailed/tree/select_tree_combo.md +++ /dev/null @@ -1,2 +0,0 @@ -# select_tree_combo - diff --git a/docs/detailed/tree/single_level_tree.md b/docs/detailed/tree/single_level_tree.md deleted file mode 100644 index 3e87329697..0000000000 --- a/docs/detailed/tree/single_level_tree.md +++ /dev/null @@ -1,36 +0,0 @@ -# single_level_tree - -## 单选层级树,基类[BI.Widget](/core/widget.md) - -{% method %} -[source](https://jsfiddle.net/fineui/9vnrwec1/) - -{% common %} -```javascript - -BI.createWidget({ - type: "bi.single_level_tree", - items: [] -}); - - - -``` - -{% endmethod %} - -## API -##### 基础属性 -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:---- - - - -## 对外方法 -| 名称 | 说明 | 回调参数 -| :------ |:------------- | :----- -| populate | 刷新列表 | items | - - - ---- \ No newline at end of file diff --git a/docs/detailed/tree/single_tree_combo.md b/docs/detailed/tree/single_tree_combo.md deleted file mode 100644 index 1b3a4ce618..0000000000 --- a/docs/detailed/tree/single_tree_combo.md +++ /dev/null @@ -1,2 +0,0 @@ -# single_tree_combo - diff --git a/docs/detailed/year_combo.md b/docs/detailed/year_combo.md deleted file mode 100644 index 7cd74f0bcb..0000000000 --- a/docs/detailed/year_combo.md +++ /dev/null @@ -1,37 +0,0 @@ -# year_combo - -## 年份选择下拉框 - -{% method %} -[source](https://jsfiddle.net/fineui/3na3125L/) - -{% common %} -```javascript -BI.createWidget({ - type: 'bi.year_combo', - element: '#wrapper', - width: 300 -}); -``` - -{% endmethod %} - -##参数 - -| 参数 | 说明 | 类型 | 可选值 | 默认值 -| :------ |:------------- | :-----| :----|:----| -| behaviors | 自定义下拉列表中item项的行为,如高亮,标红等(详见[button_group](../core/abstract/button_group.md)) | object | | {} | -| min | 限定可选日期的下限 | string | | '1900-01-01' | -| max | 限定可选日期的上限 | string | | '2099-12-31' | - - - -##事件 -| 事件 | 说明 | -| :------ |:------------- | -|BI.YearCombo.EVENT_CONFIRM| 选中日期或者退出编辑状态触发 | -|BI.YearCombo.EVENT_BEFORE_POPUPVIEW| 选中日期或者退出编辑状态触发 | - - - ---- \ No newline at end of file diff --git a/docs/package-lock.json b/docs/package-lock.json deleted file mode 100644 index f8139f2444..0000000000 --- a/docs/package-lock.json +++ /dev/null @@ -1,5850 +0,0 @@ -{ - "name": "fineuidocs", - "version": "1.0.0", - "lockfileVersion": 1, - "dependencies": { - "abab": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz", - "integrity": "sha1-uB3l9ydOxOdW15fNg08wNkJyTl0=", - "dev": true, - "optional": true - }, - "acorn": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", - "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", - "dev": true - }, - "acorn-globals": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", - "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", - "dev": true, - "optional": true, - "requires": { - "acorn": "2.7.0" - } - }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true, - "optional": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "1.0.3" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true, - "optional": true - }, - "async": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.1.4.tgz", - "integrity": "sha1-LSFgx3iAMuTdbL4lAvH5osj2zeQ=", - "dev": true, - "requires": { - "lodash": "4.17.4" - } - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "dev": true, - "optional": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base64url": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64url/-/base64url-2.0.0.tgz", - "integrity": "sha1-6sFuA+oUOO/5Qj1puqNiYu0fcLs=", - "dev": true - }, - "bash-color": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/bash-color/-/bash-color-0.0.4.tgz", - "integrity": "sha1-6b6M4zVAytpIgXaMWb1jhlc26RM=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true, - "optional": true - }, - "cheerio": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.20.0.tgz", - "integrity": "sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=", - "dev": true, - "requires": { - "css-select": "1.2.0", - "dom-serializer": "0.1.0", - "entities": "1.1.1", - "htmlparser2": "3.8.3", - "jsdom": "7.2.2", - "lodash": "4.17.4" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "optional": true - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true, - "requires": { - "graceful-readlink": "1.0.1" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "optional": true, - "requires": { - "boom": "2.10.1" - } - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "requires": { - "boolbase": "1.0.0", - "css-what": "2.1.0", - "domutils": "1.5.1", - "nth-check": "1.0.1" - } - }, - "css-what": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", - "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", - "dev": true - }, - "cssom": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", - "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", - "dev": true - }, - "cssstyle": { - "version": "0.2.37", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", - "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", - "dev": true, - "optional": true, - "requires": { - "cssom": "0.3.2" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "dev": true, - "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", - "dev": true - } - } - }, - "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", - "dev": true - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "dev": true, - "requires": { - "domelementtype": "1.3.0" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" - } - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", - "dev": true - }, - "escodegen": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz", - "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=", - "dev": true, - "optional": true, - "requires": { - "esprima": "2.7.3", - "estraverse": "1.9.3", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.2.0" - } - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true, - "optional": true - }, - "estraverse": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz", - "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=", - "dev": true, - "optional": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true, - "optional": true - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true, - "optional": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" - } - }, - "fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "3.0.1", - "universalify": "0.1.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "gh-pages": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-1.0.0.tgz", - "integrity": "sha1-Skb0wlQ596K35oNVBNSknpSfBMo=", - "dev": true, - "requires": { - "async": "2.1.4", - "base64url": "2.0.0", - "commander": "2.9.0", - "fs-extra": "3.0.1", - "globby": "6.1.0", - "graceful-fs": "4.1.11", - "rimraf": "2.6.1" - } - }, - "gitbook-cli": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/gitbook-cli/-/gitbook-cli-2.3.2.tgz", - "integrity": "sha512-eyGtkY7jKHhmgpfuvgAP5fZcUob/FBz4Ld0aLRdEmiTrS1RklimN9epzPp75dd4MWpGhYvSbiwxnpyLiv1wh6A==", - "dev": true, - "requires": { - "bash-color": "0.0.4", - "commander": "2.11.0", - "fs-extra": "3.0.1", - "lodash": "4.17.4", - "npm": "5.1.0", - "npmi": "1.0.1", - "optimist": "0.6.1", - "q": "1.5.0", - "semver": "5.3.0", - "tmp": "0.0.31", - "user-home": "2.0.0" - }, - "dependencies": { - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true - } - } - }, - "gitbook-plugin-expandable-chapters": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/gitbook-plugin-expandable-chapters/-/gitbook-plugin-expandable-chapters-0.2.0.tgz", - "integrity": "sha1-RdcIeuaQekH0gSjFT+ViJKnBraI=", - "dev": true - }, - "gitbook-plugin-jsfiddle": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gitbook-plugin-jsfiddle/-/gitbook-plugin-jsfiddle-1.0.0.tgz", - "integrity": "sha1-deNd6EbvYrvS0Gb7YSzJniUgoq4=", - "dev": true - }, - "gitbook-plugin-search": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/gitbook-plugin-search/-/gitbook-plugin-search-2.2.1.tgz", - "integrity": "sha1-bSW1p3aZD6mP39+jfeMx944PaxM=", - "dev": true - }, - "gitbook-plugin-splitter": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/gitbook-plugin-splitter/-/gitbook-plugin-splitter-0.0.8.tgz", - "integrity": "sha1-8rBRMGD8kma0awQYLk7KHUtx+vw=", - "dev": true - }, - "gitbook-plugin-theme-api": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/gitbook-plugin-theme-api/-/gitbook-plugin-theme-api-1.1.2.tgz", - "integrity": "sha1-jBRaS61JoSE8AlApC5vZtyrqiPw=", - "dev": true, - "requires": { - "cheerio": "0.20.0", - "gitbook-plugin-search": "2.2.1", - "lodash": "4.12.0", - "q": "1.4.1", - "q-plus": "0.0.8" - }, - "dependencies": { - "lodash": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.12.0.tgz", - "integrity": "sha1-K9bcRqBA9Z5obJcu0h2T3FkFMlg=", - "dev": true - }, - "q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true - } - } - }, - "gitbook-plugin-toggle-chapters": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/gitbook-plugin-toggle-chapters/-/gitbook-plugin-toggle-chapters-0.0.3.tgz", - "integrity": "sha1-bl9aphubLiIcOAzfbpKDIAFez7k=", - "dev": true - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "optional": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "dev": true, - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.3.0", - "domutils": "1.5.1", - "entities": "1.0.0", - "readable-stream": "1.1.14" - }, - "dependencies": { - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", - "dev": true - } - } - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true, - "optional": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true, - "optional": true - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "jsdom": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-7.2.2.tgz", - "integrity": "sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4=", - "dev": true, - "optional": true, - "requires": { - "abab": "1.0.3", - "acorn": "2.7.0", - "acorn-globals": "1.0.9", - "cssom": "0.3.2", - "cssstyle": "0.2.37", - "escodegen": "1.8.1", - "nwmatcher": "1.4.1", - "parse5": "1.5.1", - "request": "2.81.0", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.3.2", - "webidl-conversions": "2.0.1", - "whatwg-url-compat": "0.6.5", - "xml-name-validator": "2.0.1" - } - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true, - "optional": true - }, - "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "optional": true, - "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - }, - "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", - "dev": true - }, - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", - "dev": true, - "requires": { - "mime-db": "1.30.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - } - }, - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - }, - "npm": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-5.1.0.tgz", - "integrity": "sha512-pt5ClxEmY/dLpb60SmGQQBKi3nB6Ljx1FXmpoCUdAULlGqGVn2uCyXxPCWFbcuHGthT7qGiaGa1wOfs/UjGYMw==", - "dev": true, - "requires": { - "abbrev": "1.1.0", - "ansi-regex": "3.0.0", - "ansicolors": "0.3.2", - "ansistyles": "0.1.3", - "aproba": "1.1.2", - "archy": "1.0.0", - "bluebird": "3.5.0", - "cacache": "9.2.9", - "call-limit": "1.1.0", - "chownr": "1.0.1", - "cmd-shim": "2.0.2", - "columnify": "1.5.4", - "config-chain": "1.1.11", - "debuglog": "1.0.1", - "detect-indent": "5.0.0", - "dezalgo": "1.0.3", - "editor": "1.0.0", - "fs-vacuum": "1.2.10", - "fs-write-stream-atomic": "1.0.10", - "fstream": "1.0.11", - "fstream-npm": "1.2.1", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "has-unicode": "2.0.1", - "hosted-git-info": "2.5.0", - "iferr": "0.1.5", - "imurmurhash": "0.1.4", - "inflight": "1.0.6", - "inherits": "2.0.3", - "ini": "1.3.4", - "init-package-json": "1.10.1", - "JSONStream": "1.3.1", - "lazy-property": "1.0.0", - "lockfile": "1.0.3", - "lodash._baseindexof": "3.1.0", - "lodash._baseuniq": "4.6.0", - "lodash._bindcallback": "3.0.1", - "lodash._cacheindexof": "3.0.2", - "lodash._createcache": "3.1.2", - "lodash._getnative": "3.9.1", - "lodash.clonedeep": "4.5.0", - "lodash.restparam": "3.6.1", - "lodash.union": "4.6.0", - "lodash.uniq": "4.5.0", - "lodash.without": "4.4.0", - "lru-cache": "4.1.1", - "mississippi": "1.3.0", - "mkdirp": "0.5.1", - "move-concurrently": "1.0.1", - "node-gyp": "3.6.2", - "nopt": "4.0.1", - "normalize-package-data": "2.4.0", - "npm-cache-filename": "1.0.2", - "npm-install-checks": "3.0.0", - "npm-package-arg": "5.1.2", - "npm-registry-client": "8.4.0", - "npm-user-validate": "1.0.0", - "npmlog": "4.1.2", - "once": "1.4.0", - "opener": "1.4.3", - "osenv": "0.1.4", - "pacote": "2.7.38", - "path-is-inside": "1.0.2", - "promise-inflight": "1.0.1", - "read": "1.0.7", - "read-cmd-shim": "1.0.1", - "read-installed": "4.0.3", - "read-package-json": "2.0.9", - "read-package-tree": "5.1.6", - "readable-stream": "2.3.2", - "readdir-scoped-modules": "1.0.2", - "request": "2.81.0", - "retry": "0.10.1", - "rimraf": "2.6.1", - "safe-buffer": "5.1.1", - "semver": "5.3.0", - "sha": "2.0.1", - "slide": "1.1.6", - "sorted-object": "2.0.1", - "sorted-union-stream": "2.1.3", - "ssri": "4.1.6", - "strip-ansi": "4.0.0", - "tar": "2.2.1", - "text-table": "0.2.0", - "uid-number": "0.0.6", - "umask": "1.1.0", - "unique-filename": "1.1.0", - "unpipe": "1.0.0", - "update-notifier": "2.2.0", - "uuid": "3.1.0", - "validate-npm-package-license": "3.0.1", - "validate-npm-package-name": "3.0.0", - "which": "1.2.14", - "worker-farm": "1.3.1", - "wrappy": "1.0.2", - "write-file-atomic": "2.1.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "ansicolors": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "ansistyles": { - "version": "0.1.3", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.1.2", - "bundled": true, - "dev": true - }, - "archy": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "bluebird": { - "version": "3.5.0", - "bundled": true, - "dev": true - }, - "cacache": { - "version": "9.2.9", - "bundled": true, - "dev": true, - "requires": { - "bluebird": "3.5.0", - "chownr": "1.0.1", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "lru-cache": "4.1.1", - "mississippi": "1.3.0", - "mkdirp": "0.5.1", - "move-concurrently": "1.0.1", - "promise-inflight": "1.0.1", - "rimraf": "2.6.1", - "ssri": "4.1.6", - "unique-filename": "1.1.0", - "y18n": "3.2.1" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - }, - "dependencies": { - "pseudomap": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "2.1.2", - "bundled": true, - "dev": true - } - } - }, - "y18n": { - "version": "3.2.1", - "bundled": true, - "dev": true - } - } - }, - "call-limit": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "cmd-shim": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1" - } - }, - "columnify": { - "version": "1.5.4", - "bundled": true, - "dev": true, - "requires": { - "strip-ansi": "3.0.1", - "wcwidth": "1.0.1" - }, - "dependencies": { - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - }, - "wcwidth": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "defaults": "1.0.3" - }, - "dependencies": { - "defaults": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "clone": "1.0.2" - }, - "dependencies": { - "clone": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - } - } - } - } - }, - "config-chain": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "ini": "1.3.4", - "proto-list": "1.2.4" - }, - "dependencies": { - "proto-list": { - "version": "1.2.4", - "bundled": true, - "dev": true - } - } - }, - "debuglog": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "detect-indent": { - "version": "5.0.0", - "bundled": true, - "dev": true - }, - "dezalgo": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "asap": "2.0.5", - "wrappy": "1.0.2" - }, - "dependencies": { - "asap": { - "version": "2.0.5", - "bundled": true, - "dev": true - } - } - }, - "editor": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fs-vacuum": { - "version": "1.2.10", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "path-is-inside": "1.0.2", - "rimraf": "2.6.1" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "iferr": "0.1.5", - "imurmurhash": "0.1.4", - "readable-stream": "2.3.2" - } - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-npm": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "fstream-ignore": "1.0.5", - "inherits": "2.0.3" - }, - "dependencies": { - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - }, - "dependencies": { - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.8", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - } - } - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - }, - "dependencies": { - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.8", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "hosted-git-info": { - "version": "2.5.0", - "bundled": true, - "dev": true - }, - "iferr": { - "version": "0.1.5", - "bundled": true, - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "dev": true - }, - "init-package-json": { - "version": "1.10.1", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2", - "npm-package-arg": "5.1.2", - "promzard": "0.3.0", - "read": "1.0.7", - "read-package-json": "2.0.9", - "semver": "5.3.0", - "validate-npm-package-license": "3.0.1", - "validate-npm-package-name": "3.0.0" - }, - "dependencies": { - "promzard": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "read": "1.0.7" - } - } - } - }, - "JSONStream": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "jsonparse": "1.3.1", - "through": "2.3.8" - }, - "dependencies": { - "jsonparse": { - "version": "1.3.1", - "bundled": true, - "dev": true - }, - "through": { - "version": "2.3.8", - "bundled": true, - "dev": true - } - } - }, - "lazy-property": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "lockfile": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "lodash._baseindexof": { - "version": "3.1.0", - "bundled": true, - "dev": true - }, - "lodash._baseuniq": { - "version": "4.6.0", - "bundled": true, - "dev": true, - "requires": { - "lodash._createset": "4.0.3", - "lodash._root": "3.0.1" - }, - "dependencies": { - "lodash._createset": { - "version": "4.0.3", - "bundled": true, - "dev": true - }, - "lodash._root": { - "version": "3.0.1", - "bundled": true, - "dev": true - } - } - }, - "lodash._bindcallback": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "lodash._cacheindexof": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "lodash._createcache": { - "version": "3.1.2", - "bundled": true, - "dev": true, - "requires": { - "lodash._getnative": "3.9.1" - } - }, - "lodash._getnative": { - "version": "3.9.1", - "bundled": true, - "dev": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "bundled": true, - "dev": true - }, - "lodash.restparam": { - "version": "3.6.1", - "bundled": true, - "dev": true - }, - "lodash.union": { - "version": "4.6.0", - "bundled": true, - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "bundled": true, - "dev": true - }, - "lodash.without": { - "version": "4.4.0", - "bundled": true, - "dev": true - }, - "lru-cache": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - }, - "dependencies": { - "pseudomap": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "2.1.2", - "bundled": true, - "dev": true - } - } - }, - "mississippi": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "concat-stream": "1.6.0", - "duplexify": "3.5.0", - "end-of-stream": "1.4.0", - "flush-write-stream": "1.0.2", - "from2": "2.3.0", - "parallel-transform": "1.1.0", - "pump": "1.0.2", - "pumpify": "1.3.5", - "stream-each": "1.2.0", - "through2": "2.0.3" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.2", - "typedarray": "0.0.6" - }, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - } - } - }, - "duplexify": { - "version": "3.5.0", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "1.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.2", - "stream-shift": "1.0.0" - }, - "dependencies": { - "end-of-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "once": "1.3.3" - }, - "dependencies": { - "once": { - "version": "1.3.3", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - } - } - }, - "stream-shift": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "end-of-stream": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0" - } - }, - "flush-write-stream": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.2" - } - }, - "from2": { - "version": "2.3.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.2" - } - }, - "parallel-transform": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "cyclist": "0.2.2", - "inherits": "2.0.3", - "readable-stream": "2.3.2" - }, - "dependencies": { - "cyclist": { - "version": "0.2.2", - "bundled": true, - "dev": true - } - } - }, - "pump": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "1.4.0", - "once": "1.4.0" - } - }, - "pumpify": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "requires": { - "duplexify": "3.5.0", - "inherits": "2.0.3", - "pump": "1.0.2" - } - }, - "stream-each": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "1.4.0", - "stream-shift": "1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "through2": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "2.3.2", - "xtend": "4.0.1" - }, - "dependencies": { - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - } - } - }, - "move-concurrently": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "aproba": "1.1.2", - "copy-concurrently": "1.0.3", - "fs-write-stream-atomic": "1.0.10", - "mkdirp": "0.5.1", - "rimraf": "2.6.1", - "run-queue": "1.0.3" - }, - "dependencies": { - "copy-concurrently": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "aproba": "1.1.2", - "fs-write-stream-atomic": "1.0.10", - "iferr": "0.1.5", - "mkdirp": "0.5.1", - "rimraf": "2.6.1", - "run-queue": "1.0.3" - } - }, - "run-queue": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "aproba": "1.1.2" - } - } - } - }, - "node-gyp": { - "version": "3.6.2", - "bundled": true, - "dev": true, - "requires": { - "fstream": "1.0.11", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "npmlog": "4.1.2", - "osenv": "0.1.4", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "which": "1.2.14" - }, - "dependencies": { - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.8", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "nopt": { - "version": "3.0.6", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "1.1.0" - } - } - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.3.0", - "validate-npm-package-license": "3.0.1" - }, - "dependencies": { - "is-builtin-module": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "builtin-modules": "1.1.1" - }, - "dependencies": { - "builtin-modules": { - "version": "1.1.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "npm-cache-filename": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "npm-install-checks": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "semver": "5.3.0" - } - }, - "npm-package-arg": { - "version": "5.1.2", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "2.5.0", - "osenv": "0.1.4", - "semver": "5.3.0", - "validate-npm-package-name": "3.0.0" - } - }, - "npm-registry-client": { - "version": "8.4.0", - "bundled": true, - "dev": true, - "requires": { - "concat-stream": "1.6.0", - "graceful-fs": "4.1.11", - "normalize-package-data": "2.4.0", - "npm-package-arg": "5.1.2", - "npmlog": "4.1.2", - "once": "1.4.0", - "request": "2.81.0", - "retry": "0.10.1", - "semver": "5.3.0", - "slide": "1.1.6", - "ssri": "4.1.6" - }, - "dependencies": { - "concat-stream": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.2", - "typedarray": "0.0.6" - }, - "dependencies": { - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - } - } - } - } - }, - "npm-user-validate": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - }, - "dependencies": { - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.2" - }, - "dependencies": { - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "requires": { - "aproba": "1.1.2", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - }, - "dependencies": { - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - }, - "dependencies": { - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - }, - "dependencies": { - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "string-width": "1.0.2" - } - } - } - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "opener": { - "version": "1.4.3", - "bundled": true, - "dev": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - }, - "dependencies": { - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "pacote": { - "version": "2.7.38", - "bundled": true, - "dev": true, - "requires": { - "bluebird": "3.5.0", - "cacache": "9.2.9", - "glob": "7.1.2", - "lru-cache": "4.1.1", - "make-fetch-happen": "2.4.13", - "minimatch": "3.0.4", - "mississippi": "1.3.0", - "normalize-package-data": "2.4.0", - "npm-package-arg": "5.1.2", - "npm-pick-manifest": "1.0.4", - "osenv": "0.1.4", - "promise-inflight": "1.0.1", - "promise-retry": "1.1.1", - "protoduck": "4.0.0", - "safe-buffer": "5.1.1", - "semver": "5.3.0", - "ssri": "4.1.6", - "tar-fs": "1.15.3", - "tar-stream": "1.5.4", - "unique-filename": "1.1.0", - "which": "1.2.14" - }, - "dependencies": { - "make-fetch-happen": { - "version": "2.4.13", - "bundled": true, - "dev": true, - "requires": { - "agentkeepalive": "3.3.0", - "cacache": "9.2.9", - "http-cache-semantics": "3.7.3", - "http-proxy-agent": "2.0.0", - "https-proxy-agent": "2.0.0", - "lru-cache": "4.1.1", - "mississippi": "1.3.0", - "node-fetch-npm": "2.0.1", - "promise-retry": "1.1.1", - "socks-proxy-agent": "3.0.0", - "ssri": "4.1.6" - }, - "dependencies": { - "agentkeepalive": { - "version": "3.3.0", - "bundled": true, - "dev": true, - "requires": { - "humanize-ms": "1.2.1" - }, - "dependencies": { - "humanize-ms": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "http-cache-semantics": { - "version": "3.7.3", - "bundled": true, - "dev": true - }, - "http-proxy-agent": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "4.1.0", - "debug": "2.6.8" - }, - "dependencies": { - "agent-base": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "4.1.1" - }, - "dependencies": { - "es6-promise": { - "version": "4.1.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "https-proxy-agent": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "4.1.0", - "debug": "2.6.8" - }, - "dependencies": { - "agent-base": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "4.1.1" - }, - "dependencies": { - "es6-promise": { - "version": "4.1.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "node-fetch-npm": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "encoding": "0.1.12", - "json-parse-helpfulerror": "1.0.3", - "safe-buffer": "5.1.1" - }, - "dependencies": { - "encoding": { - "version": "0.1.12", - "bundled": true, - "dev": true, - "requires": { - "iconv-lite": "0.4.18" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.18", - "bundled": true, - "dev": true - } - } - }, - "json-parse-helpfulerror": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "jju": "1.3.0" - }, - "dependencies": { - "jju": { - "version": "1.3.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "socks-proxy-agent": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "agent-base": "4.1.0", - "socks": "1.1.10" - }, - "dependencies": { - "agent-base": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promisify": "5.0.0" - }, - "dependencies": { - "es6-promisify": { - "version": "5.0.0", - "bundled": true, - "dev": true, - "requires": { - "es6-promise": "4.1.1" - }, - "dependencies": { - "es6-promise": { - "version": "4.1.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "socks": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "requires": { - "ip": "1.1.5", - "smart-buffer": "1.1.15" - }, - "dependencies": { - "ip": { - "version": "1.1.5", - "bundled": true, - "dev": true - }, - "smart-buffer": { - "version": "1.1.15", - "bundled": true, - "dev": true - } - } - } - } - } - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.8", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "npm-pick-manifest": { - "version": "1.0.4", - "bundled": true, - "dev": true, - "requires": { - "npm-package-arg": "5.1.2", - "semver": "5.3.0" - } - }, - "promise-retry": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "err-code": "1.1.2", - "retry": "0.10.1" - }, - "dependencies": { - "err-code": { - "version": "1.1.2", - "bundled": true, - "dev": true - } - } - }, - "protoduck": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "genfun": "4.0.1" - }, - "dependencies": { - "genfun": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - }, - "tar-fs": { - "version": "1.15.3", - "bundled": true, - "dev": true, - "requires": { - "chownr": "1.0.1", - "mkdirp": "0.5.1", - "pump": "1.0.2", - "tar-stream": "1.5.4" - }, - "dependencies": { - "pump": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "end-of-stream": "1.4.0", - "once": "1.4.0" - }, - "dependencies": { - "end-of-stream": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0" - } - } - } - } - } - }, - "tar-stream": { - "version": "1.5.4", - "bundled": true, - "dev": true, - "requires": { - "bl": "1.2.1", - "end-of-stream": "1.4.0", - "readable-stream": "2.3.2", - "xtend": "4.0.1" - }, - "dependencies": { - "bl": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "2.3.2" - } - }, - "end-of-stream": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0" - } - }, - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "path-is-inside": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "read": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "requires": { - "mute-stream": "0.0.7" - }, - "dependencies": { - "mute-stream": { - "version": "0.0.7", - "bundled": true, - "dev": true - } - } - }, - "read-cmd-shim": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } - }, - "read-installed": { - "version": "4.0.3", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "1.0.1", - "graceful-fs": "4.1.11", - "read-package-json": "2.0.9", - "readdir-scoped-modules": "1.0.2", - "semver": "5.3.0", - "slide": "1.1.6", - "util-extend": "1.0.3" - }, - "dependencies": { - "util-extend": { - "version": "1.0.3", - "bundled": true, - "dev": true - } - } - }, - "read-package-json": { - "version": "2.0.9", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "json-parse-helpfulerror": "1.0.3", - "normalize-package-data": "2.4.0" - }, - "dependencies": { - "json-parse-helpfulerror": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "jju": "1.3.0" - }, - "dependencies": { - "jju": { - "version": "1.3.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "read-package-tree": { - "version": "5.1.6", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "1.0.1", - "dezalgo": "1.0.3", - "once": "1.4.0", - "read-package-json": "2.0.9", - "readdir-scoped-modules": "1.0.2" - } - }, - "readable-stream": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "readdir-scoped-modules": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "1.0.1", - "dezalgo": "1.0.3", - "graceful-fs": "4.1.11", - "once": "1.4.0" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" - }, - "dependencies": { - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - }, - "dependencies": { - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - }, - "dependencies": { - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true - } - } - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - }, - "dependencies": { - "ajv": { - "version": "4.11.8", - "bundled": true, - "dev": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - }, - "dependencies": { - "co": { - "version": "4.6.0", - "bundled": true, - "dev": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "jsonify": "0.0.0" - }, - "dependencies": { - "jsonify": { - "version": "0.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "dev": true - } - } - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - }, - "dependencies": { - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - } - } - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.1" - }, - "dependencies": { - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "requires": { - "extsprintf": "1.0.2" - } - } - } - }, - "sshpk": { - "version": "1.13.1", - "bundled": true, - "dev": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - } - } - } - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.27.0" - }, - "dependencies": { - "mime-db": { - "version": "1.27.0", - "bundled": true, - "dev": true - } - } - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "dev": true - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "requires": { - "punycode": "1.4.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true - } - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } - } - }, - "retry": { - "version": "0.10.1", - "bundled": true, - "dev": true - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true, - "dev": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "dev": true - }, - "sha": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "readable-stream": "2.3.2" - } - }, - "slide": { - "version": "1.1.6", - "bundled": true, - "dev": true - }, - "sorted-object": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "sorted-union-stream": { - "version": "2.1.3", - "bundled": true, - "dev": true, - "requires": { - "from2": "1.3.0", - "stream-iterate": "1.2.0" - }, - "dependencies": { - "from2": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "1.1.14" - }, - "dependencies": { - "readable-stream": { - "version": "1.1.14", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - } - } - } - } - }, - "stream-iterate": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "2.3.2", - "stream-shift": "1.0.0" - }, - "dependencies": { - "stream-shift": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "ssri": { - "version": "4.1.6", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "bundled": true, - "dev": true - } - } - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - }, - "dependencies": { - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true - }, - "umask": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "unique-filename": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "unique-slug": "2.0.0" - }, - "dependencies": { - "unique-slug": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "imurmurhash": "0.1.4" - } - } - } - }, - "unpipe": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "update-notifier": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "requires": { - "boxen": "1.1.0", - "chalk": "1.1.3", - "configstore": "3.1.0", - "import-lazy": "2.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" - }, - "dependencies": { - "boxen": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "1.1.3", - "cli-boxes": "1.0.0", - "string-width": "2.1.0", - "term-size": "0.1.1", - "widest-line": "1.0.0" - }, - "dependencies": { - "ansi-align": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "2.1.0" - } - }, - "camelcase": { - "version": "4.1.0", - "bundled": true, - "dev": true - }, - "cli-boxes": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "string-width": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "term-size": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "requires": { - "execa": "0.4.0" - }, - "dependencies": { - "execa": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "requires": { - "cross-spawn-async": "2.2.5", - "is-stream": "1.1.0", - "npm-run-path": "1.0.0", - "object-assign": "4.1.1", - "path-key": "1.0.0", - "strip-eof": "1.0.0" - }, - "dependencies": { - "cross-spawn-async": { - "version": "2.2.5", - "bundled": true, - "dev": true, - "requires": { - "lru-cache": "4.1.1", - "which": "1.2.14" - } - }, - "is-stream": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "npm-run-path": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "path-key": "1.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true - }, - "path-key": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "widest-line": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "string-width": "1.0.2" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - }, - "dependencies": { - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - }, - "dependencies": { - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - } - } - } - } - } - } - }, - "chalk": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "has-ansi": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - } - } - }, - "supports-color": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "configstore": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "dot-prop": "4.1.1", - "graceful-fs": "4.1.11", - "make-dir": "1.0.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.1.0", - "xdg-basedir": "3.0.0" - }, - "dependencies": { - "dot-prop": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "requires": { - "is-obj": "1.0.1" - }, - "dependencies": { - "is-obj": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "make-dir": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "pify": "2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "bundled": true, - "dev": true - } - } - }, - "unique-string": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "crypto-random-string": "1.0.0" - }, - "dependencies": { - "crypto-random-string": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "import-lazy": { - "version": "2.1.0", - "bundled": true, - "dev": true - }, - "is-npm": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "latest-version": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "package-json": "4.0.1" - }, - "dependencies": { - "package-json": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.1", - "registry-url": "3.1.0", - "semver": "5.3.0" - }, - "dependencies": { - "got": { - "version": "6.7.1", - "bundled": true, - "dev": true, - "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "safe-buffer": "5.1.1", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" - }, - "dependencies": { - "create-error-class": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "requires": { - "capture-stack-trace": "1.0.0" - }, - "dependencies": { - "capture-stack-trace": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "duplexer3": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "is-redirect": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "is-retry-allowed": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "lowercase-keys": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "timed-out": { - "version": "4.0.1", - "bundled": true, - "dev": true - }, - "unzip-response": { - "version": "2.0.1", - "bundled": true, - "dev": true - }, - "url-parse-lax": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "prepend-http": "1.0.4" - }, - "dependencies": { - "prepend-http": { - "version": "1.0.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "registry-auth-token": { - "version": "3.3.1", - "bundled": true, - "dev": true, - "requires": { - "rc": "1.2.1", - "safe-buffer": "5.1.1" - }, - "dependencies": { - "rc": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "registry-url": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "requires": { - "rc": "1.2.1" - }, - "dependencies": { - "rc": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true - } - } - } - } - } - } - } - } - }, - "semver-diff": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "semver": "5.3.0" - } - }, - "xdg-basedir": { - "version": "3.0.0", - "bundled": true, - "dev": true - } - } - }, - "uuid": { - "version": "3.1.0", - "bundled": true, - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" - }, - "dependencies": { - "spdx-correct": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "spdx-license-ids": "1.2.2" - }, - "dependencies": { - "spdx-license-ids": { - "version": "1.2.2", - "bundled": true, - "dev": true - } - } - }, - "spdx-expression-parse": { - "version": "1.0.4", - "bundled": true, - "dev": true - } - } - }, - "validate-npm-package-name": { - "version": "3.0.0", - "bundled": true, - "dev": true, - "requires": { - "builtins": "1.0.3" - }, - "dependencies": { - "builtins": { - "version": "1.0.3", - "bundled": true, - "dev": true - } - } - }, - "which": { - "version": "1.2.14", - "bundled": true, - "dev": true, - "requires": { - "isexe": "2.0.0" - }, - "dependencies": { - "isexe": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "worker-farm": { - "version": "1.3.1", - "bundled": true, - "dev": true, - "requires": { - "errno": "0.1.4", - "xtend": "4.0.1" - }, - "dependencies": { - "errno": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "requires": { - "prr": "0.0.0" - }, - "dependencies": { - "prr": { - "version": "0.0.0", - "bundled": true, - "dev": true - } - } - }, - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "write-file-atomic": { - "version": "2.1.0", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - } - } - } - }, - "npmi": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npmi/-/npmi-1.0.1.tgz", - "integrity": "sha1-FddpJzVHVF5oCdzwzhiu1IsCkOI=", - "dev": true, - "requires": { - "npm": "2.15.12", - "semver": "4.3.6" - }, - "dependencies": { - "npm": { - "version": "2.15.12", - "resolved": "https://registry.npmjs.org/npm/-/npm-2.15.12.tgz", - "integrity": "sha1-33w+1aJ3w/nUtdgZsFMR0QogCuY=", - "dev": true, - "requires": { - "abbrev": "1.0.9", - "ansi": "0.3.1", - "ansi-regex": "2.0.0", - "ansicolors": "0.3.2", - "ansistyles": "0.1.3", - "archy": "1.0.0", - "async-some": "1.0.2", - "block-stream": "0.0.9", - "char-spinner": "1.0.1", - "chmodr": "1.0.2", - "chownr": "1.0.1", - "cmd-shim": "2.0.2", - "columnify": "1.5.4", - "config-chain": "1.1.10", - "dezalgo": "1.0.3", - "editor": "1.0.0", - "fs-vacuum": "1.2.9", - "fs-write-stream-atomic": "1.0.8", - "fstream": "1.0.10", - "fstream-npm": "1.1.1", - "github-url-from-git": "1.4.0", - "github-url-from-username-repo": "1.0.2", - "glob": "7.0.6", - "graceful-fs": "4.1.6", - "hosted-git-info": "2.1.5", - "imurmurhash": "0.1.4", - "inflight": "1.0.5", - "inherits": "2.0.3", - "ini": "1.3.4", - "init-package-json": "1.9.4", - "lockfile": "1.0.1", - "lru-cache": "4.0.1", - "minimatch": "3.0.3", - "mkdirp": "0.5.1", - "node-gyp": "3.6.0", - "nopt": "3.0.6", - "normalize-git-url": "3.0.2", - "normalize-package-data": "2.3.5", - "npm-cache-filename": "1.0.2", - "npm-install-checks": "1.0.7", - "npm-package-arg": "4.1.0", - "npm-registry-client": "7.2.1", - "npm-user-validate": "0.1.5", - "npmlog": "2.0.4", - "once": "1.4.0", - "opener": "1.4.1", - "osenv": "0.1.3", - "path-is-inside": "1.0.1", - "read": "1.0.7", - "read-installed": "4.0.3", - "read-package-json": "2.0.4", - "readable-stream": "2.1.5", - "realize-package-specifier": "3.0.1", - "request": "2.74.0", - "retry": "0.10.0", - "rimraf": "2.5.4", - "semver": "5.1.0", - "sha": "2.0.1", - "slide": "1.1.6", - "sorted-object": "2.0.0", - "spdx-license-ids": "1.2.2", - "strip-ansi": "3.0.1", - "tar": "2.2.1", - "text-table": "0.2.0", - "uid-number": "0.0.6", - "umask": "1.1.0", - "validate-npm-package-license": "3.0.1", - "validate-npm-package-name": "2.2.2", - "which": "1.2.11", - "wrappy": "1.0.2", - "write-file-atomic": "1.1.4" - }, - "dependencies": { - "abbrev": { - "version": "1.0.9", - "bundled": true, - "dev": true - }, - "ansi": { - "version": "0.3.1", - "bundled": true, - "dev": true - }, - "ansi-regex": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "ansicolors": { - "version": "0.3.2", - "bundled": true, - "dev": true - }, - "ansistyles": { - "version": "0.1.3", - "bundled": true, - "dev": true - }, - "archy": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "async-some": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "dezalgo": "1.0.3" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "char-spinner": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "chmodr": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "cmd-shim": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.6", - "mkdirp": "0.5.1" - } - }, - "columnify": { - "version": "1.5.4", - "bundled": true, - "dev": true, - "requires": { - "strip-ansi": "3.0.1", - "wcwidth": "1.0.0" - }, - "dependencies": { - "wcwidth": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "defaults": "1.0.3" - }, - "dependencies": { - "defaults": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "clone": "1.0.2" - }, - "dependencies": { - "clone": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - } - } - } - } - }, - "config-chain": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "requires": { - "ini": "1.3.4", - "proto-list": "1.2.4" - }, - "dependencies": { - "proto-list": { - "version": "1.2.4", - "bundled": true, - "dev": true - } - } - }, - "dezalgo": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "asap": "2.0.3", - "wrappy": "1.0.2" - }, - "dependencies": { - "asap": { - "version": "2.0.3", - "bundled": true, - "dev": true - } - } - }, - "editor": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fs-vacuum": { - "version": "1.2.9", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.6", - "path-is-inside": "1.0.1", - "rimraf": "2.5.4" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.8", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.6", - "iferr": "0.1.5", - "imurmurhash": "0.1.4", - "readable-stream": "2.1.5" - }, - "dependencies": { - "iferr": { - "version": "0.1.5", - "bundled": true, - "dev": true - } - } - }, - "fstream": { - "version": "1.0.10", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.6", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.5.4" - } - }, - "fstream-npm": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "fstream-ignore": "1.0.5", - "inherits": "2.0.3" - }, - "dependencies": { - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "fstream": "1.0.10", - "inherits": "2.0.3", - "minimatch": "3.0.3" - } - } - } - }, - "github-url-from-git": { - "version": "1.4.0", - "bundled": true, - "dev": true - }, - "github-url-from-username-repo": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "glob": { - "version": "7.0.6", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.5", - "inherits": "2.0.3", - "minimatch": "3.0.3", - "once": "1.4.0", - "path-is-absolute": "1.0.0" - }, - "dependencies": { - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.1.6", - "bundled": true, - "dev": true - }, - "hosted-git-info": { - "version": "2.1.5", - "bundled": true, - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "bundled": true, - "dev": true - }, - "inflight": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "dev": true - }, - "init-package-json": { - "version": "1.9.4", - "bundled": true, - "dev": true, - "requires": { - "glob": "6.0.4", - "npm-package-arg": "4.1.0", - "promzard": "0.3.0", - "read": "1.0.7", - "read-package-json": "2.0.4", - "semver": "5.1.0", - "validate-npm-package-license": "3.0.1", - "validate-npm-package-name": "2.2.2" - }, - "dependencies": { - "glob": { - "version": "6.0.4", - "bundled": true, - "dev": true, - "requires": { - "inflight": "1.0.5", - "inherits": "2.0.3", - "minimatch": "3.0.3", - "once": "1.4.0", - "path-is-absolute": "1.0.0" - }, - "dependencies": { - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "promzard": { - "version": "0.3.0", - "bundled": true, - "dev": true, - "requires": { - "read": "1.0.7" - } - } - } - }, - "lockfile": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "lru-cache": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.0.0" - }, - "dependencies": { - "pseudomap": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "minimatch": { - "version": "3.0.3", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.6" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.6", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - } - } - }, - "node-gyp": { - "version": "3.6.0", - "bundled": true, - "dev": true, - "requires": { - "fstream": "1.0.10", - "glob": "7.0.6", - "graceful-fs": "4.1.6", - "minimatch": "3.0.3", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "npmlog": "2.0.4", - "osenv": "0.1.3", - "request": "2.74.0", - "rimraf": "2.5.4", - "semver": "5.3.0", - "tar": "2.2.1", - "which": "1.2.11" - }, - "dependencies": { - "semver": { - "version": "5.3.0", - "bundled": true, - "dev": true - } - } - }, - "nopt": { - "version": "3.0.6", - "bundled": true, - "dev": true, - "requires": { - "abbrev": "1.0.9" - } - }, - "normalize-git-url": { - "version": "3.0.2", - "bundled": true, - "dev": true - }, - "normalize-package-data": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "2.1.5", - "is-builtin-module": "1.0.0", - "semver": "5.1.0", - "validate-npm-package-license": "3.0.1" - }, - "dependencies": { - "is-builtin-module": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "builtin-modules": "1.1.0" - }, - "dependencies": { - "builtin-modules": { - "version": "1.1.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "npm-cache-filename": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "npm-install-checks": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "requires": { - "npmlog": "2.0.4", - "semver": "5.1.0" - } - }, - "npm-package-arg": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "requires": { - "hosted-git-info": "2.1.5", - "semver": "5.1.0" - } - }, - "npm-registry-client": { - "version": "7.2.1", - "bundled": true, - "dev": true, - "requires": { - "concat-stream": "1.5.2", - "graceful-fs": "4.1.6", - "normalize-package-data": "2.3.5", - "npm-package-arg": "4.1.0", - "npmlog": "2.0.4", - "once": "1.4.0", - "request": "2.74.0", - "retry": "0.10.0", - "semver": "5.1.0", - "slide": "1.1.6" - }, - "dependencies": { - "concat-stream": { - "version": "1.5.2", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.0.6", - "typedarray": "0.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "typedarray": { - "version": "0.0.6", - "bundled": true, - "dev": true - } - } - }, - "retry": { - "version": "0.10.0", - "bundled": true, - "dev": true - } - } - }, - "npm-user-validate": { - "version": "0.1.5", - "bundled": true, - "dev": true - }, - "npmlog": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "ansi": "0.3.1", - "are-we-there-yet": "1.1.2", - "gauge": "1.2.7" - }, - "dependencies": { - "are-we-there-yet": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.1.5" - }, - "dependencies": { - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "gauge": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "requires": { - "ansi": "0.3.1", - "has-unicode": "2.0.0", - "lodash.pad": "4.4.0", - "lodash.padend": "4.5.0", - "lodash.padstart": "4.5.0" - }, - "dependencies": { - "has-unicode": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "lodash._baseslice": { - "version": "4.0.0", - "bundled": true, - "dev": true - }, - "lodash._basetostring": { - "version": "4.12.0", - "bundled": true, - "dev": true - }, - "lodash.pad": { - "version": "4.4.0", - "bundled": true, - "dev": true, - "requires": { - "lodash._baseslice": "4.0.0", - "lodash._basetostring": "4.12.0", - "lodash.tostring": "4.1.4" - } - }, - "lodash.padend": { - "version": "4.5.0", - "bundled": true, - "dev": true, - "requires": { - "lodash._baseslice": "4.0.0", - "lodash._basetostring": "4.12.0", - "lodash.tostring": "4.1.4" - } - }, - "lodash.padstart": { - "version": "4.5.0", - "bundled": true, - "dev": true, - "requires": { - "lodash._baseslice": "4.0.0", - "lodash._basetostring": "4.12.0", - "lodash.tostring": "4.1.4" - } - }, - "lodash.tostring": { - "version": "4.1.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "opener": { - "version": "1.4.1", - "bundled": true, - "dev": true - }, - "osenv": { - "version": "0.1.3", - "bundled": true, - "dev": true, - "requires": { - "os-homedir": "1.0.0", - "os-tmpdir": "1.0.1" - }, - "dependencies": { - "os-homedir": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "os-tmpdir": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "path-is-inside": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "read": { - "version": "1.0.7", - "bundled": true, - "dev": true, - "requires": { - "mute-stream": "0.0.5" - }, - "dependencies": { - "mute-stream": { - "version": "0.0.5", - "bundled": true, - "dev": true - } - } - }, - "read-installed": { - "version": "4.0.3", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "1.0.1", - "graceful-fs": "4.1.6", - "read-package-json": "2.0.4", - "readdir-scoped-modules": "1.0.2", - "semver": "5.1.0", - "slide": "1.1.6", - "util-extend": "1.0.1" - }, - "dependencies": { - "debuglog": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "readdir-scoped-modules": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "debuglog": "1.0.1", - "dezalgo": "1.0.3", - "graceful-fs": "4.1.6", - "once": "1.4.0" - } - }, - "util-extend": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "read-package-json": { - "version": "2.0.4", - "bundled": true, - "dev": true, - "requires": { - "glob": "6.0.4", - "graceful-fs": "4.1.6", - "json-parse-helpfulerror": "1.0.3", - "normalize-package-data": "2.3.5" - }, - "dependencies": { - "glob": { - "version": "6.0.4", - "bundled": true, - "dev": true, - "requires": { - "inflight": "1.0.5", - "inherits": "2.0.3", - "minimatch": "3.0.3", - "once": "1.4.0", - "path-is-absolute": "1.0.0" - }, - "dependencies": { - "path-is-absolute": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "json-parse-helpfulerror": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "requires": { - "jju": "1.3.0" - }, - "dependencies": { - "jju": { - "version": "1.3.0", - "bundled": true, - "dev": true - } - } - } - } - }, - "readable-stream": { - "version": "2.1.5", - "bundled": true, - "dev": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" - }, - "dependencies": { - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "realize-package-specifier": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "dezalgo": "1.0.3", - "npm-package-arg": "4.1.0" - } - }, - "request": { - "version": "2.74.0", - "bundled": true, - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.4.1", - "bl": "1.1.2", - "caseless": "0.11.0", - "combined-stream": "1.0.5", - "extend": "3.0.0", - "forever-agent": "0.6.1", - "form-data": "1.0.0-rc4", - "har-validator": "2.0.6", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.11", - "node-uuid": "1.4.7", - "oauth-sign": "0.8.2", - "qs": "6.2.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.1", - "tunnel-agent": "0.4.3" - }, - "dependencies": { - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true - }, - "aws4": { - "version": "1.4.1", - "bundled": true, - "dev": true - }, - "bl": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "requires": { - "readable-stream": "2.0.6" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.6", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.2" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - } - } - }, - "caseless": { - "version": "0.11.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - }, - "dependencies": { - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - } - } - }, - "extend": { - "version": "3.0.0", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true - }, - "form-data": { - "version": "1.0.0-rc4", - "bundled": true, - "dev": true, - "requires": { - "async": "1.5.2", - "combined-stream": "1.0.5", - "mime-types": "2.1.11" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "bundled": true, - "dev": true - } - } - }, - "har-validator": { - "version": "2.0.6", - "bundled": true, - "dev": true, - "requires": { - "chalk": "1.1.3", - "commander": "2.9.0", - "is-my-json-valid": "2.13.1", - "pinkie-promise": "2.0.1" - }, - "dependencies": { - "chalk": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "bundled": true, - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true, - "dev": true - }, - "has-ansi": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "bundled": true, - "dev": true - } - } - }, - "commander": { - "version": "2.9.0", - "bundled": true, - "dev": true, - "requires": { - "graceful-readlink": "1.0.1" - }, - "dependencies": { - "graceful-readlink": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - }, - "is-my-json-valid": { - "version": "2.13.1", - "bundled": true, - "dev": true, - "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "jsonpointer": "2.0.0", - "xtend": "4.0.1" - }, - "dependencies": { - "generate-function": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "generate-object-property": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "requires": { - "is-property": "1.0.2" - }, - "dependencies": { - "is-property": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "jsonpointer": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "xtend": { - "version": "4.0.1", - "bundled": true, - "dev": true - } - } - }, - "pinkie-promise": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "pinkie": "2.0.4" - }, - "dependencies": { - "pinkie": { - "version": "2.0.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - }, - "dependencies": { - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - } - } - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.3.0", - "sshpk": "1.9.2" - }, - "dependencies": { - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "jsprim": { - "version": "1.3.0", - "bundled": true, - "dev": true, - "requires": { - "extsprintf": "1.0.2", - "json-schema": "0.2.2", - "verror": "1.3.6" - }, - "dependencies": { - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "json-schema": { - "version": "0.2.2", - "bundled": true, - "dev": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "requires": { - "extsprintf": "1.0.2" - } - } - } - }, - "sshpk": { - "version": "1.9.2", - "bundled": true, - "dev": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "dashdash": "1.14.0", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.6", - "jodid25519": "1.0.2", - "jsbn": "0.1.0", - "tweetnacl": "0.13.3" - }, - "dependencies": { - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true - }, - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "dashdash": { - "version": "1.14.0", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0" - } - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.0" - } - }, - "getpass": { - "version": "0.1.6", - "bundled": true, - "dev": true, - "requires": { - "assert-plus": "1.0.0" - } - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.0" - } - }, - "jsbn": { - "version": "0.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "tweetnacl": { - "version": "0.13.3", - "bundled": true, - "dev": true, - "optional": true - } - } - } - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.11", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.23.0" - }, - "dependencies": { - "mime-db": { - "version": "1.23.0", - "bundled": true, - "dev": true - } - } - }, - "node-uuid": { - "version": "1.4.7", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true - }, - "qs": { - "version": "6.2.1", - "bundled": true, - "dev": true - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true - }, - "tough-cookie": { - "version": "2.3.1", - "bundled": true, - "dev": true - }, - "tunnel-agent": { - "version": "0.4.3", - "bundled": true, - "dev": true - } - } - }, - "retry": { - "version": "0.10.0", - "bundled": true, - "dev": true - }, - "rimraf": { - "version": "2.5.4", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.0.6" - } - }, - "semver": { - "version": "5.1.0", - "bundled": true, - "dev": true - }, - "sha": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.6", - "readable-stream": "2.0.2" - }, - "dependencies": { - "readable-stream": { - "version": "2.0.2", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "1.0.1", - "inherits": "2.0.3", - "isarray": "0.0.1", - "process-nextick-args": "1.0.3", - "string_decoder": "0.10.31", - "util-deprecate": "1.0.1" - }, - "dependencies": { - "core-util-is": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "isarray": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "process-nextick-args": { - "version": "1.0.3", - "bundled": true, - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "bundled": true, - "dev": true - }, - "util-deprecate": { - "version": "1.0.1", - "bundled": true, - "dev": true - } - } - } - } - }, - "slide": { - "version": "1.1.6", - "bundled": true, - "dev": true - }, - "sorted-object": { - "version": "2.0.0", - "bundled": true, - "dev": true - }, - "spdx-license-ids": { - "version": "1.2.2", - "bundled": true, - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.0.0" - } - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.10", - "inherits": "2.0.3" - } - }, - "text-table": { - "version": "0.2.0", - "bundled": true, - "dev": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true - }, - "umask": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.2" - }, - "dependencies": { - "spdx-correct": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "spdx-license-ids": "1.2.2" - } - }, - "spdx-expression-parse": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "spdx-exceptions": "1.0.4", - "spdx-license-ids": "1.2.2" - }, - "dependencies": { - "spdx-exceptions": { - "version": "1.0.4", - "bundled": true, - "dev": true - } - } - } - } - }, - "validate-npm-package-name": { - "version": "2.2.2", - "bundled": true, - "dev": true, - "requires": { - "builtins": "0.0.7" - }, - "dependencies": { - "builtins": { - "version": "0.0.7", - "bundled": true, - "dev": true - } - } - }, - "which": { - "version": "1.2.11", - "bundled": true, - "dev": true, - "requires": { - "isexe": "1.1.2" - }, - "dependencies": { - "isexe": { - "version": "1.1.2", - "bundled": true, - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "write-file-atomic": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.6", - "imurmurhash": "0.1.4", - "slide": "1.1.6" - } - } - } - }, - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - } - } - }, - "nth-check": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", - "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", - "dev": true, - "requires": { - "boolbase": "1.0.0" - } - }, - "nwmatcher": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.1.tgz", - "integrity": "sha1-eumwew6oBNt+JfBctf5Al9TklJ8=", - "dev": true, - "optional": true - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "0.0.10", - "wordwrap": "0.0.3" - } - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "optional": true, - "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true, - "optional": true - } - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", - "dev": true, - "optional": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "dev": true, - "optional": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "2.0.4" - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "q": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", - "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=", - "dev": true - }, - "q-plus": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/q-plus/-/q-plus-0.0.8.tgz", - "integrity": "sha1-TMZssZvRRbQ+nhtUAjYUI3e2Hqs=", - "dev": true, - "requires": { - "q": "1.5.0" - } - }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", - "dev": true, - "optional": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" - } - }, - "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true, - "optional": true - }, - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "optional": true, - "requires": { - "hoek": "2.16.3" - } - }, - "source-map": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz", - "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=", - "dev": true, - "optional": true, - "requires": { - "amdefine": "1.0.1" - } - }, - "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", - "dev": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true, - "optional": true - }, - "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", - "dev": true, - "optional": true - }, - "tmp": { - "version": "0.0.31", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", - "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=", - "dev": true, - "requires": { - "os-tmpdir": "1.0.2" - } - }, - "tough-cookie": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", - "dev": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "dev": true, - "optional": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2" - } - }, - "universalify": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", - "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", - "dev": true - }, - "user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "dev": true, - "requires": { - "os-homedir": "1.0.2" - } - }, - "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", - "dev": true, - "optional": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "webidl-conversions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-2.0.1.tgz", - "integrity": "sha1-O/glj30xjHRDw28uFpQCoaZwNQY=", - "dev": true, - "optional": true - }, - "whatwg-url-compat": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/whatwg-url-compat/-/whatwg-url-compat-0.6.5.tgz", - "integrity": "sha1-AImBEa9om7CXVBzVpFymyHmERb8=", - "dev": true, - "optional": true, - "requires": { - "tr46": "0.0.3" - } - }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "xml-name-validator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", - "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", - "dev": true, - "optional": true - } - } -} diff --git a/docs/package.json b/docs/package.json deleted file mode 100644 index e0c7288a6e..0000000000 --- a/docs/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "fineuidocs", - "version": "1.0.0", - "description": "FineUI文档", - "main": "index.js", - "scripts": { - "init": "gitbook init", - "serve": "gitbook serve", - "build": "gitbook build", - "gh": "gitbook build && node gh" - }, - "repository": { - "type": "git", - "url": "git+https://gittz@github.com/gittz/FineUIdocs.git" - }, - "author": "", - "license": "MIT", - "bugs": { - "url": "https://github.com/gittz/FineUIdocs/issues" - }, - "homepage": "https://github.com/gittz/FineUIdocs#readme", - "devDependencies": { - "gitbook-cli": "^2.3.2", - "gitbook-plugin-expandable-chapters": "^0.2.0", - "gitbook-plugin-jsfiddle": "^1.0.0", - "gitbook-plugin-splitter": "0.0.8", - "gitbook-plugin-theme-api": "^1.1.2" - } -} diff --git a/index.html b/index.html index 5547bef8e2..8ed5e7c756 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,12 @@ - + +
                                                                                                                                                                                                                                                                                                                      + + + + + + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 7653e66125..0000000000 --- a/package-lock.json +++ /dev/null @@ -1,1776 +0,0 @@ -{ - "name": "fineui", - "version": "1.0.0", - "lockfileVersion": 1, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", - "dev": true - }, - "accepts": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz", - "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=", - "dev": true - }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "optional": true - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true, - "optional": true - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true, - "optional": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "dev": true, - "optional": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "dev": true, - "optional": true - }, - "body-parser": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", - "integrity": "sha1-EBXLH+LEQ4WCWVgdtTMy+NDPUPk=", - "dev": true, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true - }, - "http-errors": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", - "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=", - "dev": true - }, - "iconv-lite": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", - "dev": true - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", - "dev": true - }, - "qs": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz", - "integrity": "sha1-qfMRQq9GjLcrJbMBNrokVoNJFr4=", - "dev": true - } - } - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "dev": true - }, - "browserify-zlib": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "bytes": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", - "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg=", - "dev": true - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true, - "optional": true - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true - }, - "clean-css": { - "version": "3.4.28", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz", - "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=", - "dev": true, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true - } - } - }, - "cli": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz", - "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=", - "dev": true, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true - } - } - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "optional": true - }, - "coffee-script": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz", - "integrity": "sha1-EpOLz5vhlI+gBvkuDEyegXBRCMA=", - "dev": true - }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "dev": true - }, - "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", - "dev": true - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "dev": true - }, - "content-type": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", - "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0=", - "dev": true - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "optional": true - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "optional": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, - "dateformat": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", - "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", - "dev": true - }, - "debug": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz", - "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4=", - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "depd": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", - "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM=", - "dev": true - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "dev": true, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", - "dev": true - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=", - "dev": true - } - } - }, - "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", - "dev": true - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "dev": true - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "dev": true, - "optional": true - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "encodeurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", - "dev": true - }, - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", - "dev": true - }, - "errno": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", - "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", - "dev": true, - "optional": true - }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "etag": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz", - "integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE=", - "dev": true - }, - "eventemitter2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", - "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", - "dev": true - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "express": { - "version": "4.15.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.15.3.tgz", - "integrity": "sha1-urZdDwOqgMNYQIly/HAPkWlEtmI=", - "dev": true - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", - "dev": true - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true - }, - "finalhandler": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz", - "integrity": "sha1-70fneVDpmXgOhgIqVg4yF+DQzIk=", - "dev": true - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true - }, - "findup-sync": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", - "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", - "dev": true, - "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true - } - } - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "optional": true - }, - "forwarded": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz", - "integrity": "sha1-Ge+YdMSuHCl7zweP3mOgm2aoQ2M=", - "dev": true - }, - "fresh": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz", - "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44=", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "gaze": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", - "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", - "dev": true - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "getobject": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", - "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "optional": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "glob": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", - "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", - "dev": true - }, - "globule": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz", - "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", - "dev": true, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, - "grunt": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz", - "integrity": "sha1-6HeHZOlEsY8yuw8QuQeEdcnftWs=", - "dev": true, - "dependencies": { - "grunt-cli": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz", - "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", - "dev": true - } - } - }, - "grunt-contrib-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz", - "integrity": "sha1-YVCYYwhOhx1+ht5IwBUlntl3Rb0=", - "dev": true - }, - "grunt-contrib-cssmin": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-1.0.2.tgz", - "integrity": "sha1-FzTL09hMpzZHWLflj/GOUqpgu3Y=", - "dev": true - }, - "grunt-contrib-jshint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.1.0.tgz", - "integrity": "sha1-Np2QmyWTxA6L55lAshNAhQx5Oaw=", - "dev": true - }, - "grunt-contrib-less": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.4.1.tgz", - "integrity": "sha1-O73sC3XRLOqlXWKUNiXAsIYc328=", - "dev": true, - "dependencies": { - "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", - "dev": true - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - } - } - }, - "grunt-contrib-uglify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-1.0.2.tgz", - "integrity": "sha1-rmekb5FT7dTLEYE6Vetpxw19svs=", - "dev": true, - "dependencies": { - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true - } - } - }, - "grunt-contrib-watch": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz", - "integrity": "sha1-hKGnodar0m7VaEE0lscxM+mQAY8=", - "dev": true - }, - "grunt-known-options": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz", - "integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk=", - "dev": true - }, - "grunt-legacy-log": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz", - "integrity": "sha1-+4bxgJhHvAfcR4Q/ns1srLYt8tU=", - "dev": true - }, - "grunt-legacy-log-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz", - "integrity": "sha1-p7ji0Ps1taUPSvmG/BEnSevJbz0=", - "dev": true, - "dependencies": { - "lodash": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz", - "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=", - "dev": true - } - } - }, - "grunt-legacy-util": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz", - "integrity": "sha1-OGqnjcbtUJhsKxiVcmWxtIq7m4Y=", - "dev": true, - "dependencies": { - "lodash": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz", - "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ=", - "dev": true - } - } - }, - "gzip-size": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz", - "integrity": "sha1-Zs+LEBBHInuVus5uodoMF37Vwi8=", - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", - "dev": true, - "optional": true - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "optional": true - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "hooker": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", - "dev": true - }, - "hosted-git-info": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", - "dev": true - }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "dev": true, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "http-errors": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz", - "integrity": "sha1-X4uO2YrKVFZWv1cplzh/kEpyIlc=", - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz", - "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA==", - "dev": true - }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", - "dev": true, - "optional": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ipaddr.js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.3.0.tgz", - "integrity": "sha1-HgOlL9rYOou7KyXL9JmLTP/NPew=", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true, - "optional": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true, - "optional": true - }, - "js-yaml": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz", - "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74=", - "dev": true - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "jshint": { - "version": "2.9.5", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.5.tgz", - "integrity": "sha1-HnJSkVzmgbQIJ+4UJIxG006apiw=", - "dev": true, - "dependencies": { - "lodash": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz", - "integrity": "sha1-Nni9irmVBXwHreg27S7wh9qBHUU=", - "dev": true - } - } - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "optional": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", - "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", - "dev": true, - "optional": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true - }, - "less": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/less/-/less-2.7.2.tgz", - "integrity": "sha1-No1sxz4fsDmBGDKAkYdDxdz5s98=", - "dev": true - }, - "livereload-js": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz", - "integrity": "sha1-bIclfmSKtHW8JOoldFftzB+NC8I=", - "dev": true - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true - }, - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "maxmin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz", - "integrity": "sha1-cTZehKmd2Piz99X94vANHn9zvmE=", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", - "dev": true - }, - "mime-db": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", - "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", - "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "optional": true, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true, - "optional": true - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true - }, - "open": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz", - "integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=", - "dev": true - }, - "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", - "dev": true - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true - }, - "parseurl": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", - "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY=", - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "dev": true, - "optional": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true - }, - "pretty-bytes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", - "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dev": true, - "optional": true - }, - "proxy-addr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.4.tgz", - "integrity": "sha1-J+VF9pYKRKYn2bREZ+NcG2tM4vM=", - "dev": true - }, - "prr": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", - "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", - "dev": true, - "optional": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", - "dev": true - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", - "dev": true - }, - "raw-body": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", - "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=", - "dev": true, - "dependencies": { - "bytes": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", - "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=", - "dev": true - }, - "iconv-lite": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", - "dev": true - } - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "dev": true, - "optional": true - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", - "dev": true - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true - }, - "rimraf": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", - "dev": true - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true - }, - "send": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/send/-/send-0.15.3.tgz", - "integrity": "sha1-UBP5+ZAj31DRvZiSwZ4979HVMwk=", - "dev": true - }, - "serve-static": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz", - "integrity": "sha1-n0uhni8wMMVH+K+ZEHg47DjVseI=", - "dev": true - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true - }, - "shelljs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", - "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", - "dev": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "optional": true - }, - "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", - "dev": true - }, - "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "dev": true - }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", - "dev": true - }, - "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", - "dev": true - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", - "dev": true, - "optional": true, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", - "dev": true - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true - }, - "strip-json-comments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", - "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", - "dev": true - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "tiny-lr": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", - "integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=", - "dev": true, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", - "dev": true - }, - "qs": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz", - "integrity": "sha1-TZMuXH6kEcynajEtOaYGIA/VDNk=", - "dev": true - } - } - }, - "tough-cookie": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", - "dev": true, - "optional": true - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "optional": true - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - }, - "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", - "dev": true - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "uglify-js": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz", - "integrity": "sha1-ZeovswWck5RpLxX+2HwrNsFrmt8=", - "dev": true, - "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", - "dev": true - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true - }, - "underscore.string": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz", - "integrity": "sha1-gGmSYzZl1eX8tNsfs6hi62jp5to=", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "uri-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz", - "integrity": "sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI=", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "utils-merge": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=", - "dev": true - }, - "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", - "dev": true, - "optional": true - }, - "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "dev": true - }, - "vary": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.1.tgz", - "integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc=", - "dev": true - }, - "verror": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", - "dev": true, - "optional": true - }, - "websocket-driver": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", - "dev": true - }, - "websocket-extensions": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz", - "integrity": "sha1-domUmcGEtu91Q3fC27DNbLVdKec=", - "dev": true - }, - "which": { - "version": "1.2.14", - "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", - "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", - "dev": true - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - } - } - } - } -} diff --git a/package.json b/package.json index c15f249bce..9e8a3d51e0 100644 --- a/package.json +++ b/package.json @@ -1,34 +1,53 @@ { - "name": "fineui", - "version": "1.0.1", - "description": "fineui", - "main": "index.js", - "dependencies": {}, - "devDependencies": { - "express": "^4.15.2", - "grunt": "^1.0.1", - "grunt-contrib-concat": "^1.0.1", - "grunt-contrib-cssmin": "^1.0.1", - "grunt-contrib-jshint": "^1.0.0", - "grunt-contrib-less": "^1.4.1", - "grunt-contrib-uglify": "^1.0.1", - "grunt-contrib-watch": "^1.0.0", - "open": "0.0.5" - }, - "scripts": { - "grunt": "grunt", - "start": "node server.js", - "uglify": "grunt min" - }, + "name": "h", + "license": "MIT", "repository": { "type": "git", - "url": "https://git.coding.net/fanruan/fineui.git" + "url": "https://github.com/gittz/h.git" }, + "version": "1.0.0", + "description": "h", + "main": "dist/h.js", "keywords": [ - "ui", - "fineui", - "finebi" + "javascript", + "mvvm", + "virtual dom" ], - "author": "fanruan", - "license": "MIT" + "scripts": { + "start": "node server.js", + "build": "node build" + }, + "dependencies": { + "console-polyfill": "^0.2.2", + "es5-shim": "^4.4.1", + "es6-promise": "^3.0.2", + "fetch-ie8": "^1.4.0", + "polyfill": "^0.1.0" + }, + "devDependencies": { + "babel-core": "^6.17.0", + "babel-preset-avalon": "^1.0.0", + "codecov": "^1.0.1", + "es3ify": "^0.2.2", + "express": "^4.15.2", + "karma": "^0.12.37", + "karma-chrome-launcher": "^0.1.2", + "karma-coverage": "^1.1.1", + "karma-firefox-launcher": "^1.0.0", + "karma-ie-launcher": "^1.0.0", + "karma-jasmine": "^0.2.2", + "karma-opera-launcher": "^1.0.0", + "karma-phantomjs-launcher": "^1.0.2", + "karma-sauce-launcher": "^0.2.14", + "karma-sourcemap-loader": "^0.3.7", + "karma-spec-reporter": "0.0.26", + "open": "0.0.5", + "rollup": "^0.36.3", + "rollup-plugin-istanbul": "^1.1.0", + "rollup-plugin-sourcemaps": "^0.4.1", + "semicolon-less": "^0.7.0" + }, + "bugs": { + "url": "https://github.com/gittz/fineui/issues" + } } diff --git a/public/css/app.css b/public/css/app.css deleted file mode 100644 index a84c8542ba..0000000000 --- a/public/css/app.css +++ /dev/null @@ -1,79 +0,0 @@ -html, -button, -input, -select, -textarea, -* { - font-family: "Microsoft YaHei", "Hiragino Sans GB W3"; -} -html { - height: 100%; - overflow: hidden; -} -body { - position: absolute; - width: 100%; - height: 100%; - margin: 0; - padding: 0; - top: 0; - left: 0; - background-repeat: repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - color: #666666; - font: normal 12px "Microsoft YaHei", "Hiragino Sans GB W3"; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - text-decoration: none; - -kthml-user-focus: normal; - -moz-user-focus: normal; - -moz-outline: 0 none; - outline: 0 none; -} -div::-webkit-scrollbar, -textarea::-webkit-scrollbar { - -webkit-appearance: none; - background-color: rgba(102, 102, 102, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0d666666,endColorstr=#0d666666); - width: 6px; - height: 6px; -} -div::-webkit-scrollbar-thumb, -textarea::-webkit-scrollbar-thumb { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - background-color: rgba(102, 102, 102, 0.3); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d666666,endColorstr=#4d666666); -} -div::-webkit-scrollbar-thumb:hover, -textarea::-webkit-scrollbar-thumb:hover { - background-color: rgba(102, 102, 102, 0.7); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b3666666,endColorstr=#b3666666); -} -.bi-theme-dark div::-webkit-scrollbar, -.bi-theme-dark textarea::-webkit-scrollbar { - -webkit-appearance: none; - background-color: rgba(204, 204, 204, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0dcccccc,endColorstr=#0dcccccc); - width: 6px; - height: 6px; -} -.bi-theme-dark div::-webkit-scrollbar-thumb, -.bi-theme-dark textarea::-webkit-scrollbar-thumb { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - background-color: rgba(204, 204, 204, 0.3); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4dcccccc,endColorstr=#4dcccccc); -} -.bi-theme-dark div::-webkit-scrollbar-thumb:hover, -.bi-theme-dark textarea::-webkit-scrollbar-thumb:hover { - background-color: rgba(204, 204, 204, 0.7); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b3cccccc,endColorstr=#b3cccccc); -} diff --git a/public/css/background.css b/public/css/background.css deleted file mode 100644 index b0c97e63b7..0000000000 --- a/public/css/background.css +++ /dev/null @@ -1,55 +0,0 @@ -.base-line-conn-background { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-1.png') repeat-y 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-1.png'); - _background: none; -} -.bi-theme-dark .base-line-conn-background { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-1.png') repeat-y 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-1.png'); - _background: none; -} -.first-line-conn-background { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-2.png'); - _background: none; -} -.bi-theme-dark .first-line-conn-background { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-2.png'); - _background: none; -} -.mid-line-conn-background { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-3.png'); - _background: none; -} -.bi-theme-dark .mid-line-conn-background { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-3.png'); - _background: none; -} -.last-line-conn-background { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-4.png'); - _background: none; -} -.bi-theme-dark .last-line-conn-background { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-4.png'); - _background: none; -} -.loading-background { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/loading.gif') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/loading.gif'); - _background: none; -} -.auto-color-background { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/background/auto-color.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/background/auto-color.png'); - _background: none; -} -.trans-color-background { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/background/trans-color.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/background/trans-color.png'); - _background: none; -} diff --git a/public/css/font.css b/public/css/font.css deleted file mode 100644 index e879f15a67..0000000000 --- a/public/css/font.css +++ /dev/null @@ -1,844 +0,0 @@ -@font-face { - font-family: 'bi'; - src: url('https://fanruan.coding.me/fineui/dist/font/iconfont.eot'), /* IE6-IE8 */ url('https://fanruan.coding.me/fineui/dist/font/iconfont.woff') format('woff'), /* chrome、firefox */ url('https://fanruan.coding.me/fineui/dist/font/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('https://fanruan.coding.me/fineui/dist/font/iconfont.svg#svgFontName') format('svg'); - - /* iOS 4.1- */ -} -@font-face { - font-family: 'bi'; - src: url('https://fanruan.coding.me/fineui/dist/font/iconfont.eot') /* IE6-IE8 */; -} -.b-font { - font-family: "bi"; - font-style: normal; - -webkit-font-smoothing: antialiased; - -webkit-text-stroke-width: 0.2px; - -moz-osx-font-smoothing: grayscale; -} -.close-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.close-font .b-font:before { - content: "\e600"; - color: inherit; -} -.close-font.native .b-font:before, -.close-font.disabled .b-font:before { - content: "\e600"; - color: inherit; -} -.close-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.close-h-font .b-font:before { - content: "\e600"; - color: inherit; -} -.close-h-font:hover .b-font:before, -.close-h-font:focus .b-font:before, -.close-h-font.hover .b-font:before { - content: "\e600"; - color: inherit; -} -.close-h-font.native .b-font:before, -.close-h-font.disabled .b-font:before { - content: "\e600"; - color: inherit; -} -.close-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.close-ha-font .b-font:before { - content: "\e600"; - color: inherit; -} -.close-ha-font:hover .b-font:before, -.close-ha-font:focus .b-font:before, -.close-ha-font.hover .b-font:before { - content: "\e600"; - color: inherit; -} -.close-ha-font:active .b-font:before, -.close-ha-font.active .b-font:before { - content: "\e600"; - color: #3f8ce8; -} -.close-ha-font.native .b-font:before, -.close-ha-font.disabled .b-font:before { - content: "\e600"; - color: inherit; -} -.search-close-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.search-close-h-font .b-font:before { - content: "\e600"; - color: inherit; -} -.search-close-h-font:hover .b-font:before, -.search-close-h-font:focus .b-font:before, -.search-close-h-font.hover .b-font:before { - content: "\e600"; - color: #e85050; -} -.search-close-h-font.native .b-font:before, -.search-close-h-font.disabled .b-font:before { - content: "\e600"; - color: inherit; -} -.pre-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pre-page-h-font .b-font:before { - content: "\e601"; - color: inherit; -} -.pre-page-h-font:hover .b-font:before, -.pre-page-h-font:focus .b-font:before, -.pre-page-h-font.hover .b-font:before { - content: "\e601"; - color: inherit; -} -.pre-page-h-font.native .b-font:before, -.pre-page-h-font.disabled .b-font:before { - content: "\e601"; - color: inherit; -} -.next-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.next-page-h-font .b-font:before { - content: "\e602"; - color: inherit; -} -.next-page-h-font:hover .b-font:before, -.next-page-h-font:focus .b-font:before, -.next-page-h-font.hover .b-font:before { - content: "\e602"; - color: inherit; -} -.next-page-h-font.native .b-font:before, -.next-page-h-font.disabled .b-font:before { - content: "\e602"; - color: inherit; -} -.search-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.search-font .b-font:before { - content: "\e604"; - color: inherit; -} -.search-font.native .b-font:before, -.search-font.disabled .b-font:before { - content: "\e604"; - color: inherit; -} -.dot-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.dot-font .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-font.native .b-font:before, -.dot-font.disabled .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.dot-h-font .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-h-font:hover .b-font:before, -.dot-h-font:focus .b-font:before, -.dot-h-font.hover .b-font:before { - content: "\e606"; - color: inherit; -} -.dot-h-font.native .b-font:before, -.dot-h-font.disabled .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.dot-ha-font .b-font:before { - content: "\e606"; - color: #ffffff; -} -.dot-ha-font:hover .b-font:before, -.dot-ha-font:focus .b-font:before, -.dot-ha-font.hover .b-font:before { - content: "\e606"; - color: #999999; -} -.dot-ha-font:active .b-font:before, -.dot-ha-font.active .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-ha-font.native .b-font:before, -.dot-ha-font.disabled .b-font:before { - content: "\e606"; - color: #ffffff; -} -.dot-e-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.dot-e-font .b-font:before { - content: "\e606"; - color: #ffffff; -} -.dot-e-font:hover .b-font:before, -.dot-e-font:focus .b-font:before, -.dot-e-font.hover .b-font:before { - content: "\e606"; - color: #999999; -} -.dot-e-font.active .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-e-font:active .b-font:before { - content: "\e606"; - color: #3f8ce8; -} -.dot-e-font.native .b-font:before, -.dot-e-font.disabled .b-font:before { - content: "\e606"; - color: #ffffff; -} -.pull-right-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-right-font .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-font.native .b-font:before, -.pull-right-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-right-h-font .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-h-font:hover .b-font:before, -.pull-right-h-font:focus .b-font:before, -.pull-right-h-font.hover .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-h-font.native .b-font:before, -.pull-right-h-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-right-ha-font .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-ha-font:hover .b-font:before, -.pull-right-ha-font:focus .b-font:before, -.pull-right-ha-font.hover .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-ha-font:active .b-font:before, -.pull-right-ha-font.active .b-font:before { - content: "\e607"; - color: #3f8ce8; -} -.pull-right-ha-font.native .b-font:before, -.pull-right-ha-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-e-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-right-e-font .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-e-font:hover .b-font:before, -.pull-right-e-font:focus .b-font:before, -.pull-right-e-font.hover .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-e-font.active .b-font:before { - content: "\e607"; - color: #3f8ce8; -} -.pull-right-e-font:active .b-font:before { - content: "\e607"; - color: #3f8ce8; -} -.pull-right-e-font.native .b-font:before, -.pull-right-e-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.copy-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.copy-font .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-font.native .b-font:before, -.copy-font.disabled .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.copy-h-font .b-font:before { - content: "\e610"; - color: #1a1a1a; -} -.copy-h-font:hover .b-font:before, -.copy-h-font:focus .b-font:before, -.copy-h-font.hover .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-h-font.native .b-font:before, -.copy-h-font.disabled .b-font:before { - content: "\e610"; - color: #1a1a1a; -} -.copy-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.copy-ha-font .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-ha-font:hover .b-font:before, -.copy-ha-font:focus .b-font:before, -.copy-ha-font.hover .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-ha-font:active .b-font:before, -.copy-ha-font.active .b-font:before { - content: "\e610"; - color: #3f8ce8; -} -.copy-ha-font.native .b-font:before, -.copy-ha-font.disabled .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-e-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.copy-e-font .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-e-font:hover .b-font:before, -.copy-e-font:focus .b-font:before, -.copy-e-font.hover .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-e-font.active .b-font:before { - content: "\e610"; - color: #3f8ce8; -} -.copy-e-font:active .b-font:before { - content: "\e610"; - color: #3f8ce8; -} -.copy-e-font.native .b-font:before, -.copy-e-font.disabled .b-font:before { - content: "\e610"; - color: inherit; -} -.check-mark-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-mark-font .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-font.native .b-font:before, -.check-mark-font.disabled .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-mark-h-font .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-h-font:hover .b-font:before, -.check-mark-h-font:focus .b-font:before, -.check-mark-h-font.hover .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-h-font.native .b-font:before, -.check-mark-h-font.disabled .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-mark-ha-font .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-ha-font:hover .b-font:before, -.check-mark-ha-font:focus .b-font:before, -.check-mark-ha-font.hover .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-ha-font:active .b-font:before, -.check-mark-ha-font.active .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.check-mark-ha-font.native .b-font:before, -.check-mark-ha-font.disabled .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-e-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-mark-e-font .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-e-font:hover .b-font:before, -.check-mark-e-font:focus .b-font:before, -.check-mark-e-font.hover .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-e-font.active .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.check-mark-e-font:active .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.check-mark-e-font.native .b-font:before, -.check-mark-e-font.disabled .b-font:before { - content: "\e611"; - color: inherit; -} -/** dashboard组件/控件 下拉列表图标字体 ~end~**/ -.tree-node-triangle-expand-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.tree-node-triangle-expand-font .b-font:before { - content: "\e608"; - color: inherit; -} -.tree-node-triangle-expand-font.native .b-font:before, -.tree-node-triangle-expand-font.disabled .b-font:before { - content: "\e608"; - color: inherit; -} -.tree-node-triangle-collapse-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.tree-node-triangle-collapse-font .b-font:before { - content: "\e607"; - color: inherit; -} -.tree-node-triangle-collapse-font.native .b-font:before, -.tree-node-triangle-collapse-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.row-pre-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.row-pre-page-h-font .b-font:before { - content: "\e6be"; - color: inherit; -} -.row-pre-page-h-font:hover .b-font:before, -.row-pre-page-h-font:focus .b-font:before, -.row-pre-page-h-font.hover .b-font:before { - content: "\e6be"; - color: inherit; -} -.row-pre-page-h-font.native .b-font:before, -.row-pre-page-h-font.disabled .b-font:before { - content: "\e6be"; - color: inherit; -} -.row-next-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.row-next-page-h-font .b-font:before { - content: "\e6bd"; - color: inherit; -} -.row-next-page-h-font:hover .b-font:before, -.row-next-page-h-font:focus .b-font:before, -.row-next-page-h-font.hover .b-font:before { - content: "\e6bd"; - color: inherit; -} -.row-next-page-h-font.native .b-font:before, -.row-next-page-h-font.disabled .b-font:before { - content: "\e6bd"; - color: inherit; -} -.column-pre-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.column-pre-page-h-font .b-font:before { - content: "\e6bc"; - color: inherit; -} -.column-pre-page-h-font:hover .b-font:before, -.column-pre-page-h-font:focus .b-font:before, -.column-pre-page-h-font.hover .b-font:before { - content: "\e6bc"; - color: inherit; -} -.column-pre-page-h-font.native .b-font:before, -.column-pre-page-h-font.disabled .b-font:before { - content: "\e6bc"; - color: inherit; -} -.column-next-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.column-next-page-h-font .b-font:before { - content: "\e6bb"; - color: inherit; -} -.column-next-page-h-font:hover .b-font:before, -.column-next-page-h-font:focus .b-font:before, -.column-next-page-h-font.hover .b-font:before { - content: "\e6bb"; - color: inherit; -} -.column-next-page-h-font.native .b-font:before, -.column-next-page-h-font.disabled .b-font:before { - content: "\e6bb"; - color: inherit; -} -.trigger-triangle-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.trigger-triangle-font .b-font:before { - content: "\e66a"; - color: #999999; -} -.trigger-triangle-font:hover .b-font:before, -.trigger-triangle-font:focus .b-font:before, -.trigger-triangle-font.hover .b-font:before { - content: "\e66a"; - color: #999999; -} -.trigger-triangle-font:active .b-font:before, -.trigger-triangle-font.active .b-font:before { - content: "\e66a"; - color: #3f8ce8; -} -.trigger-triangle-font.native .b-font:before, -.trigger-triangle-font.disabled .b-font:before { - content: "\e66a"; - color: #999999; -} -.pull-down-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-down-font .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-font.native .b-font:before, -.pull-down-font.disabled .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-down-h-font .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-h-font:hover .b-font:before, -.pull-down-h-font:focus .b-font:before, -.pull-down-h-font.hover .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-h-font.native .b-font:before, -.pull-down-h-font.disabled .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-down-ha-font .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-ha-font:hover .b-font:before, -.pull-down-ha-font:focus .b-font:before, -.pull-down-ha-font.hover .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-ha-font:active .b-font:before, -.pull-down-ha-font.active .b-font:before { - content: "\e608"; - color: #3f8ce8; -} -.pull-down-ha-font.native .b-font:before, -.pull-down-ha-font.disabled .b-font:before { - content: "\e608"; - color: inherit; -} -.check-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-font .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.check-font.native .b-font:before, -.check-font.disabled .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.item-check-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.item-check-font .b-font:before { - content: "\e611"; - color: #ffffff; -} -.item-check-font:hover .b-font:before, -.item-check-font:focus .b-font:before, -.item-check-font.hover .b-font:before { - content: "\e611"; - color: #999999; -} -.item-check-font:active .b-font:before, -.item-check-font.active .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.item-check-font.native .b-font:before, -.item-check-font.disabled .b-font:before { - content: "\e611"; - color: #ffffff; -} -.primary-key-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ';'); -} -.primary-key-font .b-font:before { - content: "\e67d;"; - color: inherit; -} -.primary-key-font:hover .b-font:before, -.primary-key-font:focus .b-font:before, -.primary-key-font.hover .b-font:before { - content: "\e67d;"; - color: inherit; -} -.primary-key-font.native .b-font:before, -.primary-key-font.disabled .b-font:before { - content: "\e67d;"; - color: inherit; -} -.drag-tag-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.drag-tag-font .b-font:before { - content: "\e600"; - color: #f07d0a; -} -.drag-tag-font.native .b-font:before, -.drag-tag-font.disabled .b-font:before { - content: "\e600"; - color: #f07d0a; -} -.less-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.less-font .b-font:before { - content: "\e633"; - color: inherit; -} -.less-font:hover .b-font:before, -.less-font:focus .b-font:before, -.less-font.hover .b-font:before { - content: "\e633"; - color: inherit; -} -.less-font:active .b-font:before, -.less-font.active .b-font:before { - content: "\e633"; - color: #3f8ce8; -} -.less-font.native .b-font:before, -.less-font.disabled .b-font:before { - content: "\e633"; - color: inherit; -} -.less-equal-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.less-equal-font .b-font:before { - content: "\e636"; - color: inherit; -} -.less-equal-font:hover .b-font:before, -.less-equal-font:focus .b-font:before, -.less-equal-font.hover .b-font:before { - content: "\e636"; - color: inherit; -} -.less-equal-font:active .b-font:before, -.less-equal-font.active .b-font:before { - content: "\e636"; - color: #3f8ce8; -} -.less-equal-font.native .b-font:before, -.less-equal-font.disabled .b-font:before { - content: "\e636"; - color: inherit; -} -.text-bold-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-bold-font .b-font:before { - content: "\e64d"; - color: inherit; -} -.text-bold-font.native .b-font:before, -.text-bold-font.disabled .b-font:before { - content: "\e64d"; - color: inherit; -} -.text-italic-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-italic-font .b-font:before { - content: "\e656"; - color: inherit; -} -.text-italic-font.native .b-font:before, -.text-italic-font.disabled .b-font:before { - content: "\e656"; - color: inherit; -} -.text-underline-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-underline-font .b-font:before { - content: "\e650"; - color: inherit; -} -.text-underline-font.native .b-font:before, -.text-underline-font.disabled .b-font:before { - content: "\e650"; - color: inherit; -} -.text-color-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-color-font .b-font:before { - content: "\e69c"; - color: inherit; -} -.text-color-font.native .b-font:before, -.text-color-font.disabled .b-font:before { - content: "\e69c"; - color: inherit; -} -.text-background-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-background-font .b-font:before { - content: "\e696"; - color: inherit; -} -.text-background-font.native .b-font:before, -.text-background-font.disabled .b-font:before { - content: "\e696"; - color: inherit; -} -.text-color-underline-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-color-underline-font .b-font:before { - content: "\e69d"; - color: inherit; -} -.text-color-underline-font.native .b-font:before, -.text-color-underline-font.disabled .b-font:before { - content: "\e69d"; - color: inherit; -} -.text-align-left-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-align-left-font .b-font:before { - content: "\e654"; - color: inherit; -} -.text-align-left-font.native .b-font:before, -.text-align-left-font.disabled .b-font:before { - content: "\e654"; - color: inherit; -} -.text-align-center-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-align-center-font .b-font:before { - content: "\e64f"; - color: inherit; -} -.text-align-center-font.native .b-font:before, -.text-align-center-font.disabled .b-font:before { - content: "\e64f"; - color: inherit; -} -.text-align-right-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-align-right-font .b-font:before { - content: "\e651"; - color: inherit; -} -.text-align-right-font.native .b-font:before, -.text-align-right-font.disabled .b-font:before { - content: "\e651"; - color: inherit; -} diff --git a/public/css/icon.css b/public/css/icon.css deleted file mode 100644 index 871a29afa5..0000000000 --- a/public/css/icon.css +++ /dev/null @@ -1,830 +0,0 @@ -.tree-collapse-icon-type1 .x-icon, -.tree-collapse-icon-type1:hover .x-icon, -.tree-collapse-icon-type1:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-1.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type1 .x-icon.hack, -.tree-collapse-icon-type1:hover .x-icon.hack, -.tree-collapse-icon-type1:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-1.png'); - _background: none; -} -.tree-collapse-icon-type1.native .x-icon, -.tree-collapse-icon-type1.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-1.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type1.native .x-icon.hack, -.tree-collapse-icon-type1.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-1.png'); - _background: none; -} -.tree-collapse-icon-type2 .x-icon, -.tree-collapse-icon-type2:hover .x-icon, -.tree-collapse-icon-type2:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-2.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type2 .x-icon.hack, -.tree-collapse-icon-type2:hover .x-icon.hack, -.tree-collapse-icon-type2:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-2.png'); - _background: none; -} -.tree-collapse-icon-type2.native .x-icon, -.tree-collapse-icon-type2.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-2.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type2.native .x-icon.hack, -.tree-collapse-icon-type2.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-2.png'); - _background: none; -} -.tree-collapse-icon-type3 .x-icon, -.tree-collapse-icon-type3:hover .x-icon, -.tree-collapse-icon-type3:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-3.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type3 .x-icon.hack, -.tree-collapse-icon-type3:hover .x-icon.hack, -.tree-collapse-icon-type3:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-3.png'); - _background: none; -} -.tree-collapse-icon-type3.native .x-icon, -.tree-collapse-icon-type3.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-3.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type3.native .x-icon.hack, -.tree-collapse-icon-type3.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-3.png'); - _background: none; -} -.tree-collapse-icon-type4 .x-icon, -.tree-collapse-icon-type4:hover .x-icon, -.tree-collapse-icon-type4:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-4.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type4 .x-icon.hack, -.tree-collapse-icon-type4:hover .x-icon.hack, -.tree-collapse-icon-type4:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-4.png'); - _background: none; -} -.tree-collapse-icon-type4.native .x-icon, -.tree-collapse-icon-type4.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-collapse-4.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type4.native .x-icon.hack, -.tree-collapse-icon-type4.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-collapse-4.png'); - _background: none; -} -.tree-expand-icon-type1 .x-icon, -.tree-expand-icon-type1:hover .x-icon, -.tree-expand-icon-type1:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-1.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type1 .x-icon.hack, -.tree-expand-icon-type1:hover .x-icon.hack, -.tree-expand-icon-type1:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-1.png'); - _background: none; -} -.tree-expand-icon-type1.native .x-icon, -.tree-expand-icon-type1.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-1.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type1.native .x-icon.hack, -.tree-expand-icon-type1.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-1.png'); - _background: none; -} -.tree-expand-icon-type2 .x-icon, -.tree-expand-icon-type2:hover .x-icon, -.tree-expand-icon-type2:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-2.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type2 .x-icon.hack, -.tree-expand-icon-type2:hover .x-icon.hack, -.tree-expand-icon-type2:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-2.png'); - _background: none; -} -.tree-expand-icon-type2.native .x-icon, -.tree-expand-icon-type2.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-2.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type2.native .x-icon.hack, -.tree-expand-icon-type2.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-2.png'); - _background: none; -} -.tree-expand-icon-type3 .x-icon, -.tree-expand-icon-type3:hover .x-icon, -.tree-expand-icon-type3:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-3.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type3 .x-icon.hack, -.tree-expand-icon-type3:hover .x-icon.hack, -.tree-expand-icon-type3:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-3.png'); - _background: none; -} -.tree-expand-icon-type3.native .x-icon, -.tree-expand-icon-type3.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-3.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type3.native .x-icon.hack, -.tree-expand-icon-type3.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-3.png'); - _background: none; -} -.tree-expand-icon-type4 .x-icon, -.tree-expand-icon-type4:hover .x-icon, -.tree-expand-icon-type4:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-4.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type4 .x-icon.hack, -.tree-expand-icon-type4:hover .x-icon.hack, -.tree-expand-icon-type4:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-4.png'); - _background: none; -} -.tree-expand-icon-type4.native .x-icon, -.tree-expand-icon-type4.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-expand-4.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type4.native .x-icon.hack, -.tree-expand-icon-type4.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-expand-4.png'); - _background: none; -} -.tree-vertical-line-type2 .x-icon, -.tree-vertical-line-type2:hover .x-icon, -.tree-vertical-line-type2:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-vertical-line-2.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type2 .x-icon.hack, -.tree-vertical-line-type2:hover .x-icon.hack, -.tree-vertical-line-type2:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-2.png'); - _background: none; -} -.tree-vertical-line-type2.native .x-icon, -.tree-vertical-line-type2.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-vertical-line-2.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type2.native .x-icon.hack, -.tree-vertical-line-type2.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-2.png'); - _background: none; -} -.tree-vertical-line-type3 .x-icon, -.tree-vertical-line-type3:hover .x-icon, -.tree-vertical-line-type3:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-vertical-line-3.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type3 .x-icon.hack, -.tree-vertical-line-type3:hover .x-icon.hack, -.tree-vertical-line-type3:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-3.png'); - _background: none; -} -.tree-vertical-line-type3.native .x-icon, -.tree-vertical-line-type3.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-vertical-line-3.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type3.native .x-icon.hack, -.tree-vertical-line-type3.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-3.png'); - _background: none; -} -.tree-vertical-line-type4 .x-icon, -.tree-vertical-line-type4:hover .x-icon, -.tree-vertical-line-type4:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-vertical-line-4.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type4 .x-icon.hack, -.tree-vertical-line-type4:hover .x-icon.hack, -.tree-vertical-line-type4:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-4.png'); - _background: none; -} -.tree-vertical-line-type4.native .x-icon, -.tree-vertical-line-type4.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/tree-vertical-line-4.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type4.native .x-icon.hack, -.tree-vertical-line-type4.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/tree-vertical-line-4.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type1 .x-icon, -.bi-theme-dark .tree-collapse-icon-type1:hover .x-icon, -.bi-theme-dark .tree-collapse-icon-type1:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-1.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type1 .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type1:hover .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type1:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-1.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type1.native .x-icon, -.bi-theme-dark .tree-collapse-icon-type1.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-1.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type1.native .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type1.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-1.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type2 .x-icon, -.bi-theme-dark .tree-collapse-icon-type2:hover .x-icon, -.bi-theme-dark .tree-collapse-icon-type2:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type2 .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type2:hover .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type2:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-2.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type2.native .x-icon, -.bi-theme-dark .tree-collapse-icon-type2.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type2.native .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type2.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-2.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type3 .x-icon, -.bi-theme-dark .tree-collapse-icon-type3:hover .x-icon, -.bi-theme-dark .tree-collapse-icon-type3:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type3 .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type3:hover .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type3:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-3.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type3.native .x-icon, -.bi-theme-dark .tree-collapse-icon-type3.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type3.native .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type3.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-3.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type4 .x-icon, -.bi-theme-dark .tree-collapse-icon-type4:hover .x-icon, -.bi-theme-dark .tree-collapse-icon-type4:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type4 .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type4:hover .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type4:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-4.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type4.native .x-icon, -.bi-theme-dark .tree-collapse-icon-type4.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-collapse-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type4.native .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type4.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-collapse-4.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type1 .x-icon, -.bi-theme-dark .tree-expand-icon-type1:hover .x-icon, -.bi-theme-dark .tree-expand-icon-type1:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-1.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type1 .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type1:hover .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type1:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-1.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type1.native .x-icon, -.bi-theme-dark .tree-expand-icon-type1.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-1.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type1.native .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type1.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-1.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type2 .x-icon, -.bi-theme-dark .tree-expand-icon-type2:hover .x-icon, -.bi-theme-dark .tree-expand-icon-type2:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type2 .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type2:hover .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type2:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-2.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type2.native .x-icon, -.bi-theme-dark .tree-expand-icon-type2.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type2.native .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type2.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-2.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type3 .x-icon, -.bi-theme-dark .tree-expand-icon-type3:hover .x-icon, -.bi-theme-dark .tree-expand-icon-type3:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type3 .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type3:hover .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type3:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-3.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type3.native .x-icon, -.bi-theme-dark .tree-expand-icon-type3.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type3.native .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type3.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-3.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type4 .x-icon, -.bi-theme-dark .tree-expand-icon-type4:hover .x-icon, -.bi-theme-dark .tree-expand-icon-type4:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type4 .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type4:hover .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type4:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-4.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type4.native .x-icon, -.bi-theme-dark .tree-expand-icon-type4.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-expand-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type4.native .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type4.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-expand-4.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type2 .x-icon, -.bi-theme-dark .tree-vertical-line-type2:hover .x-icon, -.bi-theme-dark .tree-vertical-line-type2:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-vertical-line-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type2 .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type2:hover .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type2:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-2.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type2.native .x-icon, -.bi-theme-dark .tree-vertical-line-type2.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-vertical-line-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type2.native .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type2.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-2.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type3 .x-icon, -.bi-theme-dark .tree-vertical-line-type3:hover .x-icon, -.bi-theme-dark .tree-vertical-line-type3:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-vertical-line-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type3 .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type3:hover .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type3:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-3.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type3.native .x-icon, -.bi-theme-dark .tree-vertical-line-type3.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-vertical-line-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type3.native .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type3.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-3.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type4 .x-icon, -.bi-theme-dark .tree-vertical-line-type4:hover .x-icon, -.bi-theme-dark .tree-vertical-line-type4:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-vertical-line-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type4 .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type4:hover .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type4:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-4.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type4.native .x-icon, -.bi-theme-dark .tree-vertical-line-type4.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/dark/tree-vertical-line-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type4.native .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type4.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/dark/tree-vertical-line-4.png'); - _background: none; -} -.check-box-icon .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/check-box-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/check-box-normal.png'); - background-size: contain; - _background: none; -} -.check-box-icon .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/check-box-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check-box-normal.png'); - _background: none; -} -.check-box-icon:hover .x-icon, -.check-box-icon:focus .x-icon, -.check-box-icon.hover .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/check-box-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/check-box-normal.png'); - background-size: contain; - _background: none; -} -.check-box-icon:hover .x-icon.hack, -.check-box-icon:focus .x-icon.hack, -.check-box-icon.hover .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/check-box-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check-box-normal.png'); - _background: none; -} -.check-box-icon:active .x-icon, -.check-box-icon.active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/check-box-active.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/check-box-active.png'); - background-size: contain; - _background: none; -} -.check-box-icon:active .x-icon.hack, -.check-box-icon.active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/check-box-active.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check-box-active.png'); - _background: none; -} -.check-box-icon.native .x-icon, -.check-box-icon.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/check-box-disable.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/check-box-disable.png'); - background-size: contain; - _background: none; -} -.check-box-icon.native .x-icon.hack, -.check-box-icon.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/check-box-disable.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check-box-disable.png'); - _background: none; -} -.check-box-icon.native .x-icon, -.check-box-icon.disabled.active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/check-box-disable2.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/check-box-disable2.png'); - background-size: contain; - _background: none; -} -.check-box-icon.native .x-icon.hack, -.check-box-icon.disabled.active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/check-box-disable2.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/check-box-disable2.png'); - _background: none; -} -.radio-icon .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/radio-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/radio-normal.png'); - background-size: contain; - _background: none; -} -.radio-icon .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/radio-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio-normal.png'); - _background: none; -} -.radio-icon:hover .x-icon, -.radio-icon:focus .x-icon, -.radio-icon.hover .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/radio-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/radio-normal.png'); - background-size: contain; - _background: none; -} -.radio-icon:hover .x-icon.hack, -.radio-icon:focus .x-icon.hack, -.radio-icon.hover .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/radio-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio-normal.png'); - _background: none; -} -.radio-icon:active .x-icon, -.radio-icon.active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/radio-active.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/radio-active.png'); - background-size: contain; - _background: none; -} -.radio-icon:active .x-icon.hack, -.radio-icon.active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/radio-active.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio-active.png'); - _background: none; -} -.radio-icon.native .x-icon, -.radio-icon.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/radio-disable.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/radio-disable.png'); - background-size: contain; - _background: none; -} -.radio-icon.native .x-icon.hack, -.radio-icon.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/radio-disable.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio-disable.png'); - _background: none; -} -.radio-icon.native .x-icon, -.radio-icon.disabled.active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/radio-disable2.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/radio-disable2.png'); - background-size: contain; - _background: none; -} -.radio-icon.native .x-icon.hack, -.radio-icon.disabled.active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/radio-disable2.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/radio-disable2.png'); - _background: none; -} -.check-half-select-icon .x-icon, -.check-half-select-icon:hover .x-icon, -.check-half-select-icon:active .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/half_selected.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/half_selected.png'); - background-size: contain; - _background: none; -} -.check-half-select-icon .x-icon.hack, -.check-half-select-icon:hover .x-icon.hack, -.check-half-select-icon:active .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/half_selected.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/half_selected.png'); - _background: none; -} -.check-half-select-icon.native .x-icon, -.check-half-select-icon.disabled .x-icon { - display: block; - background: url('https://fanruan.coding.me/fineui/dist/images/2x/icon/half_selected.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/2x/icon/half_selected.png'); - background-size: contain; - _background: none; -} -.check-half-select-icon.native .x-icon.hack, -.check-half-select-icon.disabled .x-icon.hack { - background: url('https://fanruan.coding.me/fineui/dist/images/1x/icon/half_selected.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://fanruan.coding.me/fineui/dist/images/1x/icon/half_selected.png'); - _background: none; -} diff --git a/public/js/index.js b/public/js/index.js deleted file mode 100644 index fb7e7f3a66..0000000000 --- a/public/js/index.js +++ /dev/null @@ -1,123 +0,0 @@ -BI.servletURL = "https://fanruan.coding.me/fineui/dist/"; -BI.resourceURL = "https://fanruan.coding.me/fineui/dist/resource/"; -BI.i18n = { - "BI-Multi_Date_Quarter_End": "季度末", - "BI-Multi_Date_Month_Begin": "月初", - "BI-Multi_Date_YMD": "年/月/日", - "BI-Custom_Color": "自定义颜色", - "BI-Numerical_Interval_Input_Data": "请输入数值", - "BI-Please_Input_Natural_Number": "请输入非负整数", - "BI-No_More_Data": "无更多数据", - "BI-Basic_Altogether": "共", - "BI-Basic_Sunday": "星期日", - "BI-Widget_Background_Colour": "组件背景", - "BI-Color_Picker_Error_Text": "请输入0~255的正整数", - "BI-Multi_Date_Month": "月", - "BI-No_Selected_Item": "没有可选项", - "BI-Multi_Date_Year_Begin": "年初", - "BI-Quarter_1": "第1季度", - "BI-Quarter_2": "第2季度", - "BI-Quarter_3": "第3季度", - "BI-Quarter_4": "第4季度", - "BI-Multi_Date_Year_Next": "年后", - "BI-Multi_Date_Month_Prev": "个月前", - "BI-Month_Trigger_Error_Text": "请输入1~12的正整数", - "BI-Less_And_Equal": "小于等于", - "BI-Year_Trigger_Invalid_Text": "请输入有效时间", - "BI-Multi_Date_Week_Next": "周后", - "BI-Font_Size": "字号", - "BI-Basic_Total": "共", - "BI-Already_Selected": "已选择", - "BI-Formula_Insert": "插入", - "BI-Select_All": "全选", - "BI-Basic_Tuesday": "星期二", - "BI-Multi_Date_Month_End": "月末", - "BI-Load_More": "点击加载更多数据", - "BI-Basic_September": "九月", - "BI-Current_Is_Last_Page": "当前已是最后一页", - "BI-Basic_Auto": "自动", - "BI-Basic_Count": "个", - "BI-Basic_Value": "值", - "BI-Basic_Unrestricted": "无限制", - "BI-Quarter_Trigger_Error_Text": "请输入1~4的正整数", - "BI-Basic_More": "更多", - "BI-Basic_Wednesday": "星期三", - "BI-Basic_Bold": "加粗", - "BI-Basic_Simple_Saturday": "六", - "BI-Multi_Date_Month_Next": "个月后", - "BI-Basic_March": "三月", - "BI-Current_Is_First_Page": "当前已是第一页", - "BI-Basic_Thursday": "星期四", - "BI-Basic_Prompt": "提示", - "BI-Multi_Date_Today": "今天", - "BI-Multi_Date_Quarter_Prev": "个季度前", - "BI-Row_Header": "行表头", - "BI-Date_Trigger_Error_Text": "日期格式示例:2015-3-11", - "BI-Basic_Cancel": "取消", - "BI-Basic_January": "一月", - "BI-Basic_June": "六月", - "BI-Basic_July": "七月", - "BI-Basic_April": "四月", - "BI-Multi_Date_Quarter_Begin": "季度初", - "BI-Multi_Date_Week": "周", - "BI-Click_Blank_To_Select": "点按\"空格键\"选中匹配项", - "BI-Basic_August": "八月", - "BI-Word_Align_Left": "文字居左", - "BI-Basic_November": "十一月", - "BI-Font_Colour": "字体颜色", - "BI-Multi_Date_Day_Prev": "天前", - "BI-Select_Part": "部分选择", - "BI-Multi_Date_Day_Next": "天后", - "BI-Less_Than": "小于", - "BI-Basic_February": "二月", - "BI-Multi_Date_Year": "年", - "BI-Number_Index": "序号", - "BI-Multi_Date_Week_Prev": "周前", - "BI-Next_Page": "下一页", - "BI-Right_Page": "向右翻页", - "BI-Numerical_Interval_Signal_Value": "前后值相等,请将操作符改为“≤”", - "BI-Basic_December": "十二月", - "BI-Basic_Saturday": "星期六", - "BI-Basic_Simple_Wednesday": "三", - "BI-Multi_Date_Quarter_Next": "个季度后", - "BI-Basic_October": "十月", - "BI-Basic_Simple_Friday": "五", - "BI-Primary_Key": "主键", - "BI-Basic_Save": "保存", - "BI-Numerical_Interval_Number_Value": "请保证前面的数值小于/等于后面的数值", - "BI-Previous_Page": "上一页", - "BI-No_Select": "搜索结果为空", - "BI-Basic_Clears": "清空", - "BI-Created_By_Me": "我创建的", - "BI-Basic_Simple_Tuesday": "二", - "BI-Word_Align_Right": "文字居右", - "BI-Summary_Values": "汇总", - "BI-Basic_Clear": "清除", - "BI-Upload_File_Size_Error": "文件大小不支", - "BI-Up_Page": "向上翻页", - "BI-Basic_Simple_Sunday": "日", - "BI-Multi_Date_Relative_Current_Time": "相对当前时间", - "BI-Selected_Data": "已选数据:", - "BI-Multi_Date_Quarter": "季度", - "BI-Check_Selected": "查看已选", - "BI-Basic_Search": "搜索", - "BI-Basic_May": "五月", - "BI-Continue_Select": "继续选择", - "BI-Please_Input_Positive_Integer": "请输入正整数", - "BI-Upload_File_Type_Error": "文件类型不支持", - "BI-Basic_Friday": "星期五", - "BI-Down_Page": "向下翻页", - "BI-Basic_Monday": "星期一", - "BI-Left_Page": "向左翻页", - "BI-Transparent_Color": "透明", - "BI-Basic_Simple_Monday": "一", - "BI-Multi_Date_Year_End": "年末", - "BI-Time_Interval_Error_Text": "请保证前面时间小于/等于后面的时间", - "BI-Basic_Time": "时间", - "BI-Basic_OK": "确定", - "BI-Basic_Sure": "确定", - "BI-Basic_Simple_Thursday": "四", - "BI-Multi_Date_Year_Prev": "年前", - "BI-Tiao_Data": "条数据", - "BI-Basic_Italic": "斜体" -}; \ No newline at end of file diff --git a/public/less/app.less b/public/less/app.less deleted file mode 100644 index d086387ac7..0000000000 --- a/public/less/app.less +++ /dev/null @@ -1,2 +0,0 @@ -@import "../../src/less/resource/app"; -@import "var"; diff --git a/public/less/background.less b/public/less/background.less deleted file mode 100644 index 9961471273..0000000000 --- a/public/less/background.less +++ /dev/null @@ -1,2 +0,0 @@ -@import "../../src/less/resource/background"; -@import "var"; diff --git a/public/less/font.less b/public/less/font.less deleted file mode 100644 index c236f82edb..0000000000 --- a/public/less/font.less +++ /dev/null @@ -1,2 +0,0 @@ -@import "../../src/less/resource/font"; -@import "var"; diff --git a/public/less/icon.less b/public/less/icon.less deleted file mode 100644 index 43e3123c5f..0000000000 --- a/public/less/icon.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../src/less/resource/icon"; -@import "var"; - - - diff --git a/public/less/var.less b/public/less/var.less deleted file mode 100644 index 6be417091c..0000000000 --- a/public/less/var.less +++ /dev/null @@ -1,3 +0,0 @@ -@webUrl: 'https://fanruan.coding.me/fineui/dist/'; -@imageUrl: '@{webUrl}images/1x/'; //图片的基本地址 -@image2xUrl: '@{webUrl}images/2x/'; //2倍图片的基本地址 \ No newline at end of file diff --git a/server.js b/server.js index 6d65e28f25..e448992a6d 100644 --- a/server.js +++ b/server.js @@ -4,9 +4,9 @@ const express = require('express'); const open = require('open'); const fs=require("fs"); const app = express(); -const port = 3000; +const port = 3100; -app.use(express.static("./dist/")); +app.use(express.static("./")); app.listen(port, function() { console.log("server start"); open('http://localhost:' + port + '/index.html'); diff --git a/src/addons/chart/chart.combine.js b/src/addons/chart/chart.combine.js deleted file mode 100644 index 59177b48b8..0000000000 --- a/src/addons/chart/chart.combine.js +++ /dev/null @@ -1,156 +0,0 @@ -/** - * 图表控件 - * @class BI.CombineChart - * @extends BI.Widget - */ -BI.CombineChart = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.CombineChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-combine-chart", - items: [], - xAxis: [{type: "category"}], - yAxis: [{type: "value"}], - types: [[], []], - popupItemsGetter: BI.emptyFn, - formatConfig: BI.emptyFn - }) - }, - - _init: function () { - BI.CombineChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - //图可配置属性 - this.CombineChart = BI.createWidget({ - type: "bi.chart", - element: this.element - }); - this.CombineChart.on(BI.Chart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.CombineChart.EVENT_CHANGE, obj); - }); - - if (BI.isNotEmptyArray(o.items)) { - this.populate(o.items); - } - }, - - _formatItems: function (items) { - var result = [], self = this, o = this.options; - var yAxisIndex = 0; - BI.each(items, function (i, belongAxisItems) { - var combineItems = BI.ChartCombineFormatItemFactory.combineItems(o.types[i], belongAxisItems); - BI.each(combineItems, function (j, axisItems) { - if (BI.isArray(axisItems)) { - result = BI.concat(result, axisItems); - } else { - result.push(BI.extend(axisItems, {"yAxis": yAxisIndex})); - } - }); - if (BI.isNotEmptyArray(combineItems)) { - yAxisIndex++; - } - }); - var config = BI.ChartCombineFormatItemFactory.combineConfig(); - config.plotOptions.click = function () { - var data = BI.clone(this.options); - data.toolTipRect = this.getTooltipRect(); - var items = o.popupItemsGetter(data); - if (items && items.length === 1) { - self.fireEvent(BI.CombineChart.EVENT_ITEM_CLICK, BI.extend({}, items[0], data)); - } - if (items && items.length > 1) { - self._createPopup(items, data.toolTipRect, data); - } - self.fireEvent(BI.CombineChart.EVENT_CHANGE, data); - }; - return [result, config]; - }, - - _createPopup: function (items, rect, opt) { - var self = this; - if (this.combo) { - this.combo.destroy(); - } - this._doDestroy = true; - this.combo = BI.createWidget({ - type: "bi.combo", - direction: "bottom", - isNeedAdjustWidth: false, - popup: { - el: BI.createWidget({ - type: "bi.vertical", - cls: "bi-linkage-list", - items: BI.map(items, function (i, item) { - return { - el: BI.extend({ - type: "bi.text_button", - cls: "bi-linkage-list-item", - height: 30, - handler: function () { - self.fireEvent(BI.CombineChart.EVENT_ITEM_CLICK, BI.extend({}, item, opt)); - self.combo.destroy(); - }, - hgap: 10 - }, item) - } - }) - }) - }, - width: 0 - }); - BI.createWidget({ - type: "bi.absolute", - element: this.element, - items: [{ - el: this.combo, - top: rect.y, - left: rect.x - }] - }); - this.combo.element.hover(function () { - self._doDestroy = false; - }, function () { - self._doDestroy = true; - self._debounce2Destroy(); - }); - this._debounce2Destroy = BI.debounce(BI.bind(destroyCombo, this.combo), 3000); - this.combo.showView(); - this._debounce2Destroy(); - - function destroyCombo() { - if (self._doDestroy) { - this.destroy(); - } - } - }, - - setTypes: function (types) { - this.options.types = types || [[]]; - }, - - populate: function (items, types) { - var o = this.options; - if (BI.isNotNull(types)) { - this.setTypes(types); - } - var opts = this._formatItems(items); - BI.extend(opts[1], { - xAxis: o.xAxis, - yAxis: o.yAxis - }); - var result = o.formatConfig(opts[1], opts[0]) || opts; - this.CombineChart.populate(result[0], result[1]); - }, - - resize: function () { - this.CombineChart.resize(); - }, - - magnify: function () { - this.CombineChart.magnify(); - } -}); -BI.CombineChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.CombineChart.EVENT_ITEM_CLICK = "EVENT_ITEM_CLICK"; -BI.shortcut('bi.combine_chart', BI.CombineChart); \ No newline at end of file diff --git a/src/addons/chart/chart.js b/src/addons/chart/chart.js deleted file mode 100644 index cadcca0bc0..0000000000 --- a/src/addons/chart/chart.js +++ /dev/null @@ -1,55 +0,0 @@ -/** - * 图表控件 - * @class BI.Chart - * @extends BI.Widget - */ -BI.Chart = BI.inherit(BI.Pane, { - - _defaultConfig: function () { - return BI.extend(BI.Chart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-chart" - }) - }, - - _init: function () { - BI.Chart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.isSetOptions = false; - this.vanCharts = VanCharts.init(self.element[0]); - - this._resizer = BI.debounce(function () { - if (self.element.width() > 0 && self.element.height() > 0) { - self.vanCharts.resize(); - } - }, 30); - BI.ResizeDetector.addResizeListener(this, function (e) { - self._resizer(); - }); - }, - - resize: function () { - if (this.isSetOptions === true) { - this._resizer(); - } - }, - - magnify: function () { - this.vanCharts.refreshRestore() - }, - - populate: function (items, options) { - var self = this, o = this.options; - o.items = items; - this.config = options || {}; - this.config.series = o.items; - - var setOptions = function () { - self.vanCharts.setOptions(self.config); - self.isSetOptions = true; - }; - BI.nextTick(setOptions); - } -}); -BI.Chart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.chart', BI.Chart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.abstract.js b/src/addons/chart/chart/chart.abstract.js deleted file mode 100644 index 0607217e97..0000000000 --- a/src/addons/chart/chart/chart.abstract.js +++ /dev/null @@ -1,286 +0,0 @@ -/** - * 图表控件 - * @class BI.AbstractChart - * @extends BI.Widget - */ -BI.AbstractChart = BI.inherit(BI.Widget, { - - constants: { - LEFT_AXIS: 0, - RIGHT_AXIS: 1, - RIGHT_AXIS_SECOND: 2, - X_AXIS: 3, - ROTATION: -90, - NORMAL: 1, - LEGEND_BOTTOM: 4, - ZERO2POINT: 2, - ONE2POINT: 3, - TWO2POINT: 4, - MINLIMIT: 1e-5, - LEGEND_HEIGHT: 80, - LEGEND_WIDTH: "30.0%", - FIX_COUNT: 6, - STYLE_NORMAL: 21, - NO_PROJECT: 16, - DASHBOARD_AXIS: 4, - ONE_POINTER: 1, - MULTI_POINTER: 2, - HALF_DASHBOARD: 9, - PERCENT_DASHBOARD: 10, - PERCENT_SCALE_SLOT: 11, - VERTICAL_TUBE: 12, - HORIZONTAL_TUBE: 13, - LNG_FIRST: 3, - LAT_FIRST: 4, - themeColor: "#65bce7", - autoCustom: 1, - POLYGON: 7, - AUTO_CUSTOM: 1, - AUTO: 1, - NOT_SHOW: 2, - LINE_WIDTH: 1, - NUM_SEPARATORS: false, - FONT_STYLE: { - "fontFamily": "inherit", - "color": "inherit", - "fontSize": "12px" - } - }, - - _defaultConfig: function () { - return BI.extend(BI.AbstractChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-abstract-chart", - popupItemsGetter: BI.emptyFn - }) - }, - - _init: function () { - BI.AbstractChart.superclass._init.apply(this, arguments); - }, - - /** - * 格式化坐标轴数量级及其所影响的系列的各项属性 - * @param config 配置信息 - * @param items 系列数据 - * @param type 坐标轴数量级 - * @param position 坐标轴位置 - * @param formatter 系列tooltip格式化内容 - */ - formatNumberLevelInYaxis: function (config, items, type, position, formatter, isPercentChart) { - var magnify = this.calcMagnify(type); - BI.each(items, function (idx, item) { - BI.each(item.data, function (id, da) { - if (position === item.yAxis) { - if (BI.isNotNull(da.y) && !BI.isNumber(da.y)) { - da.y = BI.parseFloat(da.y); - } - if (BI.isNotNull(da.y)) { - da.y = BI.contentFormat(BI.parseFloat(da.y.div(magnify).toFixed(4)), "#.####;-#.####"); - } - } - }); - if (position === item.yAxis) { - item.tooltip = BI.deepClone(config.plotOptions.tooltip); - item.tooltip.formatter.valueFormat = formatter; - if(isPercentChart) { - item.tooltip.formatter.percentFormat = formatter; - item.tooltip.formatter.identifier = "${CATEGORY}${SERIES}${PERCENT}"; - } - } - }); - }, - - formatNumberLevelInXaxis: function (items, type) { - var magnify = this.calcMagnify(type); - BI.each(items, function (idx, item) { - BI.each(item.data, function (id, da) { - if (BI.isNotNull(da.x) && !BI.isNumber(da.x)) { - da.x = BI.parseFloat(da.x); - } - if (BI.isNotNull(da.x)) { - da.x = BI.contentFormat(BI.parseFloat(da.x.div(magnify).toFixed(4)), "#.####;-#.####"); - } - }); - }) - }, - - formatXYDataWithMagnify: function (number, magnify) { - if (BI.isNull(number)) { - return null - } - if (!BI.isNumber(number)) { - number = BI.parseFloat(number); - } - return BI.contentFormat(BI.parseFloat(number.div(magnify).toFixed(4)), "#.####;-#.####"); - }, - - calcMagnify: function (type) { - var magnify = 1; - switch (type) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - case BICst.TARGET_STYLE.NUM_LEVEL.PERCENT: - magnify = 1; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - magnify = 10000; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - magnify = 1000000; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - magnify = 100000000; - break; - } - return magnify; - }, - - formatChartLegend: function (config, chartLegend) { - switch (chartLegend) { - case BICst.CHART_LEGENDS.BOTTOM: - config.legend.enabled = true; - config.legend.position = "bottom"; - config.legend.maxHeight = this.constants.LEGEND_HEIGHT; - break; - case BICst.CHART_LEGENDS.RIGHT: - config.legend.enabled = true; - config.legend.position = "right"; - config.legend.maxWidth = this.constants.LEGEND_WIDTH; - break; - case BICst.CHART_LEGENDS.NOT_SHOW: - default: - config.legend.enabled = false; - break; - } - }, - - getXYAxisUnit: function (numberLevelType, axis_unit) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - return (BI.isEmptyString(unit) && BI.isEmptyString(axis_unit)) ? unit : "(" + unit + axis_unit + ")"; - }, - - formatTickInXYaxis: function (type, number_level, separators, isCompareBar) { - var formatter = '#.##'; - switch (type) { - case this.constants.NORMAL: - formatter = '#.##'; - if (separators) { - formatter = '#,###.##' - } - break; - case this.constants.ZERO2POINT: - formatter = '#0'; - if (separators) { - formatter = '#,###'; - } - break; - case this.constants.ONE2POINT: - formatter = '#0.0'; - if (separators) { - formatter = '#,###.0'; - } - break; - case this.constants.TWO2POINT: - formatter = '#0.00'; - if (separators) { - formatter = '#,###.00'; - } - break; - } - if (number_level === BICst.TARGET_STYLE.NUM_LEVEL.PERCENT) { - formatter += '%'; - } - formatter += ";-" + formatter; - if(isCompareBar) { - return function () { - arguments[0] = arguments[0] > 0 ? arguments[0] : (-1) * arguments[0]; - return BI.contentFormat(arguments[0], formatter); - } - } - return function () { - return BI.contentFormat(arguments[0], formatter) - } - }, - - formatDataLabel: function (state, items, config, style) { - var self = this; - if (state === true) { - BI.each(items, function (idx, item) { - item.dataLabels = { - "align": "outside", - "autoAdjust": true, - style: style, - enabled: true, - formatter: { - identifier: "${VALUE}", - valueFormat: config.yAxis[item.yAxis].formatter - } - }; - }); - } - }, - - formatDataLabelForAxis: function (state, items, format, style, isPercentChart) { - var self = this; - if (state === true) { - BI.each(items, function (idx, item) { - item.dataLabels = { - "align": "outside", - "autoAdjust": true, - style: style, - enabled: true, - formatter: { - identifier: "${VALUE}", - valueFormat: format, - } - }; - if(isPercentChart) { - item.dataLabels.formatter.identifier = "${PERCENT}"; - item.dataLabels.formatter.percentFormat = format; - } - }); - } - }, - - setFontStyle: function (fontStyle, config) { - if (config.dataSheet) { - config.dataSheet.style = fontStyle; - } - config.xAxis[0].title.style = fontStyle; - config.xAxis[0].labelStyle = fontStyle; - config.legend.style = fontStyle; - BI.each(config.yAxis, function (idx, axis) { - axis.labelStyle = fontStyle; - axis.title.style = fontStyle; - }) - }, - - _formatItems: function (items) { - return items; - }, - - populate: function (items, options) { - }, - - resize: function () { - }, - - magnify: function () { - } -}); - -BI.AbstractChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.AbstractChart.EVENT_ITEM_CLICK = "EVENT_ITEM_CLICK"; diff --git a/src/addons/chart/chart/chart.accumulatearea.js b/src/addons/chart/chart/chart.accumulatearea.js deleted file mode 100644 index 8ccd9a81ca..0000000000 --- a/src/addons/chart/chart/chart.accumulatearea.js +++ /dev/null @@ -1,277 +0,0 @@ -/** - * 图表控件 - * @class BI.AccumulateAreaChart - * @extends BI.Widget - */ -BI.AccumulateAreaChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.AccumulateAreaChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-accumulate-area-chart" - }) - }, - - _init: function () { - BI.AccumulateAreaChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.xAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE - }]; - this.yAxis = []; - - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.AccumulateAreaChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this; - - config.colors = this.config.chartColor; - config.style = formatChartStyle(this.config.chartStyle); - formatChartLineStyle(this.config.chartLineType); - formatCordon(this.config.cordon); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.connectNulls = this.config.nullContinue; - config.dataSheet.enabled = this.config.showDataTable; - config.xAxis[0].showLabel = !config.dataSheet.enabled; - config.zoom.zoomTool.enabled = this.config.showZoom; - if (this.config.showZoom === true) { - delete config.dataSheet; - delete config.zoom.zoomType; - } - - config.yAxis = this.yAxis; - BI.each(config.yAxis, function (idx, axis) { - var unit = ""; - switch (axis.axisIndex) { - case self.constants.LEFT_AXIS: - unit = self.getXYAxisUnit(self.config.leftYAxisNumberLevel, self.config.leftYAxisUnit); - axis.title.text = self.config.showLeftYAxisTitle === true ? self.config.leftYAxisTitle + unit : unit; - axis.title.rotation = self.constants.ROTATION; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.leftYAxisReversed, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.leftYAxisStyle, self.config.leftYAxisNumberLevel, self.config.numSeparators) - }); - self.formatNumberLevelInYaxis(config, items, self.config.leftYAxisNumberLevel, idx, axis.formatter, self.config.numSeparators); - - break; - case self.constants.RIGHT_AXIS: - unit = self.getXYAxisUnit(self.config.rightYAxisNumberLevel, self.config.rightYAxisUnit); - axis.title.text = self.config.showRightYAxisTitle === true ? self.config.rightYAxisTitle + unit : unit; - axis.title.rotation = self.constants.ROTATION; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.rightYAxisReversed, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.rightYAxisStyle, self.config.rightYAxisNumberLevel, self.config.rightNumSeparators) - }); - self.formatNumberLevelInYaxis(config, items, self.config.rightYAxisNumberLevel, idx, axis.formatter, self.config.rightNumSeparators); - break; - } - }); - - config.xAxis[0].title.align = "center"; - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle : ""; - BI.extend(config.xAxis[0], { - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - labelRotation: this.config.textDirection, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - maxHeight: '40%' - }); - - config.chartType = "area"; - - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabel(config.plotOptions.dataLabels.enabled, items, config, this.config.chartFont); - - //全局样式的图表文字 - this.setFontStyle(this.config.chartFont, config); - - return [items, config]; - - function formatChartStyle(v) { - switch (v) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatChartLineStyle(v) { - switch (v) { - case BICst.CHART_SHAPE.RIGHT_ANGLE: - config.plotOptions.curve = false; - config.plotOptions.step = true; - break; - case BICst.CHART_SHAPE.CURVE: - config.plotOptions.curve = true; - config.plotOptions.step = false; - break; - case BICst.CHART_SHAPE.NORMAL: - default: - config.plotOptions.curve = false; - config.plotOptions.step = false; - break; - } - } - - function formatCordon(cordon) { - BI.each(cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - var magnify = self.calcMagnify(self.config.xAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - }, - - _formatItems: function (items) { - return BI.map(items, function (idx, item) { - var i = BI.UUID(); - return BI.map(item, function (id, it) { - return BI.extend({}, it, {stack: i}); - }); - }); - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - rightYAxisTitle: options.rightYAxisTitle || "", - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.STYLE_NORMAL, - chartLineType: options.chartLineType || c.NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - rightYAxisStyle: options.rightYAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - showRightYAxisTitle: options.showRightYAxisTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - rightYAxisReversed: options.rightYAxisReversed || false, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - rightYAxisNumberLevel: options.rightYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - rightYAxisUnit: options.rightYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showDataTable: options.showDataTable || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - rightNumSeparators: options.rightNumSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE, - nullContinue: options.nullContinue || false - }; - this.options.items = items; - this.yAxis = []; - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.AREA); - }); - types.push(type); - }); - BI.each(types, function (idx, type) { - if (BI.isEmptyArray(type)) { - return; - } - var newYAxis = { - type: "value", - title: { - style: self.constants.FONT_STYLE - }, - labelStyle: self.constants.FONT_STYLE, - position: idx > 0 ? "right" : "left", - lineWidth: 1, - axisIndex: idx, - gridLineWidth: 0 - }; - self.yAxis.push(newYAxis); - }); - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.AccumulateAreaChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.accumulate_area_chart', BI.AccumulateAreaChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.accumulateaxis.js b/src/addons/chart/chart/chart.accumulateaxis.js deleted file mode 100644 index 7f3de4cf44..0000000000 --- a/src/addons/chart/chart/chart.accumulateaxis.js +++ /dev/null @@ -1,280 +0,0 @@ -/** - * 图表控件 - * @class BI.AccumulateAxisChart - * @extends BI.Widget - */ -BI.AccumulateAxisChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.AccumulateAxisChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-accumulate-axis-chart" - }) - }, - - _init: function () { - BI.AccumulateAxisChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE - }]; - this.yAxis = []; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.AccumulateAxisChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this, o = this.options; - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.dataSheet.enabled = this.config.showDataTable; - config.xAxis[0].showLabel = !config.dataSheet.enabled; - config.zoom.zoomTool.enabled = this.config.showZoom; - if (this.config.showZoom === true) { - delete config.dataSheet; - delete config.zoom.zoomType; - } - - config.yAxis = this.yAxis; - BI.each(config.yAxis, function (idx, axis) { - switch (axis.axisIndex) { - case self.constants.LEFT_AXIS: - axis.title.text = getTitleText(self.config.leftYAxisNumberLevel, self.constants.LEFT_AXIS, self.config.showLeftYAxisTitle, self.config.leftYAxisTitle); - axis.title.rotation = self.constants.ROTATION; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.leftYAxisReversed, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.leftYAxisStyle, self.config.leftYAxisNumberLevel, self.config.numSeparators) - }); - self.formatNumberLevelInYaxis(config, items, self.config.leftYAxisNumberLevel, idx, axis.formatter); - break; - case self.constants.RIGHT_AXIS: - axis.title.text = getTitleText(self.config.rightYAxisNumberLevel, self.constants.RIGHT_AXIS, self.config.showRightYAxisTitle, self.config.rightYAxisTitle); - axis.title.rotation = self.constants.ROTATION; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.rightYAxisReversed, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.rightYAxisStyle, self.config.rightYAxisNumberLevel, self.config.rightNumSeparators) - }); - self.formatNumberLevelInYaxis(config, items, self.config.rightYAxisNumberLevel, idx, axis.formatter); - break; - } - }); - - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle : ""; - config.xAxis[0].title.align = "center"; - BI.extend(config.xAxis[0], { - lineWidth: self.config.lineWidth, - enableTick: self.config.enableTick, - labelRotation: this.config.textDirection, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - maxHeight: '40%' - }); - - config.chartType = "column"; - - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabel(config.plotOptions.dataLabels.enabled, items, config, this.config.chartFont); - - //全局样式的图表文字 - this.setFontStyle(this.config.chartFont, config); - - return [items, config]; - - function formatCordon() { - BI.each(self.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - var magnify = self.calcMagnify(self.config.xAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function getTitleText(numberLevelType, position, show, title) { - var unit = ""; - - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - if (position === self.constants.RIGHT_AXIS) { - self.config.rightYAxisUnit !== "" && (unit = unit + self.config.rightYAxisUnit) - } - - unit = unit === "" ? unit : "(" + unit + ")"; - - return show === true ? title + unit : unit; - } - }, - - _formatItems: function (items) { - return BI.map(items, function (idx, item) { - var i = BI.UUID(); - return BI.map(item, function (id, it) { - return BI.extend({}, it, {stack: i}); - }); - }); - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - rightYAxisTitle: options.rightYAxisTitle || "", - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.STYLE_NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - rightYAxisStyle: options.rightYAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - showRightYAxisTitle: options.showRightYAxisTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - rightYAxisReversed: options.rightYAxisReversed || false, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - rightYAxisNumberLevel: options.rightYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - rightYAxisUnit: options.rightYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showDataTable: options.showDataTable || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - rightNumSeparators: options.rightNumSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE - }; - this.options.items = items; - this.yAxis = []; - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.AXIS); - }); - types.push(type); - }); - BI.each(types, function (idx, type) { - if (BI.isEmptyArray(type)) { - return; - } - var newYAxis = { - type: "value", - title: { - style: self.constants.FONT_STYLE - }, - labelStyle: self.constants.FONT_STYLE, - position: idx > 0 ? "right" : "left", - lineWidth: 1, - axisIndex: idx, - gridLineWidth: 0 - }; - self.yAxis.push(newYAxis); - }); - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.AccumulateAxisChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.accumulate_axis_chart', BI.AccumulateAxisChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.accumulatebar.js b/src/addons/chart/chart/chart.accumulatebar.js deleted file mode 100644 index fc614be8e6..0000000000 --- a/src/addons/chart/chart/chart.accumulatebar.js +++ /dev/null @@ -1,246 +0,0 @@ -/** - * 图表控件 - * @class BI.AccumulateBarChart - * @extends BI.Widget - */ -BI.AccumulateBarChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.AccumulateBarChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-accumulate-bar-chart" - }) - }, - - _init: function () { - BI.AccumulateBarChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "value", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - formatter: function () { - return this > 0 ? this : (-1) * this - }, - gridLineWidth: 0 - }]; - this.yAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - gridLineWidth: 0, - position: "left" - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.AccumulateBarChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this; - var unit = getXYAxisUnit(this.config.xAxisNumberLevel, this.constants.LEFT_AXIS); - var xTitle = getXYAxisUnit(this.config.leftYAxisNumberLevel, this.constants.X_AXIS); - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - - config.yAxis = this.yAxis; - config.yAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle + unit : unit; - config.yAxis[0].title.rotation = this.constants.ROTATION; - BI.extend(config.yAxis[0], { - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - labelRotation: this.config.textDirection, - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - maxWidth: '40%' - }); - - self.formatNumberLevelInXaxis(items, this.config.leftYAxisNumberLevel); - config.xAxis[0].title.text = this.config.showLeftYAxisTitle === true ? this.config.leftYAxisTitle + xTitle : xTitle; - config.xAxis[0].title.align = "center"; - BI.extend(config.xAxis[0], { - formatter: self.formatTickInXYaxis(this.config.leftYAxisStyle, self.config.leftYAxisNumberLevel, self.config.numSeparators), - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - showLabel: this.config.showLabel, - enableTick: this.config.enableTick, - lineWidth: this.config.lineWidth, - enableMinorTick: this.config.enableMinorTick - }); - config.chartType = "bar"; - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabelForAxis(config.plotOptions.dataLabels.enabled, items, config.xAxis[0].formatter, this.config.chartFont); - - config.plotOptions.tooltip.formatter.valueFormat = config.xAxis[0].formatter; - - //全局样式的图表文字 - this.setFontStyle(this.config.chartFont, config); - - return [items, config]; - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatCordon() { - BI.each(self.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - var magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.xAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function getXYAxisUnit(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if (position === self.constants.RIGHT_AXIS) { - self.config.rightYAxisUnit !== "" && (unit = unit + self.config.rightYAxisUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - } - }, - - _formatItems: function (items) { - BI.each(items, function (idx, item) { - var stackId = BI.UUID(); - BI.each(item, function (id, it) { - it.stack = stackId; - BI.each(it.data, function (i, t) { - var tmp = t.x; - t.x = t.y; - t.y = tmp; - }) - }); - }); - return items; - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.STYLE_NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - xAxisStyle: options.xAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - xAxisNumberLevel: options.xAxisNumberLevel || c.NORMAL, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showDataTable: options.showDataTable || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - minimalist_model: options.minimalist_model || false, - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE - }; - this.options.items = items; - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.BAR); - }); - types.push(type); - }); - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.AccumulateBarChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.accumulate_bar_chart', BI.AccumulateBarChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.accumulateradar.js b/src/addons/chart/chart/chart.accumulateradar.js deleted file mode 100644 index 86bb2c3ef0..0000000000 --- a/src/addons/chart/chart/chart.accumulateradar.js +++ /dev/null @@ -1,194 +0,0 @@ -/** - * 图表控件 - * @class BI.AccumulateRadarChart - * @extends BI.Widget - */ -BI.AccumulateRadarChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.AccumulateRadarChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-accumulate-radar-chart" - }) - }, - - _init: function () { - BI.AccumulateRadarChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.radiusAxis = [{ - type: "value", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - formatter: function () { - return this > 0 ? this : (-1) * this - }, - gridLineWidth: 0, - position: "bottom" - }]; - - this.angleAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE - }]; - - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.AccumulateRadarChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatItems: function (items) { - return BI.map(items, function (idx, item) { - var i = BI.UUID(); - return BI.map(item, function (id, it) { - return BI.extend({}, it, {stack: i}); - }); - }); - }, - - _formatConfig: function (config, items) { - var self = this; - - delete config.zoom; - - var title = getXYAxisUnit(this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS); - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatChartRadarStyle(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.connectNulls = this.config.nullContinue; - - config.radiusAxis = this.radiusAxis; - config.angleAxis = this.angleAxis; - config.radiusAxis[0].formatter = self.formatTickInXYaxis(this.config.leftYAxisStyle, this.config.leftYAxisNumberLevel, this.config.numSeparators); - formatNumberLevelInYaxis(this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS, config.radiusAxis[0].formatter); - config.radiusAxis[0].title.text = this.config.showLeftYAxisTitle === true ? this.config.leftYAxisTitle + title : title; - config.radiusAxis[0].gridLineWidth = this.config.showGridLine === true ? 1 : 0; - config.chartType = "radar"; - config.plotOptions.columnType = true; - delete config.xAxis; - delete config.yAxis; - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabelForAxis(config.plotOptions.dataLabels.enabled, items, config.radiusAxis[0].formatter, this.config.chartFont); - - //全局样式的图表文字 - config.radiusAxis[0].labelStyle = config.radiusAxis[0].title.style = this.config.chartFont; - config.angleAxis[0].labelStyle = config.angleAxis[0].title.style = this.config.chartFont; - config.legend.style = this.config.chartFont; - - return [items, config]; - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatChartRadarStyle() { - switch (self.config.chartRadarType) { - case BICst.CHART_SHAPE.POLYGON: - config.plotOptions.shape = "polygon"; - break; - case BICst.CHART_SHAPE.CIRCLE: - config.plotOptions.shape = "circle"; - break; - } - } - - function formatNumberLevelInYaxis(type, position, formatter) { - var magnify = self.calcMagnify(type); - BI.each(items, function (idx, item) { - BI.each(item.data, function (id, da) { - if (position === item.yAxis) { - da.y = self.formatXYDataWithMagnify(da.y, magnify); - } - }) - }); - config.plotOptions.tooltip.formatter.valueFormat = formatter; - } - - function getXYAxisUnit(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - if (position === self.constants.RIGHT_AXIS) { - self.config.rightYAxisUnit !== "" && (unit = unit + self.config.rightYAxisUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - } - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - chartRadarType: options.chartRadarType || c.NORMAL, - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.STYLE_NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - cordon: options.cordon || [], - numSeparators: options.numSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE, - nullContinue: options.nullContinue || false - }; - this.options.items = items; - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.RADAR); - }); - types.push(type); - }); - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.AccumulateRadarChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.accumulate_radar_chart', BI.AccumulateRadarChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.area.js b/src/addons/chart/chart/chart.area.js deleted file mode 100644 index 4119527cbd..0000000000 --- a/src/addons/chart/chart/chart.area.js +++ /dev/null @@ -1,302 +0,0 @@ -/** - * 图表控件 - * @class BI.AreaChart - * @extends BI.Widget - */ -BI.AreaChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.AreaChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-area-chart" - }) - }, - - _init: function () { - BI.AreaChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "bottom", - gridLineWidth: 0 - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.AreaChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this; - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatChartLineStyle(); - formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.connectNulls = this.config.nullContinue; - config.dataSheet.enabled = this.config.showDataTable; - config.xAxis[0].showLabel = !config.dataSheet.enabled; - config.zoom.zoomTool.enabled = this.config.showZoom; - if (this.config.showZoom === true) { - delete config.dataSheet; - delete config.zoom.zoomType; - } - - config.yAxis = this.yAxis; - BI.each(config.yAxis, function (idx, axis) { - var title = ""; - switch (axis.axisIndex) { - case self.constants.LEFT_AXIS: - title = getXYAxisUnit(self.config.leftYAxisNumberLevel, self.constants.LEFT_AXIS); - axis.title.text = self.config.showLeftYAxisTitle === true ? self.config.leftYAxisTitle + title : title; - axis.title.rotation = self.constants.ROTATION; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.leftYAxisReversed, - enableMinorTick: self.config.enableMinorTick, - formatter: self.formatTickInXYaxis(self.config.leftYAxisStyle, self.config.leftYAxisNumberLevel, self.config.numSeparators), - gridLineWidth: self.config.showGridLine === true ? 1 : 0 - }); - self.formatNumberLevelInYaxis(config, items, self.config.leftYAxisNumberLevel, idx, axis.formatter); - break; - case self.constants.RIGHT_AXIS: - title = getXYAxisUnit(self.config.rightYAxisNumberLevel, self.constants.RIGHT_AXIS); - axis.title.text = self.config.showRightYAxisTitle === true ? self.config.rightYAxisTitle + title : title; - axis.title.rotation = self.constants.ROTATION; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.rightYAxisReversed, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.rightYAxisStyle, self.config.rightYAxisNumberLevel, self.config.rightNumSeparators) - }); - self.formatNumberLevelInYaxis(config, items, self.config.rightYAxisNumberLevel, idx, axis.formatter); - break; - } - }); - - config.xAxis[0].title.align = "center"; - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle : ""; - BI.extend(config.xAxis[0], { - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - labelRotation: this.config.textDirection, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - maxHeight: '40%' - }); - - config.chartType = "area"; - - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabel(config.plotOptions.dataLabels.enabled, items, config, this.config.chartFont); - - //全局样式的图表文字 - this.setFontStyle(this.config.chartFont, config); - - return [items, config]; - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatCordon() { - BI.each(self.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - var magnify = self.calcMagnify(self.config.xAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function formatChartLineStyle() { - switch (self.config.chartLineType) { - case BICst.CHART_SHAPE.RIGHT_ANGLE: - config.plotOptions.curve = false; - config.plotOptions.step = true; - break; - case BICst.CHART_SHAPE.CURVE: - config.plotOptions.curve = true; - config.plotOptions.step = false; - break; - case BICst.CHART_SHAPE.NORMAL: - default: - config.plotOptions.curve = false; - config.plotOptions.step = false; - break; - } - } - - function getXYAxisUnit(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - if (position === self.constants.RIGHT_AXIS) { - self.config.rightYAxisUnit !== "" && (unit = unit + self.config.rightYAxisUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - } - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - rightYAxisTitle: options.rightYAxisTitle || "", - rightYAxisSecondTitle: options.rightYAxisSecondTitle || "", - chartLineType: options.chartLineType || c.NORMAL, - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - rightYAxisStyle: options.rightYAxisStyle || c.NORMAL, - rightYAxisSecondStyle: options.rightYAxisSecondStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - showRightYAxisTitle: options.showRightYAxisTitle || false, - showRightYAxisSecondTitle: options.showRightYAxisSecondTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - rightYAxisReversed: options.rightYAxisReversed || false, - rightYAxisSecondReversed: options.rightYAxisSecondReversed || false, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - rightYAxisNumberLevel: options.rightYAxisNumberLevel || c.NORMAL, - rightYAxisSecondNumberLevel: options.rightYAxisSecondNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - rightYAxisUnit: options.rightYAxisUnit || "", - rightYAxisSecondUnit: options.rightYAxisSecondUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showDataTable: options.showDataTable || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - rightNumSeparators: options.rightNumSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE, - nullContinue: options.nullContinue || false - }; - this.options.items = items; - - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.AREA); - }); - types.push(type); - }); - - this.yAxis = []; - BI.each(types, function (idx, type) { - if (BI.isEmptyArray(type)) { - return; - } - var newYAxis = { - type: "value", - title: { - style: self.constants.FONT_STYLE - }, - labelStyle: self.constants.FONT_STYLE, - position: idx > 0 ? "right" : "left", - lineWidth: 1, - axisIndex: idx, - gridLineWidth: 0 - }; - self.yAxis.push(newYAxis); - }); - - this.combineChart.populate(items, types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.AreaChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.area_chart', BI.AreaChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.axis.js b/src/addons/chart/chart/chart.axis.js deleted file mode 100644 index 86330c6002..0000000000 --- a/src/addons/chart/chart/chart.axis.js +++ /dev/null @@ -1,276 +0,0 @@ -/** - * 图表控件 柱状 - * @class BI.AxisChart - * @extends BI.Widget - * leftYxis 左值轴属性 - * rightYxis 右值轴属性 - * xAxis 分类轴属性 - */ -BI.AxisChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.AxisChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-axis-chart" - }) - }, - - _init: function () { - BI.AxisChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "bottom", - gridLineWidth: 0 - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.AxisChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this, o = this.options; - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.connectNulls = this.config.nullContinue; - config.dataSheet.enabled = this.config.showDataTable; - config.xAxis[0].showLabel = !config.dataSheet.enabled; - config.zoom.zoomTool.enabled = this.config.showZoom; - if (this.config.showZoom === true) { - delete config.dataSheet; - delete config.zoom.zoomType; - } - - config.yAxis = this.yAxis; - BI.each(config.yAxis, function (idx, axis) { - var title; - switch (axis.axisIndex) { - case self.constants.LEFT_AXIS: - title = getXYAxisUnit(self.config.leftYAxisNumberLevel, self.constants.LEFT_AXIS); - axis.title.text = self.config.showLeftYAxisTitle === true ? self.config.leftYAxisTitle + title : title; - axis.title.rotation = self.constants.ROTATION; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.leftYAxisReversed, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.leftYAxisStyle, self.config.leftYAxisNumberLevel, self.config.numSeparators) - }); - self.formatNumberLevelInYaxis(config, items, self.config.leftYAxisNumberLevel, idx, axis.formatter); - break; - case self.constants.RIGHT_AXIS: - title = getXYAxisUnit(self.config.rightYAxisNumberLevel, self.constants.RIGHT_AXIS); - axis.title.text = self.config.showRightYAxisTitle === true ? self.config.rightYAxisTitle + title : title; - axis.title.rotation = self.constants.ROTATION; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.rightYAxisReversed, - enableMinorTIck: self.config.enableMinorTick, - formatter: self.formatTickInXYaxis(self.config.rightYAxisStyle, self.config.rightYAxisNumberLevel, self.config.rightNumSeparators), - gridLineWidth: self.config.showGridLine === true ? 1 : 0 - }); - self.formatNumberLevelInYaxis(config, items, self.config.rightYAxisNumberLevel, idx, axis.formatter); - break; - } - }); - - config.xAxis[0].title.align = "center"; - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle : ""; - BI.extend(config.xAxis[0], { - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - labelRotation: this.config.textDirection, - enableMinorTick: this.config.enableMinorTick, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - maxHeight: '40%' - }); - - var lineItem = []; - var otherItem = []; - BI.each(items, function (idx, item) { - if (item.type === "line") { - lineItem.push(item); - } else { - otherItem.push(item); - } - }); - - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabel(config.plotOptions.dataLabels.enabled, items, config, this.config.chartFont); - - //全局样式的图表文字 - this.setFontStyle(this.config.chartFont, config); - - return [BI.concat(otherItem, lineItem), config]; - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatCordon() { - BI.each(self.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - var magnify = self.calcMagnify(self.config.xAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function getXYAxisUnit(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - if (position === self.constants.RIGHT_AXIS) { - self.config.rightYAxisUnit !== "" && (unit = unit + self.config.rightYAxisUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - } - }, - - populate: function (items, options, types) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - rightYAxisTitle: options.rightYAxisTitle || "", - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - rightYAxisStyle: options.rightYAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - showRightYAxisTitle: options.showRightYAxisTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - rightYAxisReversed: options.rightYAxisReversed || false, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - rightYAxisNumberLevel: options.rightYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - rightYAxisUnit: options.rightYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showDataTable: options.showDataTable || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - rightNumSeparators: options.rightNumSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE, - nullContinue: true - }; - this.options.items = items; - - this.yAxis = []; - BI.each(types, function (idx, type) { - if (BI.isEmptyArray(type)) { - return; - } - var newYAxis = { - type: "value", - title: { - style: self.constants.FONT_STYLE - }, - labelStyle: self.constants.FONT_STYLE, - position: idx > 0 ? "right" : "left", - lineWidth: 1, - axisIndex: idx, - gridLineWidth: 0 - }; - self.yAxis.push(newYAxis); - }); - - this.combineChart.populate(items, types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.AxisChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.axis_chart', BI.AxisChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.bar.js b/src/addons/chart/chart/chart.bar.js deleted file mode 100644 index 36f5e38e7f..0000000000 --- a/src/addons/chart/chart/chart.bar.js +++ /dev/null @@ -1,241 +0,0 @@ -/** - * 图表控件 - * @class BI.BarChart - * @extends BI.Widget - */ -BI.BarChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.BarChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-bar-chart" - }) - }, - - _init: function () { - BI.BarChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "value", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - formatter: function () { - return this > 0 ? this : (-1) * this - }, - gridLineWidth: 0 - }]; - this.yAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - gridLineWidth: 0, - position: "left" - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - var tmp = obj.x; - obj.x = obj.y; - obj.y = tmp; - self.fireEvent(BI.BarChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this; - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - - //分类轴 - config.yAxis = this.yAxis; - config.yAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle : ""; - config.yAxis[0].title.rotation = this.constants.ROTATION; - BI.extend(config.yAxis[0], { - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - labelRotation: this.config.textDirection, - enableTick: this.config.enableTick, - lineWidth: this.config.lineWidth, - maxWidth: '40%' - }); - - //值轴 - self.formatNumberLevelInXaxis(items, this.config.leftYAxisNumberLevel); - config.xAxis[0].title.text = getXAxisTitle(this.config.leftYAxisNumberLevel, this.constants.X_AXIS); - config.xAxis[0].title.align = "center"; - BI.extend(config.xAxis[0], { - formatter: self.formatTickInXYaxis(this.config.leftYAxisStyle, this.config.leftYAxisNumberLevel, this.config.numSeparators), - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - enableTick: this.config.enableTick, - showLabel: this.config.showLabel, - lineWidth: this.config.lineWidth, - enableMinorTick: this.config.enableMinorTick - }); - config.chartType = "bar"; - - this.formatDataLabelForAxis(config.plotOptions.dataLabels.enabled, items, config.xAxis[0].formatter, this.config.chartFont); - - config.plotOptions.tooltip.formatter.valueFormat = config.xAxis[0].formatter; - - //全局样式的图表文字 - this.setFontStyle(this.config.chartFont, config); - - return [items, config]; - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatCordon() { - BI.each(self.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - var magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.xAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function getXAxisTitle(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - unit = unit === "" ? unit : "(" + unit + ")"; - - return self.config.showLeftYAxisTitle === true ? self.config.leftYAxisTitle + unit : unit; - } - }, - - _formatItems: function (items) { - BI.each(items, function (idx, item) { - BI.each(item, function (id, it) { - BI.each(it.data, function (i, t) { - var tmp = t.x; - t.x = t.y; - t.y = tmp; - }) - }); - }); - return items; - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.STYLE_NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - xAxisStyle: options.xAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - xAxisNumberLevel: options.xAxisNumberLevel || c.NORMAL, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE - }; - this.options.items = items; - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.BAR); - }); - types.push(type); - }); - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.BarChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.bar_chart', BI.BarChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.bubble.js b/src/addons/chart/chart/chart.bubble.js deleted file mode 100644 index d45e6efc38..0000000000 --- a/src/addons/chart/chart/chart.bubble.js +++ /dev/null @@ -1,282 +0,0 @@ -/** - * 图表控件 - * @class BI.BubbleChart - * @extends BI.Widget - */ -BI.BubbleChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.BubbleChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-bubble-chart" - }) - }, - - _init: function () { - BI.BubbleChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "value", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "bottom", - gridLineWidth: 0 - }]; - this.yAxis = [{ - type: "value", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "left", - gridLineWidth: 0 - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.BubbleChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this, o = this.options; - delete config.zoom; - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.dataLabels.formatter.identifier = "${X}${Y}${SIZE}"; - config.plotOptions.shadow = this.config.bubbleStyle !== this.constants.NO_PROJECT; - config.yAxis = this.yAxis; - - config.yAxis[0].formatter = self.formatTickInXYaxis(this.config.leftYAxisStyle, this.config.leftYAxisNumberLevel, this.config.numSeparators); - formatNumberLevelInYaxis(this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS); - config.yAxis[0].title.text = getXYAxisUnit(this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS); - config.yAxis[0].title.text = this.config.showLeftYAxisTitle === true ? this.config.leftYAxisTitle + config.yAxis[0].title.text : config.yAxis[0].title.text; - config.yAxis[0].gridLineWidth = this.config.showGridLine === true ? 1 : 0; - config.yAxis[0].lineWidth = 1; - config.yAxis[0].title.rotation = this.constants.ROTATION; - config.yAxis[0].maxWidth = '40%'; - - config.xAxis[0].formatter = self.formatTickInXYaxis(this.config.xAxisStyle, this.config.xAxisNumberLevel, this.config.rightNumSeparators); - self.formatNumberLevelInXaxis(items, this.config.xAxisNumberLevel); - config.xAxis[0].title.text = getXYAxisUnit(this.config.xAxisNumberLevel, this.constants.X_AXIS); - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle + config.xAxis[0].title.text : config.xAxis[0].title.text; - config.xAxis[0].title.align = "center"; - config.xAxis[0].gridLineWidth = this.config.showGridLine === true ? 1 : 0; - config.xAxis[0].maxHeith = '40%'; - config.chartType = "bubble"; - - if (BI.isNotEmptyArray(this.config.tooltip)) { - config.plotOptions.bubble.tooltip = { - useHtml: true, - style: { - color: 'RGB(184, 184, 184)' - }, - formatter: function () { - var y = self.formatTickInXYaxis(self.config.leftYAxisStyle, self.config.leftYAxisNumberLevel, self.config.numSeparators)(this.y); - var x = self.formatTickInXYaxis(self.config.xAxisStyle, self.config.xAxisNumberLevel, self.config.rightNumSeparators)(this.x); - return this.seriesName + '
                                                                                                                                                                                                                                                                                                                      (X)' + self.config.tooltip[0] + ':' + x + '
                                                                                                                                                                                                                                                                                                                      (Y)' + self.config.tooltip[1] - + ':' + y + '
                                                                                                                                                                                                                                                                                                                      (' + BI.i18nText("BI-Size") + ')' + self.config.tooltip[2] + ':' + this.size + '
                                                                                                                                                                                                                                                                                                                      '} - }; - } - - //为了给数据标签加个%,还要遍历所有的系列,唉 - if (config.plotOptions.dataLabels.enabled === true) { - BI.each(items, function (idx, item) { - item.dataLabels = { - "style" : self.config.chartFont, - "align": "outside", - "autoAdjust": true, - enabled: true, - formatter: { - identifier: "${X}${Y}${SIZE}", - "XFormat": function () { - return BI.contentFormat(arguments[0], '#.##;-#.##') - }, - "YFormat": function () { - return BI.contentFormat(arguments[0], '#.##;-#.##') - }, - "sizeFormat": function () { - return BI.contentFormat(arguments[0], '#.##;-#.##') - } - } - }; - item.dataLabels.formatter.XFormat = config.xAxis[0].formatter; - item.dataLabels.formatter.YFormat = config.yAxis[0].formatter; - }); - } - - //全局样式图表文字 - config.yAxis[0].title.style = config.yAxis[0].labelStyle = this.config.chartFont; - config.xAxis[0].title.style = config.xAxis[0].labelStyle = this.config.chartFont; - config.legend.style = this.config.chartFont; - - return [items, config]; - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatCordon() { - BI.each(self.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - var magnify = self.calcMagnify(self.config.xAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function formatNumberLevelInYaxis(type, position) { - var magnify = self.calcMagnify(type); - BI.each(items, function (idx, item) { - BI.each(item.data, function (id, da) { - if (position === item.yAxis) { - da.y = self.formatXYDataWithMagnify(da.y, magnify); - } - }) - }); - if (type === BICst.TARGET_STYLE.NUM_LEVEL.PERCENT) { - //config.plotOptions.tooltip.formatter.valueFormat = "function(){return window.FR ? FR.contentFormat(arguments[0], '#0%') : arguments[0]}"; - } - } - - function getXYAxisUnit(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - if (position === self.constants.RIGHT_AXIS) { - self.config.rightYAxisUnit !== "" && (unit = unit + self.config.rightYAxisUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - } - }, - - _formatItems: function (items) { - BI.each(items, function (idx, item) { - BI.each(item, function (id, it) { - BI.each(it.data, function (i, da) { - var data = da.size; - da.size = BI.contentFormat(data, '#.##;-#.##') - }) - }) - }); - return items; - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - chartColor: options.chartColor || [], - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - xAxisStyle: options.xAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - xAxisNumberLevel: options.xAxisNumberLevel || c.NORMAL, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - cordon: options.cordon || [], - tooltip: options.tooltip || [], - bubbleStyle: options.bubbleStyle || c.NO_PROJECT, - numSeparators: options.numSeparators || false, - rightNumSeparators: options.rightNumSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE - }; - this.options.items = items; - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.BUBBLE); - }); - types.push(type); - }); - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.BubbleChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.bubble_chart', BI.BubbleChart); diff --git a/src/addons/chart/chart/chart.comparearea.js b/src/addons/chart/chart/chart.comparearea.js deleted file mode 100644 index f8d39e5c52..0000000000 --- a/src/addons/chart/chart/chart.comparearea.js +++ /dev/null @@ -1,373 +0,0 @@ -/** - * 图表控件 - * @class BI.CompareAreaChart - * @extends BI.Widget - */ -BI.CompareAreaChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.CompareAreaChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-compare-area-chart" - }) - }, - - _init: function () { - BI.CompareAreaChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "bottom", - gridLineWidth: 0 - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.CompareAreaChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this; - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatChartLineStyle(); - formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.connectNulls = this.config.nullContinue; - config.dataSheet.enabled = this.config.showDataTable; - config.xAxis[0].showLabel = !config.dataSheet.enabled; - config.zoom.zoomTool.enabled = this.config.showZoom; - if (this.config.showZoom === true) { - delete config.dataSheet; - delete config.zoom.zoomType; - } - - config.yAxis = this.yAxis; - BI.each(config.yAxis, function (idx, axis) { - var title = ""; - switch (axis.axisIndex) { - case self.constants.LEFT_AXIS: - title = getXYAxisUnit(self.config.leftYAxisNumberLevel, self.constants.LEFT_AXIS); - axis.title.rotation = self.constants.ROTATION; - axis.title.text = self.config.showLeftYAxisTitle === true ? self.config.leftYAxisTitle + title : title; - BI.extend(axis, { - reversed: false, - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.leftYAxisStyle, self.config.leftYAxisNumberLevel, self.config.numSeparators) - }); - formatNumberLevelInYaxis(self.config.leftYAxisNumberLevel, idx, axis.formatter); - break; - case self.constants.RIGHT_AXIS: - title = getXYAxisUnit(self.config.rightYAxisNumberLevel, self.constants.RIGHT_AXIS); - axis.title.rotation = self.constants.ROTATION; - axis.title.text = self.config.showRightYAxisTitle === true ? self.config.rightYAxisTitle + title : title; - BI.extend(axis, { - reversed: true, - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.rightYAxisStyle, self.config.rightYAxisNumberLevel, self.config.rightNumSeparators) - }); - formatNumberLevelInYaxis(self.config.rightYAxisNumberLevel, idx, axis.formatter); - break; - } - var res = _calculateValueNiceDomain(0, self.maxes[idx]); - axis.max = res[1].mul(2); - axis.min = res[0].mul(2); - axis.tickInterval = BI.parseFloat((BI.parseFloat(axis.max).sub(BI.parseFloat(axis.min)))).div(5); - }); - - config.xAxis[0].title.align = "center"; - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle : ""; - BI.extend(config.xAxis[0], { - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - labelRotation: this.config.textDirection, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - maxHeight: '40%' - }); - - config.chartType = "area"; - - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabel(config.plotOptions.dataLabels.enabled, items, config, this.config.chartFont); - - //全局样式的图表文字 - this.setFontStyle(this.config.chartFont, config); - - return [items, config]; - - function _calculateValueNiceDomain(minValue, maxValue) { - - minValue = Math.min(0, minValue); - - var tickInterval = _linearTickInterval(minValue, maxValue); - - return _linearNiceDomain(minValue, maxValue, tickInterval); - } - - function _linearTickInterval(minValue, maxValue, m) { - - m = m || 5; - var span = maxValue - minValue; - var step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)); - var err = m / span * step; - - if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2; - - return step; - } - - function _linearNiceDomain(minValue, maxValue, tickInterval) { - - minValue = VanUtils.accMul(Math.floor(minValue / tickInterval), tickInterval); - - maxValue = VanUtils.accMul(Math.ceil(maxValue / tickInterval), tickInterval); - - return [minValue, maxValue]; - } - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatCordon() { - BI.each(self.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - var magnify = self.calcMagnify(self.config.xAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style": self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style": self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function formatChartLineStyle() { - switch (self.config.chartLineType) { - case BICst.CHART_SHAPE.RIGHT_ANGLE: - config.plotOptions.area = { - curve: false, - step: true - }; - break; - case BICst.CHART_SHAPE.CURVE: - config.plotOptions.area = { - curve: true, - step: false - }; - break; - case BICst.CHART_SHAPE.NORMAL: - default: - config.plotOptions.area = { - curve: false, - step: false - }; - break; - } - } - - function formatNumberLevelInYaxis(type, position, formatter) { - var magnify = self.calcMagnify(type); - BI.each(items, function (idx, item) { - var max = null; - BI.each(item.data, function (id, da) { - if (position === item.yAxis) { - da.y = self.formatXYDataWithMagnify(da.y, magnify); - if ((BI.isNull(max) || BI.parseFloat(da.y) > BI.parseFloat(max))) { - max = da.y; - } - } - }); - if (position === item.yAxis) { - item.tooltip = BI.deepClone(config.plotOptions.tooltip); - item.tooltip.formatter.valueFormat = formatter; - } - if (BI.isNotNull(max)) { - self.maxes.push(max); - } - }); - } - - function getXYAxisUnit(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - if (position === self.constants.RIGHT_AXIS) { - self.config.rightYAxisUnit !== "" && (unit = unit + self.config.rightYAxisUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - } - }, - - _formatItems: function (items) { - var self = this; - this.maxes = []; - BI.each(items, function (idx, item) { - BI.each(item, function (id, it) { - if (idx > 0) { - BI.extend(it, {reversed: true, xAxis: 0}); - } else { - BI.extend(it, {reversed: false, xAxis: 1}); - } - }); - }); - return items; - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - rightYAxisTitle: options.rightYAxisTitle || "", - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.NORMAL, - chartLineType: options.chartLineType || c.NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - rightYAxisStyle: options.rightYAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - showRightYAxisTitle: options.showRightYAxisTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - rightYAxisReversed: options.rightYAxisReversed || false, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - rightYAxisNumberLevel: options.rightYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - rightYAxisUnit: options.rightYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showDataTable: options.showDataTable || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - rightNumSeparators: options.rightNumSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE, - nullContinue: options.nullContinue || false - }; - this.options.items = items; - - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.AREA); - }); - types.push(type); - }); - - this.yAxis = []; - BI.each(types, function (idx, type) { - if (BI.isEmptyArray(type)) { - return; - } - var newYAxis = { - type: "value", - title: { - style: self.constants.FONT_STYLE - }, - labelStyle: self.constants.FONT_STYLE, - position: idx > 0 ? "right" : "left", - lineWidth: 1, - axisIndex: idx, - gridLineWidth: 0 - }; - self.yAxis.push(newYAxis); - }); - - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.CompareAreaChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.compare_area_chart', BI.CompareAreaChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.compareaxis.js b/src/addons/chart/chart/chart.compareaxis.js deleted file mode 100644 index 4162da4840..0000000000 --- a/src/addons/chart/chart/chart.compareaxis.js +++ /dev/null @@ -1,381 +0,0 @@ -/** - * 图表控件 - * @class BI.CompareAxisChart - * @extends BI.Widget - */ -BI.CompareAxisChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.CompareAxisChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-compare-axis-chart" - }) - }, - - _init: function () { - BI.CompareAxisChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "bottom", - gridLineWidth: 0 - }, { - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "top", - gridLineWidth: 0, - type: "category", - showLabel: false - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.CompareAxisChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function(config, items){ - var self = this, o = this.options; - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatChartLineStyle(); - formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.dataSheet.enabled = this.config.showDataTable; - config.xAxis[0].showLabel = !config.dataSheet.enabled; - config.zoom.zoomTool.enabled = this.config.showZoom; - if(this.config.showZoom === true){ - delete config.dataSheet; - delete config.zoom.zoomType; - } - - config.yAxis = this.yAxis; - BI.each(config.yAxis, function(idx, axis){ - var unit = ''; - switch (axis.axisIndex){ - case self.constants.LEFT_AXIS: - unit = getXYAxisUnit(self.config.leftYAxisNumberLevel, self.constants.LEFT_AXIS); - axis.title.rotation = self.constants.ROTATION; - axis.title.text = self.config.showLeftYAxisTitle === true ? self.config.leftYAxisTitle + unit : unit; - BI.extend(axis, { - reversed: false, - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.leftYAxisStyle, self.config.leftYAxisNumberLevel, self.config.numSeparators) - }); - formatNumberLevelInYaxis(self.config.leftYAxisNumberLevel, idx, axis.formatter); - break; - case self.constants.RIGHT_AXIS: - unit = getXYAxisUnit(self.config.rightYAxisNumberLevel, self.constants.RIGHT_AXIS); - axis.title.rotation = self.constants.ROTATION; - axis.title.text = self.config.showRightYAxisTitle === true ? self.config.rightYAxisTitle + unit : unit; - BI.extend(axis, { - reversed: true, - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.rightYAxisStyle, self.config.rightYAxisNumberLevel, self.config.rightNumSeparators) - }); - formatNumberLevelInYaxis(self.config.rightYAxisNumberLevel, idx, axis.formatter); - break; - } - var res = _calculateValueNiceDomain(0, self.maxes[idx]); - axis.max = res[1].mul(2); - axis.min = res[0].mul(2); - axis.tickInterval = BI.parseFloat((BI.parseFloat(axis.max).sub(BI.parseFloat(axis.min)))).div(5); - }); - - config.xAxis[0].title.align = "center"; - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle : ""; - BI.extend(config.xAxis[0], { - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - labelRotation: this.config.textDirection, - enableMinorTick: this.config.enableMinorTick, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - maxHeight: '40%' - }); - - BI.extend(config.xAxis[1], { - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - enableMinorTick: this.config.enableMinorTick - }); - - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabel(config.plotOptions.dataLabels.enabled, items, config, this.config.chartFont); - - //全局样式的图表文字 - this.setFontStyle(this.config.chartFont, config); - - return [items, config]; - - function formatChartStyle(){ - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatCordon(){ - BI.each(self.config.cordon, function(idx, cor){ - if(idx === 0 && self.xAxis.length > 0){ - var magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function(i, t){ - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if(idx > 0 && self.yAxis.length >= idx){ - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function(i, t){ - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function formatChartLineStyle(){ - switch (self.config.chartLineType) { - case BICst.CHART_SHAPE.RIGHT_ANGLE: - config.plotOptions.curve = false; - config.plotOptions.step = true; - break; - case BICst.CHART_SHAPE.CURVE: - config.plotOptions.curve = true; - config.plotOptions.step = false; - break; - case BICst.CHART_SHAPE.NORMAL: - default: - config.plotOptions.curve = false; - config.plotOptions.step = false; - break; - } - } - - function formatNumberLevelInYaxis(type, position, formatter){ - var magnify = self.calcMagnify(type); - BI.each(items, function (idx, item) { - var max = null; - BI.each(item.data, function (id, da) { - if (position === item.yAxis) { - da.y = self.formatXYDataWithMagnify(da.y, magnify); - if((BI.isNull(max) || BI.parseFloat(da.y) > BI.parseFloat(max))){ - max = da.y; - } - } - }); - if(position === item.yAxis){ - item.tooltip = BI.deepClone(config.plotOptions.tooltip); - item.tooltip.formatter.valueFormat = formatter; - } - if(BI.isNotNull(max)){ - self.maxes.push(max); - } - }); - } - - function getXYAxisUnit(numberLevelType, position){ - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if(position === self.constants.X_AXIS){ - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if(position === self.constants.LEFT_AXIS){ - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - if(position === self.constants.RIGHT_AXIS){ - self.config.rightYAxisUnit !== "" && (unit = unit + self.config.rightYAxisUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - } - - function _calculateValueNiceDomain(minValue, maxValue){ - - minValue = Math.min(0, minValue); - - var tickInterval = _linearTickInterval(minValue, maxValue); - - return _linearNiceDomain(minValue, maxValue, tickInterval); - } - - function _linearTickInterval(minValue, maxValue, m){ - - m = m || 5; - var span = maxValue - minValue; - var step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)); - var err = m / span * step; - - if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2; - - return step; - } - - function _linearNiceDomain(minValue, maxValue, tickInterval){ - - minValue = VanUtils.accMul(Math.floor(minValue / tickInterval), tickInterval); - - maxValue = VanUtils.accMul(Math.ceil(maxValue / tickInterval), tickInterval); - - return [minValue, maxValue]; - } - }, - - _formatItems: function(items){ - var self = this; - this.maxes = []; - BI.each(items, function(idx, item){ - BI.each(item, function(id, it){ - if(idx > 0){ - BI.extend(it, {reversed: true, xAxis: 1}); - }else{ - BI.extend(it, {reversed: false, xAxis: 0}); - } - }); - }); - return items; - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - rightYAxisTitle: options.rightYAxisTitle || "", - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.NORMAL, - chartLineType: options.chartLineType || c.NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - rightYAxisStyle: options.rightYAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - showRightYAxisTitle: options.showRightYAxisTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - rightYAxisReversed: options.rightYAxisReversed || false, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - rightYAxisNumberLevel: options.rightYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - rightYAxisUnit: options.rightYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showDataTable: options.showDataTable || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - rightNumSeparators: options.rightNumSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE - }; - this.options.items = items; - - this.yAxis = []; - - var types = []; - BI.each(items, function(idx, axisItems){ - var type = []; - BI.each(axisItems, function(id, item){ - type.push(BICst.WIDGET.AXIS); - }); - types.push(type); - }); - - BI.each(types, function(idx, type){ - if(BI.isEmptyArray(type)){ - return; - } - var newYAxis = { - type: "value", - title: { - style: self.constants.FONT_STYLE - }, - labelStyle: self.constants.FONT_STYLE, - position: idx > 0 ? "right" : "left", - lineWidth: 1, - axisIndex: idx, - gridLineWidth: 0, - reversed: idx > 0 - }; - self.yAxis.push(newYAxis); - }); - - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function(){ - this.combineChart.magnify(); - } -}); -BI.CompareAxisChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.compare_axis_chart', BI.CompareAxisChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.comparebar.js b/src/addons/chart/chart/chart.comparebar.js deleted file mode 100644 index 50698004ad..0000000000 --- a/src/addons/chart/chart/chart.comparebar.js +++ /dev/null @@ -1,253 +0,0 @@ -/** - * 图表控件 - * @class BI.CompareBarChart - * @extends BI.Widget - */ -BI.CompareBarChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.CompareBarChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-compare-bar-chart" - }) - }, - - _init: function () { - BI.CompareBarChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "value", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - formatter: function () { - return this > 0 ? this : (-1) * this; - }, - gridLineWidth: 0 - }]; - this.yAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - gridLineWidth: 0, - position: "left" - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.CompareBarChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this, o = this.options; - var yTitle = getXYAxisUnit(this.config.xAxisNumberLevel, this.constants.LEFT_AXIS); - var xTitle = getXYAxisUnit(this.config.leftYAxisNumberLevel, this.constants.X_AXIS); - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - - config.yAxis = this.yAxis; - config.yAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle + yTitle : yTitle; - config.yAxis[0].title.rotation = this.constants.ROTATION; - BI.extend(config.yAxis[0], { - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - labelRotation: this.config.textDirection, - maxWidth: '40%' - }); - - self.formatNumberLevelInXaxis(items, this.config.leftYAxisNumberLevel); - config.xAxis[0].title.text = this.config.showLeftYAxisTitle === true ? this.config.leftYAxisTitle + xTitle : xTitle; - config.xAxis[0].title.align = "center"; - BI.extend(config.xAxis[0], { - formatter: self.formatTickInXYaxis(this.config.leftYAxisStyle, this.config.leftYAxisNumberLevel, this.config.numSeparators, true), - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - lineWidth: this.config.lineWidth, - showLabel: this.config.showLabel, - enableTick: this.config.enableTick, - enableMinorTick: this.config.enableMinorTick - }); - - config.chartType = "bar"; - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabelForAxis(config.plotOptions.dataLabels.enabled, items, config.xAxis[0].formatter, this.config.chartFont); - - config.plotOptions.tooltip.formatter.valueFormat = config.xAxis[0].formatter; - - //全局样式的图表文字 - this.setFontStyle(this.config.chartFont, config); - - return [items, config]; - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatCordon() { - BI.each(self.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - var magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.xAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function getXYAxisUnit(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if (position === self.constants.RIGHT_AXIS) { - self.config.rightYAxisUnit !== "" && (unit = unit + self.config.rightYAxisUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - } - }, - - _formatItems: function (items) { - var result = []; - var i = BI.UUID(); - BI.each(items, function (idx, item) { - BI.each(item, function (id, it) { - BI.each(it.data, function (i, t) { - var tmp = t.x; - t.x = t.y; - t.y = tmp; - if (idx === 0) { - t.x = -t.x; - } - }); - it.stack = i; - }) - }); - BI.each(items, function (idx, item) { - result = BI.concat(result, item); - }); - return [result]; - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.STYLE_NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - xAxisStyle: options.xAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - xAxisNumberLevel: options.xAxisNumberLevel || c.NORMAL, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showDataTable: options.showDataTable || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE - }; - this.options.items = this._formatItems(items); - var types = []; - BI.each(this.options.items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.BAR); - }); - types.push(type); - }); - this.combineChart.populate(this.options.items, types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.CompareBarChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.compare_bar_chart', BI.CompareBarChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.dashboard.js b/src/addons/chart/chart/chart.dashboard.js deleted file mode 100644 index 299413288c..0000000000 --- a/src/addons/chart/chart/chart.dashboard.js +++ /dev/null @@ -1,398 +0,0 @@ -/** - * 图表控件 - * @class BI.DashboardChart - * @extends BI.Widget - */ -BI.DashboardChart = BI.inherit(BI.AbstractChart, { - - - _defaultConfig: function () { - return BI.extend(BI.DashboardChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-dashboard-chart" - }) - }, - - _init: function () { - BI.DashboardChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.gaugeAxis = [{ - "minorTickColor": "rgb(226,226,226)", - "tickColor": "rgb(186,186,186)", - labelStyle: this.constants.FONT_STYLE, - "step": 0, - "showLabel": true - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.DashboardChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this, o = this.options; - var isDashboard = BI.contains([self.constants.NORMAL, self.constants.HALF_DASHBOARD], self.config.chartDashboardType); - var isMultiPointers = self.config.numberOfPointer === self.constants.MULTI_POINTER; - formatChartDashboardStyle(); - config.chartType = "gauge"; - delete config.zoom; - delete config.xAxis; - delete config.yAxis; - if (isDashboard && !isMultiPointers) { - config.plotOptions.seriesLabel.enabled = false; - if(BI.isNull(items[0].data[0].z)) { - config.plotOptions.tooltip.formatter.identifier = "${SERIES}${X}${Y}${SIZE}${VALUE}" - } - } - config.gaugeAxis[0].labelStyle = this.config.chartFont; - return [items, config]; - - function formatChartDashboardStyle() { - var bands = getBandsStyles(self.config.bandsStyles, self.config.autoCustomStyle); - var percentageLabel = BI.extend(config.plotOptions.percentageLabel, { - enabled: self.config.showPercentage === BICst.PERCENTAGE.SHOW - }); - - config.gaugeAxis = self.gaugeAxis; - var slotValueLAbel = { - enabled: true, - formatter: function () { - var value = this.value; - if (self.config.dashboardNumberLevel === BICst.TARGET_STYLE.NUM_LEVEL.PERCENT && self.config.numSeparators) { - value = BI.contentFormat(this.value, "#,##0%;-#,##0%") - } else if (self.config.dashboardNumberLevel === BICst.TARGET_STYLE.NUM_LEVEL.PERCENT && !self.config.numSeparators) { - value = BI.contentFormat(this.value, "#0.00%"); - } else if (!(self.config.dashboardNumberLevel === BICst.TARGET_STYLE.NUM_LEVEL.PERCENT) && self.config.numSeparators) { - value = BI.contentFormat(this.value, "#,###.##;-#,###.##") - } else { - value = BI.contentFormat(this.value, "#.##;-#.##"); - } - - var label = '
                                                                                                                                                                                                                                                                                                                      ' + this.seriesName + '
                                                                                                                                                                                                                                                                                                                      ' + '
                                                                                                                                                                                                                                                                                                                      ' + value + - getXYAxisUnit(self.config.dashboardNumberLevel, self.constants.DASHBOARD_AXIS) + '
                                                                                                                                                                                                                                                                                                                      '; - - if (isDashboard && items[0].data.length > 1) { - if (isMultiPointers) { - return '
                                                                                                                                                                                                                                                                                                                      ' + this.seriesName + ':' + value + - getXYAxisUnit(self.config.dashboardNumberLevel, self.constants.DASHBOARD_AXIS) + '
                                                                                                                                                                                                                                                                                                                      '; - } - return label - } else if (isDashboard && BI.isNull(items[0].data[0].z)) { - return label - } - - return '
                                                                                                                                                                                                                                                                                                                      ' + this.category + '
                                                                                                                                                                                                                                                                                                                      ' + label; - }, - style: self.config.chartFont, - useHtml: true - }; - switch (self.config.chartDashboardType) { - case BICst.CHART_SHAPE.HALF_DASHBOARD: - setPlotOptions("pointer_semi", bands, slotValueLAbel, percentageLabel); - break; - case BICst.CHART_SHAPE.PERCENT_DASHBOARD: - setPlotOptions("ring", bands, slotValueLAbel, percentageLabel); - break; - case BICst.CHART_SHAPE.PERCENT_SCALE_SLOT: - setPlotOptions("slot", bands, slotValueLAbel, percentageLabel); - break; - case BICst.CHART_SHAPE.HORIZONTAL_TUBE: - BI.extend(slotValueLAbel, { - align: "bottom" - }); - BI.extend(percentageLabel, { - align: "bottom" - }); - setPlotOptions("thermometer", bands, slotValueLAbel, percentageLabel, "horizontal", "vertical"); - break; - case BICst.CHART_SHAPE.VERTICAL_TUBE: - BI.extend(slotValueLAbel, { - align: "left" - }); - BI.extend(percentageLabel, { - align: "left" - }); - setPlotOptions("thermometer", bands, slotValueLAbel, percentageLabel, "vertical", "horizontal"); - break; - case BICst.CHART_SHAPE.NORMAL: - default: - setPlotOptions("pointer", bands, slotValueLAbel, percentageLabel); - break; - } - changeMaxMinScale(); - formatNumberLevelInYaxis(self.config.dashboardNumberLevel, self.constants.LEFT_AXIS); - if (self.config.dashboardNumberLevel === BICst.TARGET_STYLE.NUM_LEVEL.PERCENT) { - config.gaugeAxis[0].formatter = function () { - var scaleValue = this; - if (self.config.numSeparators) { - scaleValue = BI.contentFormat(scaleValue, '#,##0%;-#,##0%') - } else { - scaleValue = BI.contentFormat(scaleValue, '#0.00%') - } - return scaleValue + getXYAxisUnit(self.config.dashboardNumberLevel, self.constants.DASHBOARD_AXIS); - }; - } else { - config.gaugeAxis[0].formatter = function () { - var value = this; - if (self.config.numSeparators) { - value = BI.contentFormat(value, "#,###;-#,###") - } - return value + getXYAxisUnit(self.config.dashboardNumberLevel, self.constants.DASHBOARD_AXIS); - }; - } - } - - function setPlotOptions(style, bands, slotValueLAbel, percentageLabel, thermometerLayout, layout) { - config.style = style; - config.plotOptions.bands = bands; - config.plotOptions.valueLabel = slotValueLAbel; - config.plotOptions.percentageLabel = percentageLabel; - config.plotOptions.thermometerLayout = thermometerLayout; - config.plotOptions.layout = layout; - } - - function changeMaxMinScale() { - self.gaugeAxis[0].min = BI.parseFloat(self.config.minScale) || null; - self.gaugeAxis[0].max = BI.parseFloat(self.config.maxScale) || null; - } - - function formatNumberLevelInYaxis(type, position) { - var magnify = self.calcMagnify(type); - BI.each(items, function (idx, item) { - BI.each(item.data, function (id, da) { - if (position === item.yAxis) { - da.y = self.formatXYDataWithMagnify(da.y, magnify); - } - }) - }); - - config.plotOptions.tooltip.formatter.valueFormat = function () { - return BI.contentFormat(this, '#.##;-#.##') + getXYAxisUnit(type, position) - }; - - if (self.config.numSeparators) { - config.plotOptions.tooltip.formatter.valueFormat = function () { - return BI.contentFormat(arguments[0], '#,###.##;-#,###.##') - }; - } - - if (type === BICst.TARGET_STYLE.NUM_LEVEL.PERCENT) { - config.plotOptions.tooltip.formatter.valueFormat = function () { - return BI.contentFormat(arguments[0], '#0.00%') - }; - if (self.config.numSeparators) { - config.plotOptions.tooltip.formatter.valueFormat = function () { - return BI.contentFormat(arguments[0], '#,##0%;-#,##0%') - }; - } - } - } - - function getXYAxisUnit(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.DASHBOARD_AXIS) { - self.config.dashboardUnit !== "" && (unit = unit + self.config.dashboardUnit) - } - return unit; - } - - function getBandsStyles(styles, change) { - var min = 0, bands = [], color = null, max = null, conditionMax = null; - - BI.each(items, function (idx, item) { - var data = item.data[0]; - if ((BI.isNull(max) || data.y > max)) { - max = data.y - } - }); - - switch (change) { - - case BICst.SCALE_SETTING.AUTO: - break; - case BICst.SCALE_SETTING.CUSTOM: - if (styles.length === 0) { - return bands - } else { - var maxScale = _calculateValueNiceDomain(0, max)[1]; - - BI.each(styles, function (idx, style) { - if(BI.parseFloat(style.range.min) > BI.parseFloat(style.range.max)) { - return bands.push({ - color: color, - from: conditionMax, - to: maxScale - }); - } - bands.push({ - color: style.color, - from: style.range.min, - to: style.range.max - }); - color = style.color; - conditionMax = style.range.max - }); - min = BI.parseInt(styles[0].range.min); - bands.push({ - color: "#808080", - from: 0, - to: min - }); - - bands.push({ - color: color, - from: conditionMax, - to: maxScale - }); - - return bands; - } - } - } - - function _calculateValueNiceDomain(minValue, maxValue) { - minValue = Math.min(0, minValue); - var tickInterval = _linearTickInterval(minValue, maxValue); - - return _linearNiceDomain(minValue, maxValue, tickInterval); - } - - function _linearTickInterval(minValue, maxValue, m) { - m = m || 5; - var span = maxValue - minValue; - var step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)); - var err = m / span * step; - if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2; - - return step; - } - - function _linearNiceDomain(minValue, maxValue, tickInterval) { - minValue = VanUtils.accMul(Math.floor(minValue / tickInterval), tickInterval); - maxValue = VanUtils.accMul(Math.ceil(maxValue / tickInterval), tickInterval); - - return [minValue, maxValue]; - } - }, - - _formatItems: function (items) { - if (items.length === 0) { - return []; - } - var c = this.constants; - if (this.config.chartDashboardType === c.NORMAL || this.config.chartDashboardType === c.HALF_DASHBOARD) { - var result = []; - if (this.config.numberOfPointer === c.ONE_POINTER && items[0].length === 1) {//单个系列 - BI.each(items[0][0].data, function (idx, da) { - result.push({ - data: [BI.extend({}, da, { - x: items[0][0].name - })], - name: da.x - }) - }); - return [result]; - } else if(this.config.numberOfPointer === c.ONE_POINTER && items[0].length > 1) { - BI.each(items[0], function (idx, item) { - result.push({ - data: [BI.extend(item.data[0], { - x: item.name - })], - name: BI.UUID() - }) - }); - return [result] - } - if (this.config.numberOfPointer === c.MULTI_POINTER && items[0].length > 1) {//多个系列 - BI.each(items, function (idx, item) { - BI.each(item, function (id, it) { - var data = it.data[0]; - data.x = it.name; - result.push(data); - }) - }); - return [[{ - data: result, - name: "" - }]]; - } - } else { - var others = []; - if (BI.isNotNull(items[0][0].data[0].z)) { - BI.each(items[0], function (idx, item) { - BI.each(item.data, function (id, da) { - others.push({ - data: [BI.extend({}, da, { - x: item.name, - y: da.y - })], - name: da.x - }) - }) - }); - return [others]; - } - } - return items; - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants, o = this.options; - this.config = { - dashboardNumberLevel: options.dashboardNumberLevel || c.NORMAL, - dashboardUnit: options.dashboardUnit || "", - chartDashboardType: options.chartDashboardType || c.NORMAL, - numberOfPointer: options.numberOfPointer || c.ONE_POINTER, - bandsStyles: options.bandsStyles || [], - autoCustomStyle: options.autoCustom || c.AUTO, - minScale: options.minScale, - maxScale: options.maxScale, - showPercentage: options.showPercentage || c.NOT_SHOW, - numSeparators: options.numSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE - }; - o.items = this._formatItems(items); - var types = []; - BI.each(o.items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.DASHBOARD); - }); - types.push(type); - }); - - this.combineChart.populate(o.items, types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.DashboardChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.dashboard_chart', BI.DashboardChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.donut.js b/src/addons/chart/chart/chart.donut.js deleted file mode 100644 index 0034d31777..0000000000 --- a/src/addons/chart/chart/chart.donut.js +++ /dev/null @@ -1,103 +0,0 @@ -/** - * 图表控件 - * @class BI.DonutChart - * @extends BI.Widget - */ -BI.DonutChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.DonutChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-donut-chart" - }) - }, - - _init: function () { - BI.DonutChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.DonutChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function(config, items){ - var self = this; - delete config.zoom; - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - - this.formatChartLegend(config, this.config.chartLegend); - - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - - config.plotOptions.innerRadius = "50.0%"; - config.chartType = "pie"; - config.plotOptions.dataLabels.align = "outside"; - config.plotOptions.dataLabels.connectorWidth = "outside"; - config.plotOptions.dataLabels.style = this.config.chartFont; - config.plotOptions.dataLabels.formatter.identifier = "${VALUE}${PERCENT}"; - delete config.xAxis; - delete config.yAxis; - BI.each(items, function (idx, item) { - BI.each(item.data, function (id, da) { - da.y = self.formatXYDataWithMagnify(da.y, 1); - }) - }); - - config.legend.style = this.config.chartFont; - return [items, config]; - - function formatChartStyle(){ - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.NORMAL, - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - chartFont: options.chartFont || c.FONT_STYLE - }; - this.options.items = items; - - var types = []; - BI.each(items, function(idx, axisItems){ - var type = []; - BI.each(axisItems, function(id, item){ - type.push(BICst.WIDGET.DONUT); - }); - types.push(type); - }); - - this.combineChart.populate(items, types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function(){ - this.combineChart.magnify(); - } -}); -BI.DonutChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.donut_chart', BI.DonutChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.fallaxis.js b/src/addons/chart/chart/chart.fallaxis.js deleted file mode 100644 index 9ced4197a9..0000000000 --- a/src/addons/chart/chart/chart.fallaxis.js +++ /dev/null @@ -1,310 +0,0 @@ -/** - * 图表控件 - * @class BI.FallAxisChart - * @extends BI.Widget - */ -BI.FallAxisChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.FallAxisChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-fall-axis-chart" - }) - }, - - _init: function () { - BI.FallAxisChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "bottom", - gridLineWidth: 0 - }]; - this.yAxis = [{ - type: "value", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "left", - gridLineWidth: 0 - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.FallAxisChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function(config, items){ - var self = this, o = this.options; - var yTitle = getXYAxisUnit(this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS); - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatCordon(); - config.legend.enabled = false; - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.dataSheet.enabled = this.config.showDataTable; - if(config.dataSheet.enabled === true){ - config.xAxis[0].showLabel = false; - } - config.zoom.zoomTool.enabled = this.config.showZoom; - if(this.config.showZoom === true){ - delete config.dataSheet; - delete config.zoom.zoomType; - } - - config.yAxis = this.yAxis; - BI.extend(config.yAxis[0], { - lineWidth: this.config.lineWidth, - showLabel: this.config.showLabel, - enableTick: this.config.enableTick, - enableMinorTick: this.config.enableMinorTick, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(this.config.leftYAxisStyle, this.config.leftYAxisNumberLevel, this.config.numSeparators) - }); - formatNumberLevelInYaxis(this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS, config.yAxis[0].formatter); - config.yAxis[0].title.rotation = this.constants.ROTATION; - config.yAxis[0].title.text = this.config.showLeftYAxisTitle === true ? this.config.leftYAxisTitle + yTitle : yTitle; - - config.xAxis[0].title.align = "center"; - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle : ""; - BI.extend(config.xAxis[0], { - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - enableMinorTick: this.config.enableMinorTick, - labelRotation: this.config.textDirection, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - maxHeight: '40%' - }); - - //为了给数据标签加个%,还要遍历所有的系列,唉 - if(config.plotOptions.dataLabels.enabled === true){ - BI.each(items, function(idx, item){ - if(idx === 0){ - item.dataLabels = {}; - return; - } - item.dataLabels = { - "style": self.config.chartFont, - "align": "outside", - "autoAdjust": true, - enabled: true, - formatter: { - identifier: "${VALUE}", - valueFormat: config.yAxis[0].formatter - } - }; - }); - } - - //全局样式的图表文字 - this.setFontStyle(this.config.chartFont, config); - - return [items, config]; - - function formatChartStyle(){ - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatCordon(){ - BI.each(self.config.cordon, function(idx, cor){ - if(idx === 0 && self.xAxis.length > 0){ - var magnify = self.calcMagnify(self.config.xAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function(i, t){ - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style": self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if(idx > 0 && self.yAxis.length >= idx){ - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function(i, t){ - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style": self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function formatNumberLevelInYaxis(type, position, formatter){ - var magnify = self.calcMagnify(type); - BI.each(items, function (idx, item) { - BI.each(item.data, function (id, da) { - if (position === item.yAxis) { - da.y = self.formatXYDataWithMagnify(da.y, magnify); - } - }) - }); - config.plotOptions.tooltip.formatter.valueFormat = formatter; - } - - function getXYAxisUnit(numberLevelType, position){ - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if(position === self.constants.X_AXIS){ - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if(position === self.constants.LEFT_AXIS){ - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - if(position === self.constants.RIGHT_AXIS){ - self.config.rightYAxisUnit !== "" && (unit = unit + self.config.rightYAxisUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - } - }, - - _formatItems: function(items){ - var o = this.options; - if(BI.isEmptyArray(items)){ - return []; - } - items = items[0]; - var tables = [], sum = 0; - var colors = this.config.chartColor || []; - if(BI.isEmptyArray(colors)){ - colors = ["rgb(152, 118, 170)", "rgb(0, 157, 227)"]; - } - BI.each(items, function(idx, item){ - BI.each(item.data, function(i, t){ - if(t.y < 0){ - tables.push([t.x, t.y, sum + t.y, t]); - }else{ - tables.push([t.x, t.y, sum, t]); - } - sum += t.y; - }); - }); - - return [BI.map(BI.makeArray(2, null), function(idx, item){ - return { - "data": BI.map(tables, function(id, cell){ - var axis = BI.extend({}, cell[3], { - x: cell[0], - y: Math.abs(cell[2 - idx]) - }); - if(idx === 1){ - axis.color = cell[2 - idx] < 0 ? colors[1] : colors[0]; - }else{ - axis.color = "rgba(0,0,0,0)"; - axis.borderColor = "rgba(0,0,0,0)"; - axis.borderWidth = 0; - axis.clickColor = "rgba(0,0,0,0)"; - axis.mouseOverColor = "rgba(0,0,0,0)"; - axis.tooltip = { - enable: false - } - } - return axis; - }), - stack: "stackedFall", - name: idx === 1 ? items[0].name : BI.UUID() - }; - })]; - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - chartColor: options.chartColor || ["#5caae4", "#70cc7f", "#ebbb67", "#e97e7b", "#6ed3c9"], - chartStyle: options.chartStyle || c.NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - showDataLabel: options.showDataLabel || false, - showDataTable: options.showDataTable || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE - }; - this.options.items = items; - var types = []; - BI.each(items, function(idx, axisItems){ - var type = []; - BI.each(axisItems, function(id, item){ - type.push(BICst.WIDGET.AXIS); - }); - types.push(type); - }); - - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function(){ - this.combineChart.magnify(); - } -}); -BI.FallAxisChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.fall_axis_chart', BI.FallAxisChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.forcebubble.js b/src/addons/chart/chart/chart.forcebubble.js deleted file mode 100644 index e659dd033b..0000000000 --- a/src/addons/chart/chart/chart.forcebubble.js +++ /dev/null @@ -1,87 +0,0 @@ -/** - * 图表控件 - * @class BI.ForceBubbleChart - * @extends BI.Widget - */ -BI.ForceBubbleChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.ForceBubbleChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-force-bubble-chart" - }) - }, - - _init: function () { - BI.ForceBubbleChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.ForceBubbleChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this, o = this.options; - config.chartType = 'forceBubble'; - config.colors = this.config.chartColor; - this.formatChartLegend(config, this.config.chartLegend); - - config.plotOptions.force = true; - config.plotOptions.shadow = this.config.bubbleStyle !== this.constants.NO_PROJECT; - config.plotOptions.dataLabels.enabled = true; - config.plotOptions.dataLabels.align = "inside"; - config.plotOptions.dataLabels.style = this.config.chartFont; - config.plotOptions.dataLabels.formatter.identifier = "${CATEGORY}${VALUE}"; - delete config.xAxis; - delete config.yAxis; - delete config.zoom; - BI.each(items, function (idx, item) { - BI.each(item.data, function (id, da) { - da.y = self.formatXYDataWithMagnify(da.y, 1); - }) - }); - config.legend.style = this.config.chartFont; - return [items, config]; - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - chartColor: options.chartColor || [], - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - bubbleStyle: options.bubbleStyle || c.NO_PROJECT, - chartFont: options.chartFont || c.FONT_STYLE - }; - this.options.items = items; - - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.FORCE_BUBBLE); - }); - types.push(type); - }); - - this.combineChart.populate(items, types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.ForceBubbleChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.force_bubble_chart', BI.ForceBubbleChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.gismap.js b/src/addons/chart/chart/chart.gismap.js deleted file mode 100644 index e26ebfa531..0000000000 --- a/src/addons/chart/chart/chart.gismap.js +++ /dev/null @@ -1,160 +0,0 @@ -/** - * 图表控件 - * @class BI.GISMapChart - * @extends BI.Widget - */ -BI.GISMapChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.GISMapChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-gis-map-chart" - }) - }, - - _init: function () { - BI.GISMapChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.GISMapChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - delete config.dataSheet; - delete config.legend; - delete config.zoom; - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.dataLabels.useHtml = true; - config.plotOptions.dataLabels.style = this.config.chartFont; - config.plotOptions.dataLabels.formatter = function () { - var name = (BI.isArray(this.name) ? '' : this.name + ',') + BI.contentFormat(this.value, '#.##;-#.##') ; - var style = "padding: 5px; background-color: rgba(0,0,0,0.4980392156862745);border-color: rgb(0,0,0); border-radius:2px; border-width:0px;"; - var a = '
                                                                                                                                                                                                                                                                                                                      ' + name + '
                                                                                                                                                                                                                                                                                                                      '; - return a; - }; - config.plotOptions.tooltip.shared = true; - config.plotOptions.tooltip.formatter = function () { - var tip = BI.isArray(this.name) ? '' : this.name; - BI.each(this.points, function (idx, point) { - tip += ('
                                                                                                                                                                                                                                                                                                                      ' + point.seriesName + ':' + BI.contentFormat((point.size || point.y), '#.##;-#.##') + '
                                                                                                                                                                                                                                                                                                                      '); - }); - return tip; - }; - config.geo = { - "tileLayer": "http://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}", - "attribution": "© 2016 AutoNavi" - }; - if (this.config.showBackgroundLayer === true && BI.isNotNull(this.config.backgroundLayerInfo)) { - config.geo = {}; - if (this.config.backgroundLayerInfo.type === BICst.WMS_SERVER) { - config.geo.tileLayer = false; - config.geo.wmsUrl = this.config.backgroundLayerInfo.url; - config.geo.wmsLayer = this.config.backgroundLayerInfo.wmsLayer - } else { - config.geo.tileLayer = this.config.backgroundLayerInfo.url; - } - } - config.chartType = "pointMap"; - config.plotOptions.icon = { - iconUrl: BICst.GIS_ICON_PATH, - iconSize: [24, 24] - }; - - config.plotOptions.marker = { - symbol: BICst.GIS_ICON_PATH, - width: 24, - height: 24, - enable: true - }; - delete config.xAxis; - delete config.yAxis; - return [items, config]; - - }, - - _checkLngLatValid: function (lnglat) { - if (lnglat.length < 2) { - return false; - } - return lnglat[0] <= 180 && lnglat[0] >= -180 && lnglat[1] <= 90 && lnglat[1] >= -90; - }, - - _formatItems: function (items) { - var self = this; - var results = []; - BI.each(items, function (idx, item) { - var result = []; - BI.each(item, function (id, it) { - var res = []; - BI.each(it.data, function (i, da) { - da.y = self.formatXYDataWithMagnify(da.y, 1); - var lnglat = da.x.split(","); - if (self.config.lnglat === self.constants.LAT_FIRST) { - var lng = lnglat[1]; - lnglat[1] = lnglat[0]; - lnglat[0] = lng; - } - da.lnglat = lnglat; - da.value = da.y; - da.name = BI.isNotNull(da.z) ? da.z : da.lnglat; - if (self._checkLngLatValid(da.lnglat)) { - res.push(da); - } - }); - if (BI.isNotEmptyArray(res)) { - result.push(BI.extend(it, { - data: res - })); - } - }); - if (BI.isNotEmptyArray(result)) { - results.push(result); - } - }); - return results; - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - lnglat: options.lnglat || c.LNG_FIRST, - chartFont: options.chartFont || c.FONT_STYLE, - showBackgroundLayer: options.showBackgroundLayer || false, - backgroundLayerInfo: options.backgroundLayerInfo - }; - this.options.items = items; - - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function () { - type.push(BICst.WIDGET.GIS_MAP); - }); - types.push(type); - }); - - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.GISMapChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.gis_map_chart', BI.GISMapChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.line.js b/src/addons/chart/chart/chart.line.js deleted file mode 100644 index 69cb345984..0000000000 --- a/src/addons/chart/chart/chart.line.js +++ /dev/null @@ -1,297 +0,0 @@ -/** - * 图表控件 - * @class BI.LineChart - * @extends BI.Widget - */ -BI.LineChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.LineChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-line-chart" - }) - }, - - _init: function () { - BI.LineChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "bottom", - gridLineWidth: 0 - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.LineChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this, o = this.options; - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatChartLineStyle(); - formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.connectNulls = this.config.nullContinue; - config.dataSheet.enabled = this.config.showDataTable; - config.xAxis[0].showLabel = !config.dataSheet.enabled; - config.zoom.zoomTool.enabled = this.config.showZoom; - if (this.config.showZoom === true) { - delete config.dataSheet; - delete config.zoom.zoomType; - } - - config.yAxis = this.yAxis; - BI.each(config.yAxis, function (idx, axis) { - var title = ""; - switch (axis.axisIndex) { - case self.constants.LEFT_AXIS: - axis.title.rotation = self.constants.ROTATION; - title = getXYAxisUnit(self.config.leftYAxisNumberLevel, self.constants.LEFT_AXIS); - axis.title.text = self.config.showLeftYAxisTitle === true ? self.config.leftYAxisTitle + title : title; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.leftYAxisReversed, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.leftYAxisStyle, self.config.leftYAxisNumberLevel, self.config.numSeparators) - }); - self.formatNumberLevelInYaxis(config, items, self.config.leftYAxisNumberLevel, idx, axis.formatter); - break; - case self.constants.RIGHT_AXIS: - title = getXYAxisUnit(self.config.rightYAxisNumberLevel, self.constants.RIGHT_AXIS); - axis.title.text = self.config.showRightYAxisTitle === true ? self.config.rightYAxisTitle + title : title; - axis.title.rotation = self.constants.ROTATION; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.rightYAxisReversed, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.rightYAxisStyle, self.config.rightYAxisNumberLevel, self.config.rightNumSeparators) - }); - self.formatNumberLevelInYaxis(config, items, self.config.rightYAxisNumberLevel, idx, axis.formatter); - break; - } - }); - - config.xAxis[0].title.align = "center"; - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle : ""; - BI.extend(config.xAxis[0], { - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - labelRotation: this.config.textDirection, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - maxHeight: '40%' - }); - - config.chartType = "line"; - - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabel(config.plotOptions.dataLabels.enabled, items, config, this.config.chartFont); - - //全局样式的图表文字 - this.setFontStyle(this.config.chartFont, config); - - return [items, config]; - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatCordon() { - BI.each(self.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - var magnify = self.calcMagnify(self.config.xAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function formatChartLineStyle() { - switch (self.config.chartLineType) { - case BICst.CHART_SHAPE.RIGHT_ANGLE: - config.plotOptions.curve = false; - config.plotOptions.step = true; - break; - case BICst.CHART_SHAPE.CURVE: - config.plotOptions.curve = true; - config.plotOptions.step = false; - break; - case BICst.CHART_SHAPE.NORMAL: - default: - config.plotOptions.curve = false; - config.plotOptions.step = false; - break; - } - } - - function getXYAxisUnit(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - if (position === self.constants.RIGHT_AXIS) { - self.config.rightYAxisUnit !== "" && (unit = unit + self.config.rightYAxisUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - } - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - rightYAxisTitle: options.rightYAxisTitle || "", - chartLineType: options.chartLineType || c.NORMAL, - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - rightYAxisStyle: options.rightYAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - showRightYAxisTitle: options.showRightYAxisTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - rightYAxisReversed: options.rightYAxisReversed || false, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - rightYAxisNumberLevel: options.rightYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - rightYAxisUnit: options.rightYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showDataTable: options.showDataTable || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - rightNumSeparators: options.rightNumSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE, - nullContinue: options.nullContinue || false - }; - this.options.items = items; - - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.LINE); - }); - types.push(type); - }); - - this.yAxis = []; - BI.each(types, function (idx, type) { - if (BI.isEmptyArray(type)) { - return; - } - var newYAxis = { - type: "value", - title: { - style: self.constants.FONT_STYLE - }, - labelStyle: self.constants.FONT_STYLE, - position: idx > 0 ? "right" : "left", - lineWidth: 1, - axisIndex: idx, - gridLineWidth: 0 - }; - self.yAxis.push(newYAxis); - }); - - this.combineChart.populate(items, types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.LineChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.line_chart', BI.LineChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.map.js b/src/addons/chart/chart/chart.map.js deleted file mode 100644 index 40b59bca1d..0000000000 --- a/src/addons/chart/chart/chart.map.js +++ /dev/null @@ -1,361 +0,0 @@ -/** - * 图表控件 - * @class BI.MapChart - * @extends BI.Widget - */ -BI.MapChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.MapChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-map-chart" - }) - }, - - _init: function () { - BI.MapChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.MapChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this, c = this.constants; - formatRangeLegend(); - delete config.legend; - delete config.zoom; - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.tooltip.shared = true; - var formatterArray = []; - BI.each(items, function (idx, item) { - if (BI.has(item, "settings")) { - formatterArray.push(formatToolTipAndDataLabel(item.settings.format || c.NORMAL, item.settings.num_level || c.NORMAL, - item.settings.unit || "", item.settings.numSeparators || c.NUM_SEPARATORS)); - } - }); - config.plotOptions.tooltip.formatter = function () { - var tip = this.name; - var point = this.points[0]; - var index = BI.isNull(point.size) ? 0 : 1; - tip += ('
                                                                                                                                                                                                                                                                                                                      ' + point.seriesName + ':' + BI.contentFormat(point.size || point.y, formatterArray[index]) + '
                                                                                                                                                                                                                                                                                                                      '); - return tip; - }; - config.plotOptions.dataLabels.formatter.valueFormat = function () { - return BI.contentFormat(arguments[0], formatterArray[0]); - }; - config.plotOptions.dataLabels.style = this.config.chartFont; - - config.plotOptions.bubble.dataLabels = config.plotOptions.dataLabels; - config.plotOptions.bubble.dataLabels.formatter.identifier = "${SIZE}"; - - config.plotOptions.bubble.tooltip = config.plotOptions.tooltip; - - config.geo = this.config.geo; - if (this.config.showBackgroundLayer === true && BI.isNotNull(this.config.backgroundLayerInfo)) { - if (this.config.backgroundLayerInfo.type === BICst.WMS_SERVER) { - config.geo.tileLayer = false; - config.geo.wmsUrl = this.config.backgroundLayerInfo.url; - config.geo.wmsLayer = this.config.backgroundLayerInfo.wmsLayer - } else { - config.geo.tileLayer = this.config.backgroundLayerInfo.url; - } - } - if (this.config.initDrillPath.length > 1) { - config.initDrillPath = this.config.initDrillPath; - } - config.dTools.enabled = true; - config.dTools.click = function (point) { - point = point || {}; - var pointOption = point.options || {}; - self.fireEvent(BI.MapChart.EVENT_CLICK_DTOOL, pointOption); - }; - config.chartType = "areaMap"; - delete config.xAxis; - delete config.yAxis; - - var find = BI.find(items, function (idx, item) { - return BI.has(item, "type") && item.type === "areaMap"; - }); - if (BI.isNull(find)) { - items.push({ - type: "areaMap", - data: [] - }) - } - - return [items, config]; - - function formatRangeLegend() { - config.rangeLegend.enabled = true; - switch (self.config.chartLegend) { - case BICst.CHART_LEGENDS.BOTTOM: - config.rangeLegend.visible = true; - config.rangeLegend.position = "bottom"; - break; - case BICst.CHART_LEGENDS.RIGHT: - config.rangeLegend.visible = true; - config.rangeLegend.position = "right"; - break; - case BICst.CHART_LEGENDS.NOT_SHOW: - config.rangeLegend.visible = false; - break; - } - config.rangeLegend.continuous = false; - config.rangeLegend.range = getRangeStyle(self.config.mapStyles, self.config.autoCustom, self.config.themeColor); - config.rangeLegend.formatter = function () { - var to = this.to; - if (BI.isNotEmptyArray(items) && BI.has(items[0], "settings")) { - var settings = items[0].settings; - var legendFormat = formatToolTipAndDataLabel(settings.format || c.NORMAL, settings.num_level || c.NORMAL, - settings.unit || "", settings.numSeparators || c.NUM_SEPARATORS); - to = BI.contentFormat(to, legendFormat) - } - return to - }; - } - - function formatToolTipAndDataLabel(format, numberLevel, unit, numSeparators) { - var formatter = '#.##'; - switch (format) { - case self.constants.NORMAL: - formatter = '#.##'; - if (numSeparators) formatter = '#,###.##'; - break; - case self.constants.ZERO2POINT: - formatter = '#0'; - if (numSeparators) formatter = '#,###'; - break; - case self.constants.ONE2POINT: - formatter = '#0.0'; - if (numSeparators) formatter = '#,###.0'; - break; - case self.constants.TWO2POINT: - formatter = '#0.00'; - if (numSeparators) formatter = '#,###.00'; - break; - } - - switch (numberLevel) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - formatter += ''; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - formatter += BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - formatter += BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - formatter += BI.i18nText("BI-Yi"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.PERCENT: - formatter += '%'; - break; - } - - return formatter + unit; - } - - function getRangeStyle(styles, change, defaultColor) { - var range = [], color = null, defaultStyle = {}; - var conditionMax = null, conditionMin = null, min = null; - - BI.each(items, function (idx, item) { - BI.each(item.data, function (id, it) { - if (BI.isNull(min) || BI.parseFloat(min) > BI.parseFloat(it.y)) { - min = it.y - } - }) - }); - - switch (change) { - case BICst.SCALE_SETTING.AUTO: - defaultStyle.color = defaultColor; - return defaultStyle; - case BICst.SCALE_SETTING.CUSTOM: - if (styles.length !== 0) { - var maxScale = _calculateValueNiceDomain(0, self.max)[1]; - BI.each(styles, function (idx, style) { - if (style.range.max) { - range.push({ - color: style.color || "rgba(255,255,255,0)", - from: style.range.min, - to: style.range.max - }); - } else { - var to = style.range.min < maxScale ? maxScale : 266396; - range.push({ - color: style.color || "rgba(255,255,255,0)", - from: style.range.min, - to: to, - }); - } - color = style.color; - conditionMax = style.range.max - }); - - conditionMin = BI.parseFloat(styles[0].range.min); - if (conditionMin !== 0) { - range.push({ - color: "#808080", - from: 0, - to: conditionMin - }); - } - - if (conditionMax && conditionMax < maxScale) { - range.push({ - color: color || "rgba(255,255,255,0)", - from: conditionMax, - to: maxScale - }); - } - return range; - } else { - defaultStyle.color = defaultColor; - return defaultStyle; - } - } - } - - function _calculateValueNiceDomain(minValue, maxValue) { - minValue = Math.min(0, minValue); - var tickInterval = _linearTickInterval(minValue, maxValue); - - return _linearNiceDomain(minValue, maxValue, tickInterval); - } - - function _linearTickInterval(minValue, maxValue, m) { - m = m || 5; - var span = maxValue - minValue; - var step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)); - var err = m / span * step; - - if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2; - - return step; - } - - function _linearNiceDomain(minValue, maxValue, tickInterval) { - minValue = VanUtils.accMul(Math.floor(minValue / tickInterval), tickInterval); - maxValue = VanUtils.accMul(Math.ceil(maxValue / tickInterval), tickInterval); - - return [minValue, maxValue]; - } - }, - - _formatDrillItems: function (items) { - var self = this; - BI.each(items.series, function (idx, da) { - var hasArea = false; - BI.each(da.data, function (idx, data) { - data.y = self.formatXYDataWithMagnify(data.y, 1); - if (BI.has(da, "settings")) { - data.y = self.formatXYDataWithMagnify(data.y, self.calcMagnify(da.settings.num_level || self.constants.NORMAL)); - } - if (BI.has(da, "type") && da.type == "bubble") { - data.name = data.x; - data.size = data.y; - } else { - data.name = data.x; - data.value = data.y; - } - if (BI.has(da, "type") && da.type === "areaMap") { - hasArea = true; - } - if (BI.has(data, "drilldown")) { - self._formatDrillItems(data.drilldown); - } - }); - if (hasArea === false) { - items.series.push({ - type: "areaMap", - data: [] - }); - } - }); - }, - - _formatItems: function (items) { - var self = this; - this.max = null; - this.min = null; - BI.each(items, function (idx, item) { - BI.each(item, function (id, it) { - BI.each(it.data, function (i, da) { - da.y = self.formatXYDataWithMagnify(da.y, 1); - if (BI.has(it, "settings")) { - da.y = self.formatXYDataWithMagnify(da.y, self.calcMagnify(it.settings.num_level || self.constants.NORMAL)); - } - if ((BI.isNull(self.max) || BI.parseFloat(da.y) > BI.parseFloat(self.max)) && id === 0) { - self.max = da.y; - } - if ((BI.isNull(self.min) || BI.parseFloat(da.y) < BI.parseFloat(self.min)) && id === 0) { - self.min = da.y; - } - if (BI.has(it, "type") && it.type == "bubble") { - da.name = da.x; - da.size = da.y; - } else { - da.name = da.x; - da.value = da.y; - } - if (BI.has(da, "drilldown")) { - self._formatDrillItems(da.drilldown); - } - }); - }) - }); - return items; - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - geo: options.geo, - initDrillPath: options.initDrillPath || [], - tooltip: options.tooltip || "", - themeColor: options.themeColor || "#65bce7", - mapStyles: options.mapStyles || [], - autoCustom: options.autoCustom || c.AUTO_CUSTOM, - showBackgroundLayer: options.showBackgroundLayer || false, - backgroundLayerInfo: options.backgroundLayerInfo, - chartFont: options.chartFont || c.FONT_STYLE - }; - this.options.items = items; - - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.MAP); - }); - types.push(type); - }); - - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.MapChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.MapChart.EVENT_CLICK_DTOOL = "EVENT_CLICK_DTOOL"; -BI.shortcut('bi.map_chart', BI.MapChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.multiaxis.js b/src/addons/chart/chart/chart.multiaxis.js deleted file mode 100644 index 9b627f5873..0000000000 --- a/src/addons/chart/chart/chart.multiaxis.js +++ /dev/null @@ -1,322 +0,0 @@ -/** - * 图表控件 - * @class BI.MultiAxisChart - * @extends BI.Widget - * leftYxis 左值轴属性 - * rightYxis 右值轴属性 - * xAxis 分类轴属性 - */ -BI.MultiAxisChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.MultiAxisChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multi-axis-chart" - }) - }, - - _init: function () { - BI.MultiAxisChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "category", - title: { - style: {"fontFamily": "inherit", "color": "#808080", "fontSize": "12px", "fontWeight": ""} - }, - labelStyle: { - "fontFamily": "inherit", "color": "#808080", "fontSize": "12px" - }, - position: "bottom", - gridLineWidth: 0 - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.MultiAxisChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this, o = this.options; - config.colors = this.config.chartColor; - config.style = this.formatChartStyle(); - this.formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.connectNulls = this.config.nullContinue; - config.dataSheet.enabled = this.config.showDataTable; - config.xAxis[0].showLabel = !config.dataSheet.enabled; - config.zoom.zoomTool.enabled = this.config.showZoom; - if (this.config.showZoom === true) { - delete config.dataSheet; - delete config.zoom.zoomType; - } - - config.yAxis = this.yAxis; - BI.each(config.yAxis, function (idx, axis) { - var title = ""; - switch (axis.axisIndex) { - case self.constants.LEFT_AXIS: - title = self.getXYAxisUnit(self.config.leftYAxisNumberLevel, self.constants.LEFT_AXIS); - axis.title.text = self.config.showLeftYAxisTitle === true ? self.config.leftYAxisTitle + title : title; - axis.title.rotation = self.constants.ROTATION; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.leftYAxisReversed, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.leftYAxisStyle, self.config.leftYAxisNumberLevel, self.config.numSeparators) - }); - self.formatNumberLevelInYaxis(config, items, self.config.leftYAxisNumberLevel, idx, axis.formatter); - break; - case self.constants.RIGHT_AXIS: - title = self.getXYAxisUnit(self.config.rightYAxisNumberLevel, self.constants.RIGHT_AXIS); - axis.title.text = self.config.showRightYAxisTitle === true ? self.config.rightYAxisTitle + title : title; - axis.title.rotation = self.constants.ROTATION; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.rightYAxisReversed, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.rightYAxisStyle, self.config.rightYAxisNumberLevel, self.config.rightNumSeparators) - }); - self.formatNumberLevelInYaxis(config, items, self.config.rightYAxisNumberLevel, idx, axis.formatter); - break; - case self.constants.RIGHT_AXIS_SECOND: - title = self.getXYAxisUnit(self.config.rightYAxisSecondNumberLevel, self.constants.RIGHT_AXIS_SECOND); - axis.title.text = self.config.showRightYAxisSecondTitle === true ? self.config.rightYAxisSecondTitle + title : title; - axis.title.rotation = self.constants.ROTATION; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.rightYAxisSecondReversed, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.rightYAxisSecondStyle, self.config.rightYAxisSecondNumberLevel, self.config.rightNumSeparators) - }); - self.formatNumberLevelInYaxis(config, items, self.config.rightYAxisSecondNumberLevel, idx, axis.formatter); - break; - default: - break; - } - }); - config.xAxis[0].title.align = "center"; - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle : ""; - BI.extend(config.xAxis[0], { - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - labelRotation: this.config.textDirection, - enableMinorTick: this.config.enableMinorTick, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - maxHeight: '40%' - }); - - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabel(config.plotOptions.dataLabels.enabled, items, config, this.config.chartFont); - - //全局样式的图表文字 - if (config.dataSheet) { - config.dataSheet.style = this.config.chartFont; - } - config.xAxis[0].title.style = config.xAxis[0].labelStyle = this.config.chartFont; - config.legend.style = this.config.chartFont; - config.plotOptions.dataLabels.style = this.config.chartFont; - BI.each(config.yAxis, function (idx, axis) { - axis.title.style = self.config.chartFont; - }); - - return [items, config]; - }, - - formatChartStyle: function () { - switch (this.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - }, - - formatCordon: function () { - var self = this; - var magnify = 1; - BI.each(this.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - magnify = self.calcMagnify(self.config.xAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style": { - "fontFamily": "inherit", - "color": "#808080", - "fontSize": "12px", - "fontWeight": "" - }, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - default: - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style": { - "fontFamily": "inherit", - "color": "#808080", - "fontSize": "12px", - "fontWeight": "" - }, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - }, - - getXYAxisUnit: function (numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - default: - break; - } - if (position === this.constants.X_AXIS) { - this.config.xAxisUnit !== "" && (unit = unit + this.config.xAxisUnit) - } - if (position === this.constants.LEFT_AXIS) { - this.config.leftYAxisUnit !== "" && (unit = unit + this.config.leftYAxisUnit) - } - if (position === this.constants.RIGHT_AXIS) { - this.config.rightYAxisUnit !== "" && (unit = unit + this.config.rightYAxisUnit) - } - if (position === this.constants.RIGHT_AXIS_SECOND) { - this.config.rightYAxisSecondUnit !== "" && (unit = unit + this.config.rightYAxisSecondUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - }, - - populate: function (items, options, types) { - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - rightYAxisTitle: options.rightYAxisTitle || "", - rightYAxisSecondTitle: options.rightYAxisSecondTitle || "", - chartColor: options.chartColor || ["#5caae4", "#70cc7f", "#ebbb67", "#e97e7b", "#6ed3c9"], - chartStyle: options.chartStyle || c.NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - rightYAxisStyle: options.rightYAxisStyle || c.NORMAL, - rightYAxisSecondStyle: options.rightYAxisSecondStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - showRightYAxisTitle: options.showRightYAxisTitle || false, - showRightYAxisSecondTitle: options.showRightYAxisSecondTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - rightYAxisReversed: options.rightYAxisReversed || false, - rightYAxisSecondReversed: options.rightYAxisSecondReversed || false, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - rightYAxisNumberLevel: options.rightYAxisNumberLevel || c.NORMAL, - rightYAxisSecondNumberLevel: options.rightYAxisSecondNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - rightYAxisUnit: options.rightYAxisUnit || "", - rightYAxisSecondUnit: options.rightYAxisSecondUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showDataTable: options.showDataTable || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - rightNumSeparators: options.rightNumSeparators || false, - rightNumSeparators: options.rightNumSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE, - nullContinue: options.nullContinue || false - }; - this.options.items = items; - - this.yAxis = []; - BI.each(types, function (idx, type) { - if (BI.isEmptyArray(type)) { - return; - } - var newYAxis = { - type: "value", - title: { - style: {"fontFamily": "inherit", "color": "#808080", "fontSize": "12px", "fontWeight": ""} - }, - labelStyle: { - "fontFamily": "inherit", "color": "#808080", "fontSize": "12px" - }, - position: idx > 0 ? "right" : "left", - lineWidth: 1, - axisIndex: idx, - gridLineWidth: 0 - }; - self.yAxis.push(newYAxis); - }); - - this.combineChart.populate(items, types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.MultiAxisChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.multi_axis_chart', BI.MultiAxisChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.multiaxiscombine.js b/src/addons/chart/chart/chart.multiaxiscombine.js deleted file mode 100644 index 1a2b9da7ee..0000000000 --- a/src/addons/chart/chart/chart.multiaxiscombine.js +++ /dev/null @@ -1,324 +0,0 @@ -/** - * 图表控件 - * @class BI.MultiAxisChart - * @extends BI.Widget - * leftYxis 左值轴属性 - * rightYxis 右值轴属性 - * xAxis 分类轴属性 - */ -BI.MultiAxisCombineChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.MultiAxisCombineChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multi-axis-combine-chart" - }) - }, - - _init: function () { - BI.MultiAxisCombineChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "category", - title: { - style: {"fontFamily": "inherit", "color": "#808080", "fontSize": "12px", "fontWeight": ""} - }, - labelStyle: { - "fontFamily": "inherit", "color": "#808080", "fontSize": "12px" - }, - position: "bottom", - gridLineWidth: 0 - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.MultiAxisCombineChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this, o = this.options; - config.colors = this.config.chartColor; - config.style = this.formatChartStyle(); - this.formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.connectNulls = this.config.nullContinue; - config.dataSheet.enabled = this.config.showDataTable; - config.xAxis[0].showLabel = !config.dataSheet.enabled; - config.zoom.zoomTool.enabled = this.config.showZoom; - if (this.config.showZoom === true) { - delete config.dataSheet; - delete config.zoom.zoomType; - } - - config.yAxis = this.yAxis; - BI.each(config.yAxis, function (idx, axis) { - var title = ""; - switch (axis.axisIndex) { - case self.constants.LEFT_AXIS: - title = self.getXYAxisUnit(self.config.leftYAxisNumberLevel, self.constants.LEFT_AXIS); - axis.title.text = self.config.showLeftYAxisTitle === true ? self.config.leftYAxisTitle + title : title; - axis.title.rotation = self.constants.ROTATION; - axis.labelStyle.color = axis.lineColor = axis.tickColor = config.colors[0]; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.leftYAxisReversed, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.leftYAxisStyle, self.config.leftYAxisNumberLevel, self.config.numSeparators) - }); - self.formatNumberLevelInYaxis(config, items, self.config.leftYAxisNumberLevel, idx, axis.formatter); - break; - case self.constants.RIGHT_AXIS: - title = self.getXYAxisUnit(self.config.rightYAxisNumberLevel, self.constants.RIGHT_AXIS); - axis.title.text = self.config.showRightYAxisTitle === true ? self.config.rightYAxisTitle + title : title; - axis.title.rotation = self.constants.ROTATION; - axis.labelStyle.color = axis.lineColor = axis.tickColor = config.colors[1]; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.rightYAxisReversed, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.rightYAxisStyle, self.config.rightYAxisNumberLevel, self.config.rightNumSeparators) - }); - self.formatNumberLevelInYaxis(config, items, self.config.rightYAxisNumberLevel, idx, axis.formatter); - break; - case self.constants.RIGHT_AXIS_SECOND: - title = self.getXYAxisUnit(self.config.rightYAxisSecondNumberLevel, self.constants.RIGHT_AXIS_SECOND); - axis.title.text = self.config.showRightYAxisSecondTitle === true ? self.config.rightYAxisSecondTitle + title : title; - axis.title.rotation = self.constants.ROTATION; - axis.labelStyle.color = axis.lineColor = axis.tickColor = config.colors[2]; - BI.extend(axis, { - lineWidth: self.config.lineWidth, - showLabel: self.config.showLabel, - enableTick: self.config.enableTick, - reversed: self.config.rightYAxisSecondReversed, - enableMinorTick: self.config.enableMinorTick, - gridLineWidth: self.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(self.config.rightYAxisSecondStyle, self.config.rightYAxisSecondNumberLevel, self.config.rightNumSeparators) - }); - self.formatNumberLevelInYaxis(config, items, self.config.rightYAxisSecondNumberLevel, idx, axis.formatter); - break; - default: - break; - } - }); - config.xAxis[0].title.align = "center"; - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle : ""; - BI.extend(config.xAxis[0], { - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - labelRotation: this.config.textDirection, - enableMinorTick: this.config.enableMinorTick, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - maxHeight: '40%' - }); - - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabel(config.plotOptions.dataLabels.enabled, items, config, this.config.chartFont); - - //全局样式的图表文字 - if (config.dataSheet) { - config.dataSheet.style = this.config.chartFont; - } - config.xAxis[0].title.style = config.xAxis[0].labelStyle = this.config.chartFont; - config.legend.style = this.config.chartFont; - config.plotOptions.dataLabels.style = this.config.chartFont; - BI.each(config.yAxis, function (idx, axis) { - axis.title.style = self.config.chartFont; - }); - - return [items, config]; - }, - - formatChartStyle: function () { - switch (this.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - }, - - formatCordon: function () { - var self = this; - var magnify = 1; - BI.each(this.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - magnify = self.calcMagnify(self.config.xAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style": { - "fontFamily": "inherit", - "color": "#808080", - "fontSize": "12px", - "fontWeight": "" - }, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - default: - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style": { - "fontFamily": "inherit", - "color": "#808080", - "fontSize": "12px", - "fontWeight": "" - }, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - }, - - getXYAxisUnit: function (numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - default: - break; - } - if (position === this.constants.X_AXIS) { - this.config.xAxisUnit !== "" && (unit = unit + this.config.xAxisUnit) - } - if (position === this.constants.LEFT_AXIS) { - this.config.leftYAxisUnit !== "" && (unit = unit + this.config.leftYAxisUnit) - } - if (position === this.constants.RIGHT_AXIS) { - this.config.rightYAxisUnit !== "" && (unit = unit + this.config.rightYAxisUnit) - } - if (position === this.constants.RIGHT_AXIS_SECOND) { - this.config.rightYAxisSecondUnit !== "" && (unit = unit + this.config.rightYAxisSecondUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - }, - - populate: function (items, options, types) { - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - rightYAxisTitle: options.rightYAxisTitle || "", - rightYAxisSecondTitle: options.rightYAxisSecondTitle || "", - chartColor: options.chartColor || ["#5caae4", "#70cc7f", "#ebbb67", "#e97e7b", "#6ed3c9"], - chartStyle: options.chartStyle || c.NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - rightYAxisStyle: options.rightYAxisStyle || c.NORMAL, - rightYAxisSecondStyle: options.rightYAxisSecondStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - showRightYAxisTitle: options.showRightYAxisTitle || false, - showRightYAxisSecondTitle: options.showRightYAxisSecondTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - rightYAxisReversed: options.rightYAxisReversed || false, - rightYAxisSecondReversed: options.rightYAxisSecondReversed || false, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - rightYAxisNumberLevel: options.rightYAxisNumberLevel || c.NORMAL, - rightYAxisSecondNumberLevel: options.rightYAxisSecondNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - rightYAxisUnit: options.rightYAxisUnit || "", - rightYAxisSecondUnit: options.rightYAxisSecondUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showDataTable: options.showDataTable || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - rightNumSeparators: options.rightNumSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE, - nullContinue: options.nullContinue || false - }; - this.options.items = items; - - this.yAxis = []; - BI.each(types, function (idx, type) { - if (BI.isEmptyArray(type)) { - return; - } - var newYAxis = { - type: "value", - title: { - style: {"fontFamily": "inherit", "color": "#808080", "fontSize": "12px", "fontWeight": ""} - }, - labelStyle: { - "fontFamily": "inherit", "color": "#808080", "fontSize": "12px" - }, - position: idx > 0 ? "right" : "left", - lineWidth: 1, - axisIndex: idx, - gridLineWidth: 0 - }; - self.yAxis.push(newYAxis); - }); - - this.combineChart.populate(items, types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.MultiAxisCombineChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.multi_axis_combine_chart', BI.MultiAxisCombineChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.percentaccumulatearea.js b/src/addons/chart/chart/chart.percentaccumulatearea.js deleted file mode 100644 index fb59cc175c..0000000000 --- a/src/addons/chart/chart/chart.percentaccumulatearea.js +++ /dev/null @@ -1,245 +0,0 @@ -/** - * 图表控件 - * @class BI.PercentAccumulateAreaChart - * @extends BI.Widget - */ -BI.PercentAccumulateAreaChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.PercentAccumulateAreaChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-percent-accumulate-area-chart" - }) - }, - - _init: function () { - BI.PercentAccumulateAreaChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "bottom", - gridLineWidth: 0 - }]; - this.yAxis = [{ - type: "value", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "left", - gridLineWidth: 0 - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.PercentAccumulateAreaChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this; - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.connectNulls = this.config.nullContinue; - config.dataSheet.enabled = this.config.showDataTable; - config.xAxis[0].showLabel = !config.dataSheet.enabled; - config.zoom.zoomTool.enabled = this.config.showZoom; - if (this.config.showZoom === true) { - delete config.dataSheet; - delete config.zoom.zoomType; - } - - config.yAxis = this.yAxis; - config.yAxis[0].title.text = getXYAxisUnit(this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS); - config.yAxis[0].title.rotation = this.constants.ROTATION; - BI.extend(config.yAxis[0], { - lineWidth: this.config.lineWidth, - showLabel: this.config.showLabel, - enableTick: this.config.enableTick, - reversed: this.config.leftYAxisReversed, - enableMinorTick: this.config.enableMinorTick, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(this.config.leftYAxisStyle, this.config.leftYAxisNumberLevel, this.config.numSeparators) - }); - self.formatNumberLevelInYaxis(config, items, this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS, config.yAxis[0].formatter, true); - - config.xAxis[0].title.align = "center"; - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle : ""; - BI.extend(config.xAxis[0], { - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - labelRotation: this.config.textDirection, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - maxHeight: '40%' - }); - - config.chartType = "area"; - - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabelForAxis(config.plotOptions.dataLabels.enabled, items, config.yAxis[0].formatter, this.config.chartFont, true); - - //全局样式的图表文字 - this.setFontStyle(this.config.chartFont, config); - - return [items, config]; - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatCordon() { - BI.each(self.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - var magnify = self.calcMagnify(self.config.xAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style": self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style": self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function getXYAxisUnit(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - - unit = unit === "" ? unit : "(" + unit + ")"; - - return self.config.showLeftYAxisTitle === true ? self.config.leftYAxisTitle + unit : unit - } - }, - - _formatItems: function (items) { - return BI.map(items, function (idx, item) { - var i = BI.UUID(); - return BI.map(item, function (id, it) { - return BI.extend({}, it, {stack: i, stackByPercent: true}); - }); - }); - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showDataTable: options.showDataTable || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE, - nullContinue: options.nullContinue || false - }; - this.options.items = items; - - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.AREA); - }); - types.push(type); - }); - - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.PercentAccumulateAreaChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.percent_accumulate_area_chart', BI.PercentAccumulateAreaChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.percentaccumulateaxis.js b/src/addons/chart/chart/chart.percentaccumulateaxis.js deleted file mode 100644 index b3a6a2e35c..0000000000 --- a/src/addons/chart/chart/chart.percentaccumulateaxis.js +++ /dev/null @@ -1,240 +0,0 @@ -/** - * 图表控件 百分比堆积柱状 - * @class BI.PercentAccumulateAxisChart - * @extends BI.Widget - */ -BI.PercentAccumulateAxisChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.PercentAccumulateAxisChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-percent-accumulate-axis-chart" - }) - }, - - _init: function () { - BI.PercentAccumulateAxisChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "bottom", - gridLineWidth: 0 - }]; - this.yAxis = [{ - type: "value", - title: { - style: self.constants.FONT_STYLE - }, - labelStyle: self.constants.FONT_STYLE, - position: "left", - gridLineWidth: 0 - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.PercentAccumulateAxisChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this, o = this.options; - var yTitle = getXYAxisUnit(this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS); - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.dataSheet.enabled = this.config.showDataTable; - config.xAxis[0].showLabel = !config.dataSheet.enabled; - config.zoom.zoomTool.enabled = this.config.showZoom; - if (this.config.showZoom === true) { - delete config.dataSheet; - delete config.zoom.zoomType; - } - - config.yAxis = this.yAxis; - config.yAxis[0].title.rotation = this.constants.ROTATION; - config.yAxis[0].title.text = this.config.showLeftYAxisTitle === true ? this.config.leftYAxisTitle + yTitle : yTitle; - BI.extend(config.yAxis[0], { - lineWidth: this.config.lineWidth, - showLabel: this.config.showLabel, - enableTick: this.config.enableTick, - reversed: this.config.leftYAxisReversed, - enableMinorTick: this.config.enableMinorTick, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - formatter: self.formatTickInXYaxis(this.config.leftYAxisStyle, this.config.leftYAxisNumberLevel, this.config.numSeparators) - }); - self.formatNumberLevelInYaxis(config, items, this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS, config.yAxis[0].formatter, true); - - config.xAxis[0].title.align = "center"; - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle : ""; - BI.extend(config.xAxis[0], { - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - labelRotation: this.config.textDirection, - enableMinorTick: this.config.enableMinorTick, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - maxHeight: '40%' - }); - - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabelForAxis(config.plotOptions.dataLabels.enabled, items, config.yAxis[0].formatter, this.config.chartFont, true); - - //全局样式的图表文字 - this.setFontStyle(this.config.chartFont, config); - - return [items, config]; - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatCordon() { - BI.each(self.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - var magnify = self.calcMagnify(self.config.xAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function getXYAxisUnit(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - } - }, - - _formatItems: function (items) { - return BI.map(items, function (idx, item) { - var i = BI.UUID(); - return BI.map(item, function (id, it) { - return BI.extend({}, it, {stack: i, stackByPercent: true}); - }); - }); - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showDataTable: options.showDataTable || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - showZoom: options.showZoom || false, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE - }; - this.options.items = items; - - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.AXIS); - }); - types.push(type); - }); - - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.PercentAccumulateAxisChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.percent_accumulate_axis_chart', BI.PercentAccumulateAxisChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.pie.js b/src/addons/chart/chart/chart.pie.js deleted file mode 100644 index a8a0029ef9..0000000000 --- a/src/addons/chart/chart/chart.pie.js +++ /dev/null @@ -1,153 +0,0 @@ -/** - * 图表控件 - * @class BI.PieChart - * @extends BI.Widget - */ -BI.PieChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.PieChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-pie-chart" - }) - }, - - _init: function () { - BI.PieChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.PieChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function(config, items){ - var self = this, o = this.options; - delete config.zoom; - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatChartPieStyle(); - - this.formatChartLegend(config, this.config.chartLegend); - - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.tooltip.formatter.identifier = "${CATEGORY}${SERIES}${VALUE}${PERCENT}"; - - config.chartType = "pie"; - delete config.xAxis; - delete config.yAxis; - config.plotOptions.dataLabels.align = "outside"; - config.plotOptions.dataLabels.connectorWidth = "outside"; - config.plotOptions.dataLabels.formatter.identifier = "${VALUE}${PERCENT}"; - config.plotOptions.dataLabels.style = this.config.chartFont; - BI.each(items, function (idx, item) { - BI.each(item.data, function (id, da) { - da.y = self.formatXYDataWithMagnify(da.y, 1); - }) - }); - - config.legend.style = this.config.chartFont; - - return [items, config]; - - function formatChartStyle(){ - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatChartPieStyle(){ - switch (self.config.chartPieType){ - case BICst.CHART_SHAPE.EQUAL_ARC_ROSE: - config.plotOptions.roseType = "sameArc"; - break; - case BICst.CHART_SHAPE.NOT_EQUAL_ARC_ROSE: - config.plotOptions.roseType = "differentArc"; - break; - case BICst.CHART_SHAPE.NORMAL: - default: - delete config.plotOptions.roseType; - break; - } - config.plotOptions.innerRadius = self.config.chartInnerRadius + "%"; - config.plotOptions.endAngle = self.config.chartTotalAngle; - } - - }, - - //目前饼图不会有多个系列,如果有多个就要把它们合并在一起 - _isNeedConvert: function(items){ - var result = BI.find(items, function(idx, item){ - return item.length > 1; - }); - return BI.isNotNull(result); - }, - - _formatItems: function(items){ - if(this._isNeedConvert(items)){ - //把每个坐标轴所有的多个系列合并成一个系列 - return BI.map(items, function(idx, item){ - var seriesItem = []; - var obj = {data: [], name: ""}; - seriesItem.push(obj); - BI.each(item, function(id, series){ - BI.each(series.data, function(i, da){ - obj.data.push(BI.extend({}, da, {x: series.name})); - }); - }); - return seriesItem; - }) - }else{ - return items; - } - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.NORMAL, - chartPieType: options.chartPieType || c.NORMAL, - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - chartInnerRadius: options.chartInnerRadius || 0, - chartTotalAngle: options.chartTotalAngle || BICst.PIE_ANGLES.TOTAL, - chartFont: options.chartFont || c.FONT_STYLE - }; - this.options.items = items; - - var types = []; - BI.each(items, function(idx, axisItems){ - var type = []; - BI.each(axisItems, function(id, item){ - type.push(BICst.WIDGET.PIE); - }); - types.push(type); - }); - - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function(){ - this.combineChart.magnify(); - } -}); -BI.PieChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.pie_chart', BI.PieChart); - diff --git a/src/addons/chart/chart/chart.radar.js b/src/addons/chart/chart/chart.radar.js deleted file mode 100644 index 74d997afd8..0000000000 --- a/src/addons/chart/chart/chart.radar.js +++ /dev/null @@ -1,185 +0,0 @@ -/** - * 图表控件 - * @class BI.RadarChart - * @extends BI.Widget - */ -BI.RadarChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.RadarChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-radar-chart" - }) - }, - - _init: function () { - BI.RadarChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.radiusAxis = [{ - type: "value", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - formatter: function () { - return this > 0 ? this : (-1) * this - }, - gridLineWidth: 0, - position: "bottom" - }]; - - this.angleAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE - }]; - - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.RadarChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this; - - delete config.zoom; - - var title = getXYAxisUnit(this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS); - - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatChartRadarStyle(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.connectNulls = this.config.nullContinue; - - config.radiusAxis = this.radiusAxis; - config.angleAxis = this.angleAxis; - config.radiusAxis[0].formatter = self.formatTickInXYaxis(this.config.leftYAxisStyle, this.config.leftYAxisNumberLevel, this.config.numSeparators); - formatNumberLevelInYaxis(this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS, config.radiusAxis[0].formatter); - config.radiusAxis[0].title.text = this.config.showLeftYAxisTitle === true ? this.config.leftYAxisTitle + title : title; - config.radiusAxis[0].gridLineWidth = this.config.showGridLine === true ? 1 : 0; - config.chartType = "radar"; - delete config.xAxis; - delete config.yAxis; - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabelForAxis(config.plotOptions.dataLabels.enabled, items, config.radiusAxis[0].formatter, this.config.chartFont); - - //全局样式 - config.legend.style = this.config.chartFont; - config.radiusAxis[0].title.style = config.radiusAxis[0].labelStyle = this.config.chartFont; - config.angleAxis[0].title.style = config.angleAxis[0].labelStyle = this.config.chartFont; - - return [items, config]; - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatChartRadarStyle() { - switch (self.config.chartRadarType) { - case BICst.CHART_SHAPE.POLYGON: - config.plotOptions.shape = "polygon"; - break; - case BICst.CHART_SHAPE.CIRCLE: - config.plotOptions.shape = "circle"; - break; - } - } - - function formatNumberLevelInYaxis(type, position, formatter) { - var magnify = self.calcMagnify(type); - BI.each(items, function (idx, item) { - BI.each(item.data, function (id, da) { - if (position === item.yAxis) { - da.y = self.formatXYDataWithMagnify(da.y, magnify); - } - }) - }); - config.plotOptions.tooltip.formatter.valueFormat = formatter; - } - - function getXYAxisUnit(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - if (position === self.constants.RIGHT_AXIS) { - self.config.rightYAxisUnit !== "" && (unit = unit + self.config.rightYAxisUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - } - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - chartRadarType: options.chartRadarType || c.POLYGON, - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.STYLE_NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - cordon: options.cordon || [], - numSeparators: options.numSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE, - nullContinue: options.nullContinue || false - }; - this.options.items = items; - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.RADAR); - }); - types.push(type); - }); - this.combineChart.populate(items, types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.RadarChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.radar_chart', BI.RadarChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.rangearea.js b/src/addons/chart/chart/chart.rangearea.js deleted file mode 100644 index 695359f57a..0000000000 --- a/src/addons/chart/chart/chart.rangearea.js +++ /dev/null @@ -1,284 +0,0 @@ -/** - * 图表控件 - * @class BI.RangeAreaChart - * @extends BI.Widget - * 范围面积图的构造范围的两组item的必须有对应y值item1完全大于item2 - */ -BI.RangeAreaChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.RangeAreaChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-range-area-chart" - }) - }, - - _init: function () { - BI.RangeAreaChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "category", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "bottom", - gridLineWidth: 0 - }]; - this.yAxis = [{ - type: "value", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "left", - gridLineWidth: 0 - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.RangeAreaChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - _formatConfig: function (config, items) { - var self = this; - var title = getXYAxisUnit(this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS); - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.connectNulls = this.config.nullContinue; - - config.yAxis = this.yAxis; - config.yAxis[0].title.rotation = this.constants.ROTATION; - config.yAxis[0].title.text = this.config.showLeftYAxisTitle === true ? this.config.leftYAxisTitle + title : title; - BI.extend(config.yAxis[0], { - lineWidth: this.config.lineWidth, - showLabel: this.config.showLabel, - enableTick: this.config.enableTick, - enableMinorTick: this.config.enableMinorTick, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - reversed: config.yAxis[0].reversed = this.config.leftYAxisReversed, - formatter: self.formatTickInXYaxis(this.config.leftYAxisStyle, this.config.leftYAxisNumberLevel, this.config.numSeparators) - }); - formatNumberLevelInYaxis(this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS, config.yAxis[0].formatter); - - config.xAxis[0].title.align = "center"; - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle : ""; - BI.extend(config.xAxis[0], { - lineWidth: this.config.lineWidth, - enableTick: this.config.enableTick, - labelRotation: this.config.textDirection, - gridLineWidth: this.config.showGridLine === true ? 1 : 0, - maxHeight: '40%' - }); - - config.chartType = "area"; - config.plotOptions.tooltip.formatter.identifier = "${CATEGORY}${VALUE}"; - - //为了给数据标签加个%,还要遍历所有的系列,唉 - this.formatDataLabelForAxis(config.plotOptions.dataLabels.enabled, items, config.yAxis[0].formatter, this.config.chartFont); - - //全局样式的图表文字 - this.setFontStyle(this.config.chartFont, config); - - return [items, config]; - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatCordon() { - BI.each(self.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - var magnify = self.calcMagnify(self.config.xAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style" : self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function formatNumberLevelInYaxis(type, position, formatter) { - var magnify = self.calcMagnify(type); - BI.each(items, function (idx, item) { - BI.each(item.data, function (id, da) { - if (position === item.yAxis) { - da.y = self.formatXYDataWithMagnify(da.y, magnify); - } - }) - }); - config.plotOptions.tooltip.formatter.valueFormat = formatter; - } - - function getXYAxisUnit(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - } - }, - - _formatItems: function (data) { - var o = this.options; - var items = []; - BI.each(data, function (idx, item) { - items = BI.concat(items, item); - }); - if (BI.isEmptyArray(items)) { - return []; - } - if (items.length === 1) { - return [items]; - } - var colors = this.config.chartColor || []; - if (BI.isEmptyArray(colors)) { - colors = ["#5caae4"]; - } - var seriesMinus = []; - BI.each(items[0].data, function (idx, item) { - var res = items[1].data[idx].y - item.y; - seriesMinus.push({ - x: items[1].data[idx].x, - y: res, - targetIds: items[1].data[idx].targetIds - }); - }); - items[1] = { - data: seriesMinus, - name: items[1].name, - stack: "stackedArea", - fillColor: colors[0] - }; - BI.each(items, function (idx, item) { - if (idx === 0) { - BI.extend(item, { - name: items[0].name, - fillColorOpacity: 0, - stack: "stackedArea", - marker: {enabled: false}, - fillColor: "#000000" - }); - } - }); - return [items]; - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - chartColor: options.chartColor || [], - chartStyle: options.chartStyle || c.NORMAL, - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - leftYAxisReversed: options.leftYAxisReversed || false, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - textDirection: options.textDirection || 0, - cordon: options.cordon || [], - lineWidth: BI.isNull(options.lineWidth) ? 1 : options.lineWidth, - showLabel: BI.isNull(options.showLabel) ? true : options.showLabel, - enableTick: BI.isNull(options.enableTick) ? true : options.enableTick, - enableMinorTick: BI.isNull(options.enableMinorTick) ? true : options.enableMinorTick, - numSeparators: options.numSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE, - nullContinue: options.nullContinue || false - }; - this.options.items = items; - - var types = []; - var type = []; - BI.each(items, function (idx, axisItems) { - type.push(BICst.WIDGET.AREA); - }); - if (BI.isNotEmptyArray(type)) { - types.push(type); - } - - this.combineChart.populate(this._formatItems(items), types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.RangeAreaChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.range_area_chart', BI.RangeAreaChart); \ No newline at end of file diff --git a/src/addons/chart/chart/chart.scatter.js b/src/addons/chart/chart/chart.scatter.js deleted file mode 100644 index 42b5945da9..0000000000 --- a/src/addons/chart/chart/chart.scatter.js +++ /dev/null @@ -1,266 +0,0 @@ -/** - * 图表控件 - * @class BI.ScatterChart - * @extends BI.Widget - */ -BI.ScatterChart = BI.inherit(BI.AbstractChart, { - - _defaultConfig: function () { - return BI.extend(BI.ScatterChart.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-scatter-chart" - }) - }, - - _init: function () { - BI.ScatterChart.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.xAxis = [{ - type: "value", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "bottom", - gridLineWidth: 0 - }]; - this.yAxis = [{ - type: "value", - title: { - style: this.constants.FONT_STYLE - }, - labelStyle: this.constants.FONT_STYLE, - position: "left", - gridLineWidth: 0 - }]; - this.combineChart = BI.createWidget({ - type: "bi.combine_chart", - xAxis: this.xAxis, - popupItemsGetter: o.popupItemsGetter, - formatConfig: BI.bind(this._formatConfig, this), - element: this.element - }); - this.combineChart.on(BI.CombineChart.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.ScatterChart.EVENT_CHANGE, obj); - }); - this.combineChart.on(BI.CombineChart.EVENT_ITEM_CLICK, function (obj) { - self.fireEvent(BI.AbstractChart.EVENT_ITEM_CLICK, obj) - }); - }, - - - _formatConfig: function (config, items) { - var self = this; - delete config.zoom; - config.colors = this.config.chartColor; - config.style = formatChartStyle(); - config.plotOptions.marker = {"symbol": "circle", "radius": 4.5, "enabled": true}; - formatCordon(); - this.formatChartLegend(config, this.config.chartLegend); - config.plotOptions.dataLabels.enabled = this.config.showDataLabel; - config.plotOptions.dataLabels.formatter.identifier = "${X}${Y}"; - - config.yAxis = this.yAxis; - config.xAxis = this.xAxis; - - config.yAxis[0].formatter = self.formatTickInXYaxis(this.config.leftYAxisStyle, this.config.leftYAxisNumberLevel, this.config.numSeparators); - formatNumberLevelInYaxis(this.config.leftYAxisNumberLevel); - config.yAxis[0].title.text = getXYAxisUnit(this.config.leftYAxisNumberLevel, this.constants.LEFT_AXIS); - config.yAxis[0].title.text = this.config.showLeftYAxisTitle === true ? this.config.leftYAxisTitle + config.yAxis[0].title.text : config.yAxis[0].title.text; - config.yAxis[0].gridLineWidth = this.config.showGridLine === true ? 1 : 0; - config.yAxis[0].title.rotation = this.constants.ROTATION; - config.yAxis[0].maxWidth = '40%'; - - config.xAxis[0].formatter = self.formatTickInXYaxis(this.config.xAxisStyle, this.config.xAxisNumberLevel, this.config.rightNumSeparators); - formatNumberLevelInXaxis(this.config.xAxisNumberLevel); - config.xAxis[0].title.text = getXYAxisUnit(this.config.xAxisNumberLevel, this.constants.X_AXIS); - config.xAxis[0].title.text = this.config.showXAxisTitle === true ? this.config.xAxisTitle + config.xAxis[0].title.text : config.xAxis[0].title.text; - config.xAxis[0].title.align = "center"; - config.xAxis[0].gridLineWidth = this.config.showGridLine === true ? 1 : 0; - config.xAxis[0].maxHeight = '40%'; - config.chartType = "scatter"; - - if (BI.isNotEmptyArray(this.config.tooltip)) { - config.plotOptions.tooltip.formatter = function () { - var y = self.formatTickInXYaxis(self.config.leftYAxisStyle, self.config.leftYAxisNumberLevel, self.config.numSeparators)(this.y); - var x = self.formatTickInXYaxis(self.config.xAxisStyle, self.config.xAxisNumberLevel, self.config.rightNumSeparators)(this.x); - return this.seriesName + '
                                                                                                                                                                                                                                                                                                                      (X)' + self.config.tooltip[0] - + ':' + x + '
                                                                                                                                                                                                                                                                                                                      (Y)' + self.config.tooltip[1] + ':' + y + '
                                                                                                                                                                                                                                                                                                                      ' - }; - } - - if (config.plotOptions.dataLabels.enabled === true) { - BI.each(items, function (idx, item) { - item.dataLabels = { - "style": self.config.chartFont, - "align": "outside", - "autoAdjust": true, - enabled: true, - formatter: { - identifier: "${X}${Y}", - "XFormat": function () { - return BI.contentFormat(arguments[0], '#.##;-#.##') - }, - "YFormat": function () { - return BI.contentFormat(arguments[0], '#.##;-#.##') - } - } - }; - item.dataLabels.formatter.XFormat = config.xAxis[0].formatter; - item.dataLabels.formatter.YFormat = config.yAxis[0].formatter; - }); - } - - //全局样式图表文字 - config.legend.style = this.config.chartFont; - config.yAxis[0].title.style = config.yAxis[0].labelStyle = this.config.chartFont; - config.xAxis[0].title.style = config.xAxis[0].labelStyle = this.config.chartFont; - - return [items, config]; - - function formatChartStyle() { - switch (self.config.chartStyle) { - case BICst.CHART_STYLE.STYLE_GRADUAL: - return "gradual"; - case BICst.CHART_STYLE.STYLE_NORMAL: - default: - return "normal"; - } - } - - function formatCordon() { - BI.each(self.config.cordon, function (idx, cor) { - if (idx === 0 && self.xAxis.length > 0) { - var magnify = self.calcMagnify(self.config.xAxisNumberLevel); - self.xAxis[0].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style": self.config.chartFont, - "text": t.text, - "align": "top" - } - }); - }); - } - if (idx > 0 && self.yAxis.length >= idx) { - var magnify = 1; - switch (idx - 1) { - case self.constants.LEFT_AXIS: - magnify = self.calcMagnify(self.config.leftYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS: - magnify = self.calcMagnify(self.config.rightYAxisNumberLevel); - break; - case self.constants.RIGHT_AXIS_SECOND: - magnify = self.calcMagnify(self.config.rightYAxisSecondNumberLevel); - break; - } - self.yAxis[idx - 1].plotLines = BI.map(cor, function (i, t) { - return BI.extend(t, { - value: t.value.div(magnify), - width: 1, - label: { - "style": self.config.chartFont, - "text": t.text, - "align": "left" - } - }); - }); - } - }) - } - - function formatNumberLevelInXaxis(type) { - var magnify = self.calcMagnify(type); - BI.each(items, function (idx, item) { - BI.each(item.data, function (id, da) { - da.x = self.formatXYDataWithMagnify(da.x, magnify); - }) - }) - } - - function formatNumberLevelInYaxis(type) { - var magnify = self.calcMagnify(type); - BI.each(items, function (idx, item) { - BI.each(item.data, function (id, da) { - da.y = self.formatXYDataWithMagnify(da.y, magnify); - }) - }); - } - - function getXYAxisUnit(numberLevelType, position) { - var unit = ""; - switch (numberLevelType) { - case BICst.TARGET_STYLE.NUM_LEVEL.NORMAL: - unit = ""; - break; - case BICst.TARGET_STYLE.NUM_LEVEL.TEN_THOUSAND: - unit = BI.i18nText("BI-Wan"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.MILLION: - unit = BI.i18nText("BI-Million"); - break; - case BICst.TARGET_STYLE.NUM_LEVEL.YI: - unit = BI.i18nText("BI-Yi"); - break; - } - if (position === self.constants.X_AXIS) { - self.config.xAxisUnit !== "" && (unit = unit + self.config.xAxisUnit) - } - if (position === self.constants.LEFT_AXIS) { - self.config.leftYAxisUnit !== "" && (unit = unit + self.config.leftYAxisUnit) - } - if (position === self.constants.RIGHT_AXIS) { - self.config.rightYAxisUnit !== "" && (unit = unit + self.config.rightYAxisUnit) - } - return unit === "" ? unit : "(" + unit + ")"; - } - }, - - populate: function (items, options) { - options || (options = {}); - var self = this, c = this.constants; - this.config = { - leftYAxisTitle: options.leftYAxisTitle || "", - chartColor: options.chartColor || [], - leftYAxisStyle: options.leftYAxisStyle || c.NORMAL, - xAxisStyle: options.xAxisStyle || c.NORMAL, - showXAxisTitle: options.showXAxisTitle || false, - showLeftYAxisTitle: options.showLeftYAxisTitle || false, - xAxisNumberLevel: options.xAxisNumberLevel || c.NORMAL, - leftYAxisNumberLevel: options.leftYAxisNumberLevel || c.NORMAL, - xAxisUnit: options.xAxisUnit || "", - leftYAxisUnit: options.leftYAxisUnit || "", - xAxisTitle: options.xAxisTitle || "", - chartLegend: options.chartLegend || c.LEGEND_BOTTOM, - showDataLabel: options.showDataLabel || false, - showGridLine: BI.isNull(options.showGridLine) ? true : options.showGridLine, - cordon: options.cordon || [], - tooltip: options.tooltip || [], - numSeparators: options.numSeparators || false, - rightNumSeparators: options.rightNumSeparators || false, - chartFont: options.chartFont || c.FONT_STYLE - }; - this.options.items = items; - var types = []; - BI.each(items, function (idx, axisItems) { - var type = []; - BI.each(axisItems, function (id, item) { - type.push(BICst.WIDGET.SCATTER); - }); - types.push(type); - }); - this.combineChart.populate(items, types); - }, - - resize: function () { - this.combineChart.resize(); - }, - - magnify: function () { - this.combineChart.magnify(); - } -}); -BI.ScatterChart.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.scatter_chart', BI.ScatterChart); \ No newline at end of file diff --git a/src/addons/chart/factory.charts.js b/src/addons/chart/factory.charts.js deleted file mode 100644 index 405943a220..0000000000 --- a/src/addons/chart/factory.charts.js +++ /dev/null @@ -1,291 +0,0 @@ -BI.ChartCombineFormatItemFactory = { - combineItems: function (types, items) { - var calItems = BI.values(items); - return BI.map(calItems, function (idx, item) { - return BI.ChartCombineFormatItemFactory.formatItems(types[idx], item); - }); - }, - - formatItems: function (type, items) { - var item = {}; - switch (type) { - case BICst.WIDGET.BAR: - case BICst.WIDGET.ACCUMULATE_BAR: - case BICst.WIDGET.COMPARE_BAR: - item = BI.extend({"type": "bar"}, items); - break; - case BICst.WIDGET.BUBBLE: - item = BI.extend({"type": "bubble"}, items); - break; - case BICst.WIDGET.FORCE_BUBBLE: - item = BI.extend({"type": "forceBubble"}, items); - break; - case BICst.WIDGET.SCATTER: - item = BI.extend({"type": "scatter"}, items); - break; - case BICst.WIDGET.AXIS: - case BICst.WIDGET.ACCUMULATE_AXIS: - case BICst.WIDGET.PERCENT_ACCUMULATE_AXIS: - case BICst.WIDGET.COMPARE_AXIS: - case BICst.WIDGET.FALL_AXIS: - item = BI.extend({"type": "column"}, items); - break; - case BICst.WIDGET.LINE: - item = BI.extend({"type": "line"}, items); - break; - case BICst.WIDGET.AREA: - case BICst.WIDGET.ACCUMULATE_AREA: - case BICst.WIDGET.COMPARE_AREA: - case BICst.WIDGET.RANGE_AREA: - case BICst.WIDGET.PERCENT_ACCUMULATE_AREA: - item = BI.extend({"type": "area"}, items); - break; - case BICst.WIDGET.DONUT: - item = BI.extend({"type": "pie"}, items); - break; - case BICst.WIDGET.RADAR: - case BICst.WIDGET.ACCUMULATE_RADAR: - item = BI.extend({"type": "radar"}, items); - break; - case BICst.WIDGET.PIE: - item = BI.extend({"type": "pie"}, items); - break; - case BICst.WIDGET.DASHBOARD: - item = BI.extend({"type": "gauge"}, items); - break; - case BICst.WIDGET.MAP: - item = BI.extend({"type": "areaMap"}, items); - break; - case BICst.WIDGET.GIS_MAP: - item = BI.extend({"type": "pointMap"}, items); - break; - default: - item = BI.extend({"type": "column"}, items); - break; - } - return item; - }, - - combineConfig: function () { - return { - "title": "", - "chartType": "column", - "plotOptions": { - "rotatable": false, - "startAngle": 0, - "borderRadius": 0, - "endAngle": 360, - "innerRadius": "0.0%", - "layout": "horizontal", - "hinge": "rgb(101,107,109)", - "dataLabels": { - "autoAdjust": true, - "style": {"fontFamily": "inherit", "color": "inherit", "fontSize": "12px"}, - "formatter": { - "identifier": "${VALUE}", - "valueFormat": this._contentFormat2Decimal, - "seriesFormat": this._contentFormat, - "percentFormat": this._contentFormatPercentage, - "categoryFormat": this._contentFormat, - "XFormat": this._contentFormat2Decimal, - "YFormat": this._contentFormat2Decimal, - "sizeFormat": this._contentFormat2Decimal - }, - "align": "outside", - "enabled": false - }, - "percentageLabel": { - "formatter": { - "identifier": "${PERCENT}", - "valueFormat": this._contentFormat2Decimal, - "seriesFormat": this._contentFormat, - "percentFormat": this._contentFormatPercentage, - "categoryFormat": this._contentFormat - }, - "style": { - "fontFamily": "inherit", "color": "inherit", "fontSize": "12px" - }, - "align": "bottom", - "enabled": true - }, - "valueLabel": { - "formatter": { - "identifier": "${SERIES}${VALUE}", - "valueFormat": this._contentFormat2Decimal, - "seriesFormat": this._contentFormat, - "percentFormat": this._contentFormatPercentage, - "categoryFormat": this._contentFormat - }, - "backgroundColor": "rgb(255,255,0)", - "style": { - "fontFamily": "inherit", "color": "inherit", "fontSize": "12px" - }, - "align": "inside", - "enabled": true - }, - "hingeBackgroundColor": "rgb(220,242,249)", - "seriesLabel": { - "formatter": { - "identifier": "${CATEGORY}", - "valueFormat": this._contentFormat2Decimal, - "seriesFormat": this._contentFormat, - "percentFormat": this._contentFormatPercentage, - "categoryFormat": this._contentFormat - }, - "style": { - "fontFamily": "inherit", "color": "inherit", "fontSize": "12px" - }, - "align": "bottom", - "enabled": true - }, - "paneBackgroundColor": "rgb(252,252,252)", - "needle": "rgb(229,113,90)", - "large": false, - "connectNulls": false, - "shadow": true, - "curve": false, - "sizeBy": "area", - "tooltip": { - "formatter": { - "identifier": "${SERIES}${X}${Y}${SIZE}{CATEGORY}${SERIES}${VALUE}", - "valueFormat": this._contentFormat2Decimal, - "seriesFormat": this._contentFormat, - "percentFormat": this._contentFormatPercentage, - "categoryFormat": this._contentFormat, - "XFormat": this._contentFormat2Decimal, - "sizeFormat": this._contentFormat2Decimal, - "YFormat": this._contentFormat2Decimal - }, - "shared": false, - "padding": 5, - "backgroundColor": "rgba(0,0,0,0.4980392156862745)", - "borderColor": "rgb(0,0,0)", - "shadow": false, - "borderRadius": 2, - "borderWidth": 0, - "follow": false, - "enabled": true, - "animation": true, - "style": { - "fontFamily": "Microsoft YaHei, Hiragino Sans GB W3", - "color": "#c4c6c6", - "fontSize": "12px", - "fontWeight": "" - } - }, - "maxSize": 80, - "fillColorOpacity": 0.5, - "step": false, - "force": false, - "minSize": 15, - "displayNegative": true, - "categoryGap": "16.0%", - "borderColor": "rgb(255,255,255)", - "borderWidth": 1, - "gap": "22.0%", - "animation": true, - "lineWidth": 2, - "bubble": { - "large": false, - "connectNulls": false, - "shadow": true, - "curve": false, - "sizeBy": "area", - "maxSize": 80, - "minSize": 15, - "lineWidth": 0, - "animation": true, - "fillColorOpacity": 0.699999988079071, - "marker": { - "symbol": "circle", - "radius": 28.39695010101295, - "enabled": true - } - } - }, - "dTools": { - "enabled": false, - "style": { - "fontFamily": "Microsoft YaHei, Hiragino Sans GB W3", - "color": "#1a1a1a", - "fontSize": "12px" - }, - "backgroundColor": 'white' - }, - "dataSheet": { - "enabled": false, - "borderColor": "rgb(0,0,0)", - "borderWidth": 1, - "formatter": this._contentFormat2Decimal, - "style": { - "fontFamily": "inherit", "color": "inherit", "fontSize": "12px" - } - }, - "borderColor": "rgb(238,238,238)", - "shadow": false, - "legend": { - "borderColor": "rgb(204,204,204)", - "borderRadius": 0, - "shadow": false, - "borderWidth": 0, - "visible": true, - "style": { - "fontFamily": "inherit", "color": "inherit", "fontSize": "12px" - }, - "position": "right", - "enabled": false - }, - "rangeLegend": { - "range": { - "min": 0, - "color": [ - [ - 0, - "rgb(182,226,255)" - ], - [ - 0.5, - "rgb(109,196,255)" - ], - [ - 1, - "rgb(36,167,255)" - ] - ], - "max": 266393 - }, - "enabled": false - }, - "zoom": {"zoomType": "xy", "zoomTool": {"visible": false, "resize": true, "from": "", "to": ""}}, - "plotBorderColor": "rgba(255,255,255,0)", - "tools": { - "hidden": false, - "toImage": {"enabled": false}, - "sort": {"enabled": false}, - "fullScreen": {"enabled": false}, - "refresh": { - "enabled": false - } - }, - "plotBorderWidth": 0, - "style": "normal", - "colors": ["rgb(99,178,238)", "rgb(118,218,145)"], - "borderRadius": 0, - "borderWidth": 0, - "plotShadow": false, - "plotBorderRadius": 0 - }; - }, - - _contentFormat: function () { - return BI.contentFormat(arguments[0], '') - }, - - _contentFormat2Decimal: function () { - return BI.contentFormat(arguments[0], '#.##;-#.##') - }, - - _contentFormatPercentage: function () { - return BI.contentFormat(arguments[0], '#.##%;-#.##%') - } -}; \ No newline at end of file diff --git a/src/base/base.js b/src/base/base.js deleted file mode 100644 index 49c5b21091..0000000000 --- a/src/base/base.js +++ /dev/null @@ -1,8 +0,0 @@ -BI.Resizers = new BI.ResizeController(); -BI.Layers = new BI.LayerController(); -BI.Maskers = new BI.MaskersController(); -BI.Bubbles = new BI.BubblesController(); -BI.Tooltips = new BI.TooltipsController(); -BI.Popovers = new BI.FloatBoxController(); -BI.Broadcasts = new BI.BroadcastController(); -BI.StyleLoaders = new BI.StyleLoaderManager(); \ No newline at end of file diff --git a/src/base/canvas/canvas.js b/src/base/canvas/canvas.js deleted file mode 100644 index 0a80d0f282..0000000000 --- a/src/base/canvas/canvas.js +++ /dev/null @@ -1,135 +0,0 @@ -/** - * canvas绘图 - * - * Created by GUY on 2015/11/18. - * @class BI.Canvas - * @extends BI.Widget - */ -BI.Canvas = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.Canvas.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-canvas" - }) - }, - - _init: function () { - BI.Canvas.superclass._init.apply(this, arguments); - var self = this, o = this.options; - var canvas = document.createElement("canvas"); - if (!document.createElement('canvas').getContext) { - canvas = window.G_vmlCanvasManager.initElement(canvas); - } - this.element.append(canvas); - canvas.width = o.width; - canvas.height = o.height; - $(canvas).width("100%"); - $(canvas).height("100%"); - this.canvas = canvas; - this._queue = []; - }, - - mounted: function () { - this.stroke(); - }, - - _getContext: function () { - if (!this.ctx) { - this.ctx = this.canvas.getContext('2d'); - } - return this.ctx; - }, - - _attr: function (key, value) { - var self = this; - if (BI.isNull(key)) { - return; - } - if (BI.isObject(key)) { - BI.each(key, function (k, v) { - self._queue.push({ k: k, v: v }); - }); - return; - } - this._queue.push({ k: key, v: value }); - }, - - _line: function (x0, y0) { - var self = this; - var args = [].slice.call(arguments, 2); - if (BI.isOdd(args.length)) { - this._attr(BI.last(args)); - args = BI.initial(args); - } - this._attr("moveTo", [x0, y0]); - var odd = BI.filter(args, function (i) { - return i % 2 === 0; - }); - var even = BI.filter(args, function (i) { - return i % 2 !== 0; - }); - args = BI.zip(odd, even); - BI.each(args, function (i, point) { - self._attr("lineTo", point); - }); - }, - - line: function (x0, y0, x1, y1) { - this._line.apply(this, arguments); - this._attr("stroke", []); - }, - - rect: function (x, y, w, h, color) { - this._attr("fillStyle", color); - this._attr("fillRect", [x, y, w, h]); - }, - - circle: function (x, y, radius, color) { - this._attr({ - fillStyle: color, - beginPath: [], - arc: [x, y, radius, 0, Math.PI * 2, true], - closePath: [], - fill: [] - }); - }, - - hollow: function () { - this._attr("beginPath", []); - this._line.apply(this, arguments); - this._attr("closePath", []); - this._attr("stroke", []); - }, - - solid: function () { - this.hollow.apply(this, arguments); - this._attr("fill", []); - }, - - gradient: function (x0, y0, x1, y1, start, end) { - var grd = this._getContext().createLinearGradient(x0, y0, x1, y1); - grd.addColorStop(0, start); - grd.addColorStop(1, end); - return grd; - }, - - reset: function () { - this._getContext().clearRect(0, 0, this.canvas.width, this.canvas.height); - }, - - stroke: function () { - var ctx = this._getContext(); - if(!ctx){ - return false; - } - BI.each(this._queue, function (i, q) { - if (BI.isFunction(ctx[q.k])) { - ctx[q.k].apply(ctx, q.v); - } else { - ctx[q.k] = q.v; - } - }); - this._queue = []; - } -}); -BI.shortcut("bi.canvas", BI.Canvas); \ No newline at end of file diff --git a/src/base/collection/collection.js b/src/base/collection/collection.js deleted file mode 100644 index f621fc4761..0000000000 --- a/src/base/collection/collection.js +++ /dev/null @@ -1,374 +0,0 @@ -/** - * CollectionView - * - * Created by GUY on 2016/1/15. - * @class BI.CollectionView - * @extends BI.Widget - */ -BI.CollectionView = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.CollectionView.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-collection", - // width: 400, //必设 - // height: 300, //必设 - overflowX: true, - overflowY: true, - cellSizeAndPositionGetter: BI.emptyFn, - horizontalOverscanSize: 0, - verticalOverscanSize: 0, - scrollLeft: 0, - scrollTop: 0, - items: [] - }); - }, - - _init: function () { - BI.CollectionView.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.renderedCells = []; - this.renderedKeys = []; - this.renderRange = {}; - this._scrollLock = false; - this._debounceRelease = BI.debounce(function () { - self._scrollLock = false; - }, 1000 / 60); - this.container = BI.createWidget({ - type: "bi.absolute" - }); - this.element.scroll(function () { - if (self._scrollLock === true) { - return; - } - o.scrollLeft = self.element.scrollLeft(); - o.scrollTop = self.element.scrollTop(); - self._calculateChildrenToRender(); - self.fireEvent(BI.CollectionView.EVENT_SCROLL, { - scrollLeft: o.scrollLeft, - scrollTop: o.scrollTop - }); - }); - BI.createWidget({ - type: "bi.vertical", - element: this, - scrollable: o.overflowX === true && o.overflowY === true, - scrolly: o.overflowX === false && o.overflowY === true, - scrollx: o.overflowX === true && o.overflowY === false, - items: [this.container] - }); - if (o.items.length > 0) { - this._calculateSizeAndPositionData(); - this._populate(); - } - if (o.scrollLeft !== 0 || o.scrollTop !== 0) { - BI.nextTick(function () { - self.element.scrollTop(o.scrollTop); - self.element.scrollLeft(o.scrollLeft); - }); - } - }, - - _calculateSizeAndPositionData: function () { - var o = this.options; - var cellMetadata = []; - var sectionManager = new BI.SectionManager(); - var height = 0; - var width = 0; - - for (var index = 0, len = o.items.length; index < len; index++) { - var cellMetadatum = o.cellSizeAndPositionGetter(index); - - if (cellMetadatum.height == null || isNaN(cellMetadatum.height) || - cellMetadatum.width == null || isNaN(cellMetadatum.width) || - cellMetadatum.x == null || isNaN(cellMetadatum.x) || - cellMetadatum.y == null || isNaN(cellMetadatum.y)) { - throw Error(); - } - - height = Math.max(height, cellMetadatum.y + cellMetadatum.height); - width = Math.max(width, cellMetadatum.x + cellMetadatum.width); - - cellMetadatum.index = index; - cellMetadata[index] = cellMetadatum; - sectionManager.registerCell(cellMetadatum, index); - } - - this._cellMetadata = cellMetadata; - this._sectionManager = sectionManager; - this._height = height; - this._width = width; - }, - - _cellRenderers: function (height, width, x, y) { - this._lastRenderedCellIndices = this._sectionManager.getCellIndices(height, width, x, y); - return this._cellGroupRenderer() - }, - - _cellGroupRenderer: function () { - var self = this, o = this.options; - var rendered = []; - BI.each(this._lastRenderedCellIndices, function (i, index) { - var cellMetadata = self._sectionManager.getCellMetadata(index); - rendered.push(cellMetadata); - }); - return rendered; - }, - - _calculateChildrenToRender: function () { - var self = this, o = this.options; - var scrollLeft = BI.clamp(o.scrollLeft, 0, this._getMaxScrollLeft()); - var scrollTop = BI.clamp(o.scrollTop, 0, this._getMaxScrollTop()); - var left = Math.max(0, scrollLeft - o.horizontalOverscanSize); - var top = Math.max(0, scrollTop - o.verticalOverscanSize); - var right = Math.min(this._width, scrollLeft + o.width + o.horizontalOverscanSize); - var bottom = Math.min(this._height, scrollTop + o.height + o.verticalOverscanSize); - if (right > 0 && bottom > 0) { - //如果滚动的区间并没有超出渲染的范围 - if (top >= this.renderRange.minY && bottom <= this.renderRange.maxY && left >= this.renderRange.minX && right <= this.renderRange.maxX) { - return; - } - var childrenToDisplay = this._cellRenderers(bottom - top, right - left, left, top); - var renderedCells = [], renderedKeys = {}, renderedWidgets = {}; - //存储所有的left和top - var lefts = {}, tops = {}; - for (var i = 0, len = childrenToDisplay.length; i < len; i++) { - var datum = childrenToDisplay[i]; - lefts[datum.x] = datum.x; - lefts[datum.x + datum.width] = datum.x + datum.width; - tops[datum.y] = datum.y; - tops[datum.y + datum.height] = datum.y + datum.height; - } - lefts = BI.toArray(lefts); - tops = BI.toArray(tops); - var leftMap = BI.invert(lefts); - var topMap = BI.invert(tops); - //存储上下左右四个边界 - var leftBorder = {}, rightBorder = {}, topBorder = {}, bottomBorder = {}; - var assertMinBorder = function (border, offset) { - if (border[offset] == null) { - border[offset] = Number.MAX_VALUE; - } - }; - var assertMaxBorder = function (border, offset) { - if (border[offset] == null) { - border[offset] = 0; - } - }; - for (var i = 0, len = childrenToDisplay.length; i < len; i++) { - var datum = childrenToDisplay[i]; - var index = this.renderedKeys[datum.index] && this.renderedKeys[datum.index][1]; - var child; - if (index >= 0) { - if (datum.width !== this.renderedCells[index]._width) { - this.renderedCells[index]._width = datum.width; - this.renderedCells[index].el.setWidth(datum.width); - } - if (datum.height !== this.renderedCells[index]._height) { - this.renderedCells[index]._height = datum.height; - this.renderedCells[index].el.setHeight(datum.height); - } - if (this.renderedCells[index]._left !== datum.x) { - this.renderedCells[index].el.element.css("left", datum.x + "px"); - } - if (this.renderedCells[index]._top !== datum.y) { - this.renderedCells[index].el.element.css("top", datum.y + "px"); - } - renderedCells.push(child = this.renderedCells[index]); - } else { - child = BI.createWidget(BI.extend({ - type: "bi.label", - width: datum.width, - height: datum.height - }, o.items[datum.index], { - cls: (o.items[datum.index].cls || "") + " container-cell" + (datum.y === 0 ? " first-row" : "") + (datum.x === 0 ? " first-col" : ""), - _left: datum.x, - _top: datum.y - })); - renderedCells.push({ - el: child, - left: datum.x, - top: datum.y, - _left: datum.x, - _top: datum.y, - _width: datum.width, - _height: datum.height - }); - } - var startTopIndex = topMap[datum.y] | 0; - var endTopIndex = topMap[datum.y + datum.height] | 0; - for (var k = startTopIndex; k <= endTopIndex; k++) { - var t = tops[k]; - assertMinBorder(leftBorder, t); - assertMaxBorder(rightBorder, t); - leftBorder[t] = Math.min(leftBorder[t], datum.x); - rightBorder[t] = Math.max(rightBorder[t], datum.x + datum.width); - } - var startLeftIndex = leftMap[datum.x] | 0; - var endLeftIndex = leftMap[datum.x + datum.width] | 0; - for (var k = startLeftIndex; k <= endLeftIndex; k++) { - var l = lefts[k]; - assertMinBorder(topBorder, l); - assertMaxBorder(bottomBorder, l); - topBorder[l] = Math.min(topBorder[l], datum.y); - bottomBorder[l] = Math.max(bottomBorder[l], datum.y + datum.height); - } - - renderedKeys[datum.index] = [datum.index, i]; - renderedWidgets[i] = child; - } - //已存在的, 需要添加的和需要删除的 - var existSet = {}, addSet = {}, deleteArray = []; - BI.each(renderedKeys, function (i, key) { - if (self.renderedKeys[i]) { - existSet[i] = key; - } else { - addSet[i] = key; - } - }); - BI.each(this.renderedKeys, function (i, key) { - if (existSet[i]) { - return; - } - if (addSet[i]) { - return; - } - deleteArray.push(key[1]); - }); - BI.each(deleteArray, function (i, index) { - //性能优化,不调用destroy方法防止触发destroy事件 - self.renderedCells[index].el._destroy(); - }); - var addedItems = []; - BI.each(addSet, function (index, key) { - addedItems.push(renderedCells[key[1]]) - }); - this.container.addItems(addedItems); - //拦截父子级关系 - this.container._children = renderedWidgets; - this.container.attr("items", renderedCells); - this.renderedCells = renderedCells; - this.renderedKeys = renderedKeys; - - //Todo 左右比较特殊 - var minX = BI.min(leftBorder); - var maxX = BI.max(rightBorder); - - var minY = BI.max(topBorder); - var maxY = BI.min(bottomBorder); - - this.renderRange = {minX: minX, minY: minY, maxX: maxX, maxY: maxY}; - } - }, - - _getMaxScrollLeft: function () { - return Math.max(0, this._width - this.options.width + (this.options.overflowX ? BI.DOM.getScrollWidth() : 0)); - }, - - _getMaxScrollTop: function () { - return Math.max(0, this._height - this.options.height + (this.options.overflowY ? BI.DOM.getScrollWidth() : 0)); - }, - - _populate: function (items) { - var o = this.options; - this._reRange(); - if (items && items !== this.options.items) { - this.options.items = items; - this._calculateSizeAndPositionData(); - } - if (o.items.length > 0) { - this.container.setWidth(this._width); - this.container.setHeight(this._height); - - this._calculateChildrenToRender(); - this.element.scrollTop(o.scrollTop); - this.element.scrollLeft(o.scrollLeft); - } - }, - - setScrollLeft: function (scrollLeft) { - if (this.options.scrollLeft === scrollLeft) { - return; - } - this._scrollLock = true; - this.options.scrollLeft = BI.clamp(scrollLeft || 0, 0, this._getMaxScrollLeft()); - this._debounceRelease(); - this._calculateChildrenToRender(); - this.element.scrollLeft(this.options.scrollLeft); - }, - - setScrollTop: function (scrollTop) { - if (this.options.scrollTop === scrollTop) { - return; - } - this._scrollLock = true; - this.options.scrollTop = BI.clamp(scrollTop || 0, 0, this._getMaxScrollTop()); - this._debounceRelease(); - this._calculateChildrenToRender(); - this.element.scrollTop(this.options.scrollTop); - }, - - setOverflowX: function (b) { - var self = this; - if (this.options.overflowX !== !!b) { - this.options.overflowX = !!b; - BI.nextTick(function () { - self.element.css({overflowX: !!b ? "auto" : "hidden"}); - }); - } - }, - - setOverflowY: function (b) { - var self = this; - if (this.options.overflowY !== !!b) { - this.options.overflowY = !!b; - BI.nextTick(function () { - self.element.css({overflowY: !!b ? "auto" : "hidden"}); - }); - } - }, - - getScrollLeft: function () { - return this.options.scrollLeft; - }, - - getScrollTop: function () { - return this.options.scrollTop; - }, - - getMaxScrollLeft: function () { - return this._getMaxScrollLeft(); - }, - - getMaxScrollTop: function () { - return this._getMaxScrollTop(); - }, - - //重新计算children - _reRange: function () { - this.renderRange = {}; - }, - - _clearChildren: function () { - this.container._children = {}; - this.container.attr("items", []); - }, - - restore: function () { - BI.each(this.renderedCells, function (i, cell) { - cell.el._destroy(); - }); - this._clearChildren(); - this.renderedCells = []; - this.renderedKeys = []; - this.renderRange = {}; - this._scrollLock = false; - }, - - populate: function (items) { - if (items && items !== this.options.items) { - this.restore(); - } - this._populate(items); - } -}); -BI.CollectionView.EVENT_SCROLL = "EVENT_SCROLL"; -BI.shortcut('bi.collection_view', BI.CollectionView); \ No newline at end of file diff --git a/src/base/combination/combo.js b/src/base/combination/combo.js deleted file mode 100644 index 9526764ff2..0000000000 --- a/src/base/combination/combo.js +++ /dev/null @@ -1,437 +0,0 @@ -/** - * @class BI.Combo - * @extends BI.Widget - */ -BI.Combo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.Combo.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-combo", - trigger: "click", - toggle: true, - direction: "bottom", //top||bottom||left||right||top,left||top,right||bottom,left||bottom,right - container: null,//popupview放置的容器,默认为this.element - isDefaultInit: false, - destroyWhenHide: false, - isNeedAdjustHeight: true,//是否需要高度调整 - isNeedAdjustWidth: true, - stopEvent: false, - stopPropagation: false, - adjustLength: 0,//调整的距离 - adjustXOffset: 0, - adjustYOffset: 0, - hideChecker: BI.emptyFn, - offsetStyle: "left", //left,right,center - el: {}, - popup: {}, - comboClass: "bi-combo-popup", - hoverClass: "bi-combo-hover" - }) - }, - - _init: function () { - BI.Combo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this._initCombo(); - this._initPullDownAction(); - this.combo.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - if (self.isEnabled() && self.isValid()) { - if (type === BI.Events.EXPAND) { - self._popupView(); - } - if (type === BI.Events.COLLAPSE) { - self._hideView(); - } - if (type === BI.Events.EXPAND) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - self.fireEvent(BI.Combo.EVENT_EXPAND); - } - if (type === BI.Events.COLLAPSE) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - self.isViewVisible() && self.fireEvent(BI.Combo.EVENT_COLLAPSE); - } - if (type === BI.Events.CLICK) { - self.fireEvent(BI.Combo.EVENT_TRIGGER_CHANGE, obj); - } - } - }); - - self.element.on("mouseenter." + self.getName(), function (e) { - if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid()) { - self.element.addClass(o.hoverClass); - } - }); - self.element.on("mouseleave." + self.getName(), function (e) { - if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid()) { - self.element.removeClass(o.hoverClass); - } - }); - - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - element: this, - items: [ - {el: this.combo} - ] - }); - o.isDefaultInit && (this._assertPopupView()); - BI.Resizers.add(this.getName(), BI.bind(function () { - if (this.isViewVisible()) { - this._hideView(); - } - }, this)); - }, - - _toggle: function () { - this._assertPopupViewRender(); - if (this.popupView.isVisible()) { - this._hideView(); - } else { - if (this.isEnabled()) { - this._popupView(); - } - } - }, - - _initPullDownAction: function () { - var self = this, o = this.options; - var evs = this.options.trigger.split(","); - var st = function (e) { - if (o.stopEvent) { - e.stopEvent(); - } - if (o.stopPropagation) { - e.stopPropagation(); - } - }; - BI.each(evs, function (i, ev) { - switch (ev) { - case "hover": - self.element.on("mouseenter." + self.getName(), function (e) { - if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid()) { - self._popupView(); - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EXPAND, "", self.combo); - self.fireEvent(BI.Combo.EVENT_EXPAND); - } - }); - self.element.on("mouseleave." + self.getName(), function (e) { - if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid() && o.toggle === true) { - self._hideView(); - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.COLLAPSE, "", self.combo); - self.fireEvent(BI.Combo.EVENT_COLLAPSE); - } - }); - break; - case "click": - var debounce = BI.debounce(function (e) { - if (self.combo.element.__isMouseInBounds__(e)) { - if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid()) { - // if (!o.toggle && self.isViewVisible()) { - // return; - // } - o.toggle ? self._toggle() : self._popupView(); - if (self.isViewVisible()) { - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EXPAND, "", self.combo); - self.fireEvent(BI.Combo.EVENT_EXPAND); - } else { - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.COLLAPSE, "", self.combo); - self.fireEvent(BI.Combo.EVENT_COLLAPSE); - } - } - } - }, BI.EVENT_RESPONSE_TIME, true); - self.element.off(ev + "." + self.getName()).on(ev + "." + self.getName(), function (e) { - debounce(e); - st(e); - }); - break; - case "click-hover": - var debounce = BI.debounce(function (e) { - if (self.combo.element.__isMouseInBounds__(e)) { - if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid()) { - // if (self.isViewVisible()) { - // return; - // } - self._popupView(); - if (self.isViewVisible()) { - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EXPAND, "", self.combo); - self.fireEvent(BI.Combo.EVENT_EXPAND); - } - } - } - }, BI.EVENT_RESPONSE_TIME, true); - self.element.off("click." + self.getName()).on("click." + self.getName(), function (e) { - debounce(e); - st(e); - }); - self.element.on("mouseleave." + self.getName(), function (e) { - if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid() && o.toggle === true) { - self._hideView(); - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.COLLAPSE, "", self.combo); - self.fireEvent(BI.Combo.EVENT_COLLAPSE); - } - }); - break; - } - }); - }, - - _initCombo: function () { - this.combo = BI.createWidget(this.options.el); - }, - - _assertPopupView: function () { - var self = this; - if (this.popupView == null) { - this.popupView = BI.createWidget(this.options.popup, { - type: "bi.popup_view" - }); - this.popupView.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - if (type === BI.Events.CLICK) { - self.combo.setValue(self.getValue()); - self.fireEvent(BI.Combo.EVENT_CHANGE, value, obj); - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.popupView.setVisible(false); - BI.nextTick(function () { - self.fireEvent(BI.Combo.EVENT_AFTER_INIT); - }); - } - }, - - _assertPopupViewRender: function () { - this._assertPopupView(); - if (!this._rendered) { - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - element: this.options.container || this, - items: [ - {el: this.popupView} - ] - }); - this._rendered = true; - } - }, - - _hideIf: function (e) { - // if (this.element.__isMouseInBounds__(e) || (this.popupView && this.popupView.element.__isMouseInBounds__(e))) { - // return; - // } - //BI-10290 公式combo双击公式内容会收起 - if (this.element.find(e.target).length > 0 || e.target.className === "CodeMirror-cursor" || $(e.target).closest(".CodeMirror-hints").length > 0) {//BI-9887 CodeMirror的公式弹框需要特殊处理下 - return; - } - var isHide = this.options.hideChecker.apply(this, [e]); - if (isHide === false) { - return; - } - this._hideView(); - }, - - _hideView: function () { - this.fireEvent(BI.Combo.EVENT_BEFORE_HIDEVIEW); - if (this.options.destroyWhenHide === true) { - this.popupView && this.popupView.destroy(); - this.popupView = null; - this._rendered = false; - } else { - this.popupView && this.popupView.invisible(); - } - this.element.removeClass(this.options.comboClass); - - $(document).unbind("mousedown." + this.getName()).unbind("mousewheel." + this.getName()); - this.fireEvent(BI.Combo.EVENT_AFTER_HIDEVIEW); - }, - - _popupView: function () { - this._assertPopupViewRender(); - this.fireEvent(BI.Combo.EVENT_BEFORE_POPUPVIEW); - - this.popupView.visible(); - this.adjustWidth(); - this.adjustHeight(); - - this.element.addClass(this.options.comboClass); - $(document).unbind("mousedown." + this.getName()).unbind("mousewheel." + this.getName()); - $(document).bind("mousedown." + this.getName(), BI.bind(this._hideIf, this)).bind("mousewheel." + this.getName(), BI.bind(this._hideIf, this)); - this.fireEvent(BI.Combo.EVENT_AFTER_POPUPVIEW); - }, - - adjustWidth: function () { - var o = this.options; - if (!this.popupView) { - return; - } - if (o.isNeedAdjustWidth === true) { - this.resetListWidth(""); - var width = this.popupView.element.outerWidth(); - var maxW = this.element.outerWidth() || o.width; - if (width > maxW + 80) { - maxW = maxW + 80; - } else if (width > maxW) { - maxW = width; - } - this.resetListWidth(maxW < 100 ? 100 : maxW); - } - }, - - adjustHeight: function () { - var o = this.options, p = {}; - if (!this.popupView) { - return; - } - var isVisible = this.popupView.isVisible(); - this.popupView.visible(); - switch (o.direction) { - case "bottom": - case "bottom,right": - p = $.getComboPosition(this.combo, this.popupView, o.adjustXOffset, o.adjustYOffset || o.adjustLength, o.isNeedAdjustHeight, ['bottom', 'top', 'right', 'left'], o.offsetStyle); - break; - case "top": - case "top,right": - p = $.getComboPosition(this.combo, this.popupView, o.adjustXOffset, o.adjustYOffset || o.adjustLength, o.isNeedAdjustHeight, ['top', 'bottom', 'right', 'left'], o.offsetStyle); - break; - case "left": - case "left,bottom": - p = $.getComboPosition(this.combo, this.popupView, o.adjustXOffset || o.adjustLength, o.adjustYOffset, o.isNeedAdjustHeight, ['left', 'right', 'bottom', 'top'], o.offsetStyle); - break; - case "right": - case "right,bottom": - p = $.getComboPosition(this.combo, this.popupView, o.adjustXOffset || o.adjustLength, o.adjustYOffset, o.isNeedAdjustHeight, ['right', 'left', 'bottom', 'top'], o.offsetStyle); - break; - case "top,left": - p = $.getComboPosition(this.combo, this.popupView, o.adjustXOffset, o.adjustYOffset || o.adjustLength, o.isNeedAdjustHeight, ['top', 'bottom', 'left', 'right'], o.offsetStyle); - break; - case "bottom,left": - p = $.getComboPosition(this.combo, this.popupView, o.adjustXOffset, o.adjustYOffset || o.adjustLength, o.isNeedAdjustHeight, ['bottom', 'top', 'left', 'right'], o.offsetStyle); - break; - case "left,top": - p = $.getComboPosition(this.combo, this.popupView, o.adjustXOffset || o.adjustLength, o.adjustYOffset, o.isNeedAdjustHeight, ['left', 'right', 'top', 'bottom'], o.offsetStyle); - break; - case "right,top": - p = $.getComboPosition(this.combo, this.popupView, o.adjustXOffset || o.adjustLength, o.adjustYOffset, o.isNeedAdjustHeight, ['right', 'left', 'top', 'bottom'], o.offsetStyle); - break; - case "top,custom": - case "custom,top": - p = $.getTopAdaptPosition(this.combo, this.popupView, o.adjustYOffset || o.adjustLength, o.isNeedAdjustHeight); - break; - case "custom,bottom": - case "bottom,custom": - p = $.getBottomAdaptPosition(this.combo, this.popupView, o.adjustYOffset || o.adjustLength, o.isNeedAdjustHeight); - break; - case "left,custom": - case "custom,left": - p = $.getLeftAdaptPosition(this.combo, this.popupView, o.adjustXOffset || o.adjustLength); - delete p.top; - delete p.adaptHeight; - break; - case "custom,right": - case "right,custom": - p = $.getRightAdaptPosition(this.combo, this.popupView, o.adjustXOffset || o.adjustLength); - delete p.top; - delete p.adaptHeight; - break; - } - - if ("adaptHeight" in p) { - this.resetListHeight(p['adaptHeight']); - } - if ("left" in p) { - this.popupView.element.css({ - left: p.left - }); - } - if ("top" in p) { - this.popupView.element.css({ - top: p.top - }); - } - this.position = p; - this.popupView.setVisible(isVisible); - }, - - resetListHeight: function (h) { - this._assertPopupView(); - this.popupView.resetHeight && this.popupView.resetHeight(h); - }, - - resetListWidth: function (w) { - this._assertPopupView(); - this.popupView.resetWidth && this.popupView.resetWidth(w); - }, - - populate: function (items) { - this._assertPopupView(); - this.popupView.populate.apply(this.popupView, arguments); - this.combo.populate.apply(this.combo, arguments); - }, - - _setEnable: function (arg) { - BI.Combo.superclass._setEnable.apply(this, arguments); - !arg && this.element.removeClass(this.options.hoverClass); - !arg && this.isViewVisible() && this._hideView(); - }, - - setValue: function (v) { - this._assertPopupView(); - this.combo.setValue(v); - this.popupView && this.popupView.setValue(v); - }, - - getValue: function () { - this._assertPopupView(); - return this.popupView && this.popupView.getValue(); - }, - - isViewVisible: function () { - return this.isEnabled() && this.combo.isEnabled() && !!this.popupView && this.popupView.isVisible(); - }, - - showView: function () { - if (this.isEnabled() && this.combo.isEnabled()) { - this._popupView(); - } - }, - - hideView: function () { - this._hideView(); - }, - - getView: function () { - return this.popupView; - }, - - getPopupPosition: function () { - return this.position; - }, - - toggle: function () { - this._toggle(); - }, - - destroy: function () { - $(document).unbind("mousedown." + this.getName()) - .unbind("mousewheel." + this.getName()) - .unbind("mouseenter." + this.getName()) - .unbind("mousemove." + this.getName()) - .unbind("mouseleave." + this.getName()); - BI.Resizers.remove(this.getName()); - BI.Combo.superclass.destroy.apply(this, arguments); - } -}); -BI.Combo.EVENT_TRIGGER_CHANGE = "EVENT_TRIGGER_CHANGE"; -BI.Combo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.Combo.EVENT_EXPAND = "EVENT_EXPAND"; -BI.Combo.EVENT_COLLAPSE = "EVENT_COLLAPSE"; -BI.Combo.EVENT_AFTER_INIT = "EVENT_AFTER_INIT"; - - -BI.Combo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.Combo.EVENT_AFTER_POPUPVIEW = "EVENT_AFTER_POPUPVIEW"; -BI.Combo.EVENT_BEFORE_HIDEVIEW = "EVENT_BEFORE_HIDEVIEW"; -BI.Combo.EVENT_AFTER_HIDEVIEW = "EVENT_AFTER_HIDEVIEW"; - -BI.shortcut("bi.combo", BI.Combo); \ No newline at end of file diff --git a/src/base/combination/expander.js b/src/base/combination/expander.js deleted file mode 100644 index 55b9c2b612..0000000000 --- a/src/base/combination/expander.js +++ /dev/null @@ -1,272 +0,0 @@ -/** - * - * 某个可以展开的节点 - * - * Created by GUY on 2015/9/10. - * @class BI.Expander - * @extends BI.Widget - */ -BI.Expander = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.Expander.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-expander", - trigger: "click", - toggle: true, - //direction: "bottom", //top,bottom四个方向 - isDefaultInit: false, //是否默认初始化子节点 - el: {}, - popup: {}, - expanderClass: "bi-expander-popup", - hoverClass: "bi-expander-hover" - }) - }, - - _init: function () { - BI.Expander.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this._expanded = !!o.el.open; - this._initExpander(); - this._initPullDownAction(); - this.expander.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - if (self.isEnabled() && self.isValid()) { - if (type === BI.Events.EXPAND) { - self._popupView(); - } - if (type === BI.Events.COLLAPSE) { - self._hideView(); - } - if (type === BI.Events.EXPAND) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - self.fireEvent(BI.Expander.EVENT_EXPAND); - } - if (type === BI.Events.COLLAPSE) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - self.isViewVisible() && self.fireEvent(BI.Expander.EVENT_COLLAPSE); - } - if (type === BI.Events.CLICK) { - self.fireEvent(BI.Expander.EVENT_TRIGGER_CHANGE, value, obj); - } - } - }); - - this.element.hover(function () { - if (self.isEnabled() && self.isValid() && self.expander.isEnabled() && self.expander.isValid()) { - self.element.addClass(o.hoverClass); - } - }, function () { - if (self.isEnabled() && self.isValid() && self.expander.isEnabled() && self.expander.isValid()) { - self.element.removeClass(o.hoverClass); - } - }); - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - element: this, - items: [ - {el: this.expander} - ] - }); - o.isDefaultInit && this._assertPopupView(); - if (this.expander.isOpened() === true) { - this._popupView(); - } - }, - - _toggle: function () { - this._assertPopupViewRender(); - if (this.popupView.isVisible()) { - this._hideView(); - } else { - if (this.isEnabled()) { - this._popupView(); - } - } - }, - - _initPullDownAction: function () { - var self = this, o = this.options; - var evs = this.options.trigger.split(","); - BI.each(evs, function (i, e) { - switch (e) { - case "hover": - self.element[e](function (e) { - if (self.isEnabled() && self.isValid() && self.expander.isEnabled() && self.expander.isValid()) { - self._popupView(); - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EXPAND, '', self.expander); - self.fireEvent(BI.Expander.EVENT_EXPAND); - } - }, function () { - if (self.isEnabled() && self.isValid() && self.expander.isEnabled() && self.expander.isValid() && o.toggle) { - self._hideView(); - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.COLLAPSE, '', self.expander); - self.fireEvent(BI.Expander.EVENT_COLLAPSE); - } - }); - break; - default : - if (e) { - self.element.off(e + "." + self.getName()).on(e + "." + self.getName(), BI.debounce(function (e) { - if (self.expander.element.__isMouseInBounds__(e)) { - if (self.isEnabled() && self.isValid() && self.expander.isEnabled() && self.expander.isValid()) { - o.toggle ? self._toggle() : self._popupView(); - if (self.isExpanded()) { - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EXPAND, "", self.expander); - self.fireEvent(BI.Expander.EVENT_EXPAND); - } else { - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.COLLAPSE, '', self.expander); - self.fireEvent(BI.Expander.EVENT_COLLAPSE); - } - } - } - }, BI.EVENT_RESPONSE_TIME, true)); - } - break; - } - }) - }, - - _initExpander: function () { - this.expander = BI.createWidget(this.options.el); - }, - - _assertPopupView: function () { - var self = this; - if (this.popupView == null) { - this.popupView = BI.createWidget(this.options.popup, { - type: "bi.button_group", - cls: "expander-popup", - layouts: [{ - type: "bi.vertical", - hgap: 0, - vgap: 0 - }] - }); - this.popupView.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - //self.setValue(self.getValue()); - self.fireEvent(BI.Expander.EVENT_CHANGE, value, obj); - } - }); - this.popupView.setVisible(this.isExpanded()); - BI.nextTick(function () { - self.fireEvent(BI.Expander.EVENT_AFTER_INIT); - }); - } - }, - - _assertPopupViewRender: function () { - this._assertPopupView(); - if (!this._rendered) { - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - element: this, - items: [ - {el: this.popupView} - ] - }); - this._rendered = true; - } - }, - - _hideView: function () { - this.fireEvent(BI.Expander.EVENT_BEFORE_HIDEVIEW); - this._expanded = false; - this.expander.setOpened(false); - this.popupView && this.popupView.invisible(); - this.element.removeClass(this.options.expanderClass); - - this.fireEvent(BI.Expander.EVENT_AFTER_HIDEVIEW); - }, - - _popupView: function () { - this._assertPopupViewRender(); - this.fireEvent(BI.Expander.EVENT_BEFORE_POPUPVIEW); - this._expanded = true; - this.expander.setOpened(true); - this.popupView.visible(); - this.element.addClass(this.options.expanderClass); - this.fireEvent(BI.Expander.EVENT_AFTER_POPUPVIEW); - }, - - populate: function (items) { - //this._assertPopupView(); - this.popupView && this.popupView.populate.apply(this.popupView, arguments); - this.expander.populate.apply(this.expander, arguments); - }, - - _setEnable: function (arg) { - BI.Expander.superclass._setEnable.apply(this, arguments); - !arg && this.element.removeClass(this.options.hoverClass); - !arg && this.isViewVisible() && this._hideView(); - }, - - setValue: function (v) { - //this._assertPopupView(); - this.expander.setValue(v); - this.popupView && this.popupView.setValue(v); - }, - - getValue: function () { - //this._assertPopupView(); - return this.popupView ? this.popupView.getValue() : []; - }, - - isViewVisible: function () { - return this.isEnabled() && this.expander.isEnabled() && !!this.popupView && this.popupView.isVisible(); - }, - - isExpanded: function () { - return this._expanded; - }, - - showView: function () { - if (this.isEnabled() && this.expander.isEnabled()) { - this._popupView(); - } - }, - - hideView: function () { - this._hideView(); - }, - - getView: function () { - return this.popupView; - }, - - getAllLeaves: function () { - return this.popupView && this.popupView.getAllLeaves(); - }, - - getNodeById: function (id) { - if (this.expander.options.id === id) { - return this.expander; - } - return this.popupView && this.popupView.getNodeById(id); - }, - - getNodeByValue: function (value) { - if (this.expander.getValue() === value) { - return this.expander; - } - return this.popupView && this.popupView.getNodeByValue(value); - }, - - destroy: function () { - BI.Expander.superclass.destroy.apply(this, arguments); - } -}); -BI.Expander.EVENT_EXPAND = "EVENT_EXPAND"; -BI.Expander.EVENT_COLLAPSE = "EVENT_COLLAPSE"; -BI.Expander.EVENT_TRIGGER_CHANGE = "EVENT_TRIGGER_CHANGE"; -BI.Expander.EVENT_CHANGE = "EVENT_CHANGE"; -BI.Expander.EVENT_AFTER_INIT = "EVENT_AFTER_INIT"; - - -BI.Expander.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.Expander.EVENT_AFTER_POPUPVIEW = "EVENT_AFTER_POPUPVIEW"; -BI.Expander.EVENT_BEFORE_HIDEVIEW = "EVENT_BEFORE_HIDEVIEW"; -BI.Expander.EVENT_AFTER_HIDEVIEW = "EVENT_AFTER_HIDEVIEW"; - -BI.shortcut("bi.expander", BI.Expander); \ No newline at end of file diff --git a/src/base/combination/group.button.js b/src/base/combination/group.button.js deleted file mode 100644 index 76be065fba..0000000000 --- a/src/base/combination/group.button.js +++ /dev/null @@ -1,325 +0,0 @@ -/** - * Created by GUY on 2015/6/26. - * @class BI.ButtonGroup - * @extends BI.Widget - */ - -BI.ButtonGroup = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.ButtonGroup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-button-group", - behaviors: {}, - items: [], - chooseType: BI.Selection.Single, - layouts: [{ - type: "bi.center", - hgap: 0, - vgap: 0 - }] - }) - }, - - _init: function () { - BI.ButtonGroup.superclass._init.apply(this, arguments); - var behaviors = {}; - BI.each(this.options.behaviors, function (key, rule) { - behaviors[key] = BI.BehaviorFactory.createBehavior(key, { - rule: rule - }) - }); - this.behaviors = behaviors; - this.populate(this.options.items); - }, - - _createBtns: function (items) { - var o = this.options; - return BI.createWidgets(BI.createItems(items, { - type: "bi.text_button" - })); - }, - - _btnsCreator: function (items) { - var self = this, args = Array.prototype.slice.call(arguments), o = this.options; - var buttons = this._createBtns(items); - args[0] = buttons; - - BI.each(this.behaviors, function (i, behavior) { - behavior.doBehavior.apply(behavior, args); - }); - BI.each(buttons, function (i, btn) { - btn.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - if (type === BI.Events.CLICK) { - switch (o.chooseType) { - case BI.ButtonGroup.CHOOSE_TYPE_SINGLE: - self.setValue(btn.getValue()); - break; - case BI.ButtonGroup.CHOOSE_TYPE_NONE: - self.setValue([]); - break; - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - self.fireEvent(BI.ButtonGroup.EVENT_CHANGE, value, obj); - } else { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - } - }); - btn.on(BI.Events.DESTROY, function () { - BI.remove(self.buttons, btn); - }) - }); - - return buttons; - }, - - _packageBtns: function (btns) { - var o = this.options; - for (var i = o.layouts.length - 1; i > 0; i--) { - btns = BI.map(btns, function (k, it) { - return BI.extend({}, o.layouts[i], { - items: [ - BI.extend({}, o.layouts[i].el, { - el: it - }) - ] - }) - }) - } - return btns; - }, - - _packageSimpleItems: function (btns) { - var o = this.options; - return BI.map(o.items, function (i, item) { - if (BI.stripEL(item) === item) { - return btns[i]; - } - return BI.extend({}, item, { - el: btns[i] - }) - }) - }, - - _packageItems: function (items, packBtns) { - return BI.createItems(BI.makeArrayByArray(items, {}), BI.clone(packBtns)); - }, - - _packageLayout: function (items) { - var o = this.options, layout = BI.deepClone(o.layouts[0]); - - var lay = BI.formatEL(layout).el; - while (lay && lay.items && !BI.isEmpty(lay.items)) { - lay = BI.formatEL(lay.items[0]).el; - } - lay.items = items; - return layout; - }, - - //如果是一个简单的layout - _isSimpleLayout: function () { - var o = this.options; - return o.layouts.length === 1 && !BI.isArray(o.items[0]) - }, - - doBehavior: function () { - var args = Array.prototype.slice.call(arguments); - args.unshift(this.buttons); - BI.each(this.behaviors, function (i, behavior) { - behavior.doBehavior.apply(behavior, args); - }) - }, - - prependItems: function (items) { - var o = this.options; - var btns = this._btnsCreator.apply(this, arguments); - this.buttons = BI.concat(btns, this.buttons); - - if (this._isSimpleLayout() && this.layouts && this.layouts.prependItems) { - this.layouts.prependItems(btns); - return; - } - - items = this._packageItems(items, this._packageBtns(btns)); - this.layouts.prependItems(this._packageLayout(items).items); - }, - - addItems: function (items) { - var o = this.options; - var btns = this._btnsCreator.apply(this, arguments); - this.buttons = BI.concat(this.buttons, btns); - - //如果是一个简单的layout - if (this._isSimpleLayout() && this.layouts && this.layouts.addItems) { - this.layouts.addItems(btns); - return; - } - - items = this._packageItems(items, this._packageBtns(btns)); - this.layouts.addItems(this._packageLayout(items).items); - }, - - removeItemAt: function (indexes) { - BI.removeAt(this.buttons, indexes); - this.layouts.removeItemAt(indexes); - }, - - removeItems: function (values) { - values = BI.isArray(values) ? values : [values]; - var deleted = []; - BI.each(this.buttons, function (i, button) { - if (BI.deepContains(values, button.getValue())) { - deleted.push(i); - } - }); - BI.removeAt(this.buttons, deleted); - this.layouts.removeItemAt(deleted); - }, - - populate: function (items) { - items = items || []; - this.empty(); - this.options.items = items; - - this.buttons = this._btnsCreator.apply(this, arguments); - if (this._isSimpleLayout()) { - items = this._packageSimpleItems(this.buttons); - } else { - items = this._packageItems(items, this._packageBtns(this.buttons)); - } - - this.layouts = BI.createWidget(BI.extend({element: this}, this._packageLayout(items))); - }, - - setNotSelectedValue: function (v) { - v = BI.isArray(v) ? v : [v]; - BI.each(this.buttons, function (i, item) { - if (BI.deepContains(v, item.getValue())) { - item.setSelected && item.setSelected(false); - } else { - item.setSelected && item.setSelected(true); - } - }); - }, - - setEnabledValue: function (v) { - v = BI.isArray(v) ? v : [v]; - BI.each(this.buttons, function (i, item) { - if (BI.deepContains(v, item.getValue())) { - item.setEnable(true); - } else { - item.setEnable(false); - } - }); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - BI.each(this.buttons, function (i, item) { - if (BI.deepContains(v, item.getValue())) { - item.setSelected && item.setSelected(true); - } else { - item.setSelected && item.setSelected(false); - } - }); - }, - - getNotSelectedValue: function () { - var v = []; - BI.each(this.buttons, function (i, item) { - if (item.isEnabled() && !(item.isSelected && item.isSelected())) { - v.push(item.getValue()); - } - }); - return v; - }, - - getValue: function () { - var v = []; - BI.each(this.buttons, function (i, item) { - if (item.isEnabled() && item.isSelected && item.isSelected()) { - v.push(item.getValue()); - } - }); - return v; - }, - - getAllButtons: function () { - return this.buttons; - }, - - getAllLeaves: function () { - return this.buttons; - }, - - getSelectedButtons: function () { - var btns = []; - BI.each(this.buttons, function (i, item) { - if (item.isSelected && item.isSelected()) { - btns.push(item); - } - }); - return btns; - }, - - getNotSelectedButtons: function () { - var btns = []; - BI.each(this.buttons, function (i, item) { - if (item.isSelected && !item.isSelected()) { - btns.push(item); - } - }); - return btns; - }, - - getIndexByValue: function (value) { - var index = -1; - BI.any(this.buttons, function (i, item) { - if (item.isEnabled() && item.getValue() === value) { - index = i; - return true; - } - }); - return index; - }, - - getNodeById: function (id) { - var node; - BI.any(this.buttons, function (i, item) { - if (item.isEnabled() && item.options.id === id) { - node = item; - return true; - } - }); - return node; - }, - - getNodeByValue: function (value) { - var node; - BI.any(this.buttons, function (i, item) { - if (item.isEnabled() && item.getValue() === value) { - node = item; - return true; - } - }); - return node; - }, - - empty: function () { - BI.ButtonGroup.superclass.empty.apply(this, arguments); - this.options.items = []; - }, - - destroy: function () { - BI.ButtonGroup.superclass.destroy.apply(this, arguments); - this.options.items = []; - } -}); -BI.extend(BI.ButtonGroup, { - CHOOSE_TYPE_SINGLE: BI.Selection.Single, - CHOOSE_TYPE_MULTI: BI.Selection.Multi, - CHOOSE_TYPE_ALL: BI.Selection.All, - CHOOSE_TYPE_NONE: BI.Selection.None, - CHOOSE_TYPE_DEFAULT: BI.Selection.Default -}); -BI.ButtonGroup.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.button_group", BI.ButtonGroup); \ No newline at end of file diff --git a/src/base/combination/group.combo.js b/src/base/combination/group.combo.js deleted file mode 100644 index 4097888732..0000000000 --- a/src/base/combination/group.combo.js +++ /dev/null @@ -1,96 +0,0 @@ -/** - * Created by GUY on 2015/8/10. - */ - -BI.ComboGroup = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.ComboGroup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-combo-group bi-list-item", - - //以下这些属性对每一个combo都是公用的 - trigger: "click,hover", - direction: "right", - adjustLength: 0, - isDefaultInit: false, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - - el: {type: "bi.text_button", text: "", value: ""}, - children: [], - - popup: { - el: { - type: "bi.button_tree", - chooseType: 0, - layouts: [{ - type: "bi.vertical" - }] - } - } - }) - }, - - _init: function () { - BI.ComboGroup.superclass._init.apply(this, arguments); - this._populate(this.options.el); - }, - - _populate: function (item) { - var self = this, o = this.options; - var children = o.children; - if (BI.isEmpty(children)) { - throw new Error("ComboGroup构造错误"); - } - BI.each(children, function (i, ch) { - var son = BI.formatEL(ch).el.children; - ch = BI.formatEL(ch).el; - if (!BI.isEmpty(son)) { - ch.el = BI.clone(ch); - ch.children = son; - ch.type = "bi.combo_group"; - ch.action = o.action; - ch.height = o.height; - ch.direction = o.direction; - ch.isDefaultInit = o.isDefaultInit; - ch.isNeedAdjustHeight = o.isNeedAdjustHeight; - ch.isNeedAdjustWidth = o.isNeedAdjustWidth; - ch.adjustLength = o.adjustLength; - ch.popup = o.popup; - } - }) - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - height: o.height, - trigger: o.trigger, - direction: o.direction, - isDefaultInit: o.isDefaultInit, - isNeedAdjustWidth: o.isNeedAdjustWidth, - isNeedAdjustHeight: o.isNeedAdjustHeight, - adjustLength: o.adjustLength, - el: item, - popup: BI.extend({}, o.popup, { - el: BI.extend({ - items: children - }, o.popup.el) - }) - }) - this.combo.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.ComboGroup.EVENT_CHANGE, obj); - } - }) - }, - - getValue: function () { - return this.combo.getValue(); - }, - - setValue: function (v) { - this.combo.setValue(v); - } -}); -BI.ComboGroup.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.combo_group", BI.ComboGroup); \ No newline at end of file diff --git a/src/base/combination/group.virtual.js b/src/base/combination/group.virtual.js deleted file mode 100644 index 02d72aa4b2..0000000000 --- a/src/base/combination/group.virtual.js +++ /dev/null @@ -1,80 +0,0 @@ -BI.VirtualGroup = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.VirtualGroup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-virtual-group", - items: [], - layouts: [{ - type: "bi.center", - hgap: 0, - vgap: 0 - }] - }) - }, - - render: function () { - this.populate(this.options.items); - }, - - _packageBtns: function (items) { - var o = this.options; - - for (var i = o.layouts.length - 1; i > 0; i--) { - items = BI.map(items, function (k, it) { - return BI.extend({}, o.layouts[i], { - items: [ - BI.extend({}, o.layouts[i].el, { - el: BI.stripEL(it) - }) - ] - }) - }) - } - return items; - }, - - _packageItems: function (items, packBtns) { - return BI.createItems(BI.makeArrayByArray(items, {}), BI.clone(packBtns)); - }, - - _packageLayout: function (items) { - var o = this.options, layout = BI.deepClone(o.layouts[0]); - - var lay = BI.formatEL(layout).el; - while (lay && lay.items && !BI.isEmpty(lay.items)) { - lay = BI.formatEL(lay.items[0]).el; - } - lay.items = items; - return layout; - }, - - addItems: function (items) { - this.layouts.addItems(items); - }, - - prependItems: function (items) { - this.layouts.prependItems(items); - }, - - setValue: function (v) { - // this.layouts.setValue(v); - }, - - getValue: function () { - return this.layouts.getValue(); - }, - - populate: function (items) { - var self = this; - items = items || []; - this.options.items = items; - items = this._packageBtns(items); - if (!this.layouts) { - this.layouts = BI.createWidget(BI.extend({element: this}, this._packageLayout(items))); - } else { - this.layouts.populate(items); - } - } -}); -BI.VirtualGroup.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.virtual_group", BI.VirtualGroup); \ No newline at end of file diff --git a/src/base/combination/loader.js b/src/base/combination/loader.js deleted file mode 100644 index 9b6acbb9f7..0000000000 --- a/src/base/combination/loader.js +++ /dev/null @@ -1,254 +0,0 @@ -/** - * 加载控件 - * - * Created by GUY on 2015/8/31. - * @class BI.Loader - * @extends BI.Widget - */ -BI.Loader = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.Loader.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-loader", - - direction: "top", - isDefaultInit: true,//是否默认初始化数据 - logic: { - dynamic: true, - scrolly: true - }, - - //下面是button_group的属性 - el: { - type: "bi.button_group" - }, - - items: [], - itemsCreator: BI.emptyFn, - onLoaded: BI.emptyFn, - - //下面是分页信息 - count: false, - prev: false, - next: {}, - hasPrev: BI.emptyFn, - hasNext: BI.emptyFn - }) - }, - - _prevLoad: function () { - var self = this, o = this.options; - this.prev.setLoading(); - o.itemsCreator.apply(this, [{times: --this.times}, function () { - self.prev.setLoaded(); - self.prependItems.apply(self, arguments); - }]); - }, - - _nextLoad: function () { - var self = this, o = this.options; - this.next.setLoading(); - o.itemsCreator.apply(this, [{times: ++this.times}, function () { - self.next.setLoaded(); - self.addItems.apply(self, arguments); - }]); - }, - - _init: function () { - BI.Loader.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (o.itemsCreator === false) { - o.prev = false; - o.next = false; - } - if (o.prev !== false) { - this.prev = BI.createWidget(BI.extend({ - type: "bi.loading_bar" - }, o.prev)); - this.prev.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - self._prevLoad(); - } - }); - } - - this.button_group = BI.createWidget(o.el, { - type: "bi.button_group", - chooseType: 0, - items: o.items, - behaviors: {}, - layouts: [{ - type: "bi.vertical" - }] - }); - this.button_group.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.Loader.EVENT_CHANGE, obj); - } - }); - - if (o.next !== false) { - this.next = BI.createWidget(BI.extend({ - type: "bi.loading_bar" - }, o.next)); - this.next.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - self._nextLoad(); - } - }) - } - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction), BI.extend({ - scrolly: true - }, o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection(o.direction, this.prev, this.button_group, this.next) - })))); - - o.isDefaultInit && BI.isEmpty(o.items) && BI.nextTick(BI.bind(function () { - o.isDefaultInit && BI.isEmpty(o.items) && this.populate(); - }, this)); - if (BI.isNotEmptyArray(o.items)) { - this.populate(o.items); - } - }, - - hasPrev: function () { - var o = this.options; - if (BI.isNumber(o.count)) { - return this.count < o.count; - } - return !!o.hasPrev.apply(this, [{ - times: this.times, - count: this.count - }]) - }, - - hasNext: function () { - var o = this.options; - if (BI.isNumber(o.count)) { - return this.count < o.count; - } - return !!o.hasNext.apply(this, [{ - times: this.times, - count: this.count - }]) - }, - - prependItems: function (items) { - this.count += items.length; - if (this.next !== false) { - if (this.hasPrev()) { - this.options.items = this.options.items.concat(items); - this.prev.setLoaded(); - } else { - this.prev.setEnd(); - } - } - this.button_group.prependItems.apply(this.button_group, arguments); - }, - - addItems: function (items) { - this.count += items.length; - if (BI.isObject(this.next)) { - if (this.hasNext()) { - this.options.items = this.options.items.concat(items); - this.next.setLoaded(); - } else { - this.next.setEnd(); - } - } - this.button_group.addItems.apply(this.button_group, arguments); - }, - - populate: function (items) { - var self = this, o = this.options; - if (arguments.length === 0 && (BI.isFunction(o.itemsCreator))) { - o.itemsCreator.apply(this, [{times: 1}, function () { - if (arguments.length === 0) { - throw new Error("arguments can not be null!!!"); - } - self.populate.apply(self, arguments); - o.onLoaded(); - }]); - return; - } - this.options.items = items; - this.times = 1; - this.count = 0; - this.count += items.length; - if (BI.isObject(this.next)) { - if (this.hasNext()) { - this.next.setLoaded(); - } else { - this.next.invisible(); - } - } - if (BI.isObject(this.prev)) { - if (this.hasPrev()) { - this.prev.setLoaded(); - } else { - this.prev.invisible(); - } - } - this.button_group.populate.apply(this.button_group, arguments); - }, - - setNotSelectedValue: function () { - this.button_group.setNotSelectedValue.apply(this.button_group, arguments); - }, - - getNotSelectedValue: function () { - return this.button_group.getNotSelectedValue(); - }, - - setValue: function () { - this.button_group.setValue.apply(this.button_group, arguments); - }, - - getValue: function () { - return this.button_group.getValue.apply(this.button_group, arguments); - }, - - getAllButtons: function () { - return this.button_group.getAllButtons(); - }, - - getAllLeaves: function () { - return this.button_group.getAllLeaves(); - }, - - getSelectedButtons: function () { - return this.button_group.getSelectedButtons(); - }, - - getNotSelectedButtons: function () { - return this.button_group.getNotSelectedButtons(); - }, - - getIndexByValue: function (value) { - return this.button_group.getIndexByValue(value); - }, - - getNodeById: function (id) { - return this.button_group.getNodeById(id); - }, - - getNodeByValue: function (value) { - return this.button_group.getNodeByValue(value); - }, - - empty: function () { - this.button_group.empty(); - BI.each([this.prev, this.next], function (i, ob) { - ob && ob.setVisible(false); - }); - }, - - destroy: function () { - BI.Loader.superclass.destroy.apply(this, arguments); - } -}); -BI.Loader.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.loader", BI.Loader); \ No newline at end of file diff --git a/src/base/combination/navigation.js b/src/base/combination/navigation.js deleted file mode 100644 index 35f1e69d36..0000000000 --- a/src/base/combination/navigation.js +++ /dev/null @@ -1,158 +0,0 @@ -/** - * Created by GUY on 2015/6/26. - */ - -BI.Navigation = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.Navigation.superclass._defaultConfig.apply(this, arguments), { - direction: "bottom",//top, bottom, left, right, custom - logic: { - dynamic: false - }, - single: false, - defaultShowIndex: false, - tab: false, - cardCreator: function (v) { - return BI.createWidget(); - }, - - afterCardCreated: BI.emptyFn, - afterCardShow: BI.emptyFn - }) - }, - - render: function () { - var self = this, o = this.options; - this.tab = BI.createWidget(this.options.tab, {type: "bi.button_group"}); - this.cardMap = {}; - this.showIndex = 0; - this.layout = BI.createWidget({ - type: "bi.card" - }); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction), BI.extend({}, o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection(o.direction, this.tab, this.layout) - })))); - - - new BI.ShowListener({ - eventObj: this.tab, - cardLayout: this.layout, - cardNameCreator: function (v) { - return self.showIndex + v; - }, - cardCreator: function (v) { - var card = o.cardCreator(v); - self.cardMap[v] = card; - return card; - }, - afterCardCreated: BI.bind(this.afterCardCreated, this), - afterCardShow: BI.bind(this.afterCardShow, this) - }); - }, - - mounted: function () { - var o = this.options; - if (o.defaultShowIndex !== false) { - this.setSelect(o.defaultShowIndex); - } - }, - - _deleteOtherCards: function (currCardName) { - var self = this, o = this.options; - if (o.single === true) { - BI.each(this.cardMap, function (name, card) { - if (name !== (currCardName + "")) { - self.layout.deleteCardByName(name); - delete self.cardMap[name]; - } - }); - } - }, - - afterCardCreated: function (v) { - var self = this; - this.cardMap[v].on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.Navigation.EVENT_CHANGE, obj); - } - }); - this.options.afterCardCreated.apply(this, arguments); - }, - - afterCardShow: function (v) { - this.showIndex = v; - this._deleteOtherCards(v); - this.options.afterCardShow.apply(this, arguments); - }, - - populate: function () { - var card = this.layout.getShowingCard(); - if (card) { - return card.populate.apply(card, arguments); - } - }, - - _assertCard: function (v) { - if (!this.layout.isCardExisted(v)) { - var card = this.options.cardCreator(v); - this.cardMap[v] = card; - this.layout.addCardByName(v, card); - this.afterCardCreated(v); - } - }, - - setSelect: function (v) { - this._assertCard(v); - this.layout.showCardByName(v); - this._deleteOtherCards(v); - if (this.showIndex !== v) { - this.showIndex = v; - BI.nextTick(BI.bind(this.afterCardShow, this, v)); - } - }, - - getSelect: function () { - return this.showIndex; - }, - - getSelectedCard: function () { - if (BI.isKey(this.showIndex)) { - return this.cardMap[this.showIndex]; - } - }, - - /** - * @override - */ - setValue: function (v) { - var card = this.layout.getShowingCard(); - if (card) { - card.setValue(v); - } - }, - - /** - * @override - */ - getValue: function () { - var card = this.layout.getShowingCard(); - if (card) { - return card.getValue(); - } - }, - - empty: function () { - this.layout.deleteAllCard(); - this.cardMap = {}; - }, - - destroy: function () { - BI.Navigation.superclass.destroy.apply(this, arguments); - } -}); -BI.Navigation.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.navigation", BI.Navigation); \ No newline at end of file diff --git a/src/base/combination/searcher.js b/src/base/combination/searcher.js deleted file mode 100644 index 604b923f58..0000000000 --- a/src/base/combination/searcher.js +++ /dev/null @@ -1,301 +0,0 @@ -/** - * 搜索逻辑控件 - * - * Created by GUY on 2015/9/28. - * @class BI.Searcher - * @extends BI.Widget - */ - -BI.Searcher = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.Searcher.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-searcher", - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - vgap: 0, - hgap: 0, - - isDefaultInit: false, - isAutoSearch: true, //是否自动搜索 - isAutoSync: true, //是否自动同步数据, 即是否保持搜索面板和adapter面板状态值的统一 - chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE, - - //isAutoSearch为false时启用 - onSearch: function (op, callback) { - callback([]) - }, - - el: { - type: "bi.search_editor" - }, - - popup: { - type: "bi.searcher_view" - }, - - adapter: null, - masker: { //masker层 - offset: {} - } - }) - }, - - _init: function () { - BI.Searcher.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.editor = BI.createWidget(o.el, { - type: "bi.search_editor" - }); - - BI.createWidget({ - type: "bi.vertical", - element: this, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - vgap: o.vgap, - hgap: o.hgap, - items: [this.editor] - }); - o.isDefaultInit && (this._assertPopupView()); - - var search = BI.debounce(BI.bind(this._search, this), BI.EVENT_RESPONSE_TIME, true); - this.editor.on(BI.Controller.EVENT_CHANGE, function (type) { - switch (type) { - case BI.Events.STARTEDIT: - self._startSearch(); - break; - case BI.Events.EMPTY: - self._stopSearch(); - break; - case BI.Events.CHANGE: - search(); - break; - case BI.Events.PAUSE: - self._pauseSearch(); - break; - } - }) - }, - - _assertPopupView: function () { - var self = this, o = this.options; - if ((o.masker && !BI.Maskers.has(this.getName())) || (o.masker === false && !this.popupView)) { - this.popupView = BI.createWidget(o.popup, { - type: "bi.searcher_view", - chooseType: o.chooseType - }); - this.popupView.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - if (o.isAutoSync) { - var values = o.adapter && o.adapter.getValue(); - if (!obj.isSelected()) { - o.adapter && o.adapter.setValue(BI.deepWithout(values, obj.getValue())); - } else { - switch (o.chooseType) { - case BI.ButtonGroup.CHOOSE_TYPE_SINGLE: - o.adapter && o.adapter.setValue([obj.getValue()]); - break; - case BI.ButtonGroup.CHOOSE_TYPE_MULTI: - values.push(obj.getValue()); - o.adapter && o.adapter.setValue(values); - break; - } - } - } - self.fireEvent(BI.Searcher.EVENT_CHANGE, value, obj); - } - }); - BI.nextTick(function () { - self.fireEvent(BI.Searcher.EVENT_AFTER_INIT); - }); - } - if (o.masker && !BI.Maskers.has(this.getName())) { - BI.Maskers.create(this.getName(), o.adapter, BI.extend({ - container: this, - render: this.popupView - }, o.masker)); - } - }, - - _startSearch: function () { - this._assertPopupView(); - this._stop = false; - this._isSearching = true; - this.fireEvent(BI.Searcher.EVENT_START); - this.popupView.startSearch && this.popupView.startSearch(); - //搜索前先清空dom - // BI.Maskers.get(this.getName()).empty(); - BI.nextTick(function (name) { - BI.Maskers.show(name); - }, this.getName()); - }, - - _pauseSearch: function () { - var o = this.options, name = this.getName(); - this._stop = true; - BI.nextTick(function (name) { - BI.Maskers.hide(name); - }, this.getName()); - if (this._isSearching === true) { - this.popupView && this.popupView.pauseSearch && this.popupView.pauseSearch(); - this.fireEvent(BI.Searcher.EVENT_PAUSE); - } - this._isSearching = false; - }, - - _stopSearch: function () { - var o = this.options, name = this.getName(); - this._stop = true; - BI.Maskers.hide(name); - if (this._isSearching === true) { - this.popupView && this.popupView.stopSearch && this.popupView.stopSearch(); - this.fireEvent(BI.Searcher.EVENT_STOP); - } - this._isSearching = false; - }, - - _search: function () { - var self = this, o = this.options, keyword = this.editor.getValue(); - if (keyword === "" || this._stop) { - return; - } - if (o.isAutoSearch) { - var items = (o.adapter && ((o.adapter.getItems && o.adapter.getItems()) || o.adapter.attr("items"))) || []; - var finding = BI.Func.getSearchResult(items, keyword); - var matched = finding.matched, finded = finding.finded; - this.popupView.populate(finded, matched, keyword); - o.isAutoSync && o.adapter && o.adapter.getValue && this.popupView.setValue(o.adapter.getValue()); - self.fireEvent(BI.Searcher.EVENT_SEARCHING); - return; - } - this.popupView.loading && this.popupView.loading(); - o.onSearch({ - times: 1, - keyword: keyword, - selectedValues: o.adapter && o.adapter.getValue() - }, function (searchResult, matchResult) { - if (!self._stop) { - var args = [].slice.call(arguments); - if (args.length > 0) { - args.push(keyword); - } - BI.Maskers.show(self.getName()); - self.popupView.populate.apply(self.popupView, args); - o.isAutoSync && o.adapter && o.adapter.getValue && self.popupView.setValue(o.adapter.getValue()); - self.popupView.loaded && self.popupView.loaded(); - self.fireEvent(BI.Searcher.EVENT_SEARCHING); - } - }); - }, - - setAdapter: function (adapter) { - this.options.adapter = adapter; - BI.Maskers.remove(this.getName()); - }, - - doSearch: function () { - if (this.isSearching()) { - this._search(); - } - }, - - stopSearch: function () { - this._stopSearch();//先停止搜索,然后再去设置editor为空 - //important:停止搜索必须退出编辑状态,这里必须加上try(input框不显示时blur会抛异常) - try { - this.editor.blur(); - } catch (e) { - if (!this.editor.blur) { - throw new Error("editor没有实现blur方法"); - } - } finally { - this.editor.setValue(""); - } - }, - - isSearching: function () { - return this._isSearching; - }, - - isViewVisible: function () { - return this.editor.isEnabled() && BI.Maskers.isVisible(this.getName()); - }, - - getView: function () { - return this.popupView; - }, - - hasMatched: function () { - this._assertPopupView(); - return this.popupView.hasMatched(); - }, - - adjustHeight: function () { - if (BI.Maskers.has(this.getName()) && BI.Maskers.get(this.getName()).isVisible()) { - BI.Maskers.show(this.getName()); - } - }, - - adjustView: function () { - this.isViewVisible() && BI.Maskers.show(this.getName()); - }, - - setValue: function (v) { - this._assertPopupView(); - this.popupView && this.popupView.setValue(v); - }, - - getKeyword: function () { - return this.editor.getValue(); - }, - - getKeywords: function () { - return this.editor.getKeywords(); - }, - - getValue: function () { - var o = this.options; - if (o.isAutoSync && o.adapter && o.adapter.getValue) { - return o.adapter.getValue(); - } - if (this.isSearching()) { - return this.popupView.getValue(); - } else if (o.adapter && o.adapter.getValue) { - return o.adapter.getValue(); - } else { - return this.popupView.getValue(); - } - }, - - populate: function (result, searchResult, keyword) { - var o = this.options; - this._assertPopupView(); - this.popupView.populate.apply(this.popupView, arguments); - if (o.isAutoSync && o.adapter && o.adapter.getValue) { - this.popupView.setValue(o.adapter.getValue()); - } - }, - - empty: function () { - this.popupView && this.popupView.empty(); - }, - - destroy: function () { - BI.Maskers.remove(this.getName()); - BI.Searcher.superclass.destroy.apply(this, arguments); - } -}); -BI.Searcher.EVENT_CHANGE = "EVENT_CHANGE"; -BI.Searcher.EVENT_START = "EVENT_START"; -BI.Searcher.EVENT_STOP = "EVENT_STOP"; -BI.Searcher.EVENT_PAUSE = "EVENT_PAUSE"; -BI.Searcher.EVENT_SEARCHING = "EVENT_SEARCHING"; -BI.Searcher.EVENT_AFTER_INIT = "EVENT_AFTER_INIT"; - -BI.shortcut("bi.searcher", BI.Searcher); \ No newline at end of file diff --git a/src/base/combination/switcher.js b/src/base/combination/switcher.js deleted file mode 100644 index 650d919431..0000000000 --- a/src/base/combination/switcher.js +++ /dev/null @@ -1,280 +0,0 @@ -/** - * - * 切换显示或隐藏面板 - * - * Created by GUY on 2015/11/2. - * @class BI.Switcher - * @extends BI.Widget - */ -BI.Switcher = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.Switcher.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-switcher", - direction: BI.Direction.Top, - trigger: "click", - toggle: true, - el: {}, - popup: {}, - adapter: null, - masker: {}, - switcherClass: "bi-switcher-popup", - hoverClass: "bi-switcher-hover" - }) - }, - - _init: function () { - BI.Switcher.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this._initSwitcher(); - this._initPullDownAction(); - this.switcher.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - if (self.isEnabled() && self.isValid()) { - if (type === BI.Events.EXPAND) { - self._popupView(); - } - if (type === BI.Events.COLLAPSE) { - self._hideView(); - } - if (type === BI.Events.EXPAND) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - self.fireEvent(BI.Switcher.EVENT_EXPAND); - } - if (type === BI.Events.COLLAPSE) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - self.isViewVisible() && self.fireEvent(BI.Switcher.EVENT_COLLAPSE); - } - if (type === BI.Events.CLICK) { - self.fireEvent(BI.Switcher.EVENT_TRIGGER_CHANGE, value, obj); - } - } - }); - - this.element.hover(function () { - if (self.isEnabled() && self.switcher.isEnabled()) { - self.element.addClass(o.hoverClass); - } - }, function () { - if (self.isEnabled() && self.switcher.isEnabled()) { - self.element.removeClass(o.hoverClass); - } - }); - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - element: this, - items: [ - {el: this.switcher} - ] - }); - o.isDefaultInit && (this._assertPopupView()); - }, - - _toggle: function () { - this._assertPopupView(); - if (this.isExpanded()) { - this._hideView(); - } else { - if (this.isEnabled()) { - this._popupView(); - } - } - }, - - _initPullDownAction: function () { - var self = this, o = this.options; - var evs = this.options.trigger.split(","); - BI.each(evs, function (i, e) { - switch (e) { - case "hover": - self.element[e](function (e) { - if (self.isEnabled() && self.switcher.isEnabled()) { - self._popupView(); - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EXPAND, '', self.switcher); - self.fireEvent(BI.Switcher.EVENT_EXPAND); - } - }, function () { - if (self.isEnabled() && self.switcher.isEnabled() && o.toggle) { - self._hideView(); - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.COLLAPSE, '', self.switcher); - self.fireEvent(BI.Switcher.EVENT_COLLAPSE); - } - }); - break; - default : - if (e) { - self.element.off(e + "." + self.getName()).on(e + "." + self.getName(), BI.debounce(function (e) { - if (self.switcher.element.__isMouseInBounds__(e)) { - if (self.isEnabled() && self.switcher.isEnabled()) { - o.toggle ? self._toggle() : self._popupView(); - if (self.isExpanded()) { - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EXPAND, '', self.switcher); - self.fireEvent(BI.Switcher.EVENT_EXPAND); - } else { - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.COLLAPSE, '', self.switcher); - self.fireEvent(BI.Switcher.EVENT_COLLAPSE); - } - } - } - }, BI.EVENT_RESPONSE_TIME, true)); - } - break; - } - }) - }, - - _initSwitcher: function () { - this.switcher = BI.createWidget(this.options.el); - }, - - _assertPopupView: function () { - var self = this, o = this.options; - if (!this._created) { - this.popupView = BI.createWidget(o.popup, { - type: "bi.button_group", - element: o.adapter && BI.Maskers.create(this.getName(), o.adapter, BI.extend({container: this}, o.masker)), - cls: "switcher-popup", - layouts: [{ - type: "bi.vertical", - hgap: 0, - vgap: 0 - }] - }); - this.popupView.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.Switcher.EVENT_CHANGE, value, obj); - } - }); - if (o.direction !== BI.Direction.Custom && !o.adapter) { - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - element: this, - items: [ - {el: this.popupView} - ] - }); - } - this._created = true; - BI.nextTick(function () { - self.fireEvent(BI.Switcher.EVENT_AFTER_INIT); - }); - } - }, - - _hideView: function () { - this.fireEvent(BI.Switcher.EVENT_BEFORE_HIDEVIEW); - var self = this, o = this.options; - o.adapter ? BI.Maskers.hide(self.getName()) : (self.popupView && self.popupView.setVisible(false)); - BI.nextTick(function () { - o.adapter ? BI.Maskers.hide(self.getName()) : (self.popupView && self.popupView.setVisible(false)); - self.element.removeClass(o.switcherClass); - self.fireEvent(BI.Switcher.EVENT_AFTER_HIDEVIEW); - }); - }, - - _popupView: function () { - var self = this, o = this.options; - this._assertPopupView(); - this.fireEvent(BI.Switcher.EVENT_BEFORE_POPUPVIEW); - o.adapter ? BI.Maskers.show(this.getName()) : self.popupView.setVisible(true); - BI.nextTick(function (name) { - o.adapter ? BI.Maskers.show(name) : self.popupView.setVisible(true); - self.element.addClass(o.switcherClass); - self.fireEvent(BI.Switcher.EVENT_AFTER_POPUPVIEW); - }, this.getName()); - }, - - populate: function (items) { - this._assertPopupView(); - this.popupView.populate.apply(this.popupView, arguments); - this.switcher.populate.apply(this.switcher, arguments); - }, - - _setEnable: function (arg) { - BI.Switcher.superclass._setEnable.apply(this, arguments); - !arg && this.isViewVisible() && this._hideView(); - }, - - setValue: function (v) { - this._assertPopupView(); - this.switcher.setValue(v); - this.popupView && this.popupView.setValue(v); - }, - - getValue: function () { - this._assertPopupView(); - return this.popupView ? this.popupView.getValue() : []; - }, - - setAdapter: function (adapter) { - this.options.adapter = adapter; - BI.Maskers.remove(this.getName()); - }, - - isViewVisible: function () { - return this.isEnabled() && this.switcher.isEnabled() && - (this.options.adapter ? BI.Maskers.isVisible(this.getName()) : (this.popupView && this.popupView.isVisible())); - }, - - isExpanded: function () { - return this.isViewVisible(); - }, - - showView: function () { - if (this.isEnabled() && this.switcher.isEnabled()) { - this._popupView(); - } - }, - - hideView: function () { - this._hideView(); - }, - - getView: function () { - return this.popupView; - }, - - adjustView: function () { - this.isViewVisible() && BI.Maskers.show(this.getName()); - }, - - getAllLeaves: function () { - return this.popupView && this.popupView.getAllLeaves(); - }, - - getNodeById: function (id) { - if (this.switcher.attr("id") === id) { - return this.switcher; - } - return this.popupView && this.popupView.getNodeById(id); - }, - - getNodeByValue: function (value) { - if (this.switcher.getValue() === value) { - return this.switcher; - } - return this.popupView && this.popupView.getNodeByValue(value); - }, - - empty: function () { - this.popupView && this.popupView.empty(); - }, - - destroy: function () { - BI.Switcher.superclass.destroy.apply(this, arguments); - } -}); -BI.Switcher.EVENT_EXPAND = "EVENT_EXPAND"; -BI.Switcher.EVENT_COLLAPSE = "EVENT_COLLAPSE"; -BI.Switcher.EVENT_TRIGGER_CHANGE = "EVENT_TRIGGER_CHANGE"; -BI.Switcher.EVENT_CHANGE = "EVENT_CHANGE"; -BI.Switcher.EVENT_AFTER_INIT = "EVENT_AFTER_INIT"; - - -BI.Switcher.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.Switcher.EVENT_AFTER_POPUPVIEW = "EVENT_AFTER_POPUPVIEW"; -BI.Switcher.EVENT_BEFORE_HIDEVIEW = "EVENT_BEFORE_HIDEVIEW"; -BI.Switcher.EVENT_AFTER_HIDEVIEW = "EVENT_AFTER_HIDEVIEW"; - -BI.shortcut("bi.switcher", BI.Switcher); \ No newline at end of file diff --git a/src/base/combination/tab.js b/src/base/combination/tab.js deleted file mode 100644 index f52576a538..0000000000 --- a/src/base/combination/tab.js +++ /dev/null @@ -1,153 +0,0 @@ -/** - * Created by GUY on 2015/6/26. - */ - -BI.Tab = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.Tab.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-tab", - direction: "top",//top, bottom, left, right, custom - single: false, //是不是单页面 - logic: { - dynamic: false - }, - defaultShowIndex: false, - tab: false, - cardCreator: function (v) { - return BI.createWidget(); - } - }) - }, - - render: function () { - var self = this, o = this.options; - if (BI.isObject(o.tab)) { - this.tab = BI.createWidget(this.options.tab, {type: "bi.button_group"}); - this.tab.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }) - } - this.cardMap = {}; - this.layout = BI.createWidget({ - type: "bi.card" - }); - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction), BI.extend({}, o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection(o.direction, this.tab, this.layout) - })))); - - var listener = new BI.ShowListener({ - eventObj: this.tab, - cardLayout: this.layout, - cardCreator: function (v) { - var card = o.cardCreator.apply(self, arguments); - self.cardMap[v] = card; - return card; - }, - afterCardShow: function (v) { - self._deleteOtherCards(v); - self.curr = v; - } - }); - listener.on(BI.ShowListener.EVENT_CHANGE, function (value) { - self.fireEvent(BI.Tab.EVENT_CHANGE, value, self); - }); - }, - - _deleteOtherCards: function (currCardName) { - var self = this, o = this.options; - if (o.single === true) { - BI.each(this.cardMap, function (name, card) { - if (name !== (currCardName + "")) { - self.layout.deleteCardByName(name); - delete self.cardMap[name]; - } - }); - } - }, - - _assertCard: function (v) { - if (!this.layout.isCardExisted(v)) { - var card = this.options.cardCreator(v); - this.cardMap[v] = card; - this.layout.addCardByName(v, card); - } - }, - - mounted: function () { - var o = this.options; - if (o.defaultShowIndex !== false) { - this.setSelect(o.defaultShowIndex); - } - }, - - setSelect: function (v) { - this.tab && this.tab.setValue(v); - this._assertCard(v); - this.layout.showCardByName(v); - this._deleteOtherCards(v); - if (this.curr !== v) { - this.curr = v; - } - }, - - removeTab: function (cardname) { - var self = this, o = this.options; - BI.any(this.cardMap, function (name, card) { - if (BI.isEqual(name, (cardname + ""))) { - self.layout.deleteCardByName(name); - delete self.cardMap[name]; - return true; - } - }); - }, - - getSelect: function () { - return this.curr; - }, - - getSelectedTab: function () { - return this.layout.getShowingCard(); - }, - - getTab: function (v) { - this._assertCard(v); - return this.layout.getCardByName(v); - }, - - setValue: function (v) { - var card = this.layout.getShowingCard(); - if (card) { - card.setValue(v); - } - }, - - getValue: function () { - var card = this.layout.getShowingCard(); - if (card) { - return card.getValue(); - } - }, - - populate: function () { - var card = this.layout.getShowingCard(); - if (card) { - return card.populate && card.populate.apply(card, arguments); - } - }, - - empty: function () { - this.layout.deleteAllCard(); - this.cardMap = {}; - }, - - destroy: function () { - this.cardMap = {}; - BI.Tab.superclass.destroy.apply(this, arguments); - } -}); -BI.Tab.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.tab", BI.Tab); \ No newline at end of file diff --git a/src/base/combination/tree.button.js b/src/base/combination/tree.button.js deleted file mode 100644 index 4eb6159718..0000000000 --- a/src/base/combination/tree.button.js +++ /dev/null @@ -1,182 +0,0 @@ -/** - * Created by GUY on 2015/8/10. - * @class BI.ButtonTree - * @extends BI.ButtonGroup - */ - -BI.ButtonTree = BI.inherit(BI.ButtonGroup, { - _defaultConfig: function () { - return BI.extend(BI.ButtonTree.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-button-tree" - }) - }, - - _init: function () { - BI.ButtonTree.superclass._init.apply(this, arguments); - }, - - setNotSelectedValue: function (v) { - v = BI.isArray(v) ? v : [v]; - BI.each(this.buttons, function (i, item) { - if (!BI.isFunction(item.setSelected)) { - item.setNotSelectedValue(v); - return; - } - if (BI.deepContains(v, item.getValue())) { - item.setSelected(false); - } else { - item.setSelected(true); - } - }); - }, - - setEnabledValue: function (v) { - v = BI.isArray(v) ? v : [v]; - BI.each(this.buttons, function (i, item) { - if (BI.isFunction(item.setEnabledValue)) { - item.setEnabledValue(v); - return; - } - if (BI.deepContains(v, item.getValue())) { - item.setEnable(true); - } else { - item.setEnable(false); - } - }); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - BI.each(this.buttons, function (i, item) { - if (!BI.isFunction(item.setSelected)) { - item.setValue(v); - return; - } - if (BI.deepContains(v, item.getValue())) { - item.setSelected(true); - } else { - item.setSelected(false); - } - }); - }, - - getNotSelectedValue: function () { - var v = []; - BI.each(this.buttons, function (i, item) { - if (item.isEnabled() && !BI.isFunction(item.setSelected)) { - v = BI.concat(v, item.getNotSelectedValue()); - return; - } - if (item.isEnabled() && item.isSelected && !item.isSelected()) { - v.push(item.getValue()); - } - }); - return v; - }, - - getValue: function () { - var v = []; - BI.each(this.buttons, function (i, item) { - if (item.isEnabled() && !BI.isFunction(item.setSelected)) { - v = BI.concat(v, item.getValue()); - return; - } - if (item.isEnabled() && item.isSelected && item.isSelected()) { - v.push(item.getValue()); - } - }); - return v; - }, - - getSelectedButtons: function () { - var btns = []; - BI.each(this.buttons, function (i, item) { - if (item.isEnabled() && !BI.isFunction(item.setSelected)) { - btns = btns.concat(item.getSelectedButtons()); - return; - } - if (item.isSelected && item.isSelected()) { - btns.push(item); - } - }); - return btns; - }, - - getNotSelectedButtons: function () { - var btns = []; - BI.each(this.buttons, function (i, item) { - if (item.isEnabled() && !BI.isFunction(item.setSelected)) { - btns = btns.concat(item.getNotSelectedButtons()); - return; - } - if (item.isSelected && !item.isSelected()) { - btns.push(item); - } - }); - return btns; - }, - - //获取所有的叶子节点 - getAllLeaves: function () { - var leaves = []; - BI.each(this.buttons, function (i, item) { - if (item.isEnabled() && !BI.isFunction(item.setSelected)) { - leaves = leaves.concat(item.getAllLeaves()); - return; - } - if (item.isEnabled()) { - leaves.push(item); - } - }); - return leaves; - }, - - getIndexByValue: function (value) { - var index = -1; - BI.any(this.buttons, function (i, item) { - var vs = item.getValue(); - if (item.isEnabled() && (vs === value || BI.contains(vs, value))) { - index = i; - return true; - } - }); - return index; - }, - - getNodeById: function (id) { - var node; - BI.any(this.buttons, function (i, item) { - if (item.isEnabled()) { - if (item.attr("id") === id) { - node = item; - return true; - } else if (BI.isFunction(item.getNodeById)) { - if (node = item.getNodeById(id)) { - return true; - } - } - } - }); - return node; - }, - - getNodeByValue: function (value) { - var node; - BI.any(this.buttons, function (i, item) { - if (item.isEnabled()) { - if (BI.isFunction(item.getNodeByValue)) { - if (node = item.getNodeByValue(value)) { - return true; - } - } else if (item.attr("value") === value) { - node = item; - return true; - } - } - }); - return node; - } -}); -BI.ButtonTree.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.button_tree", BI.ButtonTree); \ No newline at end of file diff --git a/src/base/el.js b/src/base/el.js deleted file mode 100644 index bf4b442f6b..0000000000 --- a/src/base/el.js +++ /dev/null @@ -1,42 +0,0 @@ -/** - * 表示当前对象 - * - * Created by GUY on 2015/9/7. - * @class BI.EL - * @extends BI.Widget - */ -BI.EL = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.EL.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-el", - el: {}, - layout: {} - }); - }, - _init: function () { - BI.EL.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.ele = BI.createWidget(o.el); - BI.createWidget(o.layout, { - type: "bi.adaptive", - element: this, - items: [this.ele] - }); - this.ele.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }) - }, - - setValue: function (v) { - this.ele.setValue(v); - }, - - getValue: function () { - return this.ele.getValue(); - }, - - populate: function () { - this.ele.populate.apply(this, arguments); - } -}); -BI.shortcut('bi.el', BI.EL); \ No newline at end of file diff --git a/src/base/formula/codemirror/codemirror.js b/src/base/formula/codemirror/codemirror.js deleted file mode 100644 index 94ae8faad3..0000000000 --- a/src/base/formula/codemirror/codemirror.js +++ /dev/null @@ -1,8736 +0,0 @@ -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: http://codemirror.net/LICENSE - -// This is CodeMirror (http://codemirror.net), a code editor -// implemented in JavaScript on top of the browser's DOM. -// -// You can find some technical background for some of the code below -// at http://marijnhaverbeke.nl/blog/#cm-internals . - -(function(mod) { - this.CodeMirror = mod(); -})(function() { - "use strict"; - - // BROWSER SNIFFING - - // Kludges for bugs and behavior differences that can't be feature - // detected are enabled based on userAgent etc sniffing. - - var gecko = /gecko\/\d/i.test(navigator.userAgent); - var ie_upto10 = /MSIE \d/.test(navigator.userAgent); - var ie_11up = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent); - var ie = ie_upto10 || ie_11up; - var ie_version = ie && (ie_upto10 ? document.documentMode || 6 : ie_11up[1]); - var webkit = /WebKit\//.test(navigator.userAgent); - var qtwebkit = webkit && /Qt\/\d+\.\d+/.test(navigator.userAgent); - var chrome = /Chrome\//.test(navigator.userAgent); - var presto = /Opera\//.test(navigator.userAgent); - var safari = /Apple Computer/.test(navigator.vendor); - var mac_geMountainLion = /Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent); - var phantom = /PhantomJS/.test(navigator.userAgent); - - var ios = /AppleWebKit/.test(navigator.userAgent) && /Mobile\/\w+/.test(navigator.userAgent); - // This is woefully incomplete. Suggestions for alternative methods welcome. - var mobile = ios || /Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent); - var mac = ios || /Mac/.test(navigator.platform); - var windows = /win/i.test(navigator.platform); - - var presto_version = presto && navigator.userAgent.match(/Version\/(\d*\.\d*)/); - if (presto_version) presto_version = Number(presto_version[1]); - if (presto_version && presto_version >= 15) { presto = false; webkit = true; } - // Some browsers use the wrong event properties to signal cmd/ctrl on OS X - var flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11)); - var captureRightClick = gecko || (ie && ie_version >= 9); - - // Optimize some code when these features are not used. - var sawReadOnlySpans = false, sawCollapsedSpans = false; - - // EDITOR CONSTRUCTOR - - // A CodeMirror instance represents an editor. This is the object - // that user code is usually dealing with. - - function CodeMirror(place, options) { - if (!(this instanceof CodeMirror)) return new CodeMirror(place, options); - - this.options = options = options ? copyObj(options) : {}; - // Determine effective options based on given values and defaults. - copyObj(defaults, options, false); - setGuttersForLineNumbers(options); - - var doc = options.value; - if (typeof doc == "string") doc = new Doc(doc, options.mode); - this.doc = doc; - - var input = new CodeMirror.inputStyles[options.inputStyle](this); - var display = this.display = new Display(place, doc, input); - display.wrapper.CodeMirror = this; - updateGutters(this); - themeChanged(this); - if (options.lineWrapping) - this.display.wrapper.className += " CodeMirror-wrap"; - if (options.autofocus && !mobile) display.input.focus(); - initScrollbars(this); - - this.state = { - keyMaps: [], // stores maps added by addKeyMap - overlays: [], // highlighting overlays, as added by addOverlay - modeGen: 0, // bumped when mode/overlay changes, used to invalidate highlighting info - overwrite: false, - delayingBlurEvent: false, - focused: false, - suppressEdits: false, // used to disable editing during key handlers when in readOnly mode - pasteIncoming: false, cutIncoming: false, // help recognize paste/cut edits in input.poll - draggingText: false, - highlight: new Delayed(), // stores highlight worker timeout - keySeq: null, // Unfinished key sequence - specialChars: null - }; - - var cm = this; - - // Override magic textarea content restore that IE sometimes does - // on our hidden textarea on reload - if (ie && ie_version < 11) setTimeout(function() { cm.display.input.reset(true); }, 20); - - registerEventHandlers(this); - ensureGlobalHandlers(); - - startOperation(this); - this.curOp.forceUpdate = true; - attachDoc(this, doc); - - if ((options.autofocus && !mobile) || cm.hasFocus()) - setTimeout(bind(onFocus, this), 20); - else - onBlur(this); - - for (var opt in optionHandlers) if (optionHandlers.hasOwnProperty(opt)) - optionHandlers[opt](this, options[opt], Init); - maybeUpdateLineNumberWidth(this); - if (options.finishInit) options.finishInit(this); - for (var i = 0; i < initHooks.length; ++i) initHooks[i](this); - endOperation(this); - // Suppress optimizelegibility in Webkit, since it breaks text - // measuring on line wrapping boundaries. - if (webkit && options.lineWrapping && - getComputedStyle(display.lineDiv).textRendering == "optimizelegibility") - display.lineDiv.style.textRendering = "auto"; - } - - // DISPLAY CONSTRUCTOR - - // The display handles the DOM integration, both for input reading - // and content drawing. It holds references to DOM nodes and - // display-related state. - - function Display(place, doc, input) { - var d = this; - this.input = input; - - // Covers bottom-right square when both scrollbars are present. - d.scrollbarFiller = elt("div", null, "CodeMirror-scrollbar-filler"); - d.scrollbarFiller.setAttribute("cm-not-content", "true"); - // Covers bottom of gutter when coverGutterNextToScrollbar is on - // and h scrollbar is present. - d.gutterFiller = elt("div", null, "CodeMirror-gutter-filler"); - d.gutterFiller.setAttribute("cm-not-content", "true"); - // Will contain the actual code, positioned to cover the viewport. - d.lineDiv = elt("div", null, "CodeMirror-code"); - // Elements are added to these to represent selection and cursors. - d.selectionDiv = elt("div", null, null, "position: relative; z-index: 1"); - d.cursorDiv = elt("div", null, "CodeMirror-cursors"); - // A visibility: hidden element used to find the size of things. - d.measure = elt("div", null, "CodeMirror-measure"); - // When lines outside of the viewport are measured, they are drawn in this. - d.lineMeasure = elt("div", null, "CodeMirror-measure"); - // Wraps everything that needs to exist inside the vertically-padded coordinate system - d.lineSpace = elt("div", [d.measure, d.lineMeasure, d.selectionDiv, d.cursorDiv, d.lineDiv], - null, "position: relative; outline: none"); - // Moved around its parent to cover visible view. - d.mover = elt("div", [elt("div", [d.lineSpace], "CodeMirror-lines")], null, "position: relative"); - // Set to the height of the document, allowing scrolling. - d.sizer = elt("div", [d.mover], "CodeMirror-sizer"); - d.sizerWidth = null; - // Behavior of elts with overflow: auto and padding is - // inconsistent across browsers. This is used to ensure the - // scrollable area is big enough. - d.heightForcer = elt("div", null, null, "position: absolute; height: " + scrollerGap + "px; width: 1px;"); - // Will contain the gutters, if any. - d.gutters = elt("div", null, "CodeMirror-gutters"); - d.lineGutter = null; - // Actual scrollable element. - d.scroller = elt("div", [d.sizer, d.heightForcer, d.gutters], "CodeMirror-scroll"); - d.scroller.setAttribute("tabIndex", "-1"); - // The element in which the editor lives. - d.wrapper = elt("div", [d.scrollbarFiller, d.gutterFiller, d.scroller], "CodeMirror"); - - // Work around IE7 z-index bug (not perfect, hence IE7 not really being supported) - if (ie && ie_version < 8) { d.gutters.style.zIndex = -1; d.scroller.style.paddingRight = 0; } - if (!webkit && !(gecko && mobile)) d.scroller.draggable = true; - - if (place) { - if (place.appendChild) place.appendChild(d.wrapper); - else place(d.wrapper); - } - - // Current rendered range (may be bigger than the view window). - d.viewFrom = d.viewTo = doc.first; - d.reportedViewFrom = d.reportedViewTo = doc.first; - // Information about the rendered lines. - d.view = []; - d.renderedView = null; - // Holds info about a single rendered line when it was rendered - // for measurement, while not in view. - d.externalMeasured = null; - // Empty space (in pixels) above the view - d.viewOffset = 0; - d.lastWrapHeight = d.lastWrapWidth = 0; - d.updateLineNumbers = null; - - d.nativeBarWidth = d.barHeight = d.barWidth = 0; - d.scrollbarsClipped = false; - - // Used to only resize the line number gutter when necessary (when - // the amount of lines crosses a boundary that makes its width change) - d.lineNumWidth = d.lineNumInnerWidth = d.lineNumChars = null; - // Set to true when a non-horizontal-scrolling line widget is - // added. As an optimization, line widget aligning is skipped when - // this is false. - d.alignWidgets = false; - - d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null; - - // Tracks the maximum line length so that the horizontal scrollbar - // can be kept static when scrolling. - d.maxLine = null; - d.maxLineLength = 0; - d.maxLineChanged = false; - - // Used for measuring wheel scrolling granularity - d.wheelDX = d.wheelDY = d.wheelStartX = d.wheelStartY = null; - - // True when shift is held down. - d.shift = false; - - // Used to track whether anything happened since the context menu - // was opened. - d.selForContextMenu = null; - - d.activeTouch = null; - - input.init(d); - } - - // STATE UPDATES - - // Used to get the editor into a consistent state again when options change. - - function loadMode(cm) { - cm.doc.mode = CodeMirror.getMode(cm.options, cm.doc.modeOption); - resetModeState(cm); - } - - function resetModeState(cm) { - cm.doc.iter(function(line) { - if (line.stateAfter) line.stateAfter = null; - if (line.styles) line.styles = null; - }); - cm.doc.frontier = cm.doc.first; - startWorker(cm, 100); - cm.state.modeGen++; - if (cm.curOp) regChange(cm); - } - - function wrappingChanged(cm) { - if (cm.options.lineWrapping) { - addClass(cm.display.wrapper, "CodeMirror-wrap"); - cm.display.sizer.style.minWidth = ""; - cm.display.sizerWidth = null; - } else { - rmClass(cm.display.wrapper, "CodeMirror-wrap"); - findMaxLine(cm); - } - estimateLineHeights(cm); - regChange(cm); - clearCaches(cm); - setTimeout(function(){updateScrollbars(cm);}, 100); - } - - // Returns a function that estimates the height of a line, to use as - // first approximation until the line becomes visible (and is thus - // properly measurable). - function estimateHeight(cm) { - var th = textHeight(cm.display), wrapping = cm.options.lineWrapping; - var perLine = wrapping && Math.max(5, cm.display.scroller.clientWidth / charWidth(cm.display) - 3); - return function(line) { - if (lineIsHidden(cm.doc, line)) return 0; - - var widgetsHeight = 0; - if (line.widgets) for (var i = 0; i < line.widgets.length; i++) { - if (line.widgets[i].height) widgetsHeight += line.widgets[i].height; - } - - if (wrapping) - return widgetsHeight + (Math.ceil(line.text.length / perLine) || 1) * th; - else - return widgetsHeight + th; - }; - } - - function estimateLineHeights(cm) { - var doc = cm.doc, est = estimateHeight(cm); - doc.iter(function(line) { - var estHeight = est(line); - if (estHeight != line.height) updateLineHeight(line, estHeight); - }); - } - - function themeChanged(cm) { - cm.display.wrapper.className = cm.display.wrapper.className.replace(/\s*cm-s-\S+/g, "") + - cm.options.theme.replace(/(^|\s)\s*/g, " cm-s-"); - clearCaches(cm); - } - - function guttersChanged(cm) { - updateGutters(cm); - regChange(cm); - setTimeout(function(){alignHorizontally(cm);}, 20); - } - - // Rebuild the gutter elements, ensure the margin to the left of the - // code matches their width. - function updateGutters(cm) { - var gutters = cm.display.gutters, specs = cm.options.gutters; - removeChildren(gutters); - for (var i = 0; i < specs.length; ++i) { - var gutterClass = specs[i]; - var gElt = gutters.appendChild(elt("div", null, "CodeMirror-gutter " + gutterClass)); - if (gutterClass == "CodeMirror-linenumbers") { - cm.display.lineGutter = gElt; - gElt.style.width = (cm.display.lineNumWidth || 1) + "px"; - } - } - gutters.style.display = i ? "" : "none"; - updateGutterSpace(cm); - } - - function updateGutterSpace(cm) { - var width = cm.display.gutters.offsetWidth; - cm.display.sizer.style.marginLeft = width + "px"; - } - - // Compute the character length of a line, taking into account - // collapsed ranges (see markText) that might hide parts, and join - // other lines onto it. - function lineLength(line) { - if (line.height == 0) return 0; - var len = line.text.length, merged, cur = line; - while (merged = collapsedSpanAtStart(cur)) { - var found = merged.find(0, true); - cur = found.from.line; - len += found.from.ch - found.to.ch; - } - cur = line; - while (merged = collapsedSpanAtEnd(cur)) { - var found = merged.find(0, true); - len -= cur.text.length - found.from.ch; - cur = found.to.line; - len += cur.text.length - found.to.ch; - } - return len; - } - - // Find the longest line in the document. - function findMaxLine(cm) { - var d = cm.display, doc = cm.doc; - d.maxLine = getLine(doc, doc.first); - d.maxLineLength = lineLength(d.maxLine); - d.maxLineChanged = true; - doc.iter(function(line) { - var len = lineLength(line); - if (len > d.maxLineLength) { - d.maxLineLength = len; - d.maxLine = line; - } - }); - } - - // Make sure the gutters options contains the element - // "CodeMirror-linenumbers" when the lineNumbers option is true. - function setGuttersForLineNumbers(options) { - var found = indexOf(options.gutters, "CodeMirror-linenumbers"); - if (found == -1 && options.lineNumbers) { - options.gutters = options.gutters.concat(["CodeMirror-linenumbers"]); - } else if (found > -1 && !options.lineNumbers) { - options.gutters = options.gutters.slice(0); - options.gutters.splice(found, 1); - } - } - - // SCROLLBARS - - // Prepare DOM reads needed to update the scrollbars. Done in one - // shot to minimize update/measure roundtrips. - function measureForScrollbars(cm) { - var d = cm.display, gutterW = d.gutters.offsetWidth; - var docH = Math.round(cm.doc.height + paddingVert(cm.display)); - return { - clientHeight: d.scroller.clientHeight, - viewHeight: d.wrapper.clientHeight, - scrollWidth: d.scroller.scrollWidth, clientWidth: d.scroller.clientWidth, - viewWidth: d.wrapper.clientWidth, - barLeft: cm.options.fixedGutter ? gutterW : 0, - docHeight: docH, - scrollHeight: docH + scrollGap(cm) + d.barHeight, - nativeBarWidth: d.nativeBarWidth, - gutterWidth: gutterW - }; - } - - function NativeScrollbars(place, scroll, cm) { - this.cm = cm; - var vert = this.vert = elt("div", [elt("div", null, null, "min-width: 1px")], "CodeMirror-vscrollbar"); - var horiz = this.horiz = elt("div", [elt("div", null, null, "height: 100%; min-height: 1px")], "CodeMirror-hscrollbar"); - place(vert); place(horiz); - - on(vert, "scroll", function() { - if (vert.clientHeight) scroll(vert.scrollTop, "vertical"); - }); - on(horiz, "scroll", function() { - if (horiz.clientWidth) scroll(horiz.scrollLeft, "horizontal"); - }); - - this.checkedOverlay = false; - // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8). - if (ie && ie_version < 8) this.horiz.style.minHeight = this.vert.style.minWidth = "18px"; - } - - NativeScrollbars.prototype = copyObj({ - update: function(measure) { - var needsH = measure.scrollWidth > measure.clientWidth + 1; - var needsV = measure.scrollHeight > measure.clientHeight + 1; - var sWidth = measure.nativeBarWidth; - - if (needsV) { - this.vert.style.display = "block"; - this.vert.style.bottom = needsH ? sWidth + "px" : "0"; - var totalHeight = measure.viewHeight - (needsH ? sWidth : 0); - // A bug in IE8 can cause this value to be negative, so guard it. - this.vert.firstChild.style.height = - Math.max(0, measure.scrollHeight - measure.clientHeight + totalHeight) + "px"; - } else { - this.vert.style.display = ""; - this.vert.firstChild.style.height = "0"; - } - - if (needsH) { - this.horiz.style.display = "block"; - this.horiz.style.right = needsV ? sWidth + "px" : "0"; - this.horiz.style.left = measure.barLeft + "px"; - var totalWidth = measure.viewWidth - measure.barLeft - (needsV ? sWidth : 0); - this.horiz.firstChild.style.width = - (measure.scrollWidth - measure.clientWidth + totalWidth) + "px"; - } else { - this.horiz.style.display = ""; - this.horiz.firstChild.style.width = "0"; - } - - if (!this.checkedOverlay && measure.clientHeight > 0) { - if (sWidth == 0) this.overlayHack(); - this.checkedOverlay = true; - } - - return {right: needsV ? sWidth : 0, bottom: needsH ? sWidth : 0}; - }, - setScrollLeft: function(pos) { - if (this.horiz.scrollLeft != pos) this.horiz.scrollLeft = pos; - }, - setScrollTop: function(pos) { - if (this.vert.scrollTop != pos) this.vert.scrollTop = pos; - }, - overlayHack: function() { - var w = mac && !mac_geMountainLion ? "12px" : "18px"; - this.horiz.style.minHeight = this.vert.style.minWidth = w; - var self = this; - var barMouseDown = function(e) { - if (e_target(e) != self.vert && e_target(e) != self.horiz) - operation(self.cm, onMouseDown)(e); - }; - on(this.vert, "mousedown", barMouseDown); - on(this.horiz, "mousedown", barMouseDown); - }, - clear: function() { - var parent = this.horiz.parentNode; - parent.removeChild(this.horiz); - parent.removeChild(this.vert); - } - }, NativeScrollbars.prototype); - - function NullScrollbars() {} - - NullScrollbars.prototype = copyObj({ - update: function() { return {bottom: 0, right: 0}; }, - setScrollLeft: function() {}, - setScrollTop: function() {}, - clear: function() {} - }, NullScrollbars.prototype); - - CodeMirror.scrollbarModel = {"native": NativeScrollbars, "null": NullScrollbars}; - - function initScrollbars(cm) { - if (cm.display.scrollbars) { - cm.display.scrollbars.clear(); - if (cm.display.scrollbars.addClass) - rmClass(cm.display.wrapper, cm.display.scrollbars.addClass); - } - - cm.display.scrollbars = new CodeMirror.scrollbarModel[cm.options.scrollbarStyle](function(node) { - cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller); - // Prevent clicks in the scrollbars from killing focus - on(node, "mousedown", function() { - if (cm.state.focused) setTimeout(function() { cm.display.input.focus(); }, 0); - }); - node.setAttribute("cm-not-content", "true"); - }, function(pos, axis) { - if (axis == "horizontal") setScrollLeft(cm, pos); - else setScrollTop(cm, pos); - }, cm); - if (cm.display.scrollbars.addClass) - addClass(cm.display.wrapper, cm.display.scrollbars.addClass); - } - - function updateScrollbars(cm, measure) { - if (!measure) measure = measureForScrollbars(cm); - var startWidth = cm.display.barWidth, startHeight = cm.display.barHeight; - updateScrollbarsInner(cm, measure); - for (var i = 0; i < 4 && startWidth != cm.display.barWidth || startHeight != cm.display.barHeight; i++) { - if (startWidth != cm.display.barWidth && cm.options.lineWrapping) - updateHeightsInViewport(cm); - updateScrollbarsInner(cm, measureForScrollbars(cm)); - startWidth = cm.display.barWidth; startHeight = cm.display.barHeight; - } - } - - // Re-synchronize the fake scrollbars with the actual size of the - // content. - function updateScrollbarsInner(cm, measure) { - var d = cm.display; - var sizes = d.scrollbars.update(measure); - - d.sizer.style.paddingRight = (d.barWidth = sizes.right) + "px"; - d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + "px"; - - if (sizes.right && sizes.bottom) { - d.scrollbarFiller.style.display = "block"; - d.scrollbarFiller.style.height = sizes.bottom + "px"; - d.scrollbarFiller.style.width = sizes.right + "px"; - } else d.scrollbarFiller.style.display = ""; - if (sizes.bottom && cm.options.coverGutterNextToScrollbar && cm.options.fixedGutter) { - d.gutterFiller.style.display = "block"; - d.gutterFiller.style.height = sizes.bottom + "px"; - d.gutterFiller.style.width = measure.gutterWidth + "px"; - } else d.gutterFiller.style.display = ""; - } - - // Compute the lines that are visible in a given viewport (defaults - // the the current scroll position). viewport may contain top, - // height, and ensure (see op.scrollToPos) properties. - function visibleLines(display, doc, viewport) { - var top = viewport && viewport.top != null ? Math.max(0, viewport.top) : display.scroller.scrollTop; - top = Math.floor(top - paddingTop(display)); - var bottom = viewport && viewport.bottom != null ? viewport.bottom : top + display.wrapper.clientHeight; - - var from = lineAtHeight(doc, top), to = lineAtHeight(doc, bottom); - // Ensure is a {from: {line, ch}, to: {line, ch}} object, and - // forces those lines into the viewport (if possible). - if (viewport && viewport.ensure) { - var ensureFrom = viewport.ensure.from.line, ensureTo = viewport.ensure.to.line; - if (ensureFrom < from) { - from = ensureFrom; - to = lineAtHeight(doc, heightAtLine(getLine(doc, ensureFrom)) + display.wrapper.clientHeight); - } else if (Math.min(ensureTo, doc.lastLine()) >= to) { - from = lineAtHeight(doc, heightAtLine(getLine(doc, ensureTo)) - display.wrapper.clientHeight); - to = ensureTo; - } - } - return {from: from, to: Math.max(to, from + 1)}; - } - - // LINE NUMBERS - - // Re-align line numbers and gutter marks to compensate for - // horizontal scrolling. - function alignHorizontally(cm) { - var display = cm.display, view = display.view; - if (!display.alignWidgets && (!display.gutters.firstChild || !cm.options.fixedGutter)) return; - var comp = compensateForHScroll(display) - display.scroller.scrollLeft + cm.doc.scrollLeft; - var gutterW = display.gutters.offsetWidth, left = comp + "px"; - for (var i = 0; i < view.length; i++) if (!view[i].hidden) { - if (cm.options.fixedGutter && view[i].gutter) - view[i].gutter.style.left = left; - var align = view[i].alignable; - if (align) for (var j = 0; j < align.length; j++) - align[j].style.left = left; - } - if (cm.options.fixedGutter) - display.gutters.style.left = (comp + gutterW) + "px"; - } - - // Used to ensure that the line number gutter is still the right - // size for the current document size. Returns true when an update - // is needed. - function maybeUpdateLineNumberWidth(cm) { - if (!cm.options.lineNumbers) return false; - var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display; - if (last.length != display.lineNumChars) { - var test = display.measure.appendChild(elt("div", [elt("div", last)], - "CodeMirror-linenumber CodeMirror-gutter-elt")); - var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW; - display.lineGutter.style.width = ""; - display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1; - display.lineNumWidth = display.lineNumInnerWidth + padding; - display.lineNumChars = display.lineNumInnerWidth ? last.length : -1; - display.lineGutter.style.width = display.lineNumWidth + "px"; - updateGutterSpace(cm); - return true; - } - return false; - } - - function lineNumberFor(options, i) { - return String(options.lineNumberFormatter(i + options.firstLineNumber)); - } - - // Computes display.scroller.scrollLeft + display.gutters.offsetWidth, - // but using getBoundingClientRect to get a sub-pixel-accurate - // result. - function compensateForHScroll(display) { - return display.scroller.getBoundingClientRect().left - display.sizer.getBoundingClientRect().left; - } - - // DISPLAY DRAWING - - function DisplayUpdate(cm, viewport, force) { - var display = cm.display; - - this.viewport = viewport; - // Store some values that we'll need later (but don't want to force a relayout for) - this.visible = visibleLines(display, cm.doc, viewport); - this.editorIsHidden = !display.wrapper.offsetWidth; - this.wrapperHeight = display.wrapper.clientHeight; - this.wrapperWidth = display.wrapper.clientWidth; - this.oldDisplayWidth = displayWidth(cm); - this.force = force; - this.dims = getDimensions(cm); - this.events = []; - } - - DisplayUpdate.prototype.signal = function(emitter, type) { - if (hasHandler(emitter, type)) - this.events.push(arguments); - }; - DisplayUpdate.prototype.finish = function() { - for (var i = 0; i < this.events.length; i++) - signal.apply(null, this.events[i]); - }; - - function maybeClipScrollbars(cm) { - var display = cm.display; - if (!display.scrollbarsClipped && display.scroller.offsetWidth) { - display.nativeBarWidth = display.scroller.offsetWidth - display.scroller.clientWidth; - display.heightForcer.style.height = scrollGap(cm) + "px"; - display.sizer.style.marginBottom = -display.nativeBarWidth + "px"; - display.sizer.style.borderRightWidth = scrollGap(cm) + "px"; - display.scrollbarsClipped = true; - } - } - - // Does the actual updating of the line display. Bails out - // (returning false) when there is nothing to be done and forced is - // false. - function updateDisplayIfNeeded(cm, update) { - var display = cm.display, doc = cm.doc; - - if (update.editorIsHidden) { - resetView(cm); - return false; - } - - // Bail out if the visible area is already rendered and nothing changed. - if (!update.force && - update.visible.from >= display.viewFrom && update.visible.to <= display.viewTo && - (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo) && - display.renderedView == display.view && countDirtyView(cm) == 0) - return false; - - if (maybeUpdateLineNumberWidth(cm)) { - resetView(cm); - update.dims = getDimensions(cm); - } - - // Compute a suitable new viewport (from & to) - var end = doc.first + doc.size; - var from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first); - var to = Math.min(end, update.visible.to + cm.options.viewportMargin); - if (display.viewFrom < from && from - display.viewFrom < 20) from = Math.max(doc.first, display.viewFrom); - if (display.viewTo > to && display.viewTo - to < 20) to = Math.min(end, display.viewTo); - if (sawCollapsedSpans) { - from = visualLineNo(cm.doc, from); - to = visualLineEndNo(cm.doc, to); - } - - var different = from != display.viewFrom || to != display.viewTo || - display.lastWrapHeight != update.wrapperHeight || display.lastWrapWidth != update.wrapperWidth; - adjustView(cm, from, to); - - display.viewOffset = heightAtLine(getLine(cm.doc, display.viewFrom)); - // Position the mover div to align with the current scroll position - cm.display.mover.style.top = display.viewOffset + "px"; - - var toUpdate = countDirtyView(cm); - if (!different && toUpdate == 0 && !update.force && display.renderedView == display.view && - (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo)) - return false; - - // For big changes, we hide the enclosing element during the - // update, since that speeds up the operations on most browsers. - var focused = activeElt(); - if (toUpdate > 4) display.lineDiv.style.display = "none"; - patchDisplay(cm, display.updateLineNumbers, update.dims); - if (toUpdate > 4) display.lineDiv.style.display = ""; - display.renderedView = display.view; - // There might have been a widget with a focused element that got - // hidden or updated, if so re-focus it. - if (focused && activeElt() != focused && focused.offsetHeight) focused.focus(); - - // Prevent selection and cursors from interfering with the scroll - // width and height. - removeChildren(display.cursorDiv); - removeChildren(display.selectionDiv); - display.gutters.style.height = 0; - - if (different) { - display.lastWrapHeight = update.wrapperHeight; - display.lastWrapWidth = update.wrapperWidth; - startWorker(cm, 400); - } - - display.updateLineNumbers = null; - - return true; - } - - function postUpdateDisplay(cm, update) { - var viewport = update.viewport; - for (var first = true;; first = false) { - if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) { - // Clip forced viewport to actual scrollable area. - if (viewport && viewport.top != null) - viewport = {top: Math.min(cm.doc.height + paddingVert(cm.display) - displayHeight(cm), viewport.top)}; - // Updated line heights might result in the drawn area not - // actually covering the viewport. Keep looping until it does. - update.visible = visibleLines(cm.display, cm.doc, viewport); - if (update.visible.from >= cm.display.viewFrom && update.visible.to <= cm.display.viewTo) - break; - } - if (!updateDisplayIfNeeded(cm, update)) break; - updateHeightsInViewport(cm); - var barMeasure = measureForScrollbars(cm); - updateSelection(cm); - setDocumentHeight(cm, barMeasure); - updateScrollbars(cm, barMeasure); - } - - update.signal(cm, "update", cm); - if (cm.display.viewFrom != cm.display.reportedViewFrom || cm.display.viewTo != cm.display.reportedViewTo) { - update.signal(cm, "viewportChange", cm, cm.display.viewFrom, cm.display.viewTo); - cm.display.reportedViewFrom = cm.display.viewFrom; cm.display.reportedViewTo = cm.display.viewTo; - } - } - - function updateDisplaySimple(cm, viewport) { - var update = new DisplayUpdate(cm, viewport); - if (updateDisplayIfNeeded(cm, update)) { - updateHeightsInViewport(cm); - postUpdateDisplay(cm, update); - var barMeasure = measureForScrollbars(cm); - updateSelection(cm); - setDocumentHeight(cm, barMeasure); - updateScrollbars(cm, barMeasure); - update.finish(); - } - } - - function setDocumentHeight(cm, measure) { - cm.display.sizer.style.minHeight = measure.docHeight + "px"; - var total = measure.docHeight + cm.display.barHeight; - cm.display.heightForcer.style.top = total + "px"; - cm.display.gutters.style.height = Math.max(total + scrollGap(cm), measure.clientHeight) + "px"; - } - - // Read the actual heights of the rendered lines, and update their - // stored heights to match. - function updateHeightsInViewport(cm) { - var display = cm.display; - var prevBottom = display.lineDiv.offsetTop; - for (var i = 0; i < display.view.length; i++) { - var cur = display.view[i], height; - if (cur.hidden) continue; - if (ie && ie_version < 8) { - var bot = cur.node.offsetTop + cur.node.offsetHeight; - height = bot - prevBottom; - prevBottom = bot; - } else { - var box = cur.node.getBoundingClientRect(); - height = box.bottom - box.top; - } - var diff = cur.line.height - height; - if (height < 2) height = textHeight(display); - if (diff > .001 || diff < -.001) { - updateLineHeight(cur.line, height); - updateWidgetHeight(cur.line); - if (cur.rest) for (var j = 0; j < cur.rest.length; j++) - updateWidgetHeight(cur.rest[j]); - } - } - } - - // Read and store the height of line widgets associated with the - // given line. - function updateWidgetHeight(line) { - if (line.widgets) for (var i = 0; i < line.widgets.length; ++i) - line.widgets[i].height = line.widgets[i].node.offsetHeight; - } - - // Do a bulk-read of the DOM positions and sizes needed to draw the - // view, so that we don't interleave reading and writing to the DOM. - function getDimensions(cm) { - var d = cm.display, left = {}, width = {}; - var gutterLeft = d.gutters.clientLeft; - for (var n = d.gutters.firstChild, i = 0; n; n = n.nextSibling, ++i) { - left[cm.options.gutters[i]] = n.offsetLeft + n.clientLeft + gutterLeft; - width[cm.options.gutters[i]] = n.clientWidth; - } - return {fixedPos: compensateForHScroll(d), - gutterTotalWidth: d.gutters.offsetWidth, - gutterLeft: left, - gutterWidth: width, - wrapperWidth: d.wrapper.clientWidth}; - } - - // Sync the actual display DOM structure with display.view, removing - // nodes for lines that are no longer in view, and creating the ones - // that are not there yet, and updating the ones that are out of - // date. - function patchDisplay(cm, updateNumbersFrom, dims) { - var display = cm.display, lineNumbers = cm.options.lineNumbers; - var container = display.lineDiv, cur = container.firstChild; - - function rm(node) { - var next = node.nextSibling; - // Works around a throw-scroll bug in OS X Webkit - if (webkit && mac && cm.display.currentWheelTarget == node) - node.style.display = "none"; - else - node.parentNode.removeChild(node); - return next; - } - - var view = display.view, lineN = display.viewFrom; - // Loop over the elements in the view, syncing cur (the DOM nodes - // in display.lineDiv) with the view as we go. - for (var i = 0; i < view.length; i++) { - var lineView = view[i]; - if (lineView.hidden) { - } else if (!lineView.node || lineView.node.parentNode != container) { // Not drawn yet - var node = buildLineElement(cm, lineView, lineN, dims); - container.insertBefore(node, cur); - } else { // Already drawn - while (cur != lineView.node) cur = rm(cur); - var updateNumber = lineNumbers && updateNumbersFrom != null && - updateNumbersFrom <= lineN && lineView.lineNumber; - if (lineView.changes) { - if (indexOf(lineView.changes, "gutter") > -1) updateNumber = false; - updateLineForChanges(cm, lineView, lineN, dims); - } - if (updateNumber) { - removeChildren(lineView.lineNumber); - lineView.lineNumber.appendChild(document.createTextNode(lineNumberFor(cm.options, lineN))); - } - cur = lineView.node.nextSibling; - } - lineN += lineView.size; - } - while (cur) cur = rm(cur); - } - - // When an aspect of a line changes, a string is added to - // lineView.changes. This updates the relevant part of the line's - // DOM structure. - function updateLineForChanges(cm, lineView, lineN, dims) { - for (var j = 0; j < lineView.changes.length; j++) { - var type = lineView.changes[j]; - if (type == "text") updateLineText(cm, lineView); - else if (type == "gutter") updateLineGutter(cm, lineView, lineN, dims); - else if (type == "class") updateLineClasses(lineView); - else if (type == "widget") updateLineWidgets(cm, lineView, dims); - } - lineView.changes = null; - } - - // Lines with gutter elements, widgets or a background class need to - // be wrapped, and have the extra elements added to the wrapper div - function ensureLineWrapped(lineView) { - if (lineView.node == lineView.text) { - lineView.node = elt("div", null, null, "position: relative"); - if (lineView.text.parentNode) - lineView.text.parentNode.replaceChild(lineView.node, lineView.text); - lineView.node.appendChild(lineView.text); - if (ie && ie_version < 8) lineView.node.style.zIndex = 2; - } - return lineView.node; - } - - function updateLineBackground(lineView) { - var cls = lineView.bgClass ? lineView.bgClass + " " + (lineView.line.bgClass || "") : lineView.line.bgClass; - if (cls) cls += " CodeMirror-linebackground"; - if (lineView.background) { - if (cls) lineView.background.className = cls; - else { lineView.background.parentNode.removeChild(lineView.background); lineView.background = null; } - } else if (cls) { - var wrap = ensureLineWrapped(lineView); - lineView.background = wrap.insertBefore(elt("div", null, cls), wrap.firstChild); - } - } - - // Wrapper around buildLineContent which will reuse the structure - // in display.externalMeasured when possible. - function getLineContent(cm, lineView) { - var ext = cm.display.externalMeasured; - if (ext && ext.line == lineView.line) { - cm.display.externalMeasured = null; - lineView.measure = ext.measure; - return ext.built; - } - return buildLineContent(cm, lineView); - } - - // Redraw the line's text. Interacts with the background and text - // classes because the mode may output tokens that influence these - // classes. - function updateLineText(cm, lineView) { - var cls = lineView.text.className; - var built = getLineContent(cm, lineView); - if (lineView.text == lineView.node) lineView.node = built.pre; - lineView.text.parentNode.replaceChild(built.pre, lineView.text); - lineView.text = built.pre; - if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) { - lineView.bgClass = built.bgClass; - lineView.textClass = built.textClass; - updateLineClasses(lineView); - } else if (cls) { - lineView.text.className = cls; - } - } - - function updateLineClasses(lineView) { - updateLineBackground(lineView); - if (lineView.line.wrapClass) - ensureLineWrapped(lineView).className = lineView.line.wrapClass; - else if (lineView.node != lineView.text) - lineView.node.className = ""; - var textClass = lineView.textClass ? lineView.textClass + " " + (lineView.line.textClass || "") : lineView.line.textClass; - lineView.text.className = textClass || ""; - } - - function updateLineGutter(cm, lineView, lineN, dims) { - if (lineView.gutter) { - lineView.node.removeChild(lineView.gutter); - lineView.gutter = null; - } - var markers = lineView.line.gutterMarkers; - if (cm.options.lineNumbers || markers) { - var wrap = ensureLineWrapped(lineView); - var gutterWrap = lineView.gutter = elt("div", null, "CodeMirror-gutter-wrapper", "left: " + - (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + - "px; width: " + dims.gutterTotalWidth + "px"); - cm.display.input.setUneditable(gutterWrap); - wrap.insertBefore(gutterWrap, lineView.text); - if (lineView.line.gutterClass) - gutterWrap.className += " " + lineView.line.gutterClass; - if (cm.options.lineNumbers && (!markers || !markers["CodeMirror-linenumbers"])) - lineView.lineNumber = gutterWrap.appendChild( - elt("div", lineNumberFor(cm.options, lineN), - "CodeMirror-linenumber CodeMirror-gutter-elt", - "left: " + dims.gutterLeft["CodeMirror-linenumbers"] + "px; width: " - + cm.display.lineNumInnerWidth + "px")); - if (markers) for (var k = 0; k < cm.options.gutters.length; ++k) { - var id = cm.options.gutters[k], found = markers.hasOwnProperty(id) && markers[id]; - if (found) - gutterWrap.appendChild(elt("div", [found], "CodeMirror-gutter-elt", "left: " + - dims.gutterLeft[id] + "px; width: " + dims.gutterWidth[id] + "px")); - } - } - } - - function updateLineWidgets(cm, lineView, dims) { - if (lineView.alignable) lineView.alignable = null; - for (var node = lineView.node.firstChild, next; node; node = next) { - var next = node.nextSibling; - if (node.className == "CodeMirror-linewidget") - lineView.node.removeChild(node); - } - insertLineWidgets(cm, lineView, dims); - } - - // Build a line's DOM representation from scratch - function buildLineElement(cm, lineView, lineN, dims) { - var built = getLineContent(cm, lineView); - lineView.text = lineView.node = built.pre; - if (built.bgClass) lineView.bgClass = built.bgClass; - if (built.textClass) lineView.textClass = built.textClass; - - updateLineClasses(lineView); - updateLineGutter(cm, lineView, lineN, dims); - insertLineWidgets(cm, lineView, dims); - return lineView.node; - } - - // A lineView may contain multiple logical lines (when merged by - // collapsed spans). The widgets for all of them need to be drawn. - function insertLineWidgets(cm, lineView, dims) { - insertLineWidgetsFor(cm, lineView.line, lineView, dims, true); - if (lineView.rest) for (var i = 0; i < lineView.rest.length; i++) - insertLineWidgetsFor(cm, lineView.rest[i], lineView, dims, false); - } - - function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) { - if (!line.widgets) return; - var wrap = ensureLineWrapped(lineView); - for (var i = 0, ws = line.widgets; i < ws.length; ++i) { - var widget = ws[i], node = elt("div", [widget.node], "CodeMirror-linewidget"); - if (!widget.handleMouseEvents) node.setAttribute("cm-ignore-events", "true"); - positionLineWidget(widget, node, lineView, dims); - cm.display.input.setUneditable(node); - if (allowAbove && widget.above) - wrap.insertBefore(node, lineView.gutter || lineView.text); - else - wrap.appendChild(node); - signalLater(widget, "redraw"); - } - } - - function positionLineWidget(widget, node, lineView, dims) { - if (widget.noHScroll) { - (lineView.alignable || (lineView.alignable = [])).push(node); - var width = dims.wrapperWidth; - node.style.left = dims.fixedPos + "px"; - if (!widget.coverGutter) { - width -= dims.gutterTotalWidth; - node.style.paddingLeft = dims.gutterTotalWidth + "px"; - } - node.style.width = width + "px"; - } - if (widget.coverGutter) { - node.style.zIndex = 5; - node.style.position = "relative"; - if (!widget.noHScroll) node.style.marginLeft = -dims.gutterTotalWidth + "px"; - } - } - - // POSITION OBJECT - - // A Pos instance represents a position within the text. - var Pos = CodeMirror.Pos = function(line, ch) { - if (!(this instanceof Pos)) return new Pos(line, ch); - this.line = line; this.ch = ch; - }; - - // Compare two positions, return 0 if they are the same, a negative - // number when a is less, and a positive number otherwise. - var cmp = CodeMirror.cmpPos = function(a, b) { return a.line - b.line || a.ch - b.ch; }; - - function copyPos(x) {return Pos(x.line, x.ch);} - function maxPos(a, b) { return cmp(a, b) < 0 ? b : a; } - function minPos(a, b) { return cmp(a, b) < 0 ? a : b; } - - // INPUT HANDLING - - function ensureFocus(cm) { - if (!cm.state.focused) { cm.display.input.focus(); onFocus(cm); } - } - - function isReadOnly(cm) { - return cm.options.readOnly || cm.doc.cantEdit; - } - - // This will be set to an array of strings when copying, so that, - // when pasting, we know what kind of selections the copied text - // was made out of. - var lastCopied = null; - - function applyTextInput(cm, inserted, deleted, sel, origin) { - var doc = cm.doc; - cm.display.shift = false; - if (!sel) sel = doc.sel; - - var paste = cm.state.pasteIncoming || origin == "paste"; - var textLines = splitLines(inserted), multiPaste = null; - // When pasing N lines into N selections, insert one line per selection - if (paste && sel.ranges.length > 1) { - if (lastCopied && lastCopied.join("\n") == inserted) - multiPaste = sel.ranges.length % lastCopied.length == 0 && map(lastCopied, splitLines); - else if (textLines.length == sel.ranges.length) - multiPaste = map(textLines, function(l) { return [l]; }); - } - - // Normal behavior is to insert the new text into every selection - for (var i = sel.ranges.length - 1; i >= 0; i--) { - var range = sel.ranges[i]; - var from = range.from(), to = range.to(); - if (range.empty()) { - if (deleted && deleted > 0) // Handle deletion - from = Pos(from.line, from.ch - deleted); - else if (cm.state.overwrite && !paste) // Handle overwrite - to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length)); - } - var updateInput = cm.curOp.updateInput; - var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i % multiPaste.length] : textLines, - origin: origin || (paste ? "paste" : cm.state.cutIncoming ? "cut" : "+input")}; - makeChange(cm.doc, changeEvent); - signalLater(cm, "inputRead", cm, changeEvent); - } - if (inserted && !paste) - triggerElectric(cm, inserted); - - ensureCursorVisible(cm); - cm.curOp.updateInput = updateInput; - cm.curOp.typing = true; - cm.state.pasteIncoming = cm.state.cutIncoming = false; - } - - function handlePaste(e, cm) { - var pasted = e.clipboardData && e.clipboardData.getData("text/plain"); - if (pasted) { - e.preventDefault(); - runInOp(cm, function() { applyTextInput(cm, pasted, 0, null, "paste"); }); - return true; - } - } - - function triggerElectric(cm, inserted) { - // When an 'electric' character is inserted, immediately trigger a reindent - if (!cm.options.electricChars || !cm.options.smartIndent) return; - var sel = cm.doc.sel; - - for (var i = sel.ranges.length - 1; i >= 0; i--) { - var range = sel.ranges[i]; - if (range.head.ch > 100 || (i && sel.ranges[i - 1].head.line == range.head.line)) continue; - var mode = cm.getModeAt(range.head); - var indented = false; - if (mode.electricChars) { - for (var j = 0; j < mode.electricChars.length; j++) - if (inserted.indexOf(mode.electricChars.charAt(j)) > -1) { - indented = indentLine(cm, range.head.line, "smart"); - break; - } - } else if (mode.electricInput) { - if (mode.electricInput.test(getLine(cm.doc, range.head.line).text.slice(0, range.head.ch))) - indented = indentLine(cm, range.head.line, "smart"); - } - if (indented) signalLater(cm, "electricInput", cm, range.head.line); - } - } - - function copyableRanges(cm) { - var text = [], ranges = []; - for (var i = 0; i < cm.doc.sel.ranges.length; i++) { - var line = cm.doc.sel.ranges[i].head.line; - var lineRange = {anchor: Pos(line, 0), head: Pos(line + 1, 0)}; - ranges.push(lineRange); - text.push(cm.getRange(lineRange.anchor, lineRange.head)); - } - return {text: text, ranges: ranges}; - } - - function disableBrowserMagic(field) { - field.setAttribute("autocorrect", "off"); - field.setAttribute("autocapitalize", "off"); - field.setAttribute("spellcheck", "false"); - } - - // TEXTAREA INPUT STYLE - - function TextareaInput(cm) { - this.cm = cm; - // See input.poll and input.reset - this.prevInput = ""; - - // Flag that indicates whether we expect input to appear real soon - // now (after some event like 'keypress' or 'input') and are - // polling intensively. - this.pollingFast = false; - // Self-resetting timeout for the poller - this.polling = new Delayed(); - // Tracks when input.reset has punted to just putting a short - // string into the textarea instead of the full selection. - this.inaccurateSelection = false; - // Used to work around IE issue with selection being forgotten when focus moves away from textarea - this.hasSelection = false; - this.composing = null; - }; - - function hiddenTextarea() { - var te = elt("textarea", null, null, "position: absolute; padding: 0; width: 1px; height: 1em; outline: none"); - var div = elt("div", [te], null, "overflow: hidden; position: relative; width: 3px; height: 0px;"); - // The textarea is kept positioned near the cursor to prevent the - // fact that it'll be scrolled into view on input from scrolling - // our fake cursor out of view. On webkit, when wrap=off, paste is - // very slow. So make the area wide instead. - if (webkit) te.style.width = "1000px"; - else te.setAttribute("wrap", "off"); - // If border: 0; -- iOS fails to open keyboard (issue #1287) - if (ios) te.style.border = "1px solid black"; - disableBrowserMagic(te); - return div; - } - - TextareaInput.prototype = copyObj({ - init: function(display) { - var input = this, cm = this.cm; - - // Wraps and hides input textarea - var div = this.wrapper = hiddenTextarea(); - // The semihidden textarea that is focused when the editor is - // focused, and receives input. - var te = this.textarea = div.firstChild; - display.wrapper.insertBefore(div, display.wrapper.firstChild); - - // Needed to hide big blue blinking cursor on Mobile Safari (doesn't seem to work in iOS 8 anymore) - if (ios) te.style.width = "0px"; - - on(te, "input", function() { - if (ie && ie_version >= 9 && input.hasSelection) input.hasSelection = null; - input.poll(); - }); - - on(te, "paste", function(e) { - if (handlePaste(e, cm)) return true; - - cm.state.pasteIncoming = true; - input.fastPoll(); - }); - - function prepareCopyCut(e) { - if (cm.somethingSelected()) { - lastCopied = cm.getSelections(); - if (input.inaccurateSelection) { - input.prevInput = ""; - input.inaccurateSelection = false; - te.value = lastCopied.join("\n"); - selectInput(te); - } - } else if (!cm.options.lineWiseCopyCut) { - return; - } else { - var ranges = copyableRanges(cm); - lastCopied = ranges.text; - if (e.type == "cut") { - cm.setSelections(ranges.ranges, null, sel_dontScroll); - } else { - input.prevInput = ""; - te.value = ranges.text.join("\n"); - selectInput(te); - } - } - if (e.type == "cut") cm.state.cutIncoming = true; - } - on(te, "cut", prepareCopyCut); - on(te, "copy", prepareCopyCut); - - on(display.scroller, "paste", function(e) { - if (eventInWidget(display, e)) return; - cm.state.pasteIncoming = true; - input.focus(); - }); - - // Prevent normal selection in the editor (we handle our own) - on(display.lineSpace, "selectstart", function(e) { - if (!eventInWidget(display, e)) e_preventDefault(e); - }); - - on(te, "compositionstart", function() { - var start = cm.getCursor("from"); - input.composing = { - start: start, - range: cm.markText(start, cm.getCursor("to"), {className: "CodeMirror-composing"}) - }; - }); - on(te, "compositionend", function() { - if (input.composing) { - input.poll(); - input.composing.range.clear(); - input.composing = null; - } - }); - }, - - prepareSelection: function() { - // Redraw the selection and/or cursor - var cm = this.cm, display = cm.display, doc = cm.doc; - var result = prepareSelection(cm); - - // Move the hidden textarea near the cursor to prevent scrolling artifacts - if (cm.options.moveInputWithCursor) { - var headPos = cursorCoords(cm, doc.sel.primary().head, "div"); - var wrapOff = display.wrapper.getBoundingClientRect(), lineOff = display.lineDiv.getBoundingClientRect(); - result.teTop = Math.max(0, Math.min(display.wrapper.clientHeight - 10, - headPos.top + lineOff.top - wrapOff.top)); - result.teLeft = Math.max(0, Math.min(display.wrapper.clientWidth - 10, - headPos.left + lineOff.left - wrapOff.left)); - } - - return result; - }, - - showSelection: function(drawn) { - var cm = this.cm, display = cm.display; - removeChildrenAndAdd(display.cursorDiv, drawn.cursors); - removeChildrenAndAdd(display.selectionDiv, drawn.selection); - if (drawn.teTop != null) { - this.wrapper.style.top = drawn.teTop + "px"; - this.wrapper.style.left = drawn.teLeft + "px"; - } - }, - - // Reset the input to correspond to the selection (or to be empty, - // when not typing and nothing is selected) - reset: function(typing) { - if (this.contextMenuPending) return; - var minimal, selected, cm = this.cm, doc = cm.doc; - if (cm.somethingSelected()) { - this.prevInput = ""; - var range = doc.sel.primary(); - minimal = hasCopyEvent && - (range.to().line - range.from().line > 100 || (selected = cm.getSelection()).length > 1000); - var content = minimal ? "-" : selected || cm.getSelection(); - this.textarea.value = content; - if (cm.state.focused) selectInput(this.textarea); - if (ie && ie_version >= 9) this.hasSelection = content; - } else if (!typing) { - this.prevInput = this.textarea.value = ""; - if (ie && ie_version >= 9) this.hasSelection = null; - } - this.inaccurateSelection = minimal; - }, - - getField: function() { return this.textarea; }, - - supportsTouch: function() { return false; }, - - focus: function() { - if (this.cm.options.readOnly != "nocursor" && (!mobile || activeElt() != this.textarea)) { - try { this.textarea.focus(); } - catch (e) {} // IE8 will throw if the textarea is display: none or not in DOM - } - }, - - blur: function() { this.textarea.blur(); }, - - resetPosition: function() { - this.wrapper.style.top = this.wrapper.style.left = 0; - }, - - receivedFocus: function() { this.slowPoll(); }, - - // Poll for input changes, using the normal rate of polling. This - // runs as long as the editor is focused. - slowPoll: function() { - var input = this; - if (input.pollingFast) return; - input.polling.set(this.cm.options.pollInterval, function() { - input.poll(); - if (input.cm.state.focused) input.slowPoll(); - }); - }, - - // When an event has just come in that is likely to add or change - // something in the input textarea, we poll faster, to ensure that - // the change appears on the screen quickly. - fastPoll: function() { - var missed = false, input = this; - input.pollingFast = true; - function p() { - var changed = input.poll(); - if (!changed && !missed) {missed = true; input.polling.set(60, p);} - else {input.pollingFast = false; input.slowPoll();} - } - input.polling.set(20, p); - }, - - // Read input from the textarea, and update the document to match. - // When something is selected, it is present in the textarea, and - // selected (unless it is huge, in which case a placeholder is - // used). When nothing is selected, the cursor sits after previously - // seen text (can be empty), which is stored in prevInput (we must - // not reset the textarea when typing, because that breaks IME). - poll: function() { - var cm = this.cm, input = this.textarea, prevInput = this.prevInput; - // Since this is called a *lot*, try to bail out as cheaply as - // possible when it is clear that nothing happened. hasSelection - // will be the case when there is a lot of text in the textarea, - // in which case reading its value would be expensive. - if (this.contextMenuPending || !cm.state.focused || - (hasSelection(input) && !prevInput) || - isReadOnly(cm) || cm.options.disableInput || cm.state.keySeq) - return false; - - var text = input.value; - // If nothing changed, bail. - if (text == prevInput && !cm.somethingSelected()) return false; - // Work around nonsensical selection resetting in IE9/10, and - // inexplicable appearance of private area unicode characters on - // some key combos in Mac (#2689). - if (ie && ie_version >= 9 && this.hasSelection === text || - mac && /[\uf700-\uf7ff]/.test(text)) { - cm.display.input.reset(); - return false; - } - - if (cm.doc.sel == cm.display.selForContextMenu) { - var first = text.charCodeAt(0); - if (first == 0x200b && !prevInput) prevInput = "\u200b"; - if (first == 0x21da) { this.reset(); return this.cm.execCommand("undo"); } - } - // Find the part of the input that is actually new - var same = 0, l = Math.min(prevInput.length, text.length); - while (same < l && prevInput.charCodeAt(same) == text.charCodeAt(same)) ++same; - - var self = this; - runInOp(cm, function() { - applyTextInput(cm, text.slice(same), prevInput.length - same, - null, self.composing ? "*compose" : null); - - // Don't leave long text in the textarea, since it makes further polling slow - if (text.length > 1000 || text.indexOf("\n") > -1) input.value = self.prevInput = ""; - else self.prevInput = text; - - if (self.composing) { - self.composing.range.clear(); - self.composing.range = cm.markText(self.composing.start, cm.getCursor("to"), - {className: "CodeMirror-composing"}); - } - }); - return true; - }, - - ensurePolled: function() { - if (this.pollingFast && this.poll()) this.pollingFast = false; - }, - - onKeyPress: function() { - if (ie && ie_version >= 9) this.hasSelection = null; - this.fastPoll(); - }, - - onContextMenu: function(e) { - var input = this, cm = input.cm, display = cm.display, te = input.textarea; - var pos = posFromMouse(cm, e), scrollPos = display.scroller.scrollTop; - if (!pos || presto) return; // Opera is difficult. - - // Reset the current text selection only if the click is done outside of the selection - // and 'resetSelectionOnContextMenu' option is true. - var reset = cm.options.resetSelectionOnContextMenu; - if (reset && cm.doc.sel.contains(pos) == -1) - operation(cm, setSelection)(cm.doc, simpleSelection(pos), sel_dontScroll); - - var oldCSS = te.style.cssText; - input.wrapper.style.position = "absolute"; - te.style.cssText = "position: fixed; width: 30px; height: 30px; top: " + (e.clientY - 5) + - "px; left: " + (e.clientX - 5) + "px; z-index: 1000; background: " + - (ie ? "rgba(255, 255, 255, .05)" : "transparent") + - "; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);"; - if (webkit) var oldScrollY = window.scrollY; // Work around Chrome issue (#2712) - display.input.focus(); - if (webkit) window.scrollTo(null, oldScrollY); - display.input.reset(); - // Adds "Select all" to context menu in FF - if (!cm.somethingSelected()) te.value = input.prevInput = " "; - input.contextMenuPending = true; - display.selForContextMenu = cm.doc.sel; - clearTimeout(display.detectingSelectAll); - - // Select-all will be greyed out if there's nothing to select, so - // this adds a zero-width space so that we can later check whether - // it got selected. - function prepareSelectAllHack() { - if (te.selectionStart != null) { - var selected = cm.somethingSelected(); - var extval = "\u200b" + (selected ? te.value : ""); - te.value = "\u21da"; // Used to catch context-menu undo - te.value = extval; - input.prevInput = selected ? "" : "\u200b"; - te.selectionStart = 1; te.selectionEnd = extval.length; - // Re-set this, in case some other handler touched the - // selection in the meantime. - display.selForContextMenu = cm.doc.sel; - } - } - function rehide() { - input.contextMenuPending = false; - input.wrapper.style.position = "relative"; - te.style.cssText = oldCSS; - if (ie && ie_version < 9) display.scrollbars.setScrollTop(display.scroller.scrollTop = scrollPos); - - // Try to detect the user choosing select-all - if (te.selectionStart != null) { - if (!ie || (ie && ie_version < 9)) prepareSelectAllHack(); - var i = 0, poll = function() { - if (display.selForContextMenu == cm.doc.sel && te.selectionStart == 0 && - te.selectionEnd > 0 && input.prevInput == "\u200b") - operation(cm, commands.selectAll)(cm); - else if (i++ < 10) display.detectingSelectAll = setTimeout(poll, 500); - else display.input.reset(); - }; - display.detectingSelectAll = setTimeout(poll, 200); - } - } - - if (ie && ie_version >= 9) prepareSelectAllHack(); - if (captureRightClick) { - e_stop(e); - var mouseup = function() { - off(window, "mouseup", mouseup); - setTimeout(rehide, 20); - }; - on(window, "mouseup", mouseup); - } else { - setTimeout(rehide, 50); - } - }, - - setUneditable: nothing, - - needsContentAttribute: false - }, TextareaInput.prototype); - - // CONTENTEDITABLE INPUT STYLE - - function ContentEditableInput(cm) { - this.cm = cm; - this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null; - this.polling = new Delayed(); - this.gracePeriod = false; - } - - ContentEditableInput.prototype = copyObj({ - init: function(display) { - var input = this, cm = input.cm; - var div = input.div = display.lineDiv; - div.contentEditable = "true"; - disableBrowserMagic(div); - - on(div, "paste", function(e) { handlePaste(e, cm); }) - - on(div, "compositionstart", function(e) { - var data = e.data; - input.composing = {sel: cm.doc.sel, data: data, startData: data}; - if (!data) return; - var prim = cm.doc.sel.primary(); - var line = cm.getLine(prim.head.line); - var found = line.indexOf(data, Math.max(0, prim.head.ch - data.length)); - if (found > -1 && found <= prim.head.ch) - input.composing.sel = simpleSelection(Pos(prim.head.line, found), - Pos(prim.head.line, found + data.length)); - }); - on(div, "compositionupdate", function(e) { - input.composing.data = e.data; - }); - on(div, "compositionend", function(e) { - var ours = input.composing; - if (!ours) return; - if (e.data != ours.startData && !/\u200b/.test(e.data)) - ours.data = e.data; - // Need a small delay to prevent other code (input event, - // selection polling) from doing damage when fired right after - // compositionend. - setTimeout(function() { - if (!ours.handled) - input.applyComposition(ours); - if (input.composing == ours) - input.composing = null; - }, 50); - }); - - on(div, "touchstart", function() { - input.forceCompositionEnd(); - }); - - on(div, "input", function() { - if (input.composing) return; - if (!input.pollContent()) - runInOp(input.cm, function() {regChange(cm);}); - }); - - function onCopyCut(e) { - if (cm.somethingSelected()) { - lastCopied = cm.getSelections(); - if (e.type == "cut") cm.replaceSelection("", null, "cut"); - } else if (!cm.options.lineWiseCopyCut) { - return; - } else { - var ranges = copyableRanges(cm); - lastCopied = ranges.text; - if (e.type == "cut") { - cm.operation(function() { - cm.setSelections(ranges.ranges, 0, sel_dontScroll); - cm.replaceSelection("", null, "cut"); - }); - } - } - // iOS exposes the clipboard API, but seems to discard content inserted into it - if (e.clipboardData && !ios) { - e.preventDefault(); - e.clipboardData.clearData(); - e.clipboardData.setData("text/plain", lastCopied.join("\n")); - } else { - // Old-fashioned briefly-focus-a-textarea hack - var kludge = hiddenTextarea(), te = kludge.firstChild; - cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild); - te.value = lastCopied.join("\n"); - var hadFocus = document.activeElement; - selectInput(te); - setTimeout(function() { - cm.display.lineSpace.removeChild(kludge); - hadFocus.focus(); - }, 50); - } - } - on(div, "copy", onCopyCut); - on(div, "cut", onCopyCut); - }, - - prepareSelection: function() { - var result = prepareSelection(this.cm, false); - result.focus = this.cm.state.focused; - return result; - }, - - showSelection: function(info) { - if (!info || !this.cm.display.view.length) return; - if (info.focus) this.showPrimarySelection(); - this.showMultipleSelections(info); - }, - - showPrimarySelection: function() { - var sel = window.getSelection(), prim = this.cm.doc.sel.primary(); - var curAnchor = domToPos(this.cm, sel.anchorNode, sel.anchorOffset); - var curFocus = domToPos(this.cm, sel.focusNode, sel.focusOffset); - if (curAnchor && !curAnchor.bad && curFocus && !curFocus.bad && - cmp(minPos(curAnchor, curFocus), prim.from()) == 0 && - cmp(maxPos(curAnchor, curFocus), prim.to()) == 0) - return; - - var start = posToDOM(this.cm, prim.from()); - var end = posToDOM(this.cm, prim.to()); - if (!start && !end) return; - - var view = this.cm.display.view; - var old = sel.rangeCount && sel.getRangeAt(0); - if (!start) { - start = {node: view[0].measure.map[2], offset: 0}; - } else if (!end) { // FIXME dangerously hacky - var measure = view[view.length - 1].measure; - var map = measure.maps ? measure.maps[measure.maps.length - 1] : measure.map; - end = {node: map[map.length - 1], offset: map[map.length - 2] - map[map.length - 3]}; - } - - try { var rng = range(start.node, start.offset, end.offset, end.node); } - catch(e) {} // Our model of the DOM might be outdated, in which case the range we try to set can be impossible - if (rng) { - sel.removeAllRanges(); - sel.addRange(rng); - if (old && sel.anchorNode == null) sel.addRange(old); - else if (gecko) this.startGracePeriod(); - } - this.rememberSelection(); - }, - - startGracePeriod: function() { - var input = this; - clearTimeout(this.gracePeriod); - this.gracePeriod = setTimeout(function() { - input.gracePeriod = false; - if (input.selectionChanged()) - input.cm.operation(function() { input.cm.curOp.selectionChanged = true; }); - }, 20); - }, - - showMultipleSelections: function(info) { - removeChildrenAndAdd(this.cm.display.cursorDiv, info.cursors); - removeChildrenAndAdd(this.cm.display.selectionDiv, info.selection); - }, - - rememberSelection: function() { - var sel = window.getSelection(); - this.lastAnchorNode = sel.anchorNode; this.lastAnchorOffset = sel.anchorOffset; - this.lastFocusNode = sel.focusNode; this.lastFocusOffset = sel.focusOffset; - }, - - selectionInEditor: function() { - var sel = window.getSelection(); - if (!sel.rangeCount) return false; - var node = sel.getRangeAt(0).commonAncestorContainer; - return contains(this.div, node); - }, - - focus: function() { - if (this.cm.options.readOnly != "nocursor") this.div.focus(); - }, - blur: function() { this.div.blur(); }, - getField: function() { return this.div; }, - - supportsTouch: function() { return true; }, - - receivedFocus: function() { - var input = this; - if (this.selectionInEditor()) - this.pollSelection(); - else - runInOp(this.cm, function() { input.cm.curOp.selectionChanged = true; }); - - function poll() { - if (input.cm.state.focused) { - input.pollSelection(); - input.polling.set(input.cm.options.pollInterval, poll); - } - } - this.polling.set(this.cm.options.pollInterval, poll); - }, - - selectionChanged: function() { - var sel = window.getSelection(); - return sel.anchorNode != this.lastAnchorNode || sel.anchorOffset != this.lastAnchorOffset || - sel.focusNode != this.lastFocusNode || sel.focusOffset != this.lastFocusOffset; - }, - - pollSelection: function() { - if (!this.composing && !this.gracePeriod && this.selectionChanged()) { - var sel = window.getSelection(), cm = this.cm; - this.rememberSelection(); - var anchor = domToPos(cm, sel.anchorNode, sel.anchorOffset); - var head = domToPos(cm, sel.focusNode, sel.focusOffset); - if (anchor && head) runInOp(cm, function() { - setSelection(cm.doc, simpleSelection(anchor, head), sel_dontScroll); - if (anchor.bad || head.bad) cm.curOp.selectionChanged = true; - }); - } - }, - - pollContent: function() { - var cm = this.cm, display = cm.display, sel = cm.doc.sel.primary(); - var from = sel.from(), to = sel.to(); - if (from.line < display.viewFrom || to.line > display.viewTo - 1) return false; - - var fromIndex; - if (from.line == display.viewFrom || (fromIndex = findViewIndex(cm, from.line)) == 0) { - var fromLine = lineNo(display.view[0].line); - var fromNode = display.view[0].node; - } else { - var fromLine = lineNo(display.view[fromIndex].line); - var fromNode = display.view[fromIndex - 1].node.nextSibling; - } - var toIndex = findViewIndex(cm, to.line); - if (toIndex == display.view.length - 1) { - var toLine = display.viewTo - 1; - var toNode = display.lineDiv.lastChild; - } else { - var toLine = lineNo(display.view[toIndex + 1].line) - 1; - var toNode = display.view[toIndex + 1].node.previousSibling; - } - - var newText = splitLines(domTextBetween(cm, fromNode, toNode, fromLine, toLine)); - var oldText = getBetween(cm.doc, Pos(fromLine, 0), Pos(toLine, getLine(cm.doc, toLine).text.length)); - while (newText.length > 1 && oldText.length > 1) { - if (lst(newText) == lst(oldText)) { newText.pop(); oldText.pop(); toLine--; } - else if (newText[0] == oldText[0]) { newText.shift(); oldText.shift(); fromLine++; } - else break; - } - - var cutFront = 0, cutEnd = 0; - var newTop = newText[0], oldTop = oldText[0], maxCutFront = Math.min(newTop.length, oldTop.length); - while (cutFront < maxCutFront && newTop.charCodeAt(cutFront) == oldTop.charCodeAt(cutFront)) - ++cutFront; - var newBot = lst(newText), oldBot = lst(oldText); - var maxCutEnd = Math.min(newBot.length - (newText.length == 1 ? cutFront : 0), - oldBot.length - (oldText.length == 1 ? cutFront : 0)); - while (cutEnd < maxCutEnd && - newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) - ++cutEnd; - - newText[newText.length - 1] = newBot.slice(0, newBot.length - cutEnd); - newText[0] = newText[0].slice(cutFront); - - var chFrom = Pos(fromLine, cutFront); - var chTo = Pos(toLine, oldText.length ? lst(oldText).length - cutEnd : 0); - if (newText.length > 1 || newText[0] || cmp(chFrom, chTo)) { - replaceRange(cm.doc, newText, chFrom, chTo, "+input"); - return true; - } - }, - - ensurePolled: function() { - this.forceCompositionEnd(); - }, - reset: function() { - this.forceCompositionEnd(); - }, - forceCompositionEnd: function() { - if (!this.composing || this.composing.handled) return; - this.applyComposition(this.composing); - this.composing.handled = true; - this.div.blur(); - this.div.focus(); - }, - applyComposition: function(composing) { - if (composing.data && composing.data != composing.startData) - operation(this.cm, applyTextInput)(this.cm, composing.data, 0, composing.sel); - }, - - setUneditable: function(node) { - node.setAttribute("contenteditable", "false"); - }, - - onKeyPress: function(e) { - e.preventDefault(); - operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0); - }, - - onContextMenu: nothing, - resetPosition: nothing, - - needsContentAttribute: true - }, ContentEditableInput.prototype); - - function posToDOM(cm, pos) { - var view = findViewForLine(cm, pos.line); - if (!view || view.hidden) return null; - var line = getLine(cm.doc, pos.line); - var info = mapFromLineView(view, line, pos.line); - - var order = getOrder(line), side = "left"; - if (order) { - var partPos = getBidiPartAt(order, pos.ch); - side = partPos % 2 ? "right" : "left"; - } - var result = nodeAndOffsetInLineMap(info.map, pos.ch, side); - result.offset = result.collapse == "right" ? result.end : result.start; - return result; - } - - function badPos(pos, bad) { if (bad) pos.bad = true; return pos; } - - function domToPos(cm, node, offset) { - var lineNode; - if (node == cm.display.lineDiv) { - lineNode = cm.display.lineDiv.childNodes[offset]; - if (!lineNode) return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true); - node = null; offset = 0; - } else { - for (lineNode = node;; lineNode = lineNode.parentNode) { - if (!lineNode || lineNode == cm.display.lineDiv) return null; - if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) break; - } - } - for (var i = 0; i < cm.display.view.length; i++) { - var lineView = cm.display.view[i]; - if (lineView.node == lineNode) - return locateNodeInLineView(lineView, node, offset); - } - } - - function locateNodeInLineView(lineView, node, offset) { - var wrapper = lineView.text.firstChild, bad = false; - if (!node || !contains(wrapper, node)) return badPos(Pos(lineNo(lineView.line), 0), true); - if (node == wrapper) { - bad = true; - node = wrapper.childNodes[offset]; - offset = 0; - if (!node) { - var line = lineView.rest ? lst(lineView.rest) : lineView.line; - return badPos(Pos(lineNo(line), line.text.length), bad); - } - } - - var textNode = node.nodeType == 3 ? node : null, topNode = node; - if (!textNode && node.childNodes.length == 1 && node.firstChild.nodeType == 3) { - textNode = node.firstChild; - if (offset) offset = textNode.nodeValue.length; - } - while (topNode.parentNode != wrapper) topNode = topNode.parentNode; - var measure = lineView.measure, maps = measure.maps; - - function find(textNode, topNode, offset) { - for (var i = -1; i < (maps ? maps.length : 0); i++) { - var map = i < 0 ? measure.map : maps[i]; - for (var j = 0; j < map.length; j += 3) { - var curNode = map[j + 2]; - if (curNode == textNode || curNode == topNode) { - var line = lineNo(i < 0 ? lineView.line : lineView.rest[i]); - var ch = map[j] + offset; - if (offset < 0 || curNode != textNode) ch = map[j + (offset ? 1 : 0)]; - return Pos(line, ch); - } - } - } - } - var found = find(textNode, topNode, offset); - if (found) return badPos(found, bad); - - // FIXME this is all really shaky. might handle the few cases it needs to handle, but likely to cause problems - for (var after = topNode.nextSibling, dist = textNode ? textNode.nodeValue.length - offset : 0; after; after = after.nextSibling) { - found = find(after, after.firstChild, 0); - if (found) - return badPos(Pos(found.line, found.ch - dist), bad); - else - dist += after.textContent.length; - } - for (var before = topNode.previousSibling, dist = offset; before; before = before.previousSibling) { - found = find(before, before.firstChild, -1); - if (found) - return badPos(Pos(found.line, found.ch + dist), bad); - else - dist += after.textContent.length; - } - } - - function domTextBetween(cm, from, to, fromLine, toLine) { - var text = "", closing = false; - function recognizeMarker(id) { return function(marker) { return marker.id == id; }; } - function walk(node) { - if (node.nodeType == 1) { - var cmText = node.getAttribute("cm-text"); - if (cmText != null) { - if (cmText == "") cmText = node.textContent.replace(/\u200b/g, ""); - text += cmText; - return; - } - var markerID = node.getAttribute("cm-marker"), range; - if (markerID) { - var found = cm.findMarks(Pos(fromLine, 0), Pos(toLine + 1, 0), recognizeMarker(+markerID)); - if (found.length && (range = found[0].find())) - text += getBetween(cm.doc, range.from, range.to).join("\n"); - return; - } - if (node.getAttribute("contenteditable") == "false") return; - for (var i = 0; i < node.childNodes.length; i++) - walk(node.childNodes[i]); - if (/^(pre|div|p)$/i.test(node.nodeName)) - closing = true; - } else if (node.nodeType == 3) { - var val = node.nodeValue; - if (!val) return; - if (closing) { - text += "\n"; - closing = false; - } - text += val; - } - } - for (;;) { - walk(from); - if (from == to) break; - from = from.nextSibling; - } - return text; - } - - CodeMirror.inputStyles = {"textarea": TextareaInput, "contenteditable": ContentEditableInput}; - - // SELECTION / CURSOR - - // Selection objects are immutable. A new one is created every time - // the selection changes. A selection is one or more non-overlapping - // (and non-touching) ranges, sorted, and an integer that indicates - // which one is the primary selection (the one that's scrolled into - // view, that getCursor returns, etc). - function Selection(ranges, primIndex) { - this.ranges = ranges; - this.primIndex = primIndex; - } - - Selection.prototype = { - primary: function() { return this.ranges[this.primIndex]; }, - equals: function(other) { - if (other == this) return true; - if (other.primIndex != this.primIndex || other.ranges.length != this.ranges.length) return false; - for (var i = 0; i < this.ranges.length; i++) { - var here = this.ranges[i], there = other.ranges[i]; - if (cmp(here.anchor, there.anchor) != 0 || cmp(here.head, there.head) != 0) return false; - } - return true; - }, - deepCopy: function() { - for (var out = [], i = 0; i < this.ranges.length; i++) - out[i] = new Range(copyPos(this.ranges[i].anchor), copyPos(this.ranges[i].head)); - return new Selection(out, this.primIndex); - }, - somethingSelected: function() { - for (var i = 0; i < this.ranges.length; i++) - if (!this.ranges[i].empty()) return true; - return false; - }, - contains: function(pos, end) { - if (!end) end = pos; - for (var i = 0; i < this.ranges.length; i++) { - var range = this.ranges[i]; - if (cmp(end, range.from()) >= 0 && cmp(pos, range.to()) <= 0) - return i; - } - return -1; - } - }; - - function Range(anchor, head) { - this.anchor = anchor; this.head = head; - } - - Range.prototype = { - from: function() { return minPos(this.anchor, this.head); }, - to: function() { return maxPos(this.anchor, this.head); }, - empty: function() { - return this.head.line == this.anchor.line && this.head.ch == this.anchor.ch; - } - }; - - // Take an unsorted, potentially overlapping set of ranges, and - // build a selection out of it. 'Consumes' ranges array (modifying - // it). - function normalizeSelection(ranges, primIndex) { - var prim = ranges[primIndex]; - ranges.sort(function(a, b) { return cmp(a.from(), b.from()); }); - primIndex = indexOf(ranges, prim); - for (var i = 1; i < ranges.length; i++) { - var cur = ranges[i], prev = ranges[i - 1]; - if (cmp(prev.to(), cur.from()) >= 0) { - var from = minPos(prev.from(), cur.from()), to = maxPos(prev.to(), cur.to()); - var inv = prev.empty() ? cur.from() == cur.head : prev.from() == prev.head; - if (i <= primIndex) --primIndex; - ranges.splice(--i, 2, new Range(inv ? to : from, inv ? from : to)); - } - } - return new Selection(ranges, primIndex); - } - - function simpleSelection(anchor, head) { - return new Selection([new Range(anchor, head || anchor)], 0); - } - - // Most of the external API clips given positions to make sure they - // actually exist within the document. - function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1));} - function clipPos(doc, pos) { - if (pos.line < doc.first) return Pos(doc.first, 0); - var last = doc.first + doc.size - 1; - if (pos.line > last) return Pos(last, getLine(doc, last).text.length); - return clipToLen(pos, getLine(doc, pos.line).text.length); - } - function clipToLen(pos, linelen) { - var ch = pos.ch; - if (ch == null || ch > linelen) return Pos(pos.line, linelen); - else if (ch < 0) return Pos(pos.line, 0); - else return pos; - } - function isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size;} - function clipPosArray(doc, array) { - for (var out = [], i = 0; i < array.length; i++) out[i] = clipPos(doc, array[i]); - return out; - } - - // SELECTION UPDATES - - // The 'scroll' parameter given to many of these indicated whether - // the new cursor position should be scrolled into view after - // modifying the selection. - - // If shift is held or the extend flag is set, extends a range to - // include a given position (and optionally a second position). - // Otherwise, simply returns the range between the given positions. - // Used for cursor motion and such. - function extendRange(doc, range, head, other) { - if (doc.cm && doc.cm.display.shift || doc.extend) { - var anchor = range.anchor; - if (other) { - var posBefore = cmp(head, anchor) < 0; - if (posBefore != (cmp(other, anchor) < 0)) { - anchor = head; - head = other; - } else if (posBefore != (cmp(head, other) < 0)) { - head = other; - } - } - return new Range(anchor, head); - } else { - return new Range(other || head, head); - } - } - - // Extend the primary selection range, discard the rest. - function extendSelection(doc, head, other, options) { - setSelection(doc, new Selection([extendRange(doc, doc.sel.primary(), head, other)], 0), options); - } - - // Extend all selections (pos is an array of selections with length - // equal the number of selections) - function extendSelections(doc, heads, options) { - for (var out = [], i = 0; i < doc.sel.ranges.length; i++) - out[i] = extendRange(doc, doc.sel.ranges[i], heads[i], null); - var newSel = normalizeSelection(out, doc.sel.primIndex); - setSelection(doc, newSel, options); - } - - // Updates a single range in the selection. - function replaceOneSelection(doc, i, range, options) { - var ranges = doc.sel.ranges.slice(0); - ranges[i] = range; - setSelection(doc, normalizeSelection(ranges, doc.sel.primIndex), options); - } - - // Reset the selection to a single range. - function setSimpleSelection(doc, anchor, head, options) { - setSelection(doc, simpleSelection(anchor, head), options); - } - - // Give beforeSelectionChange handlers a change to influence a - // selection update. - function filterSelectionChange(doc, sel) { - var obj = { - ranges: sel.ranges, - update: function(ranges) { - this.ranges = []; - for (var i = 0; i < ranges.length; i++) - this.ranges[i] = new Range(clipPos(doc, ranges[i].anchor), - clipPos(doc, ranges[i].head)); - } - }; - signal(doc, "beforeSelectionChange", doc, obj); - if (doc.cm) signal(doc.cm, "beforeSelectionChange", doc.cm, obj); - if (obj.ranges != sel.ranges) return normalizeSelection(obj.ranges, obj.ranges.length - 1); - else return sel; - } - - function setSelectionReplaceHistory(doc, sel, options) { - var done = doc.history.done, last = lst(done); - if (last && last.ranges) { - done[done.length - 1] = sel; - setSelectionNoUndo(doc, sel, options); - } else { - setSelection(doc, sel, options); - } - } - - // Set a new selection. - function setSelection(doc, sel, options) { - setSelectionNoUndo(doc, sel, options); - addSelectionToHistory(doc, doc.sel, doc.cm ? doc.cm.curOp.id : NaN, options); - } - - function setSelectionNoUndo(doc, sel, options) { - if (hasHandler(doc, "beforeSelectionChange") || doc.cm && hasHandler(doc.cm, "beforeSelectionChange")) - sel = filterSelectionChange(doc, sel); - - var bias = options && options.bias || - (cmp(sel.primary().head, doc.sel.primary().head) < 0 ? -1 : 1); - setSelectionInner(doc, skipAtomicInSelection(doc, sel, bias, true)); - - if (!(options && options.scroll === false) && doc.cm) - ensureCursorVisible(doc.cm); - } - - function setSelectionInner(doc, sel) { - if (sel.equals(doc.sel)) return; - - doc.sel = sel; - - if (doc.cm) { - doc.cm.curOp.updateInput = doc.cm.curOp.selectionChanged = true; - signalCursorActivity(doc.cm); - } - signalLater(doc, "cursorActivity", doc); - } - - // Verify that the selection does not partially select any atomic - // marked ranges. - function reCheckSelection(doc) { - setSelectionInner(doc, skipAtomicInSelection(doc, doc.sel, null, false), sel_dontScroll); - } - - // Return a selection that does not partially select any atomic - // ranges. - function skipAtomicInSelection(doc, sel, bias, mayClear) { - var out; - for (var i = 0; i < sel.ranges.length; i++) { - var range = sel.ranges[i]; - var newAnchor = skipAtomic(doc, range.anchor, bias, mayClear); - var newHead = skipAtomic(doc, range.head, bias, mayClear); - if (out || newAnchor != range.anchor || newHead != range.head) { - if (!out) out = sel.ranges.slice(0, i); - out[i] = new Range(newAnchor, newHead); - } - } - return out ? normalizeSelection(out, sel.primIndex) : sel; - } - - // Ensure a given position is not inside an atomic range. - function skipAtomic(doc, pos, bias, mayClear) { - var flipped = false, curPos = pos; - var dir = bias || 1; - doc.cantEdit = false; - search: for (;;) { - var line = getLine(doc, curPos.line); - if (line.markedSpans) { - for (var i = 0; i < line.markedSpans.length; ++i) { - var sp = line.markedSpans[i], m = sp.marker; - if ((sp.from == null || (m.inclusiveLeft ? sp.from <= curPos.ch : sp.from < curPos.ch)) && - (sp.to == null || (m.inclusiveRight ? sp.to >= curPos.ch : sp.to > curPos.ch))) { - if (mayClear) { - signal(m, "beforeCursorEnter"); - if (m.explicitlyCleared) { - if (!line.markedSpans) break; - else {--i; continue;} - } - } - if (!m.atomic) continue; - var newPos = m.find(dir < 0 ? -1 : 1); - if (cmp(newPos, curPos) == 0) { - newPos.ch += dir; - if (newPos.ch < 0) { - if (newPos.line > doc.first) newPos = clipPos(doc, Pos(newPos.line - 1)); - else newPos = null; - } else if (newPos.ch > line.text.length) { - if (newPos.line < doc.first + doc.size - 1) newPos = Pos(newPos.line + 1, 0); - else newPos = null; - } - if (!newPos) { - if (flipped) { - // Driven in a corner -- no valid cursor position found at all - // -- try again *with* clearing, if we didn't already - if (!mayClear) return skipAtomic(doc, pos, bias, true); - // Otherwise, turn off editing until further notice, and return the start of the doc - doc.cantEdit = true; - return Pos(doc.first, 0); - } - flipped = true; newPos = pos; dir = -dir; - } - } - curPos = newPos; - continue search; - } - } - } - return curPos; - } - } - - // SELECTION DRAWING - - function updateSelection(cm) { - cm.display.input.showSelection(cm.display.input.prepareSelection()); - } - - function prepareSelection(cm, primary) { - var doc = cm.doc, result = {}; - var curFragment = result.cursors = document.createDocumentFragment(); - var selFragment = result.selection = document.createDocumentFragment(); - - for (var i = 0; i < doc.sel.ranges.length; i++) { - if (primary === false && i == doc.sel.primIndex) continue; - var range = doc.sel.ranges[i]; - var collapsed = range.empty(); - if (collapsed || cm.options.showCursorWhenSelecting) - drawSelectionCursor(cm, range, curFragment); - if (!collapsed) - drawSelectionRange(cm, range, selFragment); - } - return result; - } - - // Draws a cursor for the given range - function drawSelectionCursor(cm, range, output) { - var pos = cursorCoords(cm, range.head, "div", null, null, !cm.options.singleCursorHeightPerLine); - - var cursor = output.appendChild(elt("div", "\u00a0", "CodeMirror-cursor")); - cursor.style.left = pos.left + "px"; - cursor.style.top = pos.top + "px"; - cursor.style.height = Math.max(0, pos.bottom - pos.top) * cm.options.cursorHeight + "px"; - - if (pos.other) { - // Secondary cursor, shown when on a 'jump' in bi-directional text - var otherCursor = output.appendChild(elt("div", "\u00a0", "CodeMirror-cursor CodeMirror-secondarycursor")); - otherCursor.style.display = ""; - otherCursor.style.left = pos.other.left + "px"; - otherCursor.style.top = pos.other.top + "px"; - otherCursor.style.height = (pos.other.bottom - pos.other.top) * .85 + "px"; - } - } - - // Draws the given range as a highlighted selection - function drawSelectionRange(cm, range, output) { - var display = cm.display, doc = cm.doc; - var fragment = document.createDocumentFragment(); - var padding = paddingH(cm.display), leftSide = padding.left; - var rightSide = Math.max(display.sizerWidth, displayWidth(cm) - display.sizer.offsetLeft) - padding.right; - - function add(left, top, width, bottom) { - if (top < 0) top = 0; - top = Math.round(top); - bottom = Math.round(bottom); - fragment.appendChild(elt("div", null, "CodeMirror-selected", "position: absolute; left: " + left + - "px; top: " + top + "px; width: " + (width == null ? rightSide - left : width) + - "px; height: " + (bottom - top) + "px")); - } - - function drawForLine(line, fromArg, toArg) { - var lineObj = getLine(doc, line); - var lineLen = lineObj.text.length; - var start, end; - function coords(ch, bias) { - return charCoords(cm, Pos(line, ch), "div", lineObj, bias); - } - - iterateBidiSections(getOrder(lineObj), fromArg || 0, toArg == null ? lineLen : toArg, function(from, to, dir) { - var leftPos = coords(from, "left"), rightPos, left, right; - if (from == to) { - rightPos = leftPos; - left = right = leftPos.left; - } else { - rightPos = coords(to - 1, "right"); - if (dir == "rtl") { var tmp = leftPos; leftPos = rightPos; rightPos = tmp; } - left = leftPos.left; - right = rightPos.right; - } - if (fromArg == null && from == 0) left = leftSide; - if (rightPos.top - leftPos.top > 3) { // Different lines, draw top part - add(left, leftPos.top, null, leftPos.bottom); - left = leftSide; - if (leftPos.bottom < rightPos.top) add(left, leftPos.bottom, null, rightPos.top); - } - if (toArg == null && to == lineLen) right = rightSide; - if (!start || leftPos.top < start.top || leftPos.top == start.top && leftPos.left < start.left) - start = leftPos; - if (!end || rightPos.bottom > end.bottom || rightPos.bottom == end.bottom && rightPos.right > end.right) - end = rightPos; - if (left < leftSide + 1) left = leftSide; - add(left, rightPos.top, right - left, rightPos.bottom); - }); - return {start: start, end: end}; - } - - var sFrom = range.from(), sTo = range.to(); - if (sFrom.line == sTo.line) { - drawForLine(sFrom.line, sFrom.ch, sTo.ch); - } else { - var fromLine = getLine(doc, sFrom.line), toLine = getLine(doc, sTo.line); - var singleVLine = visualLine(fromLine) == visualLine(toLine); - var leftEnd = drawForLine(sFrom.line, sFrom.ch, singleVLine ? fromLine.text.length + 1 : null).end; - var rightStart = drawForLine(sTo.line, singleVLine ? 0 : null, sTo.ch).start; - if (singleVLine) { - if (leftEnd.top < rightStart.top - 2) { - add(leftEnd.right, leftEnd.top, null, leftEnd.bottom); - add(leftSide, rightStart.top, rightStart.left, rightStart.bottom); - } else { - add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom); - } - } - if (leftEnd.bottom < rightStart.top) - add(leftSide, leftEnd.bottom, null, rightStart.top); - } - - output.appendChild(fragment); - } - - // Cursor-blinking - function restartBlink(cm) { - if (!cm.state.focused) return; - var display = cm.display; - clearInterval(display.blinker); - var on = true; - display.cursorDiv.style.visibility = ""; - if (cm.options.cursorBlinkRate > 0) - display.blinker = setInterval(function() { - display.cursorDiv.style.visibility = (on = !on) ? "" : "hidden"; - }, cm.options.cursorBlinkRate); - else if (cm.options.cursorBlinkRate < 0) - display.cursorDiv.style.visibility = "hidden"; - } - - // HIGHLIGHT WORKER - - function startWorker(cm, time) { - if (cm.doc.mode.startState && cm.doc.frontier < cm.display.viewTo) - cm.state.highlight.set(time, bind(highlightWorker, cm)); - } - - function highlightWorker(cm) { - var doc = cm.doc; - if (doc.frontier < doc.first) doc.frontier = doc.first; - if (doc.frontier >= cm.display.viewTo) return; - var end = +new Date + cm.options.workTime; - var state = copyState(doc.mode, getStateBefore(cm, doc.frontier)); - var changedLines = []; - - doc.iter(doc.frontier, Math.min(doc.first + doc.size, cm.display.viewTo + 500), function(line) { - if (doc.frontier >= cm.display.viewFrom) { // Visible - var oldStyles = line.styles; - var highlighted = highlightLine(cm, line, state, true); - line.styles = highlighted.styles; - var oldCls = line.styleClasses, newCls = highlighted.classes; - if (newCls) line.styleClasses = newCls; - else if (oldCls) line.styleClasses = null; - var ischange = !oldStyles || oldStyles.length != line.styles.length || - oldCls != newCls && (!oldCls || !newCls || oldCls.bgClass != newCls.bgClass || oldCls.textClass != newCls.textClass); - for (var i = 0; !ischange && i < oldStyles.length; ++i) ischange = oldStyles[i] != line.styles[i]; - if (ischange) changedLines.push(doc.frontier); - line.stateAfter = copyState(doc.mode, state); - } else { - processLine(cm, line.text, state); - line.stateAfter = doc.frontier % 5 == 0 ? copyState(doc.mode, state) : null; - } - ++doc.frontier; - if (+new Date > end) { - startWorker(cm, cm.options.workDelay); - return true; - } - }); - if (changedLines.length) runInOp(cm, function() { - for (var i = 0; i < changedLines.length; i++) - regLineChange(cm, changedLines[i], "text"); - }); - } - - // Finds the line to start with when starting a parse. Tries to - // find a line with a stateAfter, so that it can start with a - // valid state. If that fails, it returns the line with the - // smallest indentation, which tends to need the least context to - // parse correctly. - function findStartLine(cm, n, precise) { - var minindent, minline, doc = cm.doc; - var lim = precise ? -1 : n - (cm.doc.mode.innerMode ? 1000 : 100); - for (var search = n; search > lim; --search) { - if (search <= doc.first) return doc.first; - var line = getLine(doc, search - 1); - if (line.stateAfter && (!precise || search <= doc.frontier)) return search; - var indented = countColumn(line.text, null, cm.options.tabSize); - if (minline == null || minindent > indented) { - minline = search - 1; - minindent = indented; - } - } - return minline; - } - - function getStateBefore(cm, n, precise) { - var doc = cm.doc, display = cm.display; - if (!doc.mode.startState) return true; - var pos = findStartLine(cm, n, precise), state = pos > doc.first && getLine(doc, pos-1).stateAfter; - if (!state) state = startState(doc.mode); - else state = copyState(doc.mode, state); - doc.iter(pos, n, function(line) { - processLine(cm, line.text, state); - var save = pos == n - 1 || pos % 5 == 0 || pos >= display.viewFrom && pos < display.viewTo; - line.stateAfter = save ? copyState(doc.mode, state) : null; - ++pos; - }); - if (precise) doc.frontier = pos; - return state; - } - - // POSITION MEASUREMENT - - function paddingTop(display) {return display.lineSpace.offsetTop;} - function paddingVert(display) {return display.mover.offsetHeight - display.lineSpace.offsetHeight;} - function paddingH(display) { - if (display.cachedPaddingH) return display.cachedPaddingH; - var e = removeChildrenAndAdd(display.measure, elt("pre", "x")); - var style = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle; - var data = {left: parseInt(style.paddingLeft), right: parseInt(style.paddingRight)}; - if (!isNaN(data.left) && !isNaN(data.right)) display.cachedPaddingH = data; - return data; - } - - function scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth; } - function displayWidth(cm) { - return cm.display.scroller.clientWidth - scrollGap(cm) - cm.display.barWidth; - } - function displayHeight(cm) { - return cm.display.scroller.clientHeight - scrollGap(cm) - cm.display.barHeight; - } - - // Ensure the lineView.wrapping.heights array is populated. This is - // an array of bottom offsets for the lines that make up a drawn - // line. When lineWrapping is on, there might be more than one - // height. - function ensureLineHeights(cm, lineView, rect) { - var wrapping = cm.options.lineWrapping; - var curWidth = wrapping && displayWidth(cm); - if (!lineView.measure.heights || wrapping && lineView.measure.width != curWidth) { - var heights = lineView.measure.heights = []; - if (wrapping) { - lineView.measure.width = curWidth; - var rects = lineView.text.firstChild.getClientRects(); - for (var i = 0; i < rects.length - 1; i++) { - var cur = rects[i], next = rects[i + 1]; - if (Math.abs(cur.bottom - next.bottom) > 2) - heights.push((cur.bottom + next.top) / 2 - rect.top); - } - } - heights.push(rect.bottom - rect.top); - } - } - - // Find a line map (mapping character offsets to text nodes) and a - // measurement cache for the given line number. (A line view might - // contain multiple lines when collapsed ranges are present.) - function mapFromLineView(lineView, line, lineN) { - if (lineView.line == line) - return {map: lineView.measure.map, cache: lineView.measure.cache}; - for (var i = 0; i < lineView.rest.length; i++) - if (lineView.rest[i] == line) - return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i]}; - for (var i = 0; i < lineView.rest.length; i++) - if (lineNo(lineView.rest[i]) > lineN) - return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i], before: true}; - } - - // Render a line into the hidden node display.externalMeasured. Used - // when measurement is needed for a line that's not in the viewport. - function updateExternalMeasurement(cm, line) { - line = visualLine(line); - var lineN = lineNo(line); - var view = cm.display.externalMeasured = new LineView(cm.doc, line, lineN); - view.lineN = lineN; - var built = view.built = buildLineContent(cm, view); - view.text = built.pre; - removeChildrenAndAdd(cm.display.lineMeasure, built.pre); - return view; - } - - // Get a {top, bottom, left, right} box (in line-local coordinates) - // for a given character. - function measureChar(cm, line, ch, bias) { - return measureCharPrepared(cm, prepareMeasureForLine(cm, line), ch, bias); - } - - // Find a line view that corresponds to the given line number. - function findViewForLine(cm, lineN) { - if (lineN >= cm.display.viewFrom && lineN < cm.display.viewTo) - return cm.display.view[findViewIndex(cm, lineN)]; - var ext = cm.display.externalMeasured; - if (ext && lineN >= ext.lineN && lineN < ext.lineN + ext.size) - return ext; - } - - // Measurement can be split in two steps, the set-up work that - // applies to the whole line, and the measurement of the actual - // character. Functions like coordsChar, that need to do a lot of - // measurements in a row, can thus ensure that the set-up work is - // only done once. - function prepareMeasureForLine(cm, line) { - var lineN = lineNo(line); - var view = findViewForLine(cm, lineN); - if (view && !view.text) - view = null; - else if (view && view.changes) - updateLineForChanges(cm, view, lineN, getDimensions(cm)); - if (!view) - view = updateExternalMeasurement(cm, line); - - var info = mapFromLineView(view, line, lineN); - return { - line: line, view: view, rect: null, - map: info.map, cache: info.cache, before: info.before, - hasHeights: false - }; - } - - // Given a prepared measurement object, measures the position of an - // actual character (or fetches it from the cache). - function measureCharPrepared(cm, prepared, ch, bias, varHeight) { - if (prepared.before) ch = -1; - var key = ch + (bias || ""), found; - if (prepared.cache.hasOwnProperty(key)) { - found = prepared.cache[key]; - } else { - if (!prepared.rect) - prepared.rect = prepared.view.text.getBoundingClientRect(); - if (!prepared.hasHeights) { - ensureLineHeights(cm, prepared.view, prepared.rect); - prepared.hasHeights = true; - } - found = measureCharInner(cm, prepared, ch, bias); - if (!found.bogus) prepared.cache[key] = found; - } - return {left: found.left, right: found.right, - top: varHeight ? found.rtop : found.top, - bottom: varHeight ? found.rbottom : found.bottom}; - } - - var nullRect = {left: 0, right: 0, top: 0, bottom: 0}; - - function nodeAndOffsetInLineMap(map, ch, bias) { - var node, start, end, collapse; - // First, search the line map for the text node corresponding to, - // or closest to, the target character. - for (var i = 0; i < map.length; i += 3) { - var mStart = map[i], mEnd = map[i + 1]; - if (ch < mStart) { - start = 0; end = 1; - collapse = "left"; - } else if (ch < mEnd) { - start = ch - mStart; - end = start + 1; - } else if (i == map.length - 3 || ch == mEnd && map[i + 3] > ch) { - end = mEnd - mStart; - start = end - 1; - if (ch >= mEnd) collapse = "right"; - } - if (start != null) { - node = map[i + 2]; - if (mStart == mEnd && bias == (node.insertLeft ? "left" : "right")) - collapse = bias; - if (bias == "left" && start == 0) - while (i && map[i - 2] == map[i - 3] && map[i - 1].insertLeft) { - node = map[(i -= 3) + 2]; - collapse = "left"; - } - if (bias == "right" && start == mEnd - mStart) - while (i < map.length - 3 && map[i + 3] == map[i + 4] && !map[i + 5].insertLeft) { - node = map[(i += 3) + 2]; - collapse = "right"; - } - break; - } - } - return {node: node, start: start, end: end, collapse: collapse, coverStart: mStart, coverEnd: mEnd}; - } - - function measureCharInner(cm, prepared, ch, bias) { - var place = nodeAndOffsetInLineMap(prepared.map, ch, bias); - var node = place.node, start = place.start, end = place.end, collapse = place.collapse; - - var rect; - if (node.nodeType == 3) { // If it is a text node, use a range to retrieve the coordinates. - for (var i = 0; i < 4; i++) { // Retry a maximum of 4 times when nonsense rectangles are returned - while (start && isExtendingChar(prepared.line.text.charAt(place.coverStart + start))) --start; - while (place.coverStart + end < place.coverEnd && isExtendingChar(prepared.line.text.charAt(place.coverStart + end))) ++end; - if (ie && ie_version < 9 && start == 0 && end == place.coverEnd - place.coverStart) { - rect = node.parentNode.getBoundingClientRect(); - } else if (ie && cm.options.lineWrapping) { - var rects = range(node, start, end).getClientRects(); - if (rects.length) - rect = rects[bias == "right" ? rects.length - 1 : 0]; - else - rect = nullRect; - } else { - rect = range(node, start, end).getBoundingClientRect() || nullRect; - } - if (rect.left || rect.right || start == 0) break; - end = start; - start = start - 1; - collapse = "right"; - } - if (ie && ie_version < 11) rect = maybeUpdateRectForZooming(cm.display.measure, rect); - } else { // If it is a widget, simply get the box for the whole widget. - if (start > 0) collapse = bias = "right"; - var rects; - if (cm.options.lineWrapping && (rects = node.getClientRects()).length > 1) - rect = rects[bias == "right" ? rects.length - 1 : 0]; - else - rect = node.getBoundingClientRect(); - } - if (ie && ie_version < 9 && !start && (!rect || !rect.left && !rect.right)) { - var rSpan = node.parentNode.getClientRects()[0]; - if (rSpan) - rect = {left: rSpan.left, right: rSpan.left + charWidth(cm.display), top: rSpan.top, bottom: rSpan.bottom}; - else - rect = nullRect; - } - - var rtop = rect.top - prepared.rect.top, rbot = rect.bottom - prepared.rect.top; - var mid = (rtop + rbot) / 2; - var heights = prepared.view.measure.heights; - for (var i = 0; i < heights.length - 1; i++) - if (mid < heights[i]) break; - var top = i ? heights[i - 1] : 0, bot = heights[i]; - var result = {left: (collapse == "right" ? rect.right : rect.left) - prepared.rect.left, - right: (collapse == "left" ? rect.left : rect.right) - prepared.rect.left, - top: top, bottom: bot}; - if (!rect.left && !rect.right) result.bogus = true; - if (!cm.options.singleCursorHeightPerLine) { result.rtop = rtop; result.rbottom = rbot; } - - return result; - } - - // Work around problem with bounding client rects on ranges being - // returned incorrectly when zoomed on IE10 and below. - function maybeUpdateRectForZooming(measure, rect) { - if (!window.screen || screen.logicalXDPI == null || - screen.logicalXDPI == screen.deviceXDPI || !hasBadZoomedRects(measure)) - return rect; - var scaleX = screen.logicalXDPI / screen.deviceXDPI; - var scaleY = screen.logicalYDPI / screen.deviceYDPI; - return {left: rect.left * scaleX, right: rect.right * scaleX, - top: rect.top * scaleY, bottom: rect.bottom * scaleY}; - } - - function clearLineMeasurementCacheFor(lineView) { - if (lineView.measure) { - lineView.measure.cache = {}; - lineView.measure.heights = null; - if (lineView.rest) for (var i = 0; i < lineView.rest.length; i++) - lineView.measure.caches[i] = {}; - } - } - - function clearLineMeasurementCache(cm) { - cm.display.externalMeasure = null; - removeChildren(cm.display.lineMeasure); - for (var i = 0; i < cm.display.view.length; i++) - clearLineMeasurementCacheFor(cm.display.view[i]); - } - - function clearCaches(cm) { - clearLineMeasurementCache(cm); - cm.display.cachedCharWidth = cm.display.cachedTextHeight = cm.display.cachedPaddingH = null; - if (!cm.options.lineWrapping) cm.display.maxLineChanged = true; - cm.display.lineNumChars = null; - } - - function pageScrollX() { return window.pageXOffset || (document.documentElement || document.body).scrollLeft; } - function pageScrollY() { return window.pageYOffset || (document.documentElement || document.body).scrollTop; } - - // Converts a {top, bottom, left, right} box from line-local - // coordinates into another coordinate system. Context may be one of - // "line", "div" (display.lineDiv), "local"/null (editor), "window", - // or "page". - function intoCoordSystem(cm, lineObj, rect, context) { - if (lineObj.widgets) for (var i = 0; i < lineObj.widgets.length; ++i) if (lineObj.widgets[i].above) { - var size = widgetHeight(lineObj.widgets[i]); - rect.top += size; rect.bottom += size; - } - if (context == "line") return rect; - if (!context) context = "local"; - var yOff = heightAtLine(lineObj); - if (context == "local") yOff += paddingTop(cm.display); - else yOff -= cm.display.viewOffset; - if (context == "page" || context == "window") { - var lOff = cm.display.lineSpace.getBoundingClientRect(); - yOff += lOff.top + (context == "window" ? 0 : pageScrollY()); - var xOff = lOff.left + (context == "window" ? 0 : pageScrollX()); - rect.left += xOff; rect.right += xOff; - } - rect.top += yOff; rect.bottom += yOff; - return rect; - } - - // Coverts a box from "div" coords to another coordinate system. - // Context may be "window", "page", "div", or "local"/null. - function fromCoordSystem(cm, coords, context) { - if (context == "div") return coords; - var left = coords.left, top = coords.top; - // First move into "page" coordinate system - if (context == "page") { - left -= pageScrollX(); - top -= pageScrollY(); - } else if (context == "local" || !context) { - var localBox = cm.display.sizer.getBoundingClientRect(); - left += localBox.left; - top += localBox.top; - } - - var lineSpaceBox = cm.display.lineSpace.getBoundingClientRect(); - return {left: left - lineSpaceBox.left, top: top - lineSpaceBox.top}; - } - - function charCoords(cm, pos, context, lineObj, bias) { - if (!lineObj) lineObj = getLine(cm.doc, pos.line); - return intoCoordSystem(cm, lineObj, measureChar(cm, lineObj, pos.ch, bias), context); - } - - // Returns a box for a given cursor position, which may have an - // 'other' property containing the position of the secondary cursor - // on a bidi boundary. - function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) { - lineObj = lineObj || getLine(cm.doc, pos.line); - if (!preparedMeasure) preparedMeasure = prepareMeasureForLine(cm, lineObj); - function get(ch, right) { - var m = measureCharPrepared(cm, preparedMeasure, ch, right ? "right" : "left", varHeight); - if (right) m.left = m.right; else m.right = m.left; - return intoCoordSystem(cm, lineObj, m, context); - } - function getBidi(ch, partPos) { - var part = order[partPos], right = part.level % 2; - if (ch == bidiLeft(part) && partPos && part.level < order[partPos - 1].level) { - part = order[--partPos]; - ch = bidiRight(part) - (part.level % 2 ? 0 : 1); - right = true; - } else if (ch == bidiRight(part) && partPos < order.length - 1 && part.level < order[partPos + 1].level) { - part = order[++partPos]; - ch = bidiLeft(part) - part.level % 2; - right = false; - } - if (right && ch == part.to && ch > part.from) return get(ch - 1); - return get(ch, right); - } - var order = getOrder(lineObj), ch = pos.ch; - if (!order) return get(ch); - var partPos = getBidiPartAt(order, ch); - var val = getBidi(ch, partPos); - if (bidiOther != null) val.other = getBidi(ch, bidiOther); - return val; - } - - // Used to cheaply estimate the coordinates for a position. Used for - // intermediate scroll updates. - function estimateCoords(cm, pos) { - var left = 0, pos = clipPos(cm.doc, pos); - if (!cm.options.lineWrapping) left = charWidth(cm.display) * pos.ch; - var lineObj = getLine(cm.doc, pos.line); - var top = heightAtLine(lineObj) + paddingTop(cm.display); - return {left: left, right: left, top: top, bottom: top + lineObj.height}; - } - - // Positions returned by coordsChar contain some extra information. - // xRel is the relative x position of the input coordinates compared - // to the found position (so xRel > 0 means the coordinates are to - // the right of the character position, for example). When outside - // is true, that means the coordinates lie outside the line's - // vertical range. - function PosWithInfo(line, ch, outside, xRel) { - var pos = Pos(line, ch); - pos.xRel = xRel; - if (outside) pos.outside = true; - return pos; - } - - // Compute the character position closest to the given coordinates. - // Input must be lineSpace-local ("div" coordinate system). - function coordsChar(cm, x, y) { - var doc = cm.doc; - y += cm.display.viewOffset; - if (y < 0) return PosWithInfo(doc.first, 0, true, -1); - var lineN = lineAtHeight(doc, y), last = doc.first + doc.size - 1; - if (lineN > last) - return PosWithInfo(doc.first + doc.size - 1, getLine(doc, last).text.length, true, 1); - if (x < 0) x = 0; - - var lineObj = getLine(doc, lineN); - for (;;) { - var found = coordsCharInner(cm, lineObj, lineN, x, y); - var merged = collapsedSpanAtEnd(lineObj); - var mergedPos = merged && merged.find(0, true); - if (merged && (found.ch > mergedPos.from.ch || found.ch == mergedPos.from.ch && found.xRel > 0)) - lineN = lineNo(lineObj = mergedPos.to.line); - else - return found; - } - } - - function coordsCharInner(cm, lineObj, lineNo, x, y) { - var innerOff = y - heightAtLine(lineObj); - var wrongLine = false, adjust = 2 * cm.display.wrapper.clientWidth; - var preparedMeasure = prepareMeasureForLine(cm, lineObj); - - function getX(ch) { - var sp = cursorCoords(cm, Pos(lineNo, ch), "line", lineObj, preparedMeasure); - wrongLine = true; - if (innerOff > sp.bottom) return sp.left - adjust; - else if (innerOff < sp.top) return sp.left + adjust; - else wrongLine = false; - return sp.left; - } - - var bidi = getOrder(lineObj), dist = lineObj.text.length; - var from = lineLeft(lineObj), to = lineRight(lineObj); - var fromX = getX(from), fromOutside = wrongLine, toX = getX(to), toOutside = wrongLine; - - if (x > toX) return PosWithInfo(lineNo, to, toOutside, 1); - // Do a binary search between these bounds. - for (;;) { - if (bidi ? to == from || to == moveVisually(lineObj, from, 1) : to - from <= 1) { - var ch = x < fromX || x - fromX <= toX - x ? from : to; - var xDiff = x - (ch == from ? fromX : toX); - while (isExtendingChar(lineObj.text.charAt(ch))) ++ch; - var pos = PosWithInfo(lineNo, ch, ch == from ? fromOutside : toOutside, - xDiff < -1 ? -1 : xDiff > 1 ? 1 : 0); - return pos; - } - var step = Math.ceil(dist / 2), middle = from + step; - if (bidi) { - middle = from; - for (var i = 0; i < step; ++i) middle = moveVisually(lineObj, middle, 1); - } - var middleX = getX(middle); - if (middleX > x) {to = middle; toX = middleX; if (toOutside = wrongLine) toX += 1000; dist = step;} - else {from = middle; fromX = middleX; fromOutside = wrongLine; dist -= step;} - } - } - - var measureText; - // Compute the default text height. - function textHeight(display) { - if (display.cachedTextHeight != null) return display.cachedTextHeight; - if (measureText == null) { - measureText = elt("pre"); - // Measure a bunch of lines, for browsers that compute - // fractional heights. - for (var i = 0; i < 49; ++i) { - measureText.appendChild(document.createTextNode("x")); - measureText.appendChild(elt("br")); - } - measureText.appendChild(document.createTextNode("x")); - } - removeChildrenAndAdd(display.measure, measureText); - var height = measureText.offsetHeight / 50; - if (height > 3) display.cachedTextHeight = height; - removeChildren(display.measure); - return height || 1; - } - - // Compute the default character width. - function charWidth(display) { - if (display.cachedCharWidth != null) return display.cachedCharWidth; - var anchor = elt("span", "xxxxxxxxxx"); - var pre = elt("pre", [anchor]); - removeChildrenAndAdd(display.measure, pre); - var rect = anchor.getBoundingClientRect(), width = (rect.right - rect.left) / 10; - if (width > 2) display.cachedCharWidth = width; - return width || 10; - } - - // OPERATIONS - - // Operations are used to wrap a series of changes to the editor - // state in such a way that each change won't have to update the - // cursor and display (which would be awkward, slow, and - // error-prone). Instead, display updates are batched and then all - // combined and executed at once. - - var operationGroup = null; - - var nextOpId = 0; - // Start a new operation. - function startOperation(cm) { - cm.curOp = { - cm: cm, - viewChanged: false, // Flag that indicates that lines might need to be redrawn - startHeight: cm.doc.height, // Used to detect need to update scrollbar - forceUpdate: false, // Used to force a redraw - updateInput: null, // Whether to reset the input textarea - typing: false, // Whether this reset should be careful to leave existing text (for compositing) - changeObjs: null, // Accumulated changes, for firing change events - cursorActivityHandlers: null, // Set of handlers to fire cursorActivity on - cursorActivityCalled: 0, // Tracks which cursorActivity handlers have been called already - selectionChanged: false, // Whether the selection needs to be redrawn - updateMaxLine: false, // Set when the widest line needs to be determined anew - scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet - scrollToPos: null, // Used to scroll to a specific position - focus: false, - id: ++nextOpId // Unique ID - }; - if (operationGroup) { - operationGroup.ops.push(cm.curOp); - } else { - cm.curOp.ownsGroup = operationGroup = { - ops: [cm.curOp], - delayedCallbacks: [] - }; - } - } - - function fireCallbacksForOps(group) { - // Calls delayed callbacks and cursorActivity handlers until no - // new ones appear - var callbacks = group.delayedCallbacks, i = 0; - do { - for (; i < callbacks.length; i++) - callbacks[i](); - for (var j = 0; j < group.ops.length; j++) { - var op = group.ops[j]; - if (op.cursorActivityHandlers) - while (op.cursorActivityCalled < op.cursorActivityHandlers.length) - op.cursorActivityHandlers[op.cursorActivityCalled++](op.cm); - } - } while (i < callbacks.length); - } - - // Finish an operation, updating the display and signalling delayed events - function endOperation(cm) { - var op = cm.curOp, group = op.ownsGroup; - if (!group) return; - - try { fireCallbacksForOps(group); } - finally { - operationGroup = null; - for (var i = 0; i < group.ops.length; i++) - group.ops[i].cm.curOp = null; - endOperations(group); - } - } - - // The DOM updates done when an operation finishes are batched so - // that the minimum number of relayouts are required. - function endOperations(group) { - var ops = group.ops; - for (var i = 0; i < ops.length; i++) // Read DOM - endOperation_R1(ops[i]); - for (var i = 0; i < ops.length; i++) // Write DOM (maybe) - endOperation_W1(ops[i]); - for (var i = 0; i < ops.length; i++) // Read DOM - endOperation_R2(ops[i]); - for (var i = 0; i < ops.length; i++) // Write DOM (maybe) - endOperation_W2(ops[i]); - for (var i = 0; i < ops.length; i++) // Read DOM - endOperation_finish(ops[i]); - } - - function endOperation_R1(op) { - var cm = op.cm, display = cm.display; - maybeClipScrollbars(cm); - if (op.updateMaxLine) findMaxLine(cm); - - op.mustUpdate = op.viewChanged || op.forceUpdate || op.scrollTop != null || - op.scrollToPos && (op.scrollToPos.from.line < display.viewFrom || - op.scrollToPos.to.line >= display.viewTo) || - display.maxLineChanged && cm.options.lineWrapping; - op.update = op.mustUpdate && - new DisplayUpdate(cm, op.mustUpdate && {top: op.scrollTop, ensure: op.scrollToPos}, op.forceUpdate); - } - - function endOperation_W1(op) { - op.updatedDisplay = op.mustUpdate && updateDisplayIfNeeded(op.cm, op.update); - } - - function endOperation_R2(op) { - var cm = op.cm, display = cm.display; - if (op.updatedDisplay) updateHeightsInViewport(cm); - - op.barMeasure = measureForScrollbars(cm); - - // If the max line changed since it was last measured, measure it, - // and ensure the document's width matches it. - // updateDisplay_W2 will use these properties to do the actual resizing - if (display.maxLineChanged && !cm.options.lineWrapping) { - op.adjustWidthTo = measureChar(cm, display.maxLine, display.maxLine.text.length).left + 3; - cm.display.sizerWidth = op.adjustWidthTo; - op.barMeasure.scrollWidth = - Math.max(display.scroller.clientWidth, display.sizer.offsetLeft + op.adjustWidthTo + scrollGap(cm) + cm.display.barWidth); - op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo - displayWidth(cm)); - } - - if (op.updatedDisplay || op.selectionChanged) - op.preparedSelection = display.input.prepareSelection(); - } - - function endOperation_W2(op) { - var cm = op.cm; - - if (op.adjustWidthTo != null) { - cm.display.sizer.style.minWidth = op.adjustWidthTo + "px"; - if (op.maxScrollLeft < cm.doc.scrollLeft) - setScrollLeft(cm, Math.min(cm.display.scroller.scrollLeft, op.maxScrollLeft), true); - cm.display.maxLineChanged = false; - } - - if (op.preparedSelection) - cm.display.input.showSelection(op.preparedSelection); - if (op.updatedDisplay) - setDocumentHeight(cm, op.barMeasure); - if (op.updatedDisplay || op.startHeight != cm.doc.height) - updateScrollbars(cm, op.barMeasure); - - if (op.selectionChanged) restartBlink(cm); - - if (cm.state.focused && op.updateInput) - cm.display.input.reset(op.typing); - if (op.focus && op.focus == activeElt()) ensureFocus(op.cm); - } - - function endOperation_finish(op) { - var cm = op.cm, display = cm.display, doc = cm.doc; - - if (op.updatedDisplay) postUpdateDisplay(cm, op.update); - - // Abort mouse wheel delta measurement, when scrolling explicitly - if (display.wheelStartX != null && (op.scrollTop != null || op.scrollLeft != null || op.scrollToPos)) - display.wheelStartX = display.wheelStartY = null; - - // Propagate the scroll position to the actual DOM scroller - if (op.scrollTop != null && (display.scroller.scrollTop != op.scrollTop || op.forceScroll)) { - doc.scrollTop = Math.max(0, Math.min(display.scroller.scrollHeight - display.scroller.clientHeight, op.scrollTop)); - display.scrollbars.setScrollTop(doc.scrollTop); - display.scroller.scrollTop = doc.scrollTop; - } - if (op.scrollLeft != null && (display.scroller.scrollLeft != op.scrollLeft || op.forceScroll)) { - doc.scrollLeft = Math.max(0, Math.min(display.scroller.scrollWidth - displayWidth(cm), op.scrollLeft)); - display.scrollbars.setScrollLeft(doc.scrollLeft); - display.scroller.scrollLeft = doc.scrollLeft; - alignHorizontally(cm); - } - // If we need to scroll a specific position into view, do so. - if (op.scrollToPos) { - var coords = scrollPosIntoView(cm, clipPos(doc, op.scrollToPos.from), - clipPos(doc, op.scrollToPos.to), op.scrollToPos.margin); - if (op.scrollToPos.isCursor && cm.state.focused) maybeScrollWindow(cm, coords); - } - - // Fire events for markers that are hidden/unidden by editing or - // undoing - var hidden = op.maybeHiddenMarkers, unhidden = op.maybeUnhiddenMarkers; - if (hidden) for (var i = 0; i < hidden.length; ++i) - if (!hidden[i].lines.length) signal(hidden[i], "hide"); - if (unhidden) for (var i = 0; i < unhidden.length; ++i) - if (unhidden[i].lines.length) signal(unhidden[i], "unhide"); - - if (display.wrapper.offsetHeight) - doc.scrollTop = cm.display.scroller.scrollTop; - - // Fire change events, and delayed event handlers - if (op.changeObjs) - signal(cm, "changes", cm, op.changeObjs); - if (op.update) - op.update.finish(); - } - - // Run the given function in an operation - function runInOp(cm, f) { - if (cm.curOp) return f(); - startOperation(cm); - try { return f(); } - finally { endOperation(cm); } - } - // Wraps a function in an operation. Returns the wrapped function. - function operation(cm, f) { - return function() { - if (cm.curOp) return f.apply(cm, arguments); - startOperation(cm); - try { return f.apply(cm, arguments); } - finally { endOperation(cm); } - }; - } - // Used to add methods to editor and doc instances, wrapping them in - // operations. - function methodOp(f) { - return function() { - if (this.curOp) return f.apply(this, arguments); - startOperation(this); - try { return f.apply(this, arguments); } - finally { endOperation(this); } - }; - } - function docMethodOp(f) { - return function() { - var cm = this.cm; - if (!cm || cm.curOp) return f.apply(this, arguments); - startOperation(cm); - try { return f.apply(this, arguments); } - finally { endOperation(cm); } - }; - } - - // VIEW TRACKING - - // These objects are used to represent the visible (currently drawn) - // part of the document. A LineView may correspond to multiple - // logical lines, if those are connected by collapsed ranges. - function LineView(doc, line, lineN) { - // The starting line - this.line = line; - // Continuing lines, if any - this.rest = visualLineContinued(line); - // Number of logical lines in this visual line - this.size = this.rest ? lineNo(lst(this.rest)) - lineN + 1 : 1; - this.node = this.text = null; - this.hidden = lineIsHidden(doc, line); - } - - // Create a range of LineView objects for the given lines. - function buildViewArray(cm, from, to) { - var array = [], nextPos; - for (var pos = from; pos < to; pos = nextPos) { - var view = new LineView(cm.doc, getLine(cm.doc, pos), pos); - nextPos = pos + view.size; - array.push(view); - } - return array; - } - - // Updates the display.view data structure for a given change to the - // document. From and to are in pre-change coordinates. Lendiff is - // the amount of lines added or subtracted by the change. This is - // used for changes that span multiple lines, or change the way - // lines are divided into visual lines. regLineChange (below) - // registers single-line changes. - function regChange(cm, from, to, lendiff) { - if (from == null) from = cm.doc.first; - if (to == null) to = cm.doc.first + cm.doc.size; - if (!lendiff) lendiff = 0; - - var display = cm.display; - if (lendiff && to < display.viewTo && - (display.updateLineNumbers == null || display.updateLineNumbers > from)) - display.updateLineNumbers = from; - - cm.curOp.viewChanged = true; - - if (from >= display.viewTo) { // Change after - if (sawCollapsedSpans && visualLineNo(cm.doc, from) < display.viewTo) - resetView(cm); - } else if (to <= display.viewFrom) { // Change before - if (sawCollapsedSpans && visualLineEndNo(cm.doc, to + lendiff) > display.viewFrom) { - resetView(cm); - } else { - display.viewFrom += lendiff; - display.viewTo += lendiff; - } - } else if (from <= display.viewFrom && to >= display.viewTo) { // Full overlap - resetView(cm); - } else if (from <= display.viewFrom) { // Top overlap - var cut = viewCuttingPoint(cm, to, to + lendiff, 1); - if (cut) { - display.view = display.view.slice(cut.index); - display.viewFrom = cut.lineN; - display.viewTo += lendiff; - } else { - resetView(cm); - } - } else if (to >= display.viewTo) { // Bottom overlap - var cut = viewCuttingPoint(cm, from, from, -1); - if (cut) { - display.view = display.view.slice(0, cut.index); - display.viewTo = cut.lineN; - } else { - resetView(cm); - } - } else { // Gap in the middle - var cutTop = viewCuttingPoint(cm, from, from, -1); - var cutBot = viewCuttingPoint(cm, to, to + lendiff, 1); - if (cutTop && cutBot) { - display.view = display.view.slice(0, cutTop.index) - .concat(buildViewArray(cm, cutTop.lineN, cutBot.lineN)) - .concat(display.view.slice(cutBot.index)); - display.viewTo += lendiff; - } else { - resetView(cm); - } - } - - var ext = display.externalMeasured; - if (ext) { - if (to < ext.lineN) - ext.lineN += lendiff; - else if (from < ext.lineN + ext.size) - display.externalMeasured = null; - } - } - - // Register a change to a single line. Type must be one of "text", - // "gutter", "class", "widget" - function regLineChange(cm, line, type) { - cm.curOp.viewChanged = true; - var display = cm.display, ext = cm.display.externalMeasured; - if (ext && line >= ext.lineN && line < ext.lineN + ext.size) - display.externalMeasured = null; - - if (line < display.viewFrom || line >= display.viewTo) return; - var lineView = display.view[findViewIndex(cm, line)]; - if (lineView.node == null) return; - var arr = lineView.changes || (lineView.changes = []); - if (indexOf(arr, type) == -1) arr.push(type); - } - - // Clear the view. - function resetView(cm) { - cm.display.viewFrom = cm.display.viewTo = cm.doc.first; - cm.display.view = []; - cm.display.viewOffset = 0; - } - - // Find the view element corresponding to a given line. Return null - // when the line isn't visible. - function findViewIndex(cm, n) { - if (n >= cm.display.viewTo) return null; - n -= cm.display.viewFrom; - if (n < 0) return null; - var view = cm.display.view; - for (var i = 0; i < view.length; i++) { - n -= view[i].size; - if (n < 0) return i; - } - } - - function viewCuttingPoint(cm, oldN, newN, dir) { - var index = findViewIndex(cm, oldN), diff, view = cm.display.view; - if (!sawCollapsedSpans || newN == cm.doc.first + cm.doc.size) - return {index: index, lineN: newN}; - for (var i = 0, n = cm.display.viewFrom; i < index; i++) - n += view[i].size; - if (n != oldN) { - if (dir > 0) { - if (index == view.length - 1) return null; - diff = (n + view[index].size) - oldN; - index++; - } else { - diff = n - oldN; - } - oldN += diff; newN += diff; - } - while (visualLineNo(cm.doc, newN) != newN) { - if (index == (dir < 0 ? 0 : view.length - 1)) return null; - newN += dir * view[index - (dir < 0 ? 1 : 0)].size; - index += dir; - } - return {index: index, lineN: newN}; - } - - // Force the view to cover a given range, adding empty view element - // or clipping off existing ones as needed. - function adjustView(cm, from, to) { - var display = cm.display, view = display.view; - if (view.length == 0 || from >= display.viewTo || to <= display.viewFrom) { - display.view = buildViewArray(cm, from, to); - display.viewFrom = from; - } else { - if (display.viewFrom > from) - display.view = buildViewArray(cm, from, display.viewFrom).concat(display.view); - else if (display.viewFrom < from) - display.view = display.view.slice(findViewIndex(cm, from)); - display.viewFrom = from; - if (display.viewTo < to) - display.view = display.view.concat(buildViewArray(cm, display.viewTo, to)); - else if (display.viewTo > to) - display.view = display.view.slice(0, findViewIndex(cm, to)); - } - display.viewTo = to; - } - - // Count the number of lines in the view whose DOM representation is - // out of date (or nonexistent). - function countDirtyView(cm) { - var view = cm.display.view, dirty = 0; - for (var i = 0; i < view.length; i++) { - var lineView = view[i]; - if (!lineView.hidden && (!lineView.node || lineView.changes)) ++dirty; - } - return dirty; - } - - // EVENT HANDLERS - - // Attach the necessary event handlers when initializing the editor - function registerEventHandlers(cm) { - var d = cm.display; - on(d.scroller, "mousedown", operation(cm, onMouseDown)); - // Older IE's will not fire a second mousedown for a double click - if (ie && ie_version < 11) - on(d.scroller, "dblclick", operation(cm, function(e) { - if (signalDOMEvent(cm, e)) return; - var pos = posFromMouse(cm, e); - if (!pos || clickInGutter(cm, e) || eventInWidget(cm.display, e)) return; - e_preventDefault(e); - var word = cm.findWordAt(pos); - extendSelection(cm.doc, word.anchor, word.head); - })); - else - on(d.scroller, "dblclick", function(e) { signalDOMEvent(cm, e) || e_preventDefault(e); }); - // Some browsers fire contextmenu *after* opening the menu, at - // which point we can't mess with it anymore. Context menu is - // handled in onMouseDown for these browsers. - if (!captureRightClick) on(d.scroller, "contextmenu", function(e) {onContextMenu(cm, e);}); - - // Used to suppress mouse event handling when a touch happens - var touchFinished, prevTouch = {end: 0}; - function finishTouch() { - if (d.activeTouch) { - touchFinished = setTimeout(function() {d.activeTouch = null;}, 1000); - prevTouch = d.activeTouch; - prevTouch.end = +new Date; - } - }; - function isMouseLikeTouchEvent(e) { - if (e.touches.length != 1) return false; - var touch = e.touches[0]; - return touch.radiusX <= 1 && touch.radiusY <= 1; - } - function farAway(touch, other) { - if (other.left == null) return true; - var dx = other.left - touch.left, dy = other.top - touch.top; - return dx * dx + dy * dy > 20 * 20; - } - on(d.scroller, "touchstart", function(e) { - if (!isMouseLikeTouchEvent(e)) { - clearTimeout(touchFinished); - var now = +new Date; - d.activeTouch = {start: now, moved: false, - prev: now - prevTouch.end <= 300 ? prevTouch : null}; - if (e.touches.length == 1) { - d.activeTouch.left = e.touches[0].pageX; - d.activeTouch.top = e.touches[0].pageY; - } - } - }); - on(d.scroller, "touchmove", function() { - if (d.activeTouch) d.activeTouch.moved = true; - }); - on(d.scroller, "touchend", function(e) { - var touch = d.activeTouch; - if (touch && !eventInWidget(d, e) && touch.left != null && - !touch.moved && new Date - touch.start < 300) { - var pos = cm.coordsChar(d.activeTouch, "page"), range; - if (!touch.prev || farAway(touch, touch.prev)) // Single tap - range = new Range(pos, pos); - else if (!touch.prev.prev || farAway(touch, touch.prev.prev)) // Double tap - range = cm.findWordAt(pos); - else // Triple tap - range = new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))); - cm.setSelection(range.anchor, range.head); - cm.focus(); - e_preventDefault(e); - } - finishTouch(); - }); - on(d.scroller, "touchcancel", finishTouch); - - // Sync scrolling between fake scrollbars and real scrollable - // area, ensure viewport is updated when scrolling. - on(d.scroller, "scroll", function() { - if (d.scroller.clientHeight) { - setScrollTop(cm, d.scroller.scrollTop); - setScrollLeft(cm, d.scroller.scrollLeft, true); - signal(cm, "scroll", cm); - } - }); - - // Listen to wheel events in order to try and update the viewport on time. - on(d.scroller, "mousewheel", function(e){onScrollWheel(cm, e);}); - on(d.scroller, "DOMMouseScroll", function(e){onScrollWheel(cm, e);}); - - // Prevent wrapper from ever scrolling - on(d.wrapper, "scroll", function() { d.wrapper.scrollTop = d.wrapper.scrollLeft = 0; }); - - d.dragFunctions = { - simple: function(e) {if (!signalDOMEvent(cm, e)) e_stop(e);}, - start: function(e){onDragStart(cm, e);}, - drop: operation(cm, onDrop) - }; - - var inp = d.input.getField(); - on(inp, "keyup", function(e) { onKeyUp.call(cm, e); }); - on(inp, "keydown", operation(cm, onKeyDown)); - on(inp, "keypress", operation(cm, onKeyPress)); - on(inp, "focus", bind(onFocus, cm)); - on(inp, "blur", bind(onBlur, cm)); - } - - function dragDropChanged(cm, value, old) { - var wasOn = old && old != CodeMirror.Init; - if (!value != !wasOn) { - var funcs = cm.display.dragFunctions; - var toggle = value ? on : off; - toggle(cm.display.scroller, "dragstart", funcs.start); - toggle(cm.display.scroller, "dragenter", funcs.simple); - toggle(cm.display.scroller, "dragover", funcs.simple); - toggle(cm.display.scroller, "drop", funcs.drop); - } - } - - // Called when the window resizes - function onResize(cm) { - var d = cm.display; - if (d.lastWrapHeight == d.wrapper.clientHeight && d.lastWrapWidth == d.wrapper.clientWidth) - return; - // Might be a text scaling operation, clear size caches. - d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null; - d.scrollbarsClipped = false; - cm.setSize(); - } - - // MOUSE EVENTS - - // Return true when the given mouse event happened in a widget - function eventInWidget(display, e) { - for (var n = e_target(e); n != display.wrapper; n = n.parentNode) { - if (!n || (n.nodeType == 1 && n.getAttribute("cm-ignore-events") == "true") || - (n.parentNode == display.sizer && n != display.mover)) - return true; - } - } - - // Given a mouse event, find the corresponding position. If liberal - // is false, it checks whether a gutter or scrollbar was clicked, - // and returns null if it was. forRect is used by rectangular - // selections, and tries to estimate a character position even for - // coordinates beyond the right of the text. - function posFromMouse(cm, e, liberal, forRect) { - var display = cm.display; - if (!liberal && e_target(e).getAttribute("cm-not-content") == "true") return null; - - var x, y, space = display.lineSpace.getBoundingClientRect(); - // Fails unpredictably on IE[67] when mouse is dragged around quickly. - try { x = e.clientX - space.left; y = e.clientY - space.top; } - catch (e) { return null; } - var coords = coordsChar(cm, x, y), line; - if (forRect && coords.xRel == 1 && (line = getLine(cm.doc, coords.line).text).length == coords.ch) { - var colDiff = countColumn(line, line.length, cm.options.tabSize) - line.length; - coords = Pos(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff)); - } - return coords; - } - - // A mouse down can be a single click, double click, triple click, - // start of selection drag, start of text drag, new cursor - // (ctrl-click), rectangle drag (alt-drag), or xwin - // middle-click-paste. Or it might be a click on something we should - // not interfere with, such as a scrollbar or widget. - function onMouseDown(e) { - var cm = this, display = cm.display; - if (display.activeTouch && display.input.supportsTouch() || signalDOMEvent(cm, e)) return; - display.shift = e.shiftKey; - - if (eventInWidget(display, e)) { - if (!webkit) { - // Briefly turn off draggability, to allow widgets to do - // normal dragging things. - display.scroller.draggable = false; - setTimeout(function(){display.scroller.draggable = true;}, 100); - } - return; - } - if (clickInGutter(cm, e)) return; - var start = posFromMouse(cm, e); - window.focus(); - - switch (e_button(e)) { - case 1: - if (start) - leftButtonDown(cm, e, start); - else if (e_target(e) == display.scroller) - e_preventDefault(e); - break; - case 2: - if (webkit) cm.state.lastMiddleDown = +new Date; - if (start) extendSelection(cm.doc, start); - setTimeout(function() {display.input.focus();}, 20); - e_preventDefault(e); - break; - case 3: - if (captureRightClick) onContextMenu(cm, e); - else delayBlurEvent(cm); - break; - } - } - - var lastClick, lastDoubleClick; - function leftButtonDown(cm, e, start) { - if (ie) setTimeout(bind(ensureFocus, cm), 0); - else cm.curOp.focus = activeElt(); - - var now = +new Date, type; - if (lastDoubleClick && lastDoubleClick.time > now - 400 && cmp(lastDoubleClick.pos, start) == 0) { - type = "triple"; - } else if (lastClick && lastClick.time > now - 400 && cmp(lastClick.pos, start) == 0) { - type = "double"; - lastDoubleClick = {time: now, pos: start}; - } else { - type = "single"; - lastClick = {time: now, pos: start}; - } - - var sel = cm.doc.sel, modifier = mac ? e.metaKey : e.ctrlKey, contained; - if (cm.options.dragDrop && dragAndDrop && !isReadOnly(cm) && - type == "single" && (contained = sel.contains(start)) > -1 && - (cmp((contained = sel.ranges[contained]).from(), start) < 0 || start.xRel > 0) && - (cmp(contained.to(), start) > 0 || start.xRel < 0)) - leftButtonStartDrag(cm, e, start, modifier); - else - leftButtonSelect(cm, e, start, type, modifier); - } - - // Start a text drag. When it ends, see if any dragging actually - // happen, and treat as a click if it didn't. - function leftButtonStartDrag(cm, e, start, modifier) { - var display = cm.display, startTime = +new Date; - var dragEnd = operation(cm, function(e2) { - if (webkit) display.scroller.draggable = false; - cm.state.draggingText = false; - off(document, "mouseup", dragEnd); - off(display.scroller, "drop", dragEnd); - if (Math.abs(e.clientX - e2.clientX) + Math.abs(e.clientY - e2.clientY) < 10) { - e_preventDefault(e2); - if (!modifier && +new Date - 200 < startTime) - extendSelection(cm.doc, start); - // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081) - if (webkit || ie && ie_version == 9) - setTimeout(function() {document.body.focus(); display.input.focus();}, 20); - else - display.input.focus(); - } - }); - // Let the drag handler handle this. - if (webkit) display.scroller.draggable = true; - cm.state.draggingText = dragEnd; - // IE's approach to draggable - if (display.scroller.dragDrop) display.scroller.dragDrop(); - on(document, "mouseup", dragEnd); - on(display.scroller, "drop", dragEnd); - } - - // Normal selection, as opposed to text dragging. - function leftButtonSelect(cm, e, start, type, addNew) { - var display = cm.display, doc = cm.doc; - e_preventDefault(e); - - var ourRange, ourIndex, startSel = doc.sel, ranges = startSel.ranges; - if (addNew && !e.shiftKey) { - ourIndex = doc.sel.contains(start); - if (ourIndex > -1) - ourRange = ranges[ourIndex]; - else - ourRange = new Range(start, start); - } else { - ourRange = doc.sel.primary(); - ourIndex = doc.sel.primIndex; - } - - if (e.altKey) { - type = "rect"; - if (!addNew) ourRange = new Range(start, start); - start = posFromMouse(cm, e, true, true); - ourIndex = -1; - } else if (type == "double") { - var word = cm.findWordAt(start); - if (cm.display.shift || doc.extend) - ourRange = extendRange(doc, ourRange, word.anchor, word.head); - else - ourRange = word; - } else if (type == "triple") { - var line = new Range(Pos(start.line, 0), clipPos(doc, Pos(start.line + 1, 0))); - if (cm.display.shift || doc.extend) - ourRange = extendRange(doc, ourRange, line.anchor, line.head); - else - ourRange = line; - } else { - ourRange = extendRange(doc, ourRange, start); - } - - if (!addNew) { - ourIndex = 0; - setSelection(doc, new Selection([ourRange], 0), sel_mouse); - startSel = doc.sel; - } else if (ourIndex == -1) { - ourIndex = ranges.length; - setSelection(doc, normalizeSelection(ranges.concat([ourRange]), ourIndex), - {scroll: false, origin: "*mouse"}); - } else if (ranges.length > 1 && ranges[ourIndex].empty() && type == "single" && !e.shiftKey) { - setSelection(doc, normalizeSelection(ranges.slice(0, ourIndex).concat(ranges.slice(ourIndex + 1)), 0)); - startSel = doc.sel; - } else { - replaceOneSelection(doc, ourIndex, ourRange, sel_mouse); - } - - var lastPos = start; - function extendTo(pos) { - if (cmp(lastPos, pos) == 0) return; - lastPos = pos; - - if (type == "rect") { - var ranges = [], tabSize = cm.options.tabSize; - var startCol = countColumn(getLine(doc, start.line).text, start.ch, tabSize); - var posCol = countColumn(getLine(doc, pos.line).text, pos.ch, tabSize); - var left = Math.min(startCol, posCol), right = Math.max(startCol, posCol); - for (var line = Math.min(start.line, pos.line), end = Math.min(cm.lastLine(), Math.max(start.line, pos.line)); - line <= end; line++) { - var text = getLine(doc, line).text, leftPos = findColumn(text, left, tabSize); - if (left == right) - ranges.push(new Range(Pos(line, leftPos), Pos(line, leftPos))); - else if (text.length > leftPos) - ranges.push(new Range(Pos(line, leftPos), Pos(line, findColumn(text, right, tabSize)))); - } - if (!ranges.length) ranges.push(new Range(start, start)); - setSelection(doc, normalizeSelection(startSel.ranges.slice(0, ourIndex).concat(ranges), ourIndex), - {origin: "*mouse", scroll: false}); - cm.scrollIntoView(pos); - } else { - var oldRange = ourRange; - var anchor = oldRange.anchor, head = pos; - if (type != "single") { - if (type == "double") - var range = cm.findWordAt(pos); - else - var range = new Range(Pos(pos.line, 0), clipPos(doc, Pos(pos.line + 1, 0))); - if (cmp(range.anchor, anchor) > 0) { - head = range.head; - anchor = minPos(oldRange.from(), range.anchor); - } else { - head = range.anchor; - anchor = maxPos(oldRange.to(), range.head); - } - } - var ranges = startSel.ranges.slice(0); - ranges[ourIndex] = new Range(clipPos(doc, anchor), head); - setSelection(doc, normalizeSelection(ranges, ourIndex), sel_mouse); - } - } - - var editorSize = display.wrapper.getBoundingClientRect(); - // Used to ensure timeout re-tries don't fire when another extend - // happened in the meantime (clearTimeout isn't reliable -- at - // least on Chrome, the timeouts still happen even when cleared, - // if the clear happens after their scheduled firing time). - var counter = 0; - - function extend(e) { - var curCount = ++counter; - var cur = posFromMouse(cm, e, true, type == "rect"); - if (!cur) return; - if (cmp(cur, lastPos) != 0) { - cm.curOp.focus = activeElt(); - extendTo(cur); - var visible = visibleLines(display, doc); - if (cur.line >= visible.to || cur.line < visible.from) - setTimeout(operation(cm, function(){if (counter == curCount) extend(e);}), 150); - } else { - var outside = e.clientY < editorSize.top ? -20 : e.clientY > editorSize.bottom ? 20 : 0; - if (outside) setTimeout(operation(cm, function() { - if (counter != curCount) return; - display.scroller.scrollTop += outside; - extend(e); - }), 50); - } - } - - function done(e) { - counter = Infinity; - e_preventDefault(e); - display.input.focus(); - off(document, "mousemove", move); - off(document, "mouseup", up); - doc.history.lastSelOrigin = null; - } - - var move = operation(cm, function(e) { - if (!e_button(e)) done(e); - else extend(e); - }); - var up = operation(cm, done); - on(document, "mousemove", move); - on(document, "mouseup", up); - } - - // Determines whether an event happened in the gutter, and fires the - // handlers for the corresponding event. - function gutterEvent(cm, e, type, prevent, signalfn) { - try { var mX = e.clientX, mY = e.clientY; } - catch(e) { return false; } - if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) return false; - if (prevent) e_preventDefault(e); - - var display = cm.display; - var lineBox = display.lineDiv.getBoundingClientRect(); - - if (mY > lineBox.bottom || !hasHandler(cm, type)) return e_defaultPrevented(e); - mY -= lineBox.top - display.viewOffset; - - for (var i = 0; i < cm.options.gutters.length; ++i) { - var g = display.gutters.childNodes[i]; - if (g && g.getBoundingClientRect().right >= mX) { - var line = lineAtHeight(cm.doc, mY); - var gutter = cm.options.gutters[i]; - signalfn(cm, type, cm, line, gutter, e); - return e_defaultPrevented(e); - } - } - } - - function clickInGutter(cm, e) { - return gutterEvent(cm, e, "gutterClick", true, signalLater); - } - - // Kludge to work around strange IE behavior where it'll sometimes - // re-fire a series of drag-related events right after the drop (#1551) - var lastDrop = 0; - - function onDrop(e) { - var cm = this; - if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) - return; - e_preventDefault(e); - if (ie) lastDrop = +new Date; - var pos = posFromMouse(cm, e, true), files = e.dataTransfer.files; - if (!pos || isReadOnly(cm)) return; - // Might be a file drop, in which case we simply extract the text - // and insert it. - if (files && files.length && window.FileReader && window.File) { - var n = files.length, text = Array(n), read = 0; - var loadFile = function(file, i) { - var reader = new FileReader; - reader.onload = operation(cm, function() { - text[i] = reader.result; - if (++read == n) { - pos = clipPos(cm.doc, pos); - var change = {from: pos, to: pos, text: splitLines(text.join("\n")), origin: "paste"}; - makeChange(cm.doc, change); - setSelectionReplaceHistory(cm.doc, simpleSelection(pos, changeEnd(change))); - } - }); - reader.readAsText(file); - }; - for (var i = 0; i < n; ++i) loadFile(files[i], i); - } else { // Normal drop - // Don't do a replace if the drop happened inside of the selected text. - if (cm.state.draggingText && cm.doc.sel.contains(pos) > -1) { - cm.state.draggingText(e); - // Ensure the editor is re-focused - setTimeout(function() {cm.display.input.focus();}, 20); - return; - } - try { - var text = e.dataTransfer.getData("Text"); - if (text) { - if (cm.state.draggingText && !(mac ? e.altKey : e.ctrlKey)) - var selected = cm.listSelections(); - setSelectionNoUndo(cm.doc, simpleSelection(pos, pos)); - if (selected) for (var i = 0; i < selected.length; ++i) - replaceRange(cm.doc, "", selected[i].anchor, selected[i].head, "drag"); - cm.replaceSelection(text, "around", "paste"); - cm.display.input.focus(); - } - } - catch(e){} - } - } - - function onDragStart(cm, e) { - if (ie && (!cm.state.draggingText || +new Date - lastDrop < 100)) { e_stop(e); return; } - if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) return; - - e.dataTransfer.setData("Text", cm.getSelection()); - - // Use dummy image instead of default browsers image. - // Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there. - if (e.dataTransfer.setDragImage && !safari) { - var img = elt("img", null, null, "position: fixed; left: 0; top: 0;"); - img.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="; - if (presto) { - img.width = img.height = 1; - cm.display.wrapper.appendChild(img); - // Force a relayout, or Opera won't use our image for some obscure reason - img._top = img.offsetTop; - } - e.dataTransfer.setDragImage(img, 0, 0); - if (presto) img.parentNode.removeChild(img); - } - } - - // SCROLL EVENTS - - // Sync the scrollable area and scrollbars, ensure the viewport - // covers the visible area. - function setScrollTop(cm, val) { - if (Math.abs(cm.doc.scrollTop - val) < 2) return; - cm.doc.scrollTop = val; - if (!gecko) updateDisplaySimple(cm, {top: val}); - if (cm.display.scroller.scrollTop != val) cm.display.scroller.scrollTop = val; - cm.display.scrollbars.setScrollTop(val); - if (gecko) updateDisplaySimple(cm); - startWorker(cm, 100); - } - // Sync scroller and scrollbar, ensure the gutter elements are - // aligned. - function setScrollLeft(cm, val, isScroller) { - if (isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) return; - val = Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth); - cm.doc.scrollLeft = val; - alignHorizontally(cm); - if (cm.display.scroller.scrollLeft != val) cm.display.scroller.scrollLeft = val; - cm.display.scrollbars.setScrollLeft(val); - } - - // Since the delta values reported on mouse wheel events are - // unstandardized between browsers and even browser versions, and - // generally horribly unpredictable, this code starts by measuring - // the scroll effect that the first few mouse wheel events have, - // and, from that, detects the way it can convert deltas to pixel - // offsets afterwards. - // - // The reason we want to know the amount a wheel event will scroll - // is that it gives us a chance to update the display before the - // actual scrolling happens, reducing flickering. - - var wheelSamples = 0, wheelPixelsPerUnit = null; - // Fill in a browser-detected starting value on browsers where we - // know one. These don't have to be accurate -- the result of them - // being wrong would just be a slight flicker on the first wheel - // scroll (if it is large enough). - if (ie) wheelPixelsPerUnit = -.53; - else if (gecko) wheelPixelsPerUnit = 15; - else if (chrome) wheelPixelsPerUnit = -.7; - else if (safari) wheelPixelsPerUnit = -1/3; - - var wheelEventDelta = function(e) { - var dx = e.wheelDeltaX, dy = e.wheelDeltaY; - if (dx == null && e.detail && e.axis == e.HORIZONTAL_AXIS) dx = e.detail; - if (dy == null && e.detail && e.axis == e.VERTICAL_AXIS) dy = e.detail; - else if (dy == null) dy = e.wheelDelta; - return {x: dx, y: dy}; - }; - CodeMirror.wheelEventPixels = function(e) { - var delta = wheelEventDelta(e); - delta.x *= wheelPixelsPerUnit; - delta.y *= wheelPixelsPerUnit; - return delta; - }; - - function onScrollWheel(cm, e) { - var delta = wheelEventDelta(e), dx = delta.x, dy = delta.y; - - var display = cm.display, scroll = display.scroller; - // Quit if there's nothing to scroll here - if (!(dx && scroll.scrollWidth > scroll.clientWidth || - dy && scroll.scrollHeight > scroll.clientHeight)) return; - - // Webkit browsers on OS X abort momentum scrolls when the target - // of the scroll event is removed from the scrollable element. - // This hack (see related code in patchDisplay) makes sure the - // element is kept around. - if (dy && mac && webkit) { - outer: for (var cur = e.target, view = display.view; cur != scroll; cur = cur.parentNode) { - for (var i = 0; i < view.length; i++) { - if (view[i].node == cur) { - cm.display.currentWheelTarget = cur; - break outer; - } - } - } - } - - // On some browsers, horizontal scrolling will cause redraws to - // happen before the gutter has been realigned, causing it to - // wriggle around in a most unseemly way. When we have an - // estimated pixels/delta value, we just handle horizontal - // scrolling entirely here. It'll be slightly off from native, but - // better than glitching out. - if (dx && !gecko && !presto && wheelPixelsPerUnit != null) { - if (dy) - setScrollTop(cm, Math.max(0, Math.min(scroll.scrollTop + dy * wheelPixelsPerUnit, scroll.scrollHeight - scroll.clientHeight))); - setScrollLeft(cm, Math.max(0, Math.min(scroll.scrollLeft + dx * wheelPixelsPerUnit, scroll.scrollWidth - scroll.clientWidth))); - e_preventDefault(e); - display.wheelStartX = null; // Abort measurement, if in progress - return; - } - - // 'Project' the visible viewport to cover the area that is being - // scrolled into view (if we know enough to estimate it). - if (dy && wheelPixelsPerUnit != null) { - var pixels = dy * wheelPixelsPerUnit; - var top = cm.doc.scrollTop, bot = top + display.wrapper.clientHeight; - if (pixels < 0) top = Math.max(0, top + pixels - 50); - else bot = Math.min(cm.doc.height, bot + pixels + 50); - updateDisplaySimple(cm, {top: top, bottom: bot}); - } - - if (wheelSamples < 20) { - if (display.wheelStartX == null) { - display.wheelStartX = scroll.scrollLeft; display.wheelStartY = scroll.scrollTop; - display.wheelDX = dx; display.wheelDY = dy; - setTimeout(function() { - if (display.wheelStartX == null) return; - var movedX = scroll.scrollLeft - display.wheelStartX; - var movedY = scroll.scrollTop - display.wheelStartY; - var sample = (movedY && display.wheelDY && movedY / display.wheelDY) || - (movedX && display.wheelDX && movedX / display.wheelDX); - display.wheelStartX = display.wheelStartY = null; - if (!sample) return; - wheelPixelsPerUnit = (wheelPixelsPerUnit * wheelSamples + sample) / (wheelSamples + 1); - ++wheelSamples; - }, 200); - } else { - display.wheelDX += dx; display.wheelDY += dy; - } - } - } - - // KEY EVENTS - - // Run a handler that was bound to a key. - function doHandleBinding(cm, bound, dropShift) { - if (typeof bound == "string") { - bound = commands[bound]; - if (!bound) return false; - } - // Ensure previous input has been read, so that the handler sees a - // consistent view of the document - cm.display.input.ensurePolled(); - var prevShift = cm.display.shift, done = false; - try { - if (isReadOnly(cm)) cm.state.suppressEdits = true; - if (dropShift) cm.display.shift = false; - done = bound(cm) != Pass; - } finally { - cm.display.shift = prevShift; - cm.state.suppressEdits = false; - } - return done; - } - - function lookupKeyForEditor(cm, name, handle) { - for (var i = 0; i < cm.state.keyMaps.length; i++) { - var result = lookupKey(name, cm.state.keyMaps[i], handle, cm); - if (result) return result; - } - return (cm.options.extraKeys && lookupKey(name, cm.options.extraKeys, handle, cm)) - || lookupKey(name, cm.options.keyMap, handle, cm); - } - - var stopSeq = new Delayed; - function dispatchKey(cm, name, e, handle) { - var seq = cm.state.keySeq; - if (seq) { - if (isModifierKey(name)) return "handled"; - stopSeq.set(50, function() { - if (cm.state.keySeq == seq) { - cm.state.keySeq = null; - cm.display.input.reset(); - } - }); - name = seq + " " + name; - } - var result = lookupKeyForEditor(cm, name, handle); - - if (result == "multi") - cm.state.keySeq = name; - if (result == "handled") - signalLater(cm, "keyHandled", cm, name, e); - - if (result == "handled" || result == "multi") { - e_preventDefault(e); - restartBlink(cm); - } - - if (seq && !result && /\'$/.test(name)) { - e_preventDefault(e); - return true; - } - return !!result; - } - - // Handle a key from the keydown event. - function handleKeyBinding(cm, e) { - var name = keyName(e, true); - if (!name) return false; - - if (e.shiftKey && !cm.state.keySeq) { - // First try to resolve full name (including 'Shift-'). Failing - // that, see if there is a cursor-motion command (starting with - // 'go') bound to the keyname without 'Shift-'. - return dispatchKey(cm, "Shift-" + name, e, function(b) {return doHandleBinding(cm, b, true);}) - || dispatchKey(cm, name, e, function(b) { - if (typeof b == "string" ? /^go[A-Z]/.test(b) : b.motion) - return doHandleBinding(cm, b); - }); - } else { - return dispatchKey(cm, name, e, function(b) { return doHandleBinding(cm, b); }); - } - } - - // Handle a key from the keypress event - function handleCharBinding(cm, e, ch) { - return dispatchKey(cm, "'" + ch + "'", e, - function(b) { return doHandleBinding(cm, b, true); }); - } - - var lastStoppedKey = null; - function onKeyDown(e) { - var cm = this; - cm.curOp.focus = activeElt(); - if (signalDOMEvent(cm, e)) return; - // IE does strange things with escape. - if (ie && ie_version < 11 && e.keyCode == 27) e.returnValue = false; - var code = e.keyCode; - cm.display.shift = code == 16 || e.shiftKey; - var handled = handleKeyBinding(cm, e); - if (presto) { - lastStoppedKey = handled ? code : null; - // Opera has no cut event... we try to at least catch the key combo - if (!handled && code == 88 && !hasCopyEvent && (mac ? e.metaKey : e.ctrlKey)) - cm.replaceSelection("", null, "cut"); - } - - // Turn mouse into crosshair when Alt is held on Mac. - if (code == 18 && !/\bCodeMirror-crosshair\b/.test(cm.display.lineDiv.className)) - showCrossHair(cm); - } - - function showCrossHair(cm) { - var lineDiv = cm.display.lineDiv; - addClass(lineDiv, "CodeMirror-crosshair"); - - function up(e) { - if (e.keyCode == 18 || !e.altKey) { - rmClass(lineDiv, "CodeMirror-crosshair"); - off(document, "keyup", up); - off(document, "mouseover", up); - } - } - on(document, "keyup", up); - on(document, "mouseover", up); - } - - function onKeyUp(e) { - if (e.keyCode == 16) this.doc.sel.shift = false; - signalDOMEvent(this, e); - } - - function onKeyPress(e) { - var cm = this; - if (eventInWidget(cm.display, e) || signalDOMEvent(cm, e) || e.ctrlKey && !e.altKey || mac && e.metaKey) return; - var keyCode = e.keyCode, charCode = e.charCode; - if (presto && keyCode == lastStoppedKey) {lastStoppedKey = null; e_preventDefault(e); return;} - if ((presto && (!e.which || e.which < 10)) && handleKeyBinding(cm, e)) return; - var ch = String.fromCharCode(charCode == null ? keyCode : charCode); - if (handleCharBinding(cm, e, ch)) return; - cm.display.input.onKeyPress(e); - } - - // FOCUS/BLUR EVENTS - - function delayBlurEvent(cm) { - cm.state.delayingBlurEvent = true; - setTimeout(function() { - if (cm.state.delayingBlurEvent) { - cm.state.delayingBlurEvent = false; - onBlur(cm); - } - }, 100); - } - - function onFocus(cm) { - if (cm.state.delayingBlurEvent) cm.state.delayingBlurEvent = false; - - if (cm.options.readOnly == "nocursor") return; - if (!cm.state.focused) { - signal(cm, "focus", cm); - cm.state.focused = true; - addClass(cm.display.wrapper, "CodeMirror-focused"); - // This test prevents this from firing when a context - // menu is closed (since the input reset would kill the - // select-all detection hack) - if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) { - cm.display.input.reset(); - if (webkit) setTimeout(function() { cm.display.input.reset(true); }, 20); // Issue #1730 - } - cm.display.input.receivedFocus(); - } - restartBlink(cm); - } - function onBlur(cm) { - if (cm.state.delayingBlurEvent) return; - - if (cm.state.focused) { - signal(cm, "blur", cm); - cm.state.focused = false; - rmClass(cm.display.wrapper, "CodeMirror-focused"); - } - clearInterval(cm.display.blinker); - setTimeout(function() {if (!cm.state.focused) cm.display.shift = false;}, 150); - } - - // CONTEXT MENU HANDLING - - // To make the context menu work, we need to briefly unhide the - // textarea (making it as unobtrusive as possible) to let the - // right-click take effect on it. - function onContextMenu(cm, e) { - if (eventInWidget(cm.display, e) || contextMenuInGutter(cm, e)) return; - cm.display.input.onContextMenu(e); - } - - function contextMenuInGutter(cm, e) { - if (!hasHandler(cm, "gutterContextMenu")) return false; - return gutterEvent(cm, e, "gutterContextMenu", false, signal); - } - - // UPDATING - - // Compute the position of the end of a change (its 'to' property - // refers to the pre-change end). - var changeEnd = CodeMirror.changeEnd = function(change) { - if (!change.text) return change.to; - return Pos(change.from.line + change.text.length - 1, - lst(change.text).length + (change.text.length == 1 ? change.from.ch : 0)); - }; - - // Adjust a position to refer to the post-change position of the - // same text, or the end of the change if the change covers it. - function adjustForChange(pos, change) { - if (cmp(pos, change.from) < 0) return pos; - if (cmp(pos, change.to) <= 0) return changeEnd(change); - - var line = pos.line + change.text.length - (change.to.line - change.from.line) - 1, ch = pos.ch; - if (pos.line == change.to.line) ch += changeEnd(change).ch - change.to.ch; - return Pos(line, ch); - } - - function computeSelAfterChange(doc, change) { - var out = []; - for (var i = 0; i < doc.sel.ranges.length; i++) { - var range = doc.sel.ranges[i]; - out.push(new Range(adjustForChange(range.anchor, change), - adjustForChange(range.head, change))); - } - return normalizeSelection(out, doc.sel.primIndex); - } - - function offsetPos(pos, old, nw) { - if (pos.line == old.line) - return Pos(nw.line, pos.ch - old.ch + nw.ch); - else - return Pos(nw.line + (pos.line - old.line), pos.ch); - } - - // Used by replaceSelections to allow moving the selection to the - // start or around the replaced test. Hint may be "start" or "around". - function computeReplacedSel(doc, changes, hint) { - var out = []; - var oldPrev = Pos(doc.first, 0), newPrev = oldPrev; - for (var i = 0; i < changes.length; i++) { - var change = changes[i]; - var from = offsetPos(change.from, oldPrev, newPrev); - var to = offsetPos(changeEnd(change), oldPrev, newPrev); - oldPrev = change.to; - newPrev = to; - if (hint == "around") { - var range = doc.sel.ranges[i], inv = cmp(range.head, range.anchor) < 0; - out[i] = new Range(inv ? to : from, inv ? from : to); - } else { - out[i] = new Range(from, from); - } - } - return new Selection(out, doc.sel.primIndex); - } - - // Allow "beforeChange" event handlers to influence a change - function filterChange(doc, change, update) { - var obj = { - canceled: false, - from: change.from, - to: change.to, - text: change.text, - origin: change.origin, - cancel: function() { this.canceled = true; } - }; - if (update) obj.update = function(from, to, text, origin) { - if (from) this.from = clipPos(doc, from); - if (to) this.to = clipPos(doc, to); - if (text) this.text = text; - if (origin !== undefined) this.origin = origin; - }; - signal(doc, "beforeChange", doc, obj); - if (doc.cm) signal(doc.cm, "beforeChange", doc.cm, obj); - - if (obj.canceled) return null; - return {from: obj.from, to: obj.to, text: obj.text, origin: obj.origin}; - } - - // Apply a change to a document, and add it to the document's - // history, and propagating it to all linked documents. - function makeChange(doc, change, ignoreReadOnly) { - if (doc.cm) { - if (!doc.cm.curOp) return operation(doc.cm, makeChange)(doc, change, ignoreReadOnly); - if (doc.cm.state.suppressEdits) return; - } - - if (hasHandler(doc, "beforeChange") || doc.cm && hasHandler(doc.cm, "beforeChange")) { - change = filterChange(doc, change, true); - if (!change) return; - } - - // Possibly split or suppress the update based on the presence - // of read-only spans in its range. - var split = sawReadOnlySpans && !ignoreReadOnly && removeReadOnlyRanges(doc, change.from, change.to); - if (split) { - for (var i = split.length - 1; i >= 0; --i) - makeChangeInner(doc, {from: split[i].from, to: split[i].to, text: i ? [""] : change.text}); - } else { - makeChangeInner(doc, change); - } - } - - function makeChangeInner(doc, change) { - if (change.text.length == 1 && change.text[0] == "" && cmp(change.from, change.to) == 0) return; - var selAfter = computeSelAfterChange(doc, change); - addChangeToHistory(doc, change, selAfter, doc.cm ? doc.cm.curOp.id : NaN); - - makeChangeSingleDoc(doc, change, selAfter, stretchSpansOverChange(doc, change)); - var rebased = []; - - linkedDocs(doc, function(doc, sharedHist) { - if (!sharedHist && indexOf(rebased, doc.history) == -1) { - rebaseHist(doc.history, change); - rebased.push(doc.history); - } - makeChangeSingleDoc(doc, change, null, stretchSpansOverChange(doc, change)); - }); - } - - // Revert a change stored in a document's history. - function makeChangeFromHistory(doc, type, allowSelectionOnly) { - if (doc.cm && doc.cm.state.suppressEdits) return; - - var hist = doc.history, event, selAfter = doc.sel; - var source = type == "undo" ? hist.done : hist.undone, dest = type == "undo" ? hist.undone : hist.done; - - // Verify that there is a useable event (so that ctrl-z won't - // needlessly clear selection events) - for (var i = 0; i < source.length; i++) { - event = source[i]; - if (allowSelectionOnly ? event.ranges && !event.equals(doc.sel) : !event.ranges) - break; - } - if (i == source.length) return; - hist.lastOrigin = hist.lastSelOrigin = null; - - for (;;) { - event = source.pop(); - if (event.ranges) { - pushSelectionToHistory(event, dest); - if (allowSelectionOnly && !event.equals(doc.sel)) { - setSelection(doc, event, {clearRedo: false}); - return; - } - selAfter = event; - } - else break; - } - - // Build up a reverse change object to add to the opposite history - // stack (redo when undoing, and vice versa). - var antiChanges = []; - pushSelectionToHistory(selAfter, dest); - dest.push({changes: antiChanges, generation: hist.generation}); - hist.generation = event.generation || ++hist.maxGeneration; - - var filter = hasHandler(doc, "beforeChange") || doc.cm && hasHandler(doc.cm, "beforeChange"); - - for (var i = event.changes.length - 1; i >= 0; --i) { - var change = event.changes[i]; - change.origin = type; - if (filter && !filterChange(doc, change, false)) { - source.length = 0; - return; - } - - antiChanges.push(historyChangeFromChange(doc, change)); - - var after = i ? computeSelAfterChange(doc, change) : lst(source); - makeChangeSingleDoc(doc, change, after, mergeOldSpans(doc, change)); - if (!i && doc.cm) doc.cm.scrollIntoView({from: change.from, to: changeEnd(change)}); - var rebased = []; - - // Propagate to the linked documents - linkedDocs(doc, function(doc, sharedHist) { - if (!sharedHist && indexOf(rebased, doc.history) == -1) { - rebaseHist(doc.history, change); - rebased.push(doc.history); - } - makeChangeSingleDoc(doc, change, null, mergeOldSpans(doc, change)); - }); - } - } - - // Sub-views need their line numbers shifted when text is added - // above or below them in the parent document. - function shiftDoc(doc, distance) { - if (distance == 0) return; - doc.first += distance; - doc.sel = new Selection(map(doc.sel.ranges, function(range) { - return new Range(Pos(range.anchor.line + distance, range.anchor.ch), - Pos(range.head.line + distance, range.head.ch)); - }), doc.sel.primIndex); - if (doc.cm) { - regChange(doc.cm, doc.first, doc.first - distance, distance); - for (var d = doc.cm.display, l = d.viewFrom; l < d.viewTo; l++) - regLineChange(doc.cm, l, "gutter"); - } - } - - // More lower-level change function, handling only a single document - // (not linked ones). - function makeChangeSingleDoc(doc, change, selAfter, spans) { - if (doc.cm && !doc.cm.curOp) - return operation(doc.cm, makeChangeSingleDoc)(doc, change, selAfter, spans); - - if (change.to.line < doc.first) { - shiftDoc(doc, change.text.length - 1 - (change.to.line - change.from.line)); - return; - } - if (change.from.line > doc.lastLine()) return; - - // Clip the change to the size of this doc - if (change.from.line < doc.first) { - var shift = change.text.length - 1 - (doc.first - change.from.line); - shiftDoc(doc, shift); - change = {from: Pos(doc.first, 0), to: Pos(change.to.line + shift, change.to.ch), - text: [lst(change.text)], origin: change.origin}; - } - var last = doc.lastLine(); - if (change.to.line > last) { - change = {from: change.from, to: Pos(last, getLine(doc, last).text.length), - text: [change.text[0]], origin: change.origin}; - } - - change.removed = getBetween(doc, change.from, change.to); - - if (!selAfter) selAfter = computeSelAfterChange(doc, change); - if (doc.cm) makeChangeSingleDocInEditor(doc.cm, change, spans); - else updateDoc(doc, change, spans); - setSelectionNoUndo(doc, selAfter, sel_dontScroll); - } - - // Handle the interaction of a change to a document with the editor - // that this document is part of. - function makeChangeSingleDocInEditor(cm, change, spans) { - var doc = cm.doc, display = cm.display, from = change.from, to = change.to; - - var recomputeMaxLength = false, checkWidthStart = from.line; - if (!cm.options.lineWrapping) { - checkWidthStart = lineNo(visualLine(getLine(doc, from.line))); - doc.iter(checkWidthStart, to.line + 1, function(line) { - if (line == display.maxLine) { - recomputeMaxLength = true; - return true; - } - }); - } - - if (doc.sel.contains(change.from, change.to) > -1) - signalCursorActivity(cm); - - updateDoc(doc, change, spans, estimateHeight(cm)); - - if (!cm.options.lineWrapping) { - doc.iter(checkWidthStart, from.line + change.text.length, function(line) { - var len = lineLength(line); - if (len > display.maxLineLength) { - display.maxLine = line; - display.maxLineLength = len; - display.maxLineChanged = true; - recomputeMaxLength = false; - } - }); - if (recomputeMaxLength) cm.curOp.updateMaxLine = true; - } - - // Adjust frontier, schedule worker - doc.frontier = Math.min(doc.frontier, from.line); - startWorker(cm, 400); - - var lendiff = change.text.length - (to.line - from.line) - 1; - // Remember that these lines changed, for updating the display - if (change.full) - regChange(cm); - else if (from.line == to.line && change.text.length == 1 && !isWholeLineUpdate(cm.doc, change)) - regLineChange(cm, from.line, "text"); - else - regChange(cm, from.line, to.line + 1, lendiff); - - var changesHandler = hasHandler(cm, "changes"), changeHandler = hasHandler(cm, "change"); - if (changeHandler || changesHandler) { - var obj = { - from: from, to: to, - text: change.text, - removed: change.removed, - origin: change.origin - }; - if (changeHandler) signalLater(cm, "change", cm, obj); - if (changesHandler) (cm.curOp.changeObjs || (cm.curOp.changeObjs = [])).push(obj); - } - cm.display.selForContextMenu = null; - } - - function replaceRange(doc, code, from, to, origin) { - if (!to) to = from; - if (cmp(to, from) < 0) { var tmp = to; to = from; from = tmp; } - if (typeof code == "string") code = splitLines(code); - makeChange(doc, {from: from, to: to, text: code, origin: origin}); - } - - // SCROLLING THINGS INTO VIEW - - // If an editor sits on the top or bottom of the window, partially - // scrolled out of view, this ensures that the cursor is visible. - function maybeScrollWindow(cm, coords) { - if (signalDOMEvent(cm, "scrollCursorIntoView")) return; - - var display = cm.display, box = display.sizer.getBoundingClientRect(), doScroll = null; - if (coords.top + box.top < 0) doScroll = true; - else if (coords.bottom + box.top > (window.innerHeight || document.documentElement.clientHeight)) doScroll = false; - if (doScroll != null && !phantom) { - var scrollNode = elt("div", "\u200b", null, "position: absolute; top: " + - (coords.top - display.viewOffset - paddingTop(cm.display)) + "px; height: " + - (coords.bottom - coords.top + scrollGap(cm) + display.barHeight) + "px; left: " + - coords.left + "px; width: 2px;"); - cm.display.lineSpace.appendChild(scrollNode); - scrollNode.scrollIntoView(doScroll); - cm.display.lineSpace.removeChild(scrollNode); - } - } - - // Scroll a given position into view (immediately), verifying that - // it actually became visible (as line heights are accurately - // measured, the position of something may 'drift' during drawing). - function scrollPosIntoView(cm, pos, end, margin) { - if (margin == null) margin = 0; - for (var limit = 0; limit < 5; limit++) { - var changed = false, coords = cursorCoords(cm, pos); - var endCoords = !end || end == pos ? coords : cursorCoords(cm, end); - var scrollPos = calculateScrollPos(cm, Math.min(coords.left, endCoords.left), - Math.min(coords.top, endCoords.top) - margin, - Math.max(coords.left, endCoords.left), - Math.max(coords.bottom, endCoords.bottom) + margin); - var startTop = cm.doc.scrollTop, startLeft = cm.doc.scrollLeft; - if (scrollPos.scrollTop != null) { - setScrollTop(cm, scrollPos.scrollTop); - if (Math.abs(cm.doc.scrollTop - startTop) > 1) changed = true; - } - if (scrollPos.scrollLeft != null) { - setScrollLeft(cm, scrollPos.scrollLeft); - if (Math.abs(cm.doc.scrollLeft - startLeft) > 1) changed = true; - } - if (!changed) break; - } - return coords; - } - - // Scroll a given set of coordinates into view (immediately). - function scrollIntoView(cm, x1, y1, x2, y2) { - var scrollPos = calculateScrollPos(cm, x1, y1, x2, y2); - if (scrollPos.scrollTop != null) setScrollTop(cm, scrollPos.scrollTop); - if (scrollPos.scrollLeft != null) setScrollLeft(cm, scrollPos.scrollLeft); - } - - // Calculate a new scroll position needed to scroll the given - // rectangle into view. Returns an object with scrollTop and - // scrollLeft properties. When these are undefined, the - // vertical/horizontal position does not need to be adjusted. - function calculateScrollPos(cm, x1, y1, x2, y2) { - var display = cm.display, snapMargin = textHeight(cm.display); - if (y1 < 0) y1 = 0; - var screentop = cm.curOp && cm.curOp.scrollTop != null ? cm.curOp.scrollTop : display.scroller.scrollTop; - var screen = displayHeight(cm), result = {}; - if (y2 - y1 > screen) y2 = y1 + screen; - var docBottom = cm.doc.height + paddingVert(display); - var atTop = y1 < snapMargin, atBottom = y2 > docBottom - snapMargin; - if (y1 < screentop) { - result.scrollTop = atTop ? 0 : y1; - } else if (y2 > screentop + screen) { - var newTop = Math.min(y1, (atBottom ? docBottom : y2) - screen); - if (newTop != screentop) result.scrollTop = newTop; - } - - var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft; - var screenw = displayWidth(cm) - (cm.options.fixedGutter ? display.gutters.offsetWidth : 0); - var tooWide = x2 - x1 > screenw; - if (tooWide) x2 = x1 + screenw; - if (x1 < 10) - result.scrollLeft = 0; - else if (x1 < screenleft) - result.scrollLeft = Math.max(0, x1 - (tooWide ? 0 : 10)); - else if (x2 > screenw + screenleft - 3) - result.scrollLeft = x2 + (tooWide ? 0 : 10) - screenw; - return result; - } - - // Store a relative adjustment to the scroll position in the current - // operation (to be applied when the operation finishes). - function addToScrollPos(cm, left, top) { - if (left != null || top != null) resolveScrollToPos(cm); - if (left != null) - cm.curOp.scrollLeft = (cm.curOp.scrollLeft == null ? cm.doc.scrollLeft : cm.curOp.scrollLeft) + left; - if (top != null) - cm.curOp.scrollTop = (cm.curOp.scrollTop == null ? cm.doc.scrollTop : cm.curOp.scrollTop) + top; - } - - // Make sure that at the end of the operation the current cursor is - // shown. - function ensureCursorVisible(cm) { - resolveScrollToPos(cm); - var cur = cm.getCursor(), from = cur, to = cur; - if (!cm.options.lineWrapping) { - from = cur.ch ? Pos(cur.line, cur.ch - 1) : cur; - to = Pos(cur.line, cur.ch + 1); - } - cm.curOp.scrollToPos = {from: from, to: to, margin: cm.options.cursorScrollMargin, isCursor: true}; - } - - // When an operation has its scrollToPos property set, and another - // scroll action is applied before the end of the operation, this - // 'simulates' scrolling that position into view in a cheap way, so - // that the effect of intermediate scroll commands is not ignored. - function resolveScrollToPos(cm) { - var range = cm.curOp.scrollToPos; - if (range) { - cm.curOp.scrollToPos = null; - var from = estimateCoords(cm, range.from), to = estimateCoords(cm, range.to); - var sPos = calculateScrollPos(cm, Math.min(from.left, to.left), - Math.min(from.top, to.top) - range.margin, - Math.max(from.right, to.right), - Math.max(from.bottom, to.bottom) + range.margin); - cm.scrollTo(sPos.scrollLeft, sPos.scrollTop); - } - } - - // API UTILITIES - - // Indent the given line. The how parameter can be "smart", - // "add"/null, "subtract", or "prev". When aggressive is false - // (typically set to true for forced single-line indents), empty - // lines are not indented, and places where the mode returns Pass - // are left alone. - function indentLine(cm, n, how, aggressive) { - var doc = cm.doc, state; - if (how == null) how = "add"; - if (how == "smart") { - // Fall back to "prev" when the mode doesn't have an indentation - // method. - if (!doc.mode.indent) how = "prev"; - else state = getStateBefore(cm, n); - } - - var tabSize = cm.options.tabSize; - var line = getLine(doc, n), curSpace = countColumn(line.text, null, tabSize); - if (line.stateAfter) line.stateAfter = null; - var curSpaceString = line.text.match(/^\s*/)[0], indentation; - if (!aggressive && !/\S/.test(line.text)) { - indentation = 0; - how = "not"; - } else if (how == "smart") { - indentation = doc.mode.indent(state, line.text.slice(curSpaceString.length), line.text); - if (indentation == Pass || indentation > 150) { - if (!aggressive) return; - how = "prev"; - } - } - if (how == "prev") { - if (n > doc.first) indentation = countColumn(getLine(doc, n-1).text, null, tabSize); - else indentation = 0; - } else if (how == "add") { - indentation = curSpace + cm.options.indentUnit; - } else if (how == "subtract") { - indentation = curSpace - cm.options.indentUnit; - } else if (typeof how == "number") { - indentation = curSpace + how; - } - indentation = Math.max(0, indentation); - - var indentString = "", pos = 0; - if (cm.options.indentWithTabs) - for (var i = Math.floor(indentation / tabSize); i; --i) {pos += tabSize; indentString += "\t";} - if (pos < indentation) indentString += spaceStr(indentation - pos); - - if (indentString != curSpaceString) { - replaceRange(doc, indentString, Pos(n, 0), Pos(n, curSpaceString.length), "+input"); - line.stateAfter = null; - return true; - } else { - // Ensure that, if the cursor was in the whitespace at the start - // of the line, it is moved to the end of that space. - for (var i = 0; i < doc.sel.ranges.length; i++) { - var range = doc.sel.ranges[i]; - if (range.head.line == n && range.head.ch < curSpaceString.length) { - var pos = Pos(n, curSpaceString.length); - replaceOneSelection(doc, i, new Range(pos, pos)); - break; - } - } - } - } - - // Utility for applying a change to a line by handle or number, - // returning the number and optionally registering the line as - // changed. - function changeLine(doc, handle, changeType, op) { - var no = handle, line = handle; - if (typeof handle == "number") line = getLine(doc, clipLine(doc, handle)); - else no = lineNo(handle); - if (no == null) return null; - if (op(line, no) && doc.cm) regLineChange(doc.cm, no, changeType); - return line; - } - - // Helper for deleting text near the selection(s), used to implement - // backspace, delete, and similar functionality. - function deleteNearSelection(cm, compute) { - var ranges = cm.doc.sel.ranges, kill = []; - // Build up a set of ranges to kill first, merging overlapping - // ranges. - for (var i = 0; i < ranges.length; i++) { - var toKill = compute(ranges[i]); - while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) { - var replaced = kill.pop(); - if (cmp(replaced.from, toKill.from) < 0) { - toKill.from = replaced.from; - break; - } - } - kill.push(toKill); - } - // Next, remove those actual ranges. - runInOp(cm, function() { - for (var i = kill.length - 1; i >= 0; i--) - replaceRange(cm.doc, "", kill[i].from, kill[i].to, "+delete"); - ensureCursorVisible(cm); - }); - } - - // Used for horizontal relative motion. Dir is -1 or 1 (left or - // right), unit can be "char", "column" (like char, but doesn't - // cross line boundaries), "word" (across next word), or "group" (to - // the start of next group of word or non-word-non-whitespace - // chars). The visually param controls whether, in right-to-left - // text, direction 1 means to move towards the next index in the - // string, or towards the character to the right of the current - // position. The resulting position will have a hitSide=true - // property if it reached the end of the document. - function findPosH(doc, pos, dir, unit, visually) { - var line = pos.line, ch = pos.ch, origDir = dir; - var lineObj = getLine(doc, line); - var possible = true; - function findNextLine() { - var l = line + dir; - if (l < doc.first || l >= doc.first + doc.size) return (possible = false); - line = l; - return lineObj = getLine(doc, l); - } - function moveOnce(boundToLine) { - var next = (visually ? moveVisually : moveLogically)(lineObj, ch, dir, true); - if (next == null) { - if (!boundToLine && findNextLine()) { - if (visually) ch = (dir < 0 ? lineRight : lineLeft)(lineObj); - else ch = dir < 0 ? lineObj.text.length : 0; - } else return (possible = false); - } else ch = next; - return true; - } - - if (unit == "char") moveOnce(); - else if (unit == "column") moveOnce(true); - else if (unit == "word" || unit == "group") { - var sawType = null, group = unit == "group"; - var helper = doc.cm && doc.cm.getHelper(pos, "wordChars"); - for (var first = true;; first = false) { - if (dir < 0 && !moveOnce(!first)) break; - var cur = lineObj.text.charAt(ch) || "\n"; - var type = isWordChar(cur, helper) ? "w" - : group && cur == "\n" ? "n" - : !group || /\s/.test(cur) ? null - : "p"; - if (group && !first && !type) type = "s"; - if (sawType && sawType != type) { - if (dir < 0) {dir = 1; moveOnce();} - break; - } - - if (type) sawType = type; - if (dir > 0 && !moveOnce(!first)) break; - } - } - var result = skipAtomic(doc, Pos(line, ch), origDir, true); - if (!possible) result.hitSide = true; - return result; - } - - // For relative vertical movement. Dir may be -1 or 1. Unit can be - // "page" or "line". The resulting position will have a hitSide=true - // property if it reached the end of the document. - function findPosV(cm, pos, dir, unit) { - var doc = cm.doc, x = pos.left, y; - if (unit == "page") { - var pageSize = Math.min(cm.display.wrapper.clientHeight, window.innerHeight || document.documentElement.clientHeight); - y = pos.top + dir * (pageSize - (dir < 0 ? 1.5 : .5) * textHeight(cm.display)); - } else if (unit == "line") { - y = dir > 0 ? pos.bottom + 3 : pos.top - 3; - } - for (;;) { - var target = coordsChar(cm, x, y); - if (!target.outside) break; - if (dir < 0 ? y <= 0 : y >= doc.height) { target.hitSide = true; break; } - y += dir * 5; - } - return target; - } - - // EDITOR METHODS - - // The publicly visible API. Note that methodOp(f) means - // 'wrap f in an operation, performed on its `this` parameter'. - - // This is not the complete set of editor methods. Most of the - // methods defined on the Doc type are also injected into - // CodeMirror.prototype, for backwards compatibility and - // convenience. - - CodeMirror.prototype = { - constructor: CodeMirror, - focus: function(){window.focus(); this.display.input.focus();}, - - setOption: function(option, value) { - var options = this.options, old = options[option]; - if (options[option] == value && option != "mode") return; - options[option] = value; - if (optionHandlers.hasOwnProperty(option)) - operation(this, optionHandlers[option])(this, value, old); - }, - - getOption: function(option) {return this.options[option];}, - getDoc: function() {return this.doc;}, - - addKeyMap: function(map, bottom) { - this.state.keyMaps[bottom ? "push" : "unshift"](getKeyMap(map)); - }, - removeKeyMap: function(map) { - var maps = this.state.keyMaps; - for (var i = 0; i < maps.length; ++i) - if (maps[i] == map || maps[i].name == map) { - maps.splice(i, 1); - return true; - } - }, - - addOverlay: methodOp(function(spec, options) { - var mode = spec.token ? spec : CodeMirror.getMode(this.options, spec); - if (mode.startState) throw new Error("Overlays may not be stateful."); - this.state.overlays.push({mode: mode, modeSpec: spec, opaque: options && options.opaque}); - this.state.modeGen++; - regChange(this); - }), - removeOverlay: methodOp(function(spec) { - var overlays = this.state.overlays; - for (var i = 0; i < overlays.length; ++i) { - var cur = overlays[i].modeSpec; - if (cur == spec || typeof spec == "string" && cur.name == spec) { - overlays.splice(i, 1); - this.state.modeGen++; - regChange(this); - return; - } - } - }), - - indentLine: methodOp(function(n, dir, aggressive) { - if (typeof dir != "string" && typeof dir != "number") { - if (dir == null) dir = this.options.smartIndent ? "smart" : "prev"; - else dir = dir ? "add" : "subtract"; - } - if (isLine(this.doc, n)) indentLine(this, n, dir, aggressive); - }), - indentSelection: methodOp(function(how) { - var ranges = this.doc.sel.ranges, end = -1; - for (var i = 0; i < ranges.length; i++) { - var range = ranges[i]; - if (!range.empty()) { - var from = range.from(), to = range.to(); - var start = Math.max(end, from.line); - end = Math.min(this.lastLine(), to.line - (to.ch ? 0 : 1)) + 1; - for (var j = start; j < end; ++j) - indentLine(this, j, how); - var newRanges = this.doc.sel.ranges; - if (from.ch == 0 && ranges.length == newRanges.length && newRanges[i].from().ch > 0) - replaceOneSelection(this.doc, i, new Range(from, newRanges[i].to()), sel_dontScroll); - } else if (range.head.line > end) { - indentLine(this, range.head.line, how, true); - end = range.head.line; - if (i == this.doc.sel.primIndex) ensureCursorVisible(this); - } - } - }), - - // Fetch the parser token for a given character. Useful for hacks - // that want to inspect the mode state (say, for completion). - getTokenAt: function(pos, precise) { - return takeToken(this, pos, precise); - }, - - getLineTokens: function(line, precise) { - return takeToken(this, Pos(line), precise, true); - }, - - getTokenTypeAt: function(pos) { - pos = clipPos(this.doc, pos); - var styles = getLineStyles(this, getLine(this.doc, pos.line)); - var before = 0, after = (styles.length - 1) / 2, ch = pos.ch; - var type; - if (ch == 0) type = styles[2]; - else for (;;) { - var mid = (before + after) >> 1; - if ((mid ? styles[mid * 2 - 1] : 0) >= ch) after = mid; - else if (styles[mid * 2 + 1] < ch) before = mid + 1; - else { type = styles[mid * 2 + 2]; break; } - } - var cut = type ? type.indexOf("cm-overlay ") : -1; - return cut < 0 ? type : cut == 0 ? null : type.slice(0, cut - 1); - }, - - getModeAt: function(pos) { - var mode = this.doc.mode; - if (!mode.innerMode) return mode; - return CodeMirror.innerMode(mode, this.getTokenAt(pos).state).mode; - }, - - getHelper: function(pos, type) { - return this.getHelpers(pos, type)[0]; - }, - - getHelpers: function(pos, type) { - var found = []; - if (!helpers.hasOwnProperty(type)) return found; - var help = helpers[type], mode = this.getModeAt(pos); - if (typeof mode[type] == "string") { - if (help[mode[type]]) found.push(help[mode[type]]); - } else if (mode[type]) { - for (var i = 0; i < mode[type].length; i++) { - var val = help[mode[type][i]]; - if (val) found.push(val); - } - } else if (mode.helperType && help[mode.helperType]) { - found.push(help[mode.helperType]); - } else if (help[mode.name]) { - found.push(help[mode.name]); - } - for (var i = 0; i < help._global.length; i++) { - var cur = help._global[i]; - if (cur.pred(mode, this) && indexOf(found, cur.val) == -1) - found.push(cur.val); - } - return found; - }, - - getStateAfter: function(line, precise) { - var doc = this.doc; - line = clipLine(doc, line == null ? doc.first + doc.size - 1: line); - return getStateBefore(this, line + 1, precise); - }, - - cursorCoords: function(start, mode) { - var pos, range = this.doc.sel.primary(); - if (start == null) pos = range.head; - else if (typeof start == "object") pos = clipPos(this.doc, start); - else pos = start ? range.from() : range.to(); - return cursorCoords(this, pos, mode || "page"); - }, - - charCoords: function(pos, mode) { - return charCoords(this, clipPos(this.doc, pos), mode || "page"); - }, - - coordsChar: function(coords, mode) { - coords = fromCoordSystem(this, coords, mode || "page"); - return coordsChar(this, coords.left, coords.top); - }, - - lineAtHeight: function(height, mode) { - height = fromCoordSystem(this, {top: height, left: 0}, mode || "page").top; - return lineAtHeight(this.doc, height + this.display.viewOffset); - }, - heightAtLine: function(line, mode) { - var end = false, lineObj; - if (typeof line == "number") { - var last = this.doc.first + this.doc.size - 1; - if (line < this.doc.first) line = this.doc.first; - else if (line > last) { line = last; end = true; } - lineObj = getLine(this.doc, line); - } else { - lineObj = line; - } - return intoCoordSystem(this, lineObj, {top: 0, left: 0}, mode || "page").top + - (end ? this.doc.height - heightAtLine(lineObj) : 0); - }, - - defaultTextHeight: function() { return textHeight(this.display); }, - defaultCharWidth: function() { return charWidth(this.display); }, - - setGutterMarker: methodOp(function(line, gutterID, value) { - return changeLine(this.doc, line, "gutter", function(line) { - var markers = line.gutterMarkers || (line.gutterMarkers = {}); - markers[gutterID] = value; - if (!value && isEmpty(markers)) line.gutterMarkers = null; - return true; - }); - }), - - clearGutter: methodOp(function(gutterID) { - var cm = this, doc = cm.doc, i = doc.first; - doc.iter(function(line) { - if (line.gutterMarkers && line.gutterMarkers[gutterID]) { - line.gutterMarkers[gutterID] = null; - regLineChange(cm, i, "gutter"); - if (isEmpty(line.gutterMarkers)) line.gutterMarkers = null; - } - ++i; - }); - }), - - lineInfo: function(line) { - if (typeof line == "number") { - if (!isLine(this.doc, line)) return null; - var n = line; - line = getLine(this.doc, line); - if (!line) return null; - } else { - var n = lineNo(line); - if (n == null) return null; - } - return {line: n, handle: line, text: line.text, gutterMarkers: line.gutterMarkers, - textClass: line.textClass, bgClass: line.bgClass, wrapClass: line.wrapClass, - widgets: line.widgets}; - }, - - getViewport: function() { return {from: this.display.viewFrom, to: this.display.viewTo};}, - - addWidget: function(pos, node, scroll, vert, horiz) { - var display = this.display; - pos = cursorCoords(this, clipPos(this.doc, pos)); - var top = pos.bottom, left = pos.left; - node.style.position = "absolute"; - node.setAttribute("cm-ignore-events", "true"); - this.display.input.setUneditable(node); - display.sizer.appendChild(node); - if (vert == "over") { - top = pos.top; - } else if (vert == "above" || vert == "near") { - var vspace = Math.max(display.wrapper.clientHeight, this.doc.height), - hspace = Math.max(display.sizer.clientWidth, display.lineSpace.clientWidth); - // Default to positioning above (if specified and possible); otherwise default to positioning below - if ((vert == 'above' || pos.bottom + node.offsetHeight > vspace) && pos.top > node.offsetHeight) - top = pos.top - node.offsetHeight; - else if (pos.bottom + node.offsetHeight <= vspace) - top = pos.bottom; - if (left + node.offsetWidth > hspace) - left = hspace - node.offsetWidth; - } - node.style.top = top + "px"; - node.style.left = node.style.right = ""; - if (horiz == "right") { - left = display.sizer.clientWidth - node.offsetWidth; - node.style.right = "0px"; - } else { - if (horiz == "left") left = 0; - else if (horiz == "middle") left = (display.sizer.clientWidth - node.offsetWidth) / 2; - node.style.left = left + "px"; - } - if (scroll) - scrollIntoView(this, left, top, left + node.offsetWidth, top + node.offsetHeight); - }, - - triggerOnKeyDown: methodOp(onKeyDown), - triggerOnKeyPress: methodOp(onKeyPress), - triggerOnKeyUp: onKeyUp, - - execCommand: function(cmd) { - if (commands.hasOwnProperty(cmd)) - return commands[cmd](this); - }, - - triggerElectric: methodOp(function(text) { triggerElectric(this, text); }), - - findPosH: function(from, amount, unit, visually) { - var dir = 1; - if (amount < 0) { dir = -1; amount = -amount; } - for (var i = 0, cur = clipPos(this.doc, from); i < amount; ++i) { - cur = findPosH(this.doc, cur, dir, unit, visually); - if (cur.hitSide) break; - } - return cur; - }, - - moveH: methodOp(function(dir, unit) { - var cm = this; - cm.extendSelectionsBy(function(range) { - if (cm.display.shift || cm.doc.extend || range.empty()) - return findPosH(cm.doc, range.head, dir, unit, cm.options.rtlMoveVisually); - else - return dir < 0 ? range.from() : range.to(); - }, sel_move); - }), - - deleteH: methodOp(function(dir, unit) { - var sel = this.doc.sel, doc = this.doc; - if (sel.somethingSelected()) - doc.replaceSelection("", null, "+delete"); - else - deleteNearSelection(this, function(range) { - var other = findPosH(doc, range.head, dir, unit, false); - return dir < 0 ? {from: other, to: range.head} : {from: range.head, to: other}; - }); - }), - - findPosV: function(from, amount, unit, goalColumn) { - var dir = 1, x = goalColumn; - if (amount < 0) { dir = -1; amount = -amount; } - for (var i = 0, cur = clipPos(this.doc, from); i < amount; ++i) { - var coords = cursorCoords(this, cur, "div"); - if (x == null) x = coords.left; - else coords.left = x; - cur = findPosV(this, coords, dir, unit); - if (cur.hitSide) break; - } - return cur; - }, - - moveV: methodOp(function(dir, unit) { - var cm = this, doc = this.doc, goals = []; - var collapse = !cm.display.shift && !doc.extend && doc.sel.somethingSelected(); - doc.extendSelectionsBy(function(range) { - if (collapse) - return dir < 0 ? range.from() : range.to(); - var headPos = cursorCoords(cm, range.head, "div"); - if (range.goalColumn != null) headPos.left = range.goalColumn; - goals.push(headPos.left); - var pos = findPosV(cm, headPos, dir, unit); - if (unit == "page" && range == doc.sel.primary()) - addToScrollPos(cm, null, charCoords(cm, pos, "div").top - headPos.top); - return pos; - }, sel_move); - if (goals.length) for (var i = 0; i < doc.sel.ranges.length; i++) - doc.sel.ranges[i].goalColumn = goals[i]; - }), - - // Find the word at the given position (as returned by coordsChar). - findWordAt: function(pos) { - var doc = this.doc, line = getLine(doc, pos.line).text; - var start = pos.ch, end = pos.ch; - if (line) { - var helper = this.getHelper(pos, "wordChars"); - if ((pos.xRel < 0 || end == line.length) && start) --start; else ++end; - var startChar = line.charAt(start); - var check = isWordChar(startChar, helper) - ? function(ch) { return isWordChar(ch, helper); } - : /\s/.test(startChar) ? function(ch) {return /\s/.test(ch);} - : function(ch) {return !/\s/.test(ch) && !isWordChar(ch);}; - while (start > 0 && check(line.charAt(start - 1))) --start; - while (end < line.length && check(line.charAt(end))) ++end; - } - return new Range(Pos(pos.line, start), Pos(pos.line, end)); - }, - - toggleOverwrite: function(value) { - if (value != null && value == this.state.overwrite) return; - if (this.state.overwrite = !this.state.overwrite) - addClass(this.display.cursorDiv, "CodeMirror-overwrite"); - else - rmClass(this.display.cursorDiv, "CodeMirror-overwrite"); - - signal(this, "overwriteToggle", this, this.state.overwrite); - }, - hasFocus: function() { return this.display.input.getField() == activeElt(); }, - - scrollTo: methodOp(function(x, y) { - if (x != null || y != null) resolveScrollToPos(this); - if (x != null) this.curOp.scrollLeft = x; - if (y != null) this.curOp.scrollTop = y; - }), - getScrollInfo: function() { - var scroller = this.display.scroller; - return {left: scroller.scrollLeft, top: scroller.scrollTop, - height: scroller.scrollHeight - scrollGap(this) - this.display.barHeight, - width: scroller.scrollWidth - scrollGap(this) - this.display.barWidth, - clientHeight: displayHeight(this), clientWidth: displayWidth(this)}; - }, - - scrollIntoView: methodOp(function(range, margin) { - if (range == null) { - range = {from: this.doc.sel.primary().head, to: null}; - if (margin == null) margin = this.options.cursorScrollMargin; - } else if (typeof range == "number") { - range = {from: Pos(range, 0), to: null}; - } else if (range.from == null) { - range = {from: range, to: null}; - } - if (!range.to) range.to = range.from; - range.margin = margin || 0; - - if (range.from.line != null) { - resolveScrollToPos(this); - this.curOp.scrollToPos = range; - } else { - var sPos = calculateScrollPos(this, Math.min(range.from.left, range.to.left), - Math.min(range.from.top, range.to.top) - range.margin, - Math.max(range.from.right, range.to.right), - Math.max(range.from.bottom, range.to.bottom) + range.margin); - this.scrollTo(sPos.scrollLeft, sPos.scrollTop); - } - }), - - setSize: methodOp(function(width, height) { - var cm = this; - function interpret(val) { - return typeof val == "number" || /^\d+$/.test(String(val)) ? val + "px" : val; - } - if (width != null) cm.display.wrapper.style.width = interpret(width); - if (height != null) cm.display.wrapper.style.height = interpret(height); - if (cm.options.lineWrapping) clearLineMeasurementCache(this); - var lineNo = cm.display.viewFrom; - cm.doc.iter(lineNo, cm.display.viewTo, function(line) { - if (line.widgets) for (var i = 0; i < line.widgets.length; i++) - if (line.widgets[i].noHScroll) { regLineChange(cm, lineNo, "widget"); break; } - ++lineNo; - }); - cm.curOp.forceUpdate = true; - signal(cm, "refresh", this); - }), - - operation: function(f){return runInOp(this, f);}, - - refresh: methodOp(function() { - var oldHeight = this.display.cachedTextHeight; - regChange(this); - this.curOp.forceUpdate = true; - clearCaches(this); - this.scrollTo(this.doc.scrollLeft, this.doc.scrollTop); - updateGutterSpace(this); - if (oldHeight == null || Math.abs(oldHeight - textHeight(this.display)) > .5) - estimateLineHeights(this); - signal(this, "refresh", this); - }), - - swapDoc: methodOp(function(doc) { - var old = this.doc; - old.cm = null; - attachDoc(this, doc); - clearCaches(this); - this.display.input.reset(); - this.scrollTo(doc.scrollLeft, doc.scrollTop); - this.curOp.forceScroll = true; - signalLater(this, "swapDoc", this, old); - return old; - }), - - getInputField: function(){return this.display.input.getField();}, - getWrapperElement: function(){return this.display.wrapper;}, - getScrollerElement: function(){return this.display.scroller;}, - getGutterElement: function(){return this.display.gutters;} - }; - eventMixin(CodeMirror); - - // OPTION DEFAULTS - - // The default configuration options. - var defaults = CodeMirror.defaults = {}; - // Functions to run when options are changed. - var optionHandlers = CodeMirror.optionHandlers = {}; - - function option(name, deflt, handle, notOnInit) { - CodeMirror.defaults[name] = deflt; - if (handle) optionHandlers[name] = - notOnInit ? function(cm, val, old) {if (old != Init) handle(cm, val, old);} : handle; - } - - // Passed to option handlers when there is no old value. - var Init = CodeMirror.Init = {toString: function(){return "CodeMirror.Init";}}; - - // These two are, on init, called from the constructor because they - // have to be initialized before the editor can start at all. - option("value", "", function(cm, val) { - cm.setValue(val); - }, true); - option("mode", null, function(cm, val) { - cm.doc.modeOption = val; - loadMode(cm); - }, true); - - option("indentUnit", 2, loadMode, true); - option("indentWithTabs", false); - option("smartIndent", true); - option("tabSize", 4, function(cm) { - resetModeState(cm); - clearCaches(cm); - regChange(cm); - }, true); - option("specialChars", /[\t\u0000-\u0019\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g, function(cm, val, old) { - cm.state.specialChars = new RegExp(val.source + (val.test("\t") ? "" : "|\t"), "g"); - if (old != CodeMirror.Init) cm.refresh(); - }); - option("specialCharPlaceholder", defaultSpecialCharPlaceholder, function(cm) {cm.refresh();}, true); - option("electricChars", true); - option("inputStyle", mobile ? "contenteditable" : "textarea", function() { - throw new Error("inputStyle can not (yet) be changed in a running editor"); // FIXME - }, true); - option("rtlMoveVisually", !windows); - option("wholeLineUpdateBefore", true); - - option("theme", "default", function(cm) { - themeChanged(cm); - guttersChanged(cm); - }, true); - option("keyMap", "default", function(cm, val, old) { - var next = getKeyMap(val); - var prev = old != CodeMirror.Init && getKeyMap(old); - if (prev && prev.detach) prev.detach(cm, next); - if (next.attach) next.attach(cm, prev || null); - }); - option("extraKeys", null); - - option("lineWrapping", false, wrappingChanged, true); - option("gutters", [], function(cm) { - setGuttersForLineNumbers(cm.options); - guttersChanged(cm); - }, true); - option("fixedGutter", true, function(cm, val) { - cm.display.gutters.style.left = val ? compensateForHScroll(cm.display) + "px" : "0"; - cm.refresh(); - }, true); - option("coverGutterNextToScrollbar", false, function(cm) {updateScrollbars(cm);}, true); - option("scrollbarStyle", "native", function(cm) { - initScrollbars(cm); - updateScrollbars(cm); - cm.display.scrollbars.setScrollTop(cm.doc.scrollTop); - cm.display.scrollbars.setScrollLeft(cm.doc.scrollLeft); - }, true); - option("lineNumbers", false, function(cm) { - setGuttersForLineNumbers(cm.options); - guttersChanged(cm); - }, true); - option("firstLineNumber", 1, guttersChanged, true); - option("lineNumberFormatter", function(integer) {return integer;}, guttersChanged, true); - option("showCursorWhenSelecting", false, updateSelection, true); - - option("resetSelectionOnContextMenu", true); - option("lineWiseCopyCut", true); - - option("readOnly", false, function(cm, val) { - if (val == "nocursor") { - onBlur(cm); - cm.display.input.blur(); - cm.display.disabled = true; - } else { - cm.display.disabled = false; - if (!val) cm.display.input.reset(); - } - }); - option("disableInput", false, function(cm, val) {if (!val) cm.display.input.reset();}, true); - option("dragDrop", true, dragDropChanged); - - option("cursorBlinkRate", 530); - option("cursorScrollMargin", 0); - option("cursorHeight", 1, updateSelection, true); - option("singleCursorHeightPerLine", true, updateSelection, true); - option("workTime", 100); - option("workDelay", 100); - option("flattenSpans", true, resetModeState, true); - option("addModeClass", false, resetModeState, true); - option("pollInterval", 100); - option("undoDepth", 200, function(cm, val){cm.doc.history.undoDepth = val;}); - option("historyEventDelay", 1250); - option("viewportMargin", 10, function(cm){cm.refresh();}, true); - option("maxHighlightLength", 10000, resetModeState, true); - option("moveInputWithCursor", true, function(cm, val) { - if (!val) cm.display.input.resetPosition(); - }); - - option("tabindex", null, function(cm, val) { - cm.display.input.getField().tabIndex = val || ""; - }); - option("autofocus", null); - - // MODE DEFINITION AND QUERYING - - // Known modes, by name and by MIME - var modes = CodeMirror.modes = {}, mimeModes = CodeMirror.mimeModes = {}; - - // Extra arguments are stored as the mode's dependencies, which is - // used by (legacy) mechanisms like loadmode.js to automatically - // load a mode. (Preferred mechanism is the require/define calls.) - CodeMirror.defineMode = function(name, mode) { - if (!CodeMirror.defaults.mode && name != "null") CodeMirror.defaults.mode = name; - if (arguments.length > 2) - mode.dependencies = Array.prototype.slice.call(arguments, 2); - modes[name] = mode; - }; - - CodeMirror.defineMIME = function(mime, spec) { - mimeModes[mime] = spec; - }; - - // Given a MIME type, a {name, ...options} config object, or a name - // string, return a mode config object. - CodeMirror.resolveMode = function(spec) { - if (typeof spec == "string" && mimeModes.hasOwnProperty(spec)) { - spec = mimeModes[spec]; - } else if (spec && typeof spec.name == "string" && mimeModes.hasOwnProperty(spec.name)) { - var found = mimeModes[spec.name]; - if (typeof found == "string") found = {name: found}; - spec = createObj(found, spec); - spec.name = found.name; - } else if (typeof spec == "string" && /^[\w\-]+\/[\w\-]+\+xml$/.test(spec)) { - return CodeMirror.resolveMode("application/xml"); - } - if (typeof spec == "string") return {name: spec}; - else return spec || {name: "null"}; - }; - - // Given a mode spec (anything that resolveMode accepts), find and - // initialize an actual mode object. - CodeMirror.getMode = function(options, spec) { - var spec = CodeMirror.resolveMode(spec); - var mfactory = modes[spec.name]; - if (!mfactory) return CodeMirror.getMode(options, "text/plain"); - var modeObj = mfactory(options, spec); - if (modeExtensions.hasOwnProperty(spec.name)) { - var exts = modeExtensions[spec.name]; - for (var prop in exts) { - if (!exts.hasOwnProperty(prop)) continue; - if (modeObj.hasOwnProperty(prop)) modeObj["_" + prop] = modeObj[prop]; - modeObj[prop] = exts[prop]; - } - } - modeObj.name = spec.name; - if (spec.helperType) modeObj.helperType = spec.helperType; - if (spec.modeProps) for (var prop in spec.modeProps) - modeObj[prop] = spec.modeProps[prop]; - - return modeObj; - }; - - // Minimal default mode. - CodeMirror.defineMode("null", function() { - return {token: function(stream) {stream.skipToEnd();}}; - }); - CodeMirror.defineMIME("text/plain", "null"); - - // This can be used to attach properties to mode objects from - // outside the actual mode definition. - var modeExtensions = CodeMirror.modeExtensions = {}; - CodeMirror.extendMode = function(mode, properties) { - var exts = modeExtensions.hasOwnProperty(mode) ? modeExtensions[mode] : (modeExtensions[mode] = {}); - copyObj(properties, exts); - }; - - // EXTENSIONS - - CodeMirror.defineExtension = function(name, func) { - CodeMirror.prototype[name] = func; - }; - CodeMirror.defineDocExtension = function(name, func) { - Doc.prototype[name] = func; - }; - CodeMirror.defineOption = option; - - var initHooks = []; - CodeMirror.defineInitHook = function(f) {initHooks.push(f);}; - - var helpers = CodeMirror.helpers = {}; - CodeMirror.registerHelper = function(type, name, value) { - if (!helpers.hasOwnProperty(type)) helpers[type] = CodeMirror[type] = {_global: []}; - helpers[type][name] = value; - }; - CodeMirror.registerGlobalHelper = function(type, name, predicate, value) { - CodeMirror.registerHelper(type, name, value); - helpers[type]._global.push({pred: predicate, val: value}); - }; - - // MODE STATE HANDLING - - // Utility functions for working with state. Exported because nested - // modes need to do this for their inner modes. - - var copyState = CodeMirror.copyState = function(mode, state) { - if (state === true) return state; - if (mode.copyState) return mode.copyState(state); - var nstate = {}; - for (var n in state) { - var val = state[n]; - if (val instanceof Array) val = val.concat([]); - nstate[n] = val; - } - return nstate; - }; - - var startState = CodeMirror.startState = function(mode, a1, a2) { - return mode.startState ? mode.startState(a1, a2) : true; - }; - - // Given a mode and a state (for that mode), find the inner mode and - // state at the position that the state refers to. - CodeMirror.innerMode = function(mode, state) { - while (mode.innerMode) { - var info = mode.innerMode(state); - if (!info || info.mode == mode) break; - state = info.state; - mode = info.mode; - } - return info || {mode: mode, state: state}; - }; - - // STANDARD COMMANDS - - // Commands are parameter-less actions that can be performed on an - // editor, mostly used for keybindings. - var commands = CodeMirror.commands = { - selectAll: function(cm) {cm.setSelection(Pos(cm.firstLine(), 0), Pos(cm.lastLine()), sel_dontScroll);}, - singleSelection: function(cm) { - cm.setSelection(cm.getCursor("anchor"), cm.getCursor("head"), sel_dontScroll); - }, - killLine: function(cm) { - deleteNearSelection(cm, function(range) { - if (range.empty()) { - var len = getLine(cm.doc, range.head.line).text.length; - if (range.head.ch == len && range.head.line < cm.lastLine()) - return {from: range.head, to: Pos(range.head.line + 1, 0)}; - else - return {from: range.head, to: Pos(range.head.line, len)}; - } else { - return {from: range.from(), to: range.to()}; - } - }); - }, - deleteLine: function(cm) { - deleteNearSelection(cm, function(range) { - return {from: Pos(range.from().line, 0), - to: clipPos(cm.doc, Pos(range.to().line + 1, 0))}; - }); - }, - delLineLeft: function(cm) { - deleteNearSelection(cm, function(range) { - return {from: Pos(range.from().line, 0), to: range.from()}; - }); - }, - delWrappedLineLeft: function(cm) { - deleteNearSelection(cm, function(range) { - var top = cm.charCoords(range.head, "div").top + 5; - var leftPos = cm.coordsChar({left: 0, top: top}, "div"); - return {from: leftPos, to: range.from()}; - }); - }, - delWrappedLineRight: function(cm) { - deleteNearSelection(cm, function(range) { - var top = cm.charCoords(range.head, "div").top + 5; - var rightPos = cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, "div"); - return {from: range.from(), to: rightPos }; - }); - }, - undo: function(cm) {cm.undo();}, - redo: function(cm) {cm.redo();}, - undoSelection: function(cm) {cm.undoSelection();}, - redoSelection: function(cm) {cm.redoSelection();}, - goDocStart: function(cm) {cm.extendSelection(Pos(cm.firstLine(), 0));}, - goDocEnd: function(cm) {cm.extendSelection(Pos(cm.lastLine()));}, - goLineStart: function(cm) { - cm.extendSelectionsBy(function(range) { return lineStart(cm, range.head.line); }, - {origin: "+move", bias: 1}); - }, - goLineStartSmart: function(cm) { - cm.extendSelectionsBy(function(range) { - return lineStartSmart(cm, range.head); - }, {origin: "+move", bias: 1}); - }, - goLineEnd: function(cm) { - cm.extendSelectionsBy(function(range) { return lineEnd(cm, range.head.line); }, - {origin: "+move", bias: -1}); - }, - goLineRight: function(cm) { - cm.extendSelectionsBy(function(range) { - var top = cm.charCoords(range.head, "div").top + 5; - return cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, "div"); - }, sel_move); - }, - goLineLeft: function(cm) { - cm.extendSelectionsBy(function(range) { - var top = cm.charCoords(range.head, "div").top + 5; - return cm.coordsChar({left: 0, top: top}, "div"); - }, sel_move); - }, - goLineLeftSmart: function(cm) { - cm.extendSelectionsBy(function(range) { - var top = cm.charCoords(range.head, "div").top + 5; - var pos = cm.coordsChar({left: 0, top: top}, "div"); - if (pos.ch < cm.getLine(pos.line).search(/\S/)) return lineStartSmart(cm, range.head); - return pos; - }, sel_move); - }, - goLineUp: function(cm) {cm.moveV(-1, "line");}, - goLineDown: function(cm) {cm.moveV(1, "line");}, - goPageUp: function(cm) {cm.moveV(-1, "page");}, - goPageDown: function(cm) {cm.moveV(1, "page");}, - goCharLeft: function(cm) {cm.moveH(-1, "char");}, - goCharRight: function(cm) {cm.moveH(1, "char");}, - goColumnLeft: function(cm) {cm.moveH(-1, "column");}, - goColumnRight: function(cm) {cm.moveH(1, "column");}, - goWordLeft: function(cm) {cm.moveH(-1, "word");}, - goGroupRight: function(cm) {cm.moveH(1, "group");}, - goGroupLeft: function(cm) {cm.moveH(-1, "group");}, - goWordRight: function(cm) {cm.moveH(1, "word");}, - delCharBefore: function(cm) {cm.deleteH(-1, "char");}, - delCharAfter: function(cm) {cm.deleteH(1, "char");}, - delWordBefore: function(cm) {cm.deleteH(-1, "word");}, - delWordAfter: function(cm) {cm.deleteH(1, "word");}, - delGroupBefore: function(cm) {cm.deleteH(-1, "group");}, - delGroupAfter: function(cm) {cm.deleteH(1, "group");}, - indentAuto: function(cm) {cm.indentSelection("smart");}, - indentMore: function(cm) {cm.indentSelection("add");}, - indentLess: function(cm) {cm.indentSelection("subtract");}, - insertTab: function(cm) {cm.replaceSelection("\t");}, - insertSoftTab: function(cm) { - var spaces = [], ranges = cm.listSelections(), tabSize = cm.options.tabSize; - for (var i = 0; i < ranges.length; i++) { - var pos = ranges[i].from(); - var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize); - spaces.push(new Array(tabSize - col % tabSize + 1).join(" ")); - } - cm.replaceSelections(spaces); - }, - defaultTab: function(cm) { - if (cm.somethingSelected()) cm.indentSelection("add"); - else cm.execCommand("insertTab"); - }, - transposeChars: function(cm) { - runInOp(cm, function() { - var ranges = cm.listSelections(), newSel = []; - for (var i = 0; i < ranges.length; i++) { - var cur = ranges[i].head, line = getLine(cm.doc, cur.line).text; - if (line) { - if (cur.ch == line.length) cur = new Pos(cur.line, cur.ch - 1); - if (cur.ch > 0) { - cur = new Pos(cur.line, cur.ch + 1); - cm.replaceRange(line.charAt(cur.ch - 1) + line.charAt(cur.ch - 2), - Pos(cur.line, cur.ch - 2), cur, "+transpose"); - } else if (cur.line > cm.doc.first) { - var prev = getLine(cm.doc, cur.line - 1).text; - if (prev) - cm.replaceRange(line.charAt(0) + "\n" + prev.charAt(prev.length - 1), - Pos(cur.line - 1, prev.length - 1), Pos(cur.line, 1), "+transpose"); - } - } - newSel.push(new Range(cur, cur)); - } - cm.setSelections(newSel); - }); - }, - newlineAndIndent: function(cm) { - runInOp(cm, function() { - var len = cm.listSelections().length; - for (var i = 0; i < len; i++) { - var range = cm.listSelections()[i]; - cm.replaceRange("\n", range.anchor, range.head, "+input"); - cm.indentLine(range.from().line + 1, null, true); - ensureCursorVisible(cm); - } - }); - }, - toggleOverwrite: function(cm) {cm.toggleOverwrite();} - }; - - - // STANDARD KEYMAPS - - var keyMap = CodeMirror.keyMap = {}; - - keyMap.basic = { - "Left": "goCharLeft", "Right": "goCharRight", "Up": "goLineUp", "Down": "goLineDown", - "End": "goLineEnd", "Home": "goLineStartSmart", "PageUp": "goPageUp", "PageDown": "goPageDown", - "Delete": "delCharAfter", "Backspace": "delCharBefore", "Shift-Backspace": "delCharBefore", - "Tab": "defaultTab", "Shift-Tab": "indentAuto", - "Enter": "newlineAndIndent", "Insert": "toggleOverwrite", - "Esc": "singleSelection" - }; - // Note that the save and find-related commands aren't defined by - // default. User code or addons can define them. Unknown commands - // are simply ignored. - keyMap.pcDefault = { - "Ctrl-A": "selectAll", "Ctrl-D": "deleteLine", "Ctrl-Z": "undo", "Shift-Ctrl-Z": "redo", "Ctrl-Y": "redo", - "Ctrl-Home": "goDocStart", "Ctrl-End": "goDocEnd", "Ctrl-Up": "goLineUp", "Ctrl-Down": "goLineDown", - "Ctrl-Left": "goGroupLeft", "Ctrl-Right": "goGroupRight", "Alt-Left": "goLineStart", "Alt-Right": "goLineEnd", - "Ctrl-Backspace": "delGroupBefore", "Ctrl-Delete": "delGroupAfter", "Ctrl-S": "save", "Ctrl-F": "find", - "Ctrl-G": "findNext", "Shift-Ctrl-G": "findPrev", "Shift-Ctrl-F": "replace", "Shift-Ctrl-R": "replaceAll", - "Ctrl-[": "indentLess", "Ctrl-]": "indentMore", - "Ctrl-U": "undoSelection", "Shift-Ctrl-U": "redoSelection", "Alt-U": "redoSelection", - fallthrough: "basic" - }; - // Very basic readline/emacs-style bindings, which are standard on Mac. - keyMap.emacsy = { - "Ctrl-F": "goCharRight", "Ctrl-B": "goCharLeft", "Ctrl-P": "goLineUp", "Ctrl-N": "goLineDown", - "Alt-F": "goWordRight", "Alt-B": "goWordLeft", "Ctrl-A": "goLineStart", "Ctrl-E": "goLineEnd", - "Ctrl-V": "goPageDown", "Shift-Ctrl-V": "goPageUp", "Ctrl-D": "delCharAfter", "Ctrl-H": "delCharBefore", - "Alt-D": "delWordAfter", "Alt-Backspace": "delWordBefore", "Ctrl-K": "killLine", "Ctrl-T": "transposeChars" - }; - keyMap.macDefault = { - "Cmd-A": "selectAll", "Cmd-D": "deleteLine", "Cmd-Z": "undo", "Shift-Cmd-Z": "redo", "Cmd-Y": "redo", - "Cmd-Home": "goDocStart", "Cmd-Up": "goDocStart", "Cmd-End": "goDocEnd", "Cmd-Down": "goDocEnd", "Alt-Left": "goGroupLeft", - "Alt-Right": "goGroupRight", "Cmd-Left": "goLineLeft", "Cmd-Right": "goLineRight", "Alt-Backspace": "delGroupBefore", - "Ctrl-Alt-Backspace": "delGroupAfter", "Alt-Delete": "delGroupAfter", "Cmd-S": "save", "Cmd-F": "find", - "Cmd-G": "findNext", "Shift-Cmd-G": "findPrev", "Cmd-Alt-F": "replace", "Shift-Cmd-Alt-F": "replaceAll", - "Cmd-[": "indentLess", "Cmd-]": "indentMore", "Cmd-Backspace": "delWrappedLineLeft", "Cmd-Delete": "delWrappedLineRight", - "Cmd-U": "undoSelection", "Shift-Cmd-U": "redoSelection", "Ctrl-Up": "goDocStart", "Ctrl-Down": "goDocEnd", - fallthrough: ["basic", "emacsy"] - }; - keyMap["default"] = mac ? keyMap.macDefault : keyMap.pcDefault; - - // KEYMAP DISPATCH - - function normalizeKeyName(name) { - var parts = name.split(/-(?!$)/), name = parts[parts.length - 1]; - var alt, ctrl, shift, cmd; - for (var i = 0; i < parts.length - 1; i++) { - var mod = parts[i]; - if (/^(cmd|meta|m)$/i.test(mod)) cmd = true; - else if (/^a(lt)?$/i.test(mod)) alt = true; - else if (/^(c|ctrl|control)$/i.test(mod)) ctrl = true; - else if (/^s(hift)$/i.test(mod)) shift = true; - else throw new Error("Unrecognized modifier name: " + mod); - } - if (alt) name = "Alt-" + name; - if (ctrl) name = "Ctrl-" + name; - if (cmd) name = "Cmd-" + name; - if (shift) name = "Shift-" + name; - return name; - } - - // This is a kludge to keep keymaps mostly working as raw objects - // (backwards compatibility) while at the same time support features - // like normalization and multi-stroke key bindings. It compiles a - // new normalized keymap, and then updates the old object to reflect - // this. - CodeMirror.normalizeKeyMap = function(keymap) { - var copy = {}; - for (var keyname in keymap) if (keymap.hasOwnProperty(keyname)) { - var value = keymap[keyname]; - if (/^(name|fallthrough|(de|at)tach)$/.test(keyname)) continue; - if (value == "...") { delete keymap[keyname]; continue; } - - var keys = map(keyname.split(" "), normalizeKeyName); - for (var i = 0; i < keys.length; i++) { - var val, name; - if (i == keys.length - 1) { - name = keys.join(" "); - val = value; - } else { - name = keys.slice(0, i + 1).join(" "); - val = "..."; - } - var prev = copy[name]; - if (!prev) copy[name] = val; - else if (prev != val) throw new Error("Inconsistent bindings for " + name); - } - delete keymap[keyname]; - } - for (var prop in copy) keymap[prop] = copy[prop]; - return keymap; - }; - - var lookupKey = CodeMirror.lookupKey = function(key, map, handle, context) { - map = getKeyMap(map); - var found = map.call ? map.call(key, context) : map[key]; - if (found === false) return "nothing"; - if (found === "...") return "multi"; - if (found != null && handle(found)) return "handled"; - - if (map.fallthrough) { - if (Object.prototype.toString.call(map.fallthrough) != "[object Array]") - return lookupKey(key, map.fallthrough, handle, context); - for (var i = 0; i < map.fallthrough.length; i++) { - var result = lookupKey(key, map.fallthrough[i], handle, context); - if (result) return result; - } - } - }; - - // Modifier key presses don't count as 'real' key presses for the - // purpose of keymap fallthrough. - var isModifierKey = CodeMirror.isModifierKey = function(value) { - var name = typeof value == "string" ? value : keyNames[value.keyCode]; - return name == "Ctrl" || name == "Alt" || name == "Shift" || name == "Mod"; - }; - - // Look up the name of a key as indicated by an event object. - var keyName = CodeMirror.keyName = function(event, noShift) { - if (presto && event.keyCode == 34 && event["char"]) return false; - var base = keyNames[event.keyCode], name = base; - if (name == null || event.altGraphKey) return false; - if (event.altKey && base != "Alt") name = "Alt-" + name; - if ((flipCtrlCmd ? event.metaKey : event.ctrlKey) && base != "Ctrl") name = "Ctrl-" + name; - if ((flipCtrlCmd ? event.ctrlKey : event.metaKey) && base != "Cmd") name = "Cmd-" + name; - if (!noShift && event.shiftKey && base != "Shift") name = "Shift-" + name; - return name; - }; - - function getKeyMap(val) { - return typeof val == "string" ? keyMap[val] : val; - } - - // FROMTEXTAREA - - CodeMirror.fromTextArea = function(textarea, options) { - options = options ? copyObj(options) : {}; - options.value = textarea.value; - if (!options.tabindex && textarea.tabIndex) - options.tabindex = textarea.tabIndex; - if (!options.placeholder && textarea.placeholder) - options.placeholder = textarea.placeholder; - // Set autofocus to true if this textarea is focused, or if it has - // autofocus and no other element is focused. - if (options.autofocus == null) { - var hasFocus = activeElt(); - options.autofocus = hasFocus == textarea || - textarea.getAttribute("autofocus") != null && hasFocus == document.body; - } - - function save() {textarea.value = cm.getValue();} - if (textarea.form) { - on(textarea.form, "submit", save); - // Deplorable hack to make the submit method do the right thing. - if (!options.leaveSubmitMethodAlone) { - var form = textarea.form, realSubmit = form.submit; - try { - var wrappedSubmit = form.submit = function() { - save(); - form.submit = realSubmit; - form.submit(); - form.submit = wrappedSubmit; - }; - } catch(e) {} - } - } - - options.finishInit = function(cm) { - cm.save = save; - cm.getTextArea = function() { return textarea; }; - cm.toTextArea = function() { - cm.toTextArea = isNaN; // Prevent this from being ran twice - save(); - textarea.parentNode.removeChild(cm.getWrapperElement()); - textarea.style.display = ""; - if (textarea.form) { - off(textarea.form, "submit", save); - if (typeof textarea.form.submit == "function") - textarea.form.submit = realSubmit; - } - }; - }; - - textarea.style.display = "none"; - var cm = CodeMirror(function(node) { - textarea.parentNode.insertBefore(node, textarea.nextSibling); - }, options); - return cm; - }; - - // STRING STREAM - - // Fed to the mode parsers, provides helper functions to make - // parsers more succinct. - - var StringStream = CodeMirror.StringStream = function(string, tabSize) { - this.pos = this.start = 0; - this.string = string; - this.tabSize = tabSize || 8; - this.lastColumnPos = this.lastColumnValue = 0; - this.lineStart = 0; - }; - - StringStream.prototype = { - eol: function() {return this.pos >= this.string.length;}, - sol: function() {return this.pos == this.lineStart;}, - peek: function() {return this.string.charAt(this.pos) || undefined;}, - next: function() { - if (this.pos < this.string.length) - return this.string.charAt(this.pos++); - }, - eat: function(match) { - var ch = this.string.charAt(this.pos); - if (typeof match == "string") var ok = ch == match; - else var ok = ch && (match.test ? match.test(ch) : match(ch)); - if (ok) {++this.pos; return ch;} - }, - eatWhile: function(match) { - var start = this.pos; - while (this.eat(match)){} - return this.pos > start; - }, - eatSpace: function() { - var start = this.pos; - while (/[\s\u00a0]/.test(this.string.charAt(this.pos))) ++this.pos; - return this.pos > start; - }, - skipToEnd: function() {this.pos = this.string.length;}, - skipTo: function(ch) { - var found = this.string.indexOf(ch, this.pos); - if (found > -1) {this.pos = found; return true;} - }, - backUp: function(n) {this.pos -= n;}, - column: function() { - if (this.lastColumnPos < this.start) { - this.lastColumnValue = countColumn(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue); - this.lastColumnPos = this.start; - } - return this.lastColumnValue - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0); - }, - indentation: function() { - return countColumn(this.string, null, this.tabSize) - - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0); - }, - match: function(pattern, consume, caseInsensitive) { - if (typeof pattern == "string") { - var cased = function(str) {return caseInsensitive ? str.toLowerCase() : str;}; - var substr = this.string.substr(this.pos, pattern.length); - if (cased(substr) == cased(pattern)) { - if (consume !== false) this.pos += pattern.length; - return true; - } - } else { - var match = this.string.slice(this.pos).match(pattern); - if (match && match.index > 0) return null; - if (match && consume !== false) this.pos += match[0].length; - return match; - } - }, - current: function(){return this.string.slice(this.start, this.pos);}, - hideFirstChars: function(n, inner) { - this.lineStart += n; - try { return inner(); } - finally { this.lineStart -= n; } - } - }; - - // TEXTMARKERS - - // Created with markText and setBookmark methods. A TextMarker is a - // handle that can be used to clear or find a marked position in the - // document. Line objects hold arrays (markedSpans) containing - // {from, to, marker} object pointing to such marker objects, and - // indicating that such a marker is present on that line. Multiple - // lines may point to the same marker when it spans across lines. - // The spans will have null for their from/to properties when the - // marker continues beyond the start/end of the line. Markers have - // links back to the lines they currently touch. - - var nextMarkerId = 0; - - var TextMarker = CodeMirror.TextMarker = function(doc, type) { - this.lines = []; - this.type = type; - this.doc = doc; - this.id = ++nextMarkerId; - }; - eventMixin(TextMarker); - - // Clear the marker. - TextMarker.prototype.clear = function() { - if (this.explicitlyCleared) return; - var cm = this.doc.cm, withOp = cm && !cm.curOp; - if (withOp) startOperation(cm); - if (hasHandler(this, "clear")) { - var found = this.find(); - if (found) signalLater(this, "clear", found.from, found.to); - } - var min = null, max = null; - for (var i = 0; i < this.lines.length; ++i) { - var line = this.lines[i]; - var span = getMarkedSpanFor(line.markedSpans, this); - if (cm && !this.collapsed) regLineChange(cm, lineNo(line), "text"); - else if (cm) { - if (span.to != null) max = lineNo(line); - if (span.from != null) min = lineNo(line); - } - line.markedSpans = removeMarkedSpan(line.markedSpans, span); - if (span.from == null && this.collapsed && !lineIsHidden(this.doc, line) && cm) - updateLineHeight(line, textHeight(cm.display)); - } - if (cm && this.collapsed && !cm.options.lineWrapping) for (var i = 0; i < this.lines.length; ++i) { - var visual = visualLine(this.lines[i]), len = lineLength(visual); - if (len > cm.display.maxLineLength) { - cm.display.maxLine = visual; - cm.display.maxLineLength = len; - cm.display.maxLineChanged = true; - } - } - - if (min != null && cm && this.collapsed) regChange(cm, min, max + 1); - this.lines.length = 0; - this.explicitlyCleared = true; - if (this.atomic && this.doc.cantEdit) { - this.doc.cantEdit = false; - if (cm) reCheckSelection(cm.doc); - } - if (cm) signalLater(cm, "markerCleared", cm, this); - if (withOp) endOperation(cm); - if (this.parent) this.parent.clear(); - }; - - // Find the position of the marker in the document. Returns a {from, - // to} object by default. Side can be passed to get a specific side - // -- 0 (both), -1 (left), or 1 (right). When lineObj is true, the - // Pos objects returned contain a line object, rather than a line - // number (used to prevent looking up the same line twice). - TextMarker.prototype.find = function(side, lineObj) { - if (side == null && this.type == "bookmark") side = 1; - var from, to; - for (var i = 0; i < this.lines.length; ++i) { - var line = this.lines[i]; - var span = getMarkedSpanFor(line.markedSpans, this); - if (span.from != null) { - from = Pos(lineObj ? line : lineNo(line), span.from); - if (side == -1) return from; - } - if (span.to != null) { - to = Pos(lineObj ? line : lineNo(line), span.to); - if (side == 1) return to; - } - } - return from && {from: from, to: to}; - }; - - // Signals that the marker's widget changed, and surrounding layout - // should be recomputed. - TextMarker.prototype.changed = function() { - var pos = this.find(-1, true), widget = this, cm = this.doc.cm; - if (!pos || !cm) return; - runInOp(cm, function() { - var line = pos.line, lineN = lineNo(pos.line); - var view = findViewForLine(cm, lineN); - if (view) { - clearLineMeasurementCacheFor(view); - cm.curOp.selectionChanged = cm.curOp.forceUpdate = true; - } - cm.curOp.updateMaxLine = true; - if (!lineIsHidden(widget.doc, line) && widget.height != null) { - var oldHeight = widget.height; - widget.height = null; - var dHeight = widgetHeight(widget) - oldHeight; - if (dHeight) - updateLineHeight(line, line.height + dHeight); - } - }); - }; - - TextMarker.prototype.attachLine = function(line) { - if (!this.lines.length && this.doc.cm) { - var op = this.doc.cm.curOp; - if (!op.maybeHiddenMarkers || indexOf(op.maybeHiddenMarkers, this) == -1) - (op.maybeUnhiddenMarkers || (op.maybeUnhiddenMarkers = [])).push(this); - } - this.lines.push(line); - }; - TextMarker.prototype.detachLine = function(line) { - this.lines.splice(indexOf(this.lines, line), 1); - if (!this.lines.length && this.doc.cm) { - var op = this.doc.cm.curOp; - (op.maybeHiddenMarkers || (op.maybeHiddenMarkers = [])).push(this); - } - }; - - // Collapsed markers have unique ids, in order to be able to order - // them, which is needed for uniquely determining an outer marker - // when they overlap (they may nest, but not partially overlap). - var nextMarkerId = 0; - - // Create a marker, wire it up to the right lines, and - function markText(doc, from, to, options, type) { - // Shared markers (across linked documents) are handled separately - // (markTextShared will call out to this again, once per - // document). - if (options && options.shared) return markTextShared(doc, from, to, options, type); - // Ensure we are in an operation. - if (doc.cm && !doc.cm.curOp) return operation(doc.cm, markText)(doc, from, to, options, type); - - var marker = new TextMarker(doc, type), diff = cmp(from, to); - if (options) copyObj(options, marker, false); - // Don't connect empty markers unless clearWhenEmpty is false - if (diff > 0 || diff == 0 && marker.clearWhenEmpty !== false) - return marker; - if (marker.replacedWith) { - // Showing up as a widget implies collapsed (widget replaces text) - marker.collapsed = true; - marker.widgetNode = elt("span", [marker.replacedWith], "CodeMirror-widget"); - if (!options.handleMouseEvents) marker.widgetNode.setAttribute("cm-ignore-events", "true"); - if (options.insertLeft) marker.widgetNode.insertLeft = true; - } - if (marker.collapsed) { - if (conflictingCollapsedRange(doc, from.line, from, to, marker) || - from.line != to.line && conflictingCollapsedRange(doc, to.line, from, to, marker)) - throw new Error("Inserting collapsed marker partially overlapping an existing one"); - sawCollapsedSpans = true; - } - - if (marker.addToHistory) - addChangeToHistory(doc, {from: from, to: to, origin: "markText"}, doc.sel, NaN); - - var curLine = from.line, cm = doc.cm, updateMaxLine; - doc.iter(curLine, to.line + 1, function(line) { - if (cm && marker.collapsed && !cm.options.lineWrapping && visualLine(line) == cm.display.maxLine) - updateMaxLine = true; - if (marker.collapsed && curLine != from.line) updateLineHeight(line, 0); - addMarkedSpan(line, new MarkedSpan(marker, - curLine == from.line ? from.ch : null, - curLine == to.line ? to.ch : null)); - ++curLine; - }); - // lineIsHidden depends on the presence of the spans, so needs a second pass - if (marker.collapsed) doc.iter(from.line, to.line + 1, function(line) { - if (lineIsHidden(doc, line)) updateLineHeight(line, 0); - }); - - if (marker.clearOnEnter) on(marker, "beforeCursorEnter", function() { marker.clear(); }); - - if (marker.readOnly) { - sawReadOnlySpans = true; - if (doc.history.done.length || doc.history.undone.length) - doc.clearHistory(); - } - if (marker.collapsed) { - marker.id = ++nextMarkerId; - marker.atomic = true; - } - if (cm) { - // Sync editor state - if (updateMaxLine) cm.curOp.updateMaxLine = true; - if (marker.collapsed) - regChange(cm, from.line, to.line + 1); - else if (marker.className || marker.title || marker.startStyle || marker.endStyle || marker.css) - for (var i = from.line; i <= to.line; i++) regLineChange(cm, i, "text"); - if (marker.atomic) reCheckSelection(cm.doc); - signalLater(cm, "markerAdded", cm, marker); - } - return marker; - } - - // SHARED TEXTMARKERS - - // A shared marker spans multiple linked documents. It is - // implemented as a meta-marker-object controlling multiple normal - // markers. - var SharedTextMarker = CodeMirror.SharedTextMarker = function(markers, primary) { - this.markers = markers; - this.primary = primary; - for (var i = 0; i < markers.length; ++i) - markers[i].parent = this; - }; - eventMixin(SharedTextMarker); - - SharedTextMarker.prototype.clear = function() { - if (this.explicitlyCleared) return; - this.explicitlyCleared = true; - for (var i = 0; i < this.markers.length; ++i) - this.markers[i].clear(); - signalLater(this, "clear"); - }; - SharedTextMarker.prototype.find = function(side, lineObj) { - return this.primary.find(side, lineObj); - }; - - function markTextShared(doc, from, to, options, type) { - options = copyObj(options); - options.shared = false; - var markers = [markText(doc, from, to, options, type)], primary = markers[0]; - var widget = options.widgetNode; - linkedDocs(doc, function(doc) { - if (widget) options.widgetNode = widget.cloneNode(true); - markers.push(markText(doc, clipPos(doc, from), clipPos(doc, to), options, type)); - for (var i = 0; i < doc.linked.length; ++i) - if (doc.linked[i].isParent) return; - primary = lst(markers); - }); - return new SharedTextMarker(markers, primary); - } - - function findSharedMarkers(doc) { - return doc.findMarks(Pos(doc.first, 0), doc.clipPos(Pos(doc.lastLine())), - function(m) { return m.parent; }); - } - - function copySharedMarkers(doc, markers) { - for (var i = 0; i < markers.length; i++) { - var marker = markers[i], pos = marker.find(); - var mFrom = doc.clipPos(pos.from), mTo = doc.clipPos(pos.to); - if (cmp(mFrom, mTo)) { - var subMark = markText(doc, mFrom, mTo, marker.primary, marker.primary.type); - marker.markers.push(subMark); - subMark.parent = marker; - } - } - } - - function detachSharedMarkers(markers) { - for (var i = 0; i < markers.length; i++) { - var marker = markers[i], linked = [marker.primary.doc];; - linkedDocs(marker.primary.doc, function(d) { linked.push(d); }); - for (var j = 0; j < marker.markers.length; j++) { - var subMarker = marker.markers[j]; - if (indexOf(linked, subMarker.doc) == -1) { - subMarker.parent = null; - marker.markers.splice(j--, 1); - } - } - } - } - - // TEXTMARKER SPANS - - function MarkedSpan(marker, from, to) { - this.marker = marker; - this.from = from; this.to = to; - } - - // Search an array of spans for a span matching the given marker. - function getMarkedSpanFor(spans, marker) { - if (spans) for (var i = 0; i < spans.length; ++i) { - var span = spans[i]; - if (span.marker == marker) return span; - } - } - // Remove a span from an array, returning undefined if no spans are - // left (we don't store arrays for lines without spans). - function removeMarkedSpan(spans, span) { - for (var r, i = 0; i < spans.length; ++i) - if (spans[i] != span) (r || (r = [])).push(spans[i]); - return r; - } - // Add a span to a line. - function addMarkedSpan(line, span) { - line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span]; - span.marker.attachLine(line); - } - - // Used for the algorithm that adjusts markers for a change in the - // document. These functions cut an array of spans at a given - // character position, returning an array of remaining chunks (or - // undefined if nothing remains). - function markedSpansBefore(old, startCh, isInsert) { - if (old) for (var i = 0, nw; i < old.length; ++i) { - var span = old[i], marker = span.marker; - var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= startCh : span.from < startCh); - if (startsBefore || span.from == startCh && marker.type == "bookmark" && (!isInsert || !span.marker.insertLeft)) { - var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= startCh : span.to > startCh); - (nw || (nw = [])).push(new MarkedSpan(marker, span.from, endsAfter ? null : span.to)); - } - } - return nw; - } - function markedSpansAfter(old, endCh, isInsert) { - if (old) for (var i = 0, nw; i < old.length; ++i) { - var span = old[i], marker = span.marker; - var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= endCh : span.to > endCh); - if (endsAfter || span.from == endCh && marker.type == "bookmark" && (!isInsert || span.marker.insertLeft)) { - var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= endCh : span.from < endCh); - (nw || (nw = [])).push(new MarkedSpan(marker, startsBefore ? null : span.from - endCh, - span.to == null ? null : span.to - endCh)); - } - } - return nw; - } - - // Given a change object, compute the new set of marker spans that - // cover the line in which the change took place. Removes spans - // entirely within the change, reconnects spans belonging to the - // same marker that appear on both sides of the change, and cuts off - // spans partially within the change. Returns an array of span - // arrays with one element for each line in (after) the change. - function stretchSpansOverChange(doc, change) { - if (change.full) return null; - var oldFirst = isLine(doc, change.from.line) && getLine(doc, change.from.line).markedSpans; - var oldLast = isLine(doc, change.to.line) && getLine(doc, change.to.line).markedSpans; - if (!oldFirst && !oldLast) return null; - - var startCh = change.from.ch, endCh = change.to.ch, isInsert = cmp(change.from, change.to) == 0; - // Get the spans that 'stick out' on both sides - var first = markedSpansBefore(oldFirst, startCh, isInsert); - var last = markedSpansAfter(oldLast, endCh, isInsert); - - // Next, merge those two ends - var sameLine = change.text.length == 1, offset = lst(change.text).length + (sameLine ? startCh : 0); - if (first) { - // Fix up .to properties of first - for (var i = 0; i < first.length; ++i) { - var span = first[i]; - if (span.to == null) { - var found = getMarkedSpanFor(last, span.marker); - if (!found) span.to = startCh; - else if (sameLine) span.to = found.to == null ? null : found.to + offset; - } - } - } - if (last) { - // Fix up .from in last (or move them into first in case of sameLine) - for (var i = 0; i < last.length; ++i) { - var span = last[i]; - if (span.to != null) span.to += offset; - if (span.from == null) { - var found = getMarkedSpanFor(first, span.marker); - if (!found) { - span.from = offset; - if (sameLine) (first || (first = [])).push(span); - } - } else { - span.from += offset; - if (sameLine) (first || (first = [])).push(span); - } - } - } - // Make sure we didn't create any zero-length spans - if (first) first = clearEmptySpans(first); - if (last && last != first) last = clearEmptySpans(last); - - var newMarkers = [first]; - if (!sameLine) { - // Fill gap with whole-line-spans - var gap = change.text.length - 2, gapMarkers; - if (gap > 0 && first) - for (var i = 0; i < first.length; ++i) - if (first[i].to == null) - (gapMarkers || (gapMarkers = [])).push(new MarkedSpan(first[i].marker, null, null)); - for (var i = 0; i < gap; ++i) - newMarkers.push(gapMarkers); - newMarkers.push(last); - } - return newMarkers; - } - - // Remove spans that are empty and don't have a clearWhenEmpty - // option of false. - function clearEmptySpans(spans) { - for (var i = 0; i < spans.length; ++i) { - var span = spans[i]; - if (span.from != null && span.from == span.to && span.marker.clearWhenEmpty !== false) - spans.splice(i--, 1); - } - if (!spans.length) return null; - return spans; - } - - // Used for un/re-doing changes from the history. Combines the - // result of computing the existing spans with the set of spans that - // existed in the history (so that deleting around a span and then - // undoing brings back the span). - function mergeOldSpans(doc, change) { - var old = getOldSpans(doc, change); - var stretched = stretchSpansOverChange(doc, change); - if (!old) return stretched; - if (!stretched) return old; - - for (var i = 0; i < old.length; ++i) { - var oldCur = old[i], stretchCur = stretched[i]; - if (oldCur && stretchCur) { - spans: for (var j = 0; j < stretchCur.length; ++j) { - var span = stretchCur[j]; - for (var k = 0; k < oldCur.length; ++k) - if (oldCur[k].marker == span.marker) continue spans; - oldCur.push(span); - } - } else if (stretchCur) { - old[i] = stretchCur; - } - } - return old; - } - - // Used to 'clip' out readOnly ranges when making a change. - function removeReadOnlyRanges(doc, from, to) { - var markers = null; - doc.iter(from.line, to.line + 1, function(line) { - if (line.markedSpans) for (var i = 0; i < line.markedSpans.length; ++i) { - var mark = line.markedSpans[i].marker; - if (mark.readOnly && (!markers || indexOf(markers, mark) == -1)) - (markers || (markers = [])).push(mark); - } - }); - if (!markers) return null; - var parts = [{from: from, to: to}]; - for (var i = 0; i < markers.length; ++i) { - var mk = markers[i], m = mk.find(0); - for (var j = 0; j < parts.length; ++j) { - var p = parts[j]; - if (cmp(p.to, m.from) < 0 || cmp(p.from, m.to) > 0) continue; - var newParts = [j, 1], dfrom = cmp(p.from, m.from), dto = cmp(p.to, m.to); - if (dfrom < 0 || !mk.inclusiveLeft && !dfrom) - newParts.push({from: p.from, to: m.from}); - if (dto > 0 || !mk.inclusiveRight && !dto) - newParts.push({from: m.to, to: p.to}); - parts.splice.apply(parts, newParts); - j += newParts.length - 1; - } - } - return parts; - } - - // Connect or disconnect spans from a line. - function detachMarkedSpans(line) { - var spans = line.markedSpans; - if (!spans) return; - for (var i = 0; i < spans.length; ++i) - spans[i].marker.detachLine(line); - line.markedSpans = null; - } - function attachMarkedSpans(line, spans) { - if (!spans) return; - for (var i = 0; i < spans.length; ++i) - spans[i].marker.attachLine(line); - line.markedSpans = spans; - } - - // Helpers used when computing which overlapping collapsed span - // counts as the larger one. - function extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0; } - function extraRight(marker) { return marker.inclusiveRight ? 1 : 0; } - - // Returns a number indicating which of two overlapping collapsed - // spans is larger (and thus includes the other). Falls back to - // comparing ids when the spans cover exactly the same range. - function compareCollapsedMarkers(a, b) { - var lenDiff = a.lines.length - b.lines.length; - if (lenDiff != 0) return lenDiff; - var aPos = a.find(), bPos = b.find(); - var fromCmp = cmp(aPos.from, bPos.from) || extraLeft(a) - extraLeft(b); - if (fromCmp) return -fromCmp; - var toCmp = cmp(aPos.to, bPos.to) || extraRight(a) - extraRight(b); - if (toCmp) return toCmp; - return b.id - a.id; - } - - // Find out whether a line ends or starts in a collapsed span. If - // so, return the marker for that span. - function collapsedSpanAtSide(line, start) { - var sps = sawCollapsedSpans && line.markedSpans, found; - if (sps) for (var sp, i = 0; i < sps.length; ++i) { - sp = sps[i]; - if (sp.marker.collapsed && (start ? sp.from : sp.to) == null && - (!found || compareCollapsedMarkers(found, sp.marker) < 0)) - found = sp.marker; - } - return found; - } - function collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, true); } - function collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, false); } - - // Test whether there exists a collapsed span that partially - // overlaps (covers the start or end, but not both) of a new span. - // Such overlap is not allowed. - function conflictingCollapsedRange(doc, lineNo, from, to, marker) { - var line = getLine(doc, lineNo); - var sps = sawCollapsedSpans && line.markedSpans; - if (sps) for (var i = 0; i < sps.length; ++i) { - var sp = sps[i]; - if (!sp.marker.collapsed) continue; - var found = sp.marker.find(0); - var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker); - var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker); - if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) continue; - if (fromCmp <= 0 && (cmp(found.to, from) > 0 || (sp.marker.inclusiveRight && marker.inclusiveLeft)) || - fromCmp >= 0 && (cmp(found.from, to) < 0 || (sp.marker.inclusiveLeft && marker.inclusiveRight))) - return true; - } - } - - // A visual line is a line as drawn on the screen. Folding, for - // example, can cause multiple logical lines to appear on the same - // visual line. This finds the start of the visual line that the - // given line is part of (usually that is the line itself). - function visualLine(line) { - var merged; - while (merged = collapsedSpanAtStart(line)) - line = merged.find(-1, true).line; - return line; - } - - // Returns an array of logical lines that continue the visual line - // started by the argument, or undefined if there are no such lines. - function visualLineContinued(line) { - var merged, lines; - while (merged = collapsedSpanAtEnd(line)) { - line = merged.find(1, true).line; - (lines || (lines = [])).push(line); - } - return lines; - } - - // Get the line number of the start of the visual line that the - // given line number is part of. - function visualLineNo(doc, lineN) { - var line = getLine(doc, lineN), vis = visualLine(line); - if (line == vis) return lineN; - return lineNo(vis); - } - // Get the line number of the start of the next visual line after - // the given line. - function visualLineEndNo(doc, lineN) { - if (lineN > doc.lastLine()) return lineN; - var line = getLine(doc, lineN), merged; - if (!lineIsHidden(doc, line)) return lineN; - while (merged = collapsedSpanAtEnd(line)) - line = merged.find(1, true).line; - return lineNo(line) + 1; - } - - // Compute whether a line is hidden. Lines count as hidden when they - // are part of a visual line that starts with another line, or when - // they are entirely covered by collapsed, non-widget span. - function lineIsHidden(doc, line) { - var sps = sawCollapsedSpans && line.markedSpans; - if (sps) for (var sp, i = 0; i < sps.length; ++i) { - sp = sps[i]; - if (!sp.marker.collapsed) continue; - if (sp.from == null) return true; - if (sp.marker.widgetNode) continue; - if (sp.from == 0 && sp.marker.inclusiveLeft && lineIsHiddenInner(doc, line, sp)) - return true; - } - } - function lineIsHiddenInner(doc, line, span) { - if (span.to == null) { - var end = span.marker.find(1, true); - return lineIsHiddenInner(doc, end.line, getMarkedSpanFor(end.line.markedSpans, span.marker)); - } - if (span.marker.inclusiveRight && span.to == line.text.length) - return true; - for (var sp, i = 0; i < line.markedSpans.length; ++i) { - sp = line.markedSpans[i]; - if (sp.marker.collapsed && !sp.marker.widgetNode && sp.from == span.to && - (sp.to == null || sp.to != span.from) && - (sp.marker.inclusiveLeft || span.marker.inclusiveRight) && - lineIsHiddenInner(doc, line, sp)) return true; - } - } - - // LINE WIDGETS - - // Line widgets are block elements displayed above or below a line. - - var LineWidget = CodeMirror.LineWidget = function(doc, node, options) { - if (options) for (var opt in options) if (options.hasOwnProperty(opt)) - this[opt] = options[opt]; - this.doc = doc; - this.node = node; - }; - eventMixin(LineWidget); - - function adjustScrollWhenAboveVisible(cm, line, diff) { - if (heightAtLine(line) < ((cm.curOp && cm.curOp.scrollTop) || cm.doc.scrollTop)) - addToScrollPos(cm, null, diff); - } - - LineWidget.prototype.clear = function() { - var cm = this.doc.cm, ws = this.line.widgets, line = this.line, no = lineNo(line); - if (no == null || !ws) return; - for (var i = 0; i < ws.length; ++i) if (ws[i] == this) ws.splice(i--, 1); - if (!ws.length) line.widgets = null; - var height = widgetHeight(this); - updateLineHeight(line, Math.max(0, line.height - height)); - if (cm) runInOp(cm, function() { - adjustScrollWhenAboveVisible(cm, line, -height); - regLineChange(cm, no, "widget"); - }); - }; - LineWidget.prototype.changed = function() { - var oldH = this.height, cm = this.doc.cm, line = this.line; - this.height = null; - var diff = widgetHeight(this) - oldH; - if (!diff) return; - updateLineHeight(line, line.height + diff); - if (cm) runInOp(cm, function() { - cm.curOp.forceUpdate = true; - adjustScrollWhenAboveVisible(cm, line, diff); - }); - }; - - function widgetHeight(widget) { - if (widget.height != null) return widget.height; - var cm = widget.doc.cm; - if (!cm) return 0; - if (!contains(document.body, widget.node)) { - var parentStyle = "position: relative;"; - if (widget.coverGutter) - parentStyle += "margin-left: -" + cm.display.gutters.offsetWidth + "px;"; - if (widget.noHScroll) - parentStyle += "width: " + cm.display.wrapper.clientWidth + "px;"; - removeChildrenAndAdd(cm.display.measure, elt("div", [widget.node], null, parentStyle)); - } - return widget.height = widget.node.offsetHeight; - } - - function addLineWidget(doc, handle, node, options) { - var widget = new LineWidget(doc, node, options); - var cm = doc.cm; - if (cm && widget.noHScroll) cm.display.alignWidgets = true; - changeLine(doc, handle, "widget", function(line) { - var widgets = line.widgets || (line.widgets = []); - if (widget.insertAt == null) widgets.push(widget); - else widgets.splice(Math.min(widgets.length - 1, Math.max(0, widget.insertAt)), 0, widget); - widget.line = line; - if (cm && !lineIsHidden(doc, line)) { - var aboveVisible = heightAtLine(line) < doc.scrollTop; - updateLineHeight(line, line.height + widgetHeight(widget)); - if (aboveVisible) addToScrollPos(cm, null, widget.height); - cm.curOp.forceUpdate = true; - } - return true; - }); - return widget; - } - - // LINE DATA STRUCTURE - - // Line objects. These hold state related to a line, including - // highlighting info (the styles array). - var Line = CodeMirror.Line = function(text, markedSpans, estimateHeight) { - this.text = text; - attachMarkedSpans(this, markedSpans); - this.height = estimateHeight ? estimateHeight(this) : 1; - }; - eventMixin(Line); - Line.prototype.lineNo = function() { return lineNo(this); }; - - // Change the content (text, markers) of a line. Automatically - // invalidates cached information and tries to re-estimate the - // line's height. - function updateLine(line, text, markedSpans, estimateHeight) { - line.text = text; - if (line.stateAfter) line.stateAfter = null; - if (line.styles) line.styles = null; - if (line.order != null) line.order = null; - detachMarkedSpans(line); - attachMarkedSpans(line, markedSpans); - var estHeight = estimateHeight ? estimateHeight(line) : 1; - if (estHeight != line.height) updateLineHeight(line, estHeight); - } - - // Detach a line from the document tree and its markers. - function cleanUpLine(line) { - line.parent = null; - detachMarkedSpans(line); - } - - function extractLineClasses(type, output) { - if (type) for (;;) { - var lineClass = type.match(/(?:^|\s+)line-(background-)?(\S+)/); - if (!lineClass) break; - type = type.slice(0, lineClass.index) + type.slice(lineClass.index + lineClass[0].length); - var prop = lineClass[1] ? "bgClass" : "textClass"; - if (output[prop] == null) - output[prop] = lineClass[2]; - else if (!(new RegExp("(?:^|\s)" + lineClass[2] + "(?:$|\s)")).test(output[prop])) - output[prop] += " " + lineClass[2]; - } - return type; - } - - function callBlankLine(mode, state) { - if (mode.blankLine) return mode.blankLine(state); - if (!mode.innerMode) return; - var inner = CodeMirror.innerMode(mode, state); - if (inner.mode.blankLine) return inner.mode.blankLine(inner.state); - } - - function readToken(mode, stream, state, inner) { - for (var i = 0; i < 10; i++) { - if (inner) inner[0] = CodeMirror.innerMode(mode, state).mode; - var style = mode.token(stream, state); - if (stream.pos > stream.start) return style; - } - throw new Error("Mode " + mode.name + " failed to advance stream."); - } - - // Utility for getTokenAt and getLineTokens - function takeToken(cm, pos, precise, asArray) { - function getObj(copy) { - return {start: stream.start, end: stream.pos, - string: stream.current(), - type: style || null, - state: copy ? copyState(doc.mode, state) : state}; - } - - var doc = cm.doc, mode = doc.mode, style; - pos = clipPos(doc, pos); - var line = getLine(doc, pos.line), state = getStateBefore(cm, pos.line, precise); - var stream = new StringStream(line.text, cm.options.tabSize), tokens; - if (asArray) tokens = []; - while ((asArray || stream.pos < pos.ch) && !stream.eol()) { - stream.start = stream.pos; - style = readToken(mode, stream, state); - if (asArray) tokens.push(getObj(true)); - } - return asArray ? tokens : getObj(); - } - - // Run the given mode's parser over a line, calling f for each token. - function runMode(cm, text, mode, state, f, lineClasses, forceToEnd) { - var flattenSpans = mode.flattenSpans; - if (flattenSpans == null) flattenSpans = cm.options.flattenSpans; - var curStart = 0, curStyle = null; - var stream = new StringStream(text, cm.options.tabSize), style; - var inner = cm.options.addModeClass && [null]; - if (text == "") extractLineClasses(callBlankLine(mode, state), lineClasses); - while (!stream.eol()) { - if (stream.pos > cm.options.maxHighlightLength) { - flattenSpans = false; - if (forceToEnd) processLine(cm, text, state, stream.pos); - stream.pos = text.length; - style = null; - } else { - style = extractLineClasses(readToken(mode, stream, state, inner), lineClasses); - } - if (inner) { - var mName = inner[0].name; - if (mName) style = "m-" + (style ? mName + " " + style : mName); - } - if (!flattenSpans || curStyle != style) { - while (curStart < stream.start) { - curStart = Math.min(stream.start, curStart + 50000); - f(curStart, curStyle); - } - curStyle = style; - } - stream.start = stream.pos; - } - while (curStart < stream.pos) { - // Webkit seems to refuse to render text nodes longer than 57444 characters - var pos = Math.min(stream.pos, curStart + 50000); - f(pos, curStyle); - curStart = pos; - } - } - - // Compute a style array (an array starting with a mode generation - // -- for invalidation -- followed by pairs of end positions and - // style strings), which is used to highlight the tokens on the - // line. - function highlightLine(cm, line, state, forceToEnd) { - // A styles array always starts with a number identifying the - // mode/overlays that it is based on (for easy invalidation). - var st = [cm.state.modeGen], lineClasses = {}; - // Compute the base array of styles - runMode(cm, line.text, cm.doc.mode, state, function(end, style) { - st.push(end, style); - }, lineClasses, forceToEnd); - - // Run overlays, adjust style array. - for (var o = 0; o < cm.state.overlays.length; ++o) { - var overlay = cm.state.overlays[o], i = 1, at = 0; - runMode(cm, line.text, overlay.mode, true, function(end, style) { - var start = i; - // Ensure there's a token end at the current position, and that i points at it - while (at < end) { - var i_end = st[i]; - if (i_end > end) - st.splice(i, 1, end, st[i+1], i_end); - i += 2; - at = Math.min(end, i_end); - } - if (!style) return; - if (overlay.opaque) { - st.splice(start, i - start, end, "cm-overlay " + style); - i = start + 2; - } else { - for (; start < i; start += 2) { - var cur = st[start+1]; - st[start+1] = (cur ? cur + " " : "") + "cm-overlay " + style; - } - } - }, lineClasses); - } - - return {styles: st, classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null}; - } - - function getLineStyles(cm, line, updateFrontier) { - if (!line.styles || line.styles[0] != cm.state.modeGen) { - var result = highlightLine(cm, line, line.stateAfter = getStateBefore(cm, lineNo(line))); - line.styles = result.styles; - if (result.classes) line.styleClasses = result.classes; - else if (line.styleClasses) line.styleClasses = null; - if (updateFrontier === cm.doc.frontier) cm.doc.frontier++; - } - return line.styles; - } - - // Lightweight form of highlight -- proceed over this line and - // update state, but don't save a style array. Used for lines that - // aren't currently visible. - function processLine(cm, text, state, startAt) { - var mode = cm.doc.mode; - var stream = new StringStream(text, cm.options.tabSize); - stream.start = stream.pos = startAt || 0; - if (text == "") callBlankLine(mode, state); - while (!stream.eol() && stream.pos <= cm.options.maxHighlightLength) { - readToken(mode, stream, state); - stream.start = stream.pos; - } - } - - // Convert a style as returned by a mode (either null, or a string - // containing one or more styles) to a CSS style. This is cached, - // and also looks for line-wide styles. - var styleToClassCache = {}, styleToClassCacheWithMode = {}; - function interpretTokenStyle(style, options) { - if (!style || /^\s*$/.test(style)) return null; - var cache = options.addModeClass ? styleToClassCacheWithMode : styleToClassCache; - return cache[style] || - (cache[style] = style.replace(/\S+/g, "cm-$&")); - } - - // Render the DOM representation of the text of a line. Also builds - // up a 'line map', which points at the DOM nodes that represent - // specific stretches of text, and is used by the measuring code. - // The returned object contains the DOM node, this map, and - // information about line-wide styles that were set by the mode. - function buildLineContent(cm, lineView) { - // The padding-right forces the element to have a 'border', which - // is needed on Webkit to be able to get line-level bounding - // rectangles for it (in measureChar). - var content = elt("span", null, null, webkit ? "padding-right: .1px" : null); - var builder = {pre: elt("pre", [content], "CodeMirror-line"), content: content, - col: 0, pos: 0, cm: cm, - splitSpaces: (ie || webkit) && cm.getOption("lineWrapping")}; - lineView.measure = {}; - - // Iterate over the logical lines that make up this visual line. - for (var i = 0; i <= (lineView.rest ? lineView.rest.length : 0); i++) { - var line = i ? lineView.rest[i - 1] : lineView.line, order; - builder.pos = 0; - builder.addToken = buildToken; - // Optionally wire in some hacks into the token-rendering - // algorithm, to deal with browser quirks. - if (hasBadBidiRects(cm.display.measure) && (order = getOrder(line))) - builder.addToken = buildTokenBadBidi(builder.addToken, order); - builder.map = []; - var allowFrontierUpdate = lineView != cm.display.externalMeasured && lineNo(line); - insertLineContent(line, builder, getLineStyles(cm, line, allowFrontierUpdate)); - if (line.styleClasses) { - if (line.styleClasses.bgClass) - builder.bgClass = joinClasses(line.styleClasses.bgClass, builder.bgClass || ""); - if (line.styleClasses.textClass) - builder.textClass = joinClasses(line.styleClasses.textClass, builder.textClass || ""); - } - - // Ensure at least a single node is present, for measuring. - if (builder.map.length == 0) - builder.map.push(0, 0, builder.content.appendChild(zeroWidthElement(cm.display.measure))); - - // Store the map and a cache object for the current logical line - if (i == 0) { - lineView.measure.map = builder.map; - lineView.measure.cache = {}; - } else { - (lineView.measure.maps || (lineView.measure.maps = [])).push(builder.map); - (lineView.measure.caches || (lineView.measure.caches = [])).push({}); - } - } - - // See issue #2901 - if (webkit && /\bcm-tab\b/.test(builder.content.lastChild.className)) - builder.content.className = "cm-tab-wrap-hack"; - - signal(cm, "renderLine", cm, lineView.line, builder.pre); - if (builder.pre.className) - builder.textClass = joinClasses(builder.pre.className, builder.textClass || ""); - - return builder; - } - - function defaultSpecialCharPlaceholder(ch) { - var token = elt("span", "\u2022", "cm-invalidchar"); - token.title = "\\u" + ch.charCodeAt(0).toString(16); - token.setAttribute("aria-label", token.title); - return token; - } - - // Build up the DOM representation for a single token, and add it to - // the line map. Takes care to render special characters separately. - function buildToken(builder, text, style, startStyle, endStyle, title, css) { - if (!text) return; - var displayText = builder.splitSpaces ? text.replace(/ {3,}/g, splitSpaces) : text; - var special = builder.cm.state.specialChars, mustWrap = false; - if (!special.test(text)) { - builder.col += text.length; - var content = document.createTextNode(displayText); - builder.map.push(builder.pos, builder.pos + text.length, content); - if (ie && ie_version < 9) mustWrap = true; - builder.pos += text.length; - } else { - var content = document.createDocumentFragment(), pos = 0; - while (true) { - special.lastIndex = pos; - var m = special.exec(text); - var skipped = m ? m.index - pos : text.length - pos; - if (skipped) { - var txt = document.createTextNode(displayText.slice(pos, pos + skipped)); - if (ie && ie_version < 9) content.appendChild(elt("span", [txt])); - else content.appendChild(txt); - builder.map.push(builder.pos, builder.pos + skipped, txt); - builder.col += skipped; - builder.pos += skipped; - } - if (!m) break; - pos += skipped + 1; - if (m[0] == "\t") { - var tabSize = builder.cm.options.tabSize, tabWidth = tabSize - builder.col % tabSize; - var txt = content.appendChild(elt("span", spaceStr(tabWidth), "cm-tab")); - txt.setAttribute("role", "presentation"); - txt.setAttribute("cm-text", "\t"); - builder.col += tabWidth; - } else { - var txt = builder.cm.options.specialCharPlaceholder(m[0]); - txt.setAttribute("cm-text", m[0]); - if (ie && ie_version < 9) content.appendChild(elt("span", [txt])); - else content.appendChild(txt); - builder.col += 1; - } - builder.map.push(builder.pos, builder.pos + 1, txt); - builder.pos++; - } - } - if (style || startStyle || endStyle || mustWrap || css) { - var fullStyle = style || ""; - if (startStyle) fullStyle += startStyle; - if (endStyle) fullStyle += endStyle; - var token = elt("span", [content], fullStyle, css); - if (title) token.title = title; - return builder.content.appendChild(token); - } - builder.content.appendChild(content); - } - - function splitSpaces(old) { - var out = " "; - for (var i = 0; i < old.length - 2; ++i) out += i % 2 ? " " : "\u00a0"; - out += " "; - return out; - } - - // Work around nonsense dimensions being reported for stretches of - // right-to-left text. - function buildTokenBadBidi(inner, order) { - return function(builder, text, style, startStyle, endStyle, title, css) { - style = style ? style + " cm-force-border" : "cm-force-border"; - var start = builder.pos, end = start + text.length; - for (;;) { - // Find the part that overlaps with the start of this text - for (var i = 0; i < order.length; i++) { - var part = order[i]; - if (part.to > start && part.from <= start) break; - } - if (part.to >= end) return inner(builder, text, style, startStyle, endStyle, title, css); - inner(builder, text.slice(0, part.to - start), style, startStyle, null, title, css); - startStyle = null; - text = text.slice(part.to - start); - start = part.to; - } - }; - } - - function buildCollapsedSpan(builder, size, marker, ignoreWidget) { - var widget = !ignoreWidget && marker.widgetNode; - if (widget) builder.map.push(builder.pos, builder.pos + size, widget); - if (!ignoreWidget && builder.cm.display.input.needsContentAttribute) { - if (!widget) - widget = builder.content.appendChild(document.createElement("span")); - widget.setAttribute("cm-marker", marker.id); - } - if (widget) { - builder.cm.display.input.setUneditable(widget); - builder.content.appendChild(widget); - } - builder.pos += size; - } - - // Outputs a number of spans to make up a line, taking highlighting - // and marked text into account. - function insertLineContent(line, builder, styles) { - var spans = line.markedSpans, allText = line.text, at = 0; - if (!spans) { - for (var i = 1; i < styles.length; i+=2) - builder.addToken(builder, allText.slice(at, at = styles[i]), interpretTokenStyle(styles[i+1], builder.cm.options)); - return; - } - - var len = allText.length, pos = 0, i = 1, text = "", style, css; - var nextChange = 0, spanStyle, spanEndStyle, spanStartStyle, title, collapsed; - for (;;) { - if (nextChange == pos) { // Update current marker set - spanStyle = spanEndStyle = spanStartStyle = title = css = ""; - collapsed = null; nextChange = Infinity; - var foundBookmarks = []; - for (var j = 0; j < spans.length; ++j) { - var sp = spans[j], m = sp.marker; - if (m.type == "bookmark" && sp.from == pos && m.widgetNode) { - foundBookmarks.push(m); - } else if (sp.from <= pos && (sp.to == null || sp.to > pos || m.collapsed && sp.to == pos && sp.from == pos)) { - if (sp.to != null && sp.to != pos && nextChange > sp.to) { - nextChange = sp.to; - spanEndStyle = ""; - } - if (m.className) spanStyle += " " + m.className; - if (m.css) css = m.css; - if (m.startStyle && sp.from == pos) spanStartStyle += " " + m.startStyle; - if (m.endStyle && sp.to == nextChange) spanEndStyle += " " + m.endStyle; - if (m.title && !title) title = m.title; - if (m.collapsed && (!collapsed || compareCollapsedMarkers(collapsed.marker, m) < 0)) - collapsed = sp; - } else if (sp.from > pos && nextChange > sp.from) { - nextChange = sp.from; - } - } - if (collapsed && (collapsed.from || 0) == pos) { - buildCollapsedSpan(builder, (collapsed.to == null ? len + 1 : collapsed.to) - pos, - collapsed.marker, collapsed.from == null); - if (collapsed.to == null) return; - if (collapsed.to == pos) collapsed = false; - } - if (!collapsed && foundBookmarks.length) for (var j = 0; j < foundBookmarks.length; ++j) - buildCollapsedSpan(builder, 0, foundBookmarks[j]); - } - if (pos >= len) break; - - var upto = Math.min(len, nextChange); - while (true) { - if (text) { - var end = pos + text.length; - if (!collapsed) { - var tokenText = end > upto ? text.slice(0, upto - pos) : text; - builder.addToken(builder, tokenText, style ? style + spanStyle : spanStyle, - spanStartStyle, pos + tokenText.length == nextChange ? spanEndStyle : "", title, css); - } - if (end >= upto) {text = text.slice(upto - pos); pos = upto; break;} - pos = end; - spanStartStyle = ""; - } - text = allText.slice(at, at = styles[i++]); - style = interpretTokenStyle(styles[i++], builder.cm.options); - } - } - } - - // DOCUMENT DATA STRUCTURE - - // By default, updates that start and end at the beginning of a line - // are treated specially, in order to make the association of line - // widgets and marker elements with the text behave more intuitive. - function isWholeLineUpdate(doc, change) { - return change.from.ch == 0 && change.to.ch == 0 && lst(change.text) == "" && - (!doc.cm || doc.cm.options.wholeLineUpdateBefore); - } - - // Perform a change on the document data structure. - function updateDoc(doc, change, markedSpans, estimateHeight) { - function spansFor(n) {return markedSpans ? markedSpans[n] : null;} - function update(line, text, spans) { - updateLine(line, text, spans, estimateHeight); - signalLater(line, "change", line, change); - } - function linesFor(start, end) { - for (var i = start, result = []; i < end; ++i) - result.push(new Line(text[i], spansFor(i), estimateHeight)); - return result; - } - - var from = change.from, to = change.to, text = change.text; - var firstLine = getLine(doc, from.line), lastLine = getLine(doc, to.line); - var lastText = lst(text), lastSpans = spansFor(text.length - 1), nlines = to.line - from.line; - - // Adjust the line structure - if (change.full) { - doc.insert(0, linesFor(0, text.length)); - doc.remove(text.length, doc.size - text.length); - } else if (isWholeLineUpdate(doc, change)) { - // This is a whole-line replace. Treated specially to make - // sure line objects move the way they are supposed to. - var added = linesFor(0, text.length - 1); - update(lastLine, lastLine.text, lastSpans); - if (nlines) doc.remove(from.line, nlines); - if (added.length) doc.insert(from.line, added); - } else if (firstLine == lastLine) { - if (text.length == 1) { - update(firstLine, firstLine.text.slice(0, from.ch) + lastText + firstLine.text.slice(to.ch), lastSpans); - } else { - var added = linesFor(1, text.length - 1); - added.push(new Line(lastText + firstLine.text.slice(to.ch), lastSpans, estimateHeight)); - update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0)); - doc.insert(from.line + 1, added); - } - } else if (text.length == 1) { - update(firstLine, firstLine.text.slice(0, from.ch) + text[0] + lastLine.text.slice(to.ch), spansFor(0)); - doc.remove(from.line + 1, nlines); - } else { - update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0)); - update(lastLine, lastText + lastLine.text.slice(to.ch), lastSpans); - var added = linesFor(1, text.length - 1); - if (nlines > 1) doc.remove(from.line + 1, nlines - 1); - doc.insert(from.line + 1, added); - } - - signalLater(doc, "change", doc, change); - } - - // The document is represented as a BTree consisting of leaves, with - // chunk of lines in them, and branches, with up to ten leaves or - // other branch nodes below them. The top node is always a branch - // node, and is the document object itself (meaning it has - // additional methods and properties). - // - // All nodes have parent links. The tree is used both to go from - // line numbers to line objects, and to go from objects to numbers. - // It also indexes by height, and is used to convert between height - // and line object, and to find the total height of the document. - // - // See also http://marijnhaverbeke.nl/blog/codemirror-line-tree.html - - function LeafChunk(lines) { - this.lines = lines; - this.parent = null; - for (var i = 0, height = 0; i < lines.length; ++i) { - lines[i].parent = this; - height += lines[i].height; - } - this.height = height; - } - - LeafChunk.prototype = { - chunkSize: function() { return this.lines.length; }, - // Remove the n lines at offset 'at'. - removeInner: function(at, n) { - for (var i = at, e = at + n; i < e; ++i) { - var line = this.lines[i]; - this.height -= line.height; - cleanUpLine(line); - signalLater(line, "delete"); - } - this.lines.splice(at, n); - }, - // Helper used to collapse a small branch into a single leaf. - collapse: function(lines) { - lines.push.apply(lines, this.lines); - }, - // Insert the given array of lines at offset 'at', count them as - // having the given height. - insertInner: function(at, lines, height) { - this.height += height; - this.lines = this.lines.slice(0, at).concat(lines).concat(this.lines.slice(at)); - for (var i = 0; i < lines.length; ++i) lines[i].parent = this; - }, - // Used to iterate over a part of the tree. - iterN: function(at, n, op) { - for (var e = at + n; at < e; ++at) - if (op(this.lines[at])) return true; - } - }; - - function BranchChunk(children) { - this.children = children; - var size = 0, height = 0; - for (var i = 0; i < children.length; ++i) { - var ch = children[i]; - size += ch.chunkSize(); height += ch.height; - ch.parent = this; - } - this.size = size; - this.height = height; - this.parent = null; - } - - BranchChunk.prototype = { - chunkSize: function() { return this.size; }, - removeInner: function(at, n) { - this.size -= n; - for (var i = 0; i < this.children.length; ++i) { - var child = this.children[i], sz = child.chunkSize(); - if (at < sz) { - var rm = Math.min(n, sz - at), oldHeight = child.height; - child.removeInner(at, rm); - this.height -= oldHeight - child.height; - if (sz == rm) { this.children.splice(i--, 1); child.parent = null; } - if ((n -= rm) == 0) break; - at = 0; - } else at -= sz; - } - // If the result is smaller than 25 lines, ensure that it is a - // single leaf node. - if (this.size - n < 25 && - (this.children.length > 1 || !(this.children[0] instanceof LeafChunk))) { - var lines = []; - this.collapse(lines); - this.children = [new LeafChunk(lines)]; - this.children[0].parent = this; - } - }, - collapse: function(lines) { - for (var i = 0; i < this.children.length; ++i) this.children[i].collapse(lines); - }, - insertInner: function(at, lines, height) { - this.size += lines.length; - this.height += height; - for (var i = 0; i < this.children.length; ++i) { - var child = this.children[i], sz = child.chunkSize(); - if (at <= sz) { - child.insertInner(at, lines, height); - if (child.lines && child.lines.length > 50) { - while (child.lines.length > 50) { - var spilled = child.lines.splice(child.lines.length - 25, 25); - var newleaf = new LeafChunk(spilled); - child.height -= newleaf.height; - this.children.splice(i + 1, 0, newleaf); - newleaf.parent = this; - } - this.maybeSpill(); - } - break; - } - at -= sz; - } - }, - // When a node has grown, check whether it should be split. - maybeSpill: function() { - if (this.children.length <= 10) return; - var me = this; - do { - var spilled = me.children.splice(me.children.length - 5, 5); - var sibling = new BranchChunk(spilled); - if (!me.parent) { // Become the parent node - var copy = new BranchChunk(me.children); - copy.parent = me; - me.children = [copy, sibling]; - me = copy; - } else { - me.size -= sibling.size; - me.height -= sibling.height; - var myIndex = indexOf(me.parent.children, me); - me.parent.children.splice(myIndex + 1, 0, sibling); - } - sibling.parent = me.parent; - } while (me.children.length > 10); - me.parent.maybeSpill(); - }, - iterN: function(at, n, op) { - for (var i = 0; i < this.children.length; ++i) { - var child = this.children[i], sz = child.chunkSize(); - if (at < sz) { - var used = Math.min(n, sz - at); - if (child.iterN(at, used, op)) return true; - if ((n -= used) == 0) break; - at = 0; - } else at -= sz; - } - } - }; - - var nextDocId = 0; - var Doc = CodeMirror.Doc = function(text, mode, firstLine) { - if (!(this instanceof Doc)) return new Doc(text, mode, firstLine); - if (firstLine == null) firstLine = 0; - - BranchChunk.call(this, [new LeafChunk([new Line("", null)])]); - this.first = firstLine; - this.scrollTop = this.scrollLeft = 0; - this.cantEdit = false; - this.cleanGeneration = 1; - this.frontier = firstLine; - var start = Pos(firstLine, 0); - this.sel = simpleSelection(start); - this.history = new History(null); - this.id = ++nextDocId; - this.modeOption = mode; - - if (typeof text == "string") text = splitLines(text); - updateDoc(this, {from: start, to: start, text: text}); - setSelection(this, simpleSelection(start), sel_dontScroll); - }; - - Doc.prototype = createObj(BranchChunk.prototype, { - constructor: Doc, - // Iterate over the document. Supports two forms -- with only one - // argument, it calls that for each line in the document. With - // three, it iterates over the range given by the first two (with - // the second being non-inclusive). - iter: function(from, to, op) { - if (op) this.iterN(from - this.first, to - from, op); - else this.iterN(this.first, this.first + this.size, from); - }, - - // Non-public interface for adding and removing lines. - insert: function(at, lines) { - var height = 0; - for (var i = 0; i < lines.length; ++i) height += lines[i].height; - this.insertInner(at - this.first, lines, height); - }, - remove: function(at, n) { this.removeInner(at - this.first, n); }, - - // From here, the methods are part of the public interface. Most - // are also available from CodeMirror (editor) instances. - - getValue: function(lineSep, lineFilter) { - var lines = getLines(this, this.first, this.first + this.size, lineFilter); - if (lineSep === false) return lines; - return lines.join(lineSep || "\n"); - }, - setValue: docMethodOp(function(code) { - var top = Pos(this.first, 0), last = this.first + this.size - 1; - makeChange(this, {from: top, to: Pos(last, getLine(this, last).text.length), - text: splitLines(code), origin: "setValue", full: true}, true); - setSelection(this, simpleSelection(top)); - }), - replaceRange: function(code, from, to, origin) { - from = clipPos(this, from); - to = to ? clipPos(this, to) : from; - replaceRange(this, code, from, to, origin); - }, - getRange: function(from, to, lineSep) { - var lines = getBetween(this, clipPos(this, from), clipPos(this, to)); - if (lineSep === false) return lines; - return lines.join(lineSep || "\n"); - }, - - getLine: function(line) {var l = this.getLineHandle(line); return l && l.text;}, - - getLineHandle: function(line) {if (isLine(this, line)) return getLine(this, line);}, - getLineNumber: function(line) {return lineNo(line);}, - - getLineHandleVisualStart: function(line) { - if (typeof line == "number") line = getLine(this, line); - return visualLine(line); - }, - - lineCount: function() {return this.size;}, - firstLine: function() {return this.first;}, - lastLine: function() {return this.first + this.size - 1;}, - - clipPos: function(pos) {return clipPos(this, pos);}, - - getCursor: function(start) { - var range = this.sel.primary(), pos; - if (start == null || start == "head") pos = range.head; - else if (start == "anchor") pos = range.anchor; - else if (start == "end" || start == "to" || start === false) pos = range.to(); - else pos = range.from(); - return pos; - }, - listSelections: function() { return this.sel.ranges; }, - somethingSelected: function() {return this.sel.somethingSelected();}, - - setCursor: docMethodOp(function(line, ch, options) { - setSimpleSelection(this, clipPos(this, typeof line == "number" ? Pos(line, ch || 0) : line), null, options); - }), - setSelection: docMethodOp(function(anchor, head, options) { - setSimpleSelection(this, clipPos(this, anchor), clipPos(this, head || anchor), options); - }), - extendSelection: docMethodOp(function(head, other, options) { - extendSelection(this, clipPos(this, head), other && clipPos(this, other), options); - }), - extendSelections: docMethodOp(function(heads, options) { - extendSelections(this, clipPosArray(this, heads, options)); - }), - extendSelectionsBy: docMethodOp(function(f, options) { - extendSelections(this, map(this.sel.ranges, f), options); - }), - setSelections: docMethodOp(function(ranges, primary, options) { - if (!ranges.length) return; - for (var i = 0, out = []; i < ranges.length; i++) - out[i] = new Range(clipPos(this, ranges[i].anchor), - clipPos(this, ranges[i].head)); - if (primary == null) primary = Math.min(ranges.length - 1, this.sel.primIndex); - setSelection(this, normalizeSelection(out, primary), options); - }), - addSelection: docMethodOp(function(anchor, head, options) { - var ranges = this.sel.ranges.slice(0); - ranges.push(new Range(clipPos(this, anchor), clipPos(this, head || anchor))); - setSelection(this, normalizeSelection(ranges, ranges.length - 1), options); - }), - - getSelection: function(lineSep) { - var ranges = this.sel.ranges, lines; - for (var i = 0; i < ranges.length; i++) { - var sel = getBetween(this, ranges[i].from(), ranges[i].to()); - lines = lines ? lines.concat(sel) : sel; - } - if (lineSep === false) return lines; - else return lines.join(lineSep || "\n"); - }, - getSelections: function(lineSep) { - var parts = [], ranges = this.sel.ranges; - for (var i = 0; i < ranges.length; i++) { - var sel = getBetween(this, ranges[i].from(), ranges[i].to()); - if (lineSep !== false) sel = sel.join(lineSep || "\n"); - parts[i] = sel; - } - return parts; - }, - replaceSelection: function(code, collapse, origin) { - var dup = []; - for (var i = 0; i < this.sel.ranges.length; i++) - dup[i] = code; - this.replaceSelections(dup, collapse, origin || "+input"); - }, - replaceSelections: docMethodOp(function(code, collapse, origin) { - var changes = [], sel = this.sel; - for (var i = 0; i < sel.ranges.length; i++) { - var range = sel.ranges[i]; - changes[i] = {from: range.from(), to: range.to(), text: splitLines(code[i]), origin: origin}; - } - var newSel = collapse && collapse != "end" && computeReplacedSel(this, changes, collapse); - for (var i = changes.length - 1; i >= 0; i--) - makeChange(this, changes[i]); - if (newSel) setSelectionReplaceHistory(this, newSel); - else if (this.cm) ensureCursorVisible(this.cm); - }), - undo: docMethodOp(function() {makeChangeFromHistory(this, "undo");}), - redo: docMethodOp(function() {makeChangeFromHistory(this, "redo");}), - undoSelection: docMethodOp(function() {makeChangeFromHistory(this, "undo", true);}), - redoSelection: docMethodOp(function() {makeChangeFromHistory(this, "redo", true);}), - - setExtending: function(val) {this.extend = val;}, - getExtending: function() {return this.extend;}, - - historySize: function() { - var hist = this.history, done = 0, undone = 0; - for (var i = 0; i < hist.done.length; i++) if (!hist.done[i].ranges) ++done; - for (var i = 0; i < hist.undone.length; i++) if (!hist.undone[i].ranges) ++undone; - return {undo: done, redo: undone}; - }, - clearHistory: function() {this.history = new History(this.history.maxGeneration);}, - - markClean: function() { - this.cleanGeneration = this.changeGeneration(true); - }, - changeGeneration: function(forceSplit) { - if (forceSplit) - this.history.lastOp = this.history.lastSelOp = this.history.lastOrigin = null; - return this.history.generation; - }, - isClean: function (gen) { - return this.history.generation == (gen || this.cleanGeneration); - }, - - getHistory: function() { - return {done: copyHistoryArray(this.history.done), - undone: copyHistoryArray(this.history.undone)}; - }, - setHistory: function(histData) { - var hist = this.history = new History(this.history.maxGeneration); - hist.done = copyHistoryArray(histData.done.slice(0), null, true); - hist.undone = copyHistoryArray(histData.undone.slice(0), null, true); - }, - - addLineClass: docMethodOp(function(handle, where, cls) { - return changeLine(this, handle, where == "gutter" ? "gutter" : "class", function(line) { - var prop = where == "text" ? "textClass" - : where == "background" ? "bgClass" - : where == "gutter" ? "gutterClass" : "wrapClass"; - if (!line[prop]) line[prop] = cls; - else if (classTest(cls).test(line[prop])) return false; - else line[prop] += " " + cls; - return true; - }); - }), - removeLineClass: docMethodOp(function(handle, where, cls) { - return changeLine(this, handle, where == "gutter" ? "gutter" : "class", function(line) { - var prop = where == "text" ? "textClass" - : where == "background" ? "bgClass" - : where == "gutter" ? "gutterClass" : "wrapClass"; - var cur = line[prop]; - if (!cur) return false; - else if (cls == null) line[prop] = null; - else { - var found = cur.match(classTest(cls)); - if (!found) return false; - var end = found.index + found[0].length; - line[prop] = cur.slice(0, found.index) + (!found.index || end == cur.length ? "" : " ") + cur.slice(end) || null; - } - return true; - }); - }), - - addLineWidget: docMethodOp(function(handle, node, options) { - return addLineWidget(this, handle, node, options); - }), - removeLineWidget: function(widget) { widget.clear(); }, - - markText: function(from, to, options) { - return markText(this, clipPos(this, from), clipPos(this, to), options, "range"); - }, - setBookmark: function(pos, options) { - var realOpts = {replacedWith: options && (options.nodeType == null ? options.widget : options), - insertLeft: options && options.insertLeft, - clearWhenEmpty: false, shared: options && options.shared, - handleMouseEvents: options && options.handleMouseEvents}; - pos = clipPos(this, pos); - return markText(this, pos, pos, realOpts, "bookmark"); - }, - findMarksAt: function(pos) { - pos = clipPos(this, pos); - var markers = [], spans = getLine(this, pos.line).markedSpans; - if (spans) for (var i = 0; i < spans.length; ++i) { - var span = spans[i]; - if ((span.from == null || span.from <= pos.ch) && - (span.to == null || span.to >= pos.ch)) - markers.push(span.marker.parent || span.marker); - } - return markers; - }, - findMarks: function(from, to, filter) { - from = clipPos(this, from); to = clipPos(this, to); - var found = [], lineNo = from.line; - this.iter(from.line, to.line + 1, function(line) { - var spans = line.markedSpans; - if (spans) for (var i = 0; i < spans.length; i++) { - var span = spans[i]; - if (!(lineNo == from.line && from.ch > span.to || - span.from == null && lineNo != from.line|| - lineNo == to.line && span.from > to.ch) && - (!filter || filter(span.marker))) - found.push(span.marker.parent || span.marker); - } - ++lineNo; - }); - return found; - }, - getAllMarks: function() { - var markers = []; - this.iter(function(line) { - var sps = line.markedSpans; - if (sps) for (var i = 0; i < sps.length; ++i) - if (sps[i].from != null) markers.push(sps[i].marker); - }); - return markers; - }, - - posFromIndex: function(off) { - var ch, lineNo = this.first; - this.iter(function(line) { - var sz = line.text.length + 1; - if (sz > off) { ch = off; return true; } - off -= sz; - ++lineNo; - }); - return clipPos(this, Pos(lineNo, ch)); - }, - indexFromPos: function (coords) { - coords = clipPos(this, coords); - var index = coords.ch; - if (coords.line < this.first || coords.ch < 0) return 0; - this.iter(this.first, coords.line, function (line) { - index += line.text.length + 1; - }); - return index; - }, - - copy: function(copyHistory) { - var doc = new Doc(getLines(this, this.first, this.first + this.size), this.modeOption, this.first); - doc.scrollTop = this.scrollTop; doc.scrollLeft = this.scrollLeft; - doc.sel = this.sel; - doc.extend = false; - if (copyHistory) { - doc.history.undoDepth = this.history.undoDepth; - doc.setHistory(this.getHistory()); - } - return doc; - }, - - linkedDoc: function(options) { - if (!options) options = {}; - var from = this.first, to = this.first + this.size; - if (options.from != null && options.from > from) from = options.from; - if (options.to != null && options.to < to) to = options.to; - var copy = new Doc(getLines(this, from, to), options.mode || this.modeOption, from); - if (options.sharedHist) copy.history = this.history; - (this.linked || (this.linked = [])).push({doc: copy, sharedHist: options.sharedHist}); - copy.linked = [{doc: this, isParent: true, sharedHist: options.sharedHist}]; - copySharedMarkers(copy, findSharedMarkers(this)); - return copy; - }, - unlinkDoc: function(other) { - if (other instanceof CodeMirror) other = other.doc; - if (this.linked) for (var i = 0; i < this.linked.length; ++i) { - var link = this.linked[i]; - if (link.doc != other) continue; - this.linked.splice(i, 1); - other.unlinkDoc(this); - detachSharedMarkers(findSharedMarkers(this)); - break; - } - // If the histories were shared, split them again - if (other.history == this.history) { - var splitIds = [other.id]; - linkedDocs(other, function(doc) {splitIds.push(doc.id);}, true); - other.history = new History(null); - other.history.done = copyHistoryArray(this.history.done, splitIds); - other.history.undone = copyHistoryArray(this.history.undone, splitIds); - } - }, - iterLinkedDocs: function(f) {linkedDocs(this, f);}, - - getMode: function() {return this.mode;}, - getEditor: function() {return this.cm;} - }); - - // Public alias. - Doc.prototype.eachLine = Doc.prototype.iter; - - // Set up methods on CodeMirror's prototype to redirect to the editor's document. - var dontDelegate = "iter insert remove copy getEditor constructor".split(" "); - for (var prop in Doc.prototype) if (Doc.prototype.hasOwnProperty(prop) && indexOf(dontDelegate, prop) < 0) - CodeMirror.prototype[prop] = (function(method) { - return function() {return method.apply(this.doc, arguments);}; - })(Doc.prototype[prop]); - - eventMixin(Doc); - - // Call f for all linked documents. - function linkedDocs(doc, f, sharedHistOnly) { - function propagate(doc, skip, sharedHist) { - if (doc.linked) for (var i = 0; i < doc.linked.length; ++i) { - var rel = doc.linked[i]; - if (rel.doc == skip) continue; - var shared = sharedHist && rel.sharedHist; - if (sharedHistOnly && !shared) continue; - f(rel.doc, shared); - propagate(rel.doc, doc, shared); - } - } - propagate(doc, null, true); - } - - // Attach a document to an editor. - function attachDoc(cm, doc) { - if (doc.cm) throw new Error("This document is already in use."); - cm.doc = doc; - doc.cm = cm; - estimateLineHeights(cm); - loadMode(cm); - if (!cm.options.lineWrapping) findMaxLine(cm); - cm.options.mode = doc.modeOption; - regChange(cm); - } - - // LINE UTILITIES - - // Find the line object corresponding to the given line number. - function getLine(doc, n) { - n -= doc.first; - if (n < 0 || n >= doc.size) throw new Error("There is no line " + (n + doc.first) + " in the document."); - for (var chunk = doc; !chunk.lines;) { - for (var i = 0;; ++i) { - var child = chunk.children[i], sz = child.chunkSize(); - if (n < sz) { chunk = child; break; } - n -= sz; - } - } - return chunk.lines[n]; - } - - // Get the part of a document between two positions, as an array of - // strings. - function getBetween(doc, start, end) { - var out = [], n = start.line; - doc.iter(start.line, end.line + 1, function(line) { - var text = line.text; - if (n == end.line) text = text.slice(0, end.ch); - if (n == start.line) text = text.slice(start.ch); - out.push(text); - ++n; - }); - return out; - } - // Get the lines between from and to, as array of strings. - function getLines(doc, from, to, lineFilter) { - var out = []; - doc.iter(from, to, function(line) { - var text = line.text; - if(lineFilter){ - text = lineFilter(line); - } - out.push(text); - }); - return out; - } - - // Update the height of a line, propagating the height change - // upwards to parent nodes. - function updateLineHeight(line, height) { - var diff = height - line.height; - if (diff) for (var n = line; n; n = n.parent) n.height += diff; - } - - // Given a line object, find its line number by walking up through - // its parent links. - function lineNo(line) { - if (line.parent == null) return null; - var cur = line.parent, no = indexOf(cur.lines, line); - for (var chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) { - for (var i = 0;; ++i) { - if (chunk.children[i] == cur) break; - no += chunk.children[i].chunkSize(); - } - } - return no + cur.first; - } - - // Find the line at the given vertical position, using the height - // information in the document tree. - function lineAtHeight(chunk, h) { - var n = chunk.first; - outer: do { - for (var i = 0; i < chunk.children.length; ++i) { - var child = chunk.children[i], ch = child.height; - if (h < ch) { chunk = child; continue outer; } - h -= ch; - n += child.chunkSize(); - } - return n; - } while (!chunk.lines); - for (var i = 0; i < chunk.lines.length; ++i) { - var line = chunk.lines[i], lh = line.height; - if (h < lh) break; - h -= lh; - } - return n + i; - } - - - // Find the height above the given line. - function heightAtLine(lineObj) { - lineObj = visualLine(lineObj); - - var h = 0, chunk = lineObj.parent; - for (var i = 0; i < chunk.lines.length; ++i) { - var line = chunk.lines[i]; - if (line == lineObj) break; - else h += line.height; - } - for (var p = chunk.parent; p; chunk = p, p = chunk.parent) { - for (var i = 0; i < p.children.length; ++i) { - var cur = p.children[i]; - if (cur == chunk) break; - else h += cur.height; - } - } - return h; - } - - // Get the bidi ordering for the given line (and cache it). Returns - // false for lines that are fully left-to-right, and an array of - // BidiSpan objects otherwise. - function getOrder(line) { - var order = line.order; - if (order == null) order = line.order = bidiOrdering(line.text); - return order; - } - - // HISTORY - - function History(startGen) { - // Arrays of change events and selections. Doing something adds an - // event to done and clears undo. Undoing moves events from done - // to undone, redoing moves them in the other direction. - this.done = []; this.undone = []; - this.undoDepth = Infinity; - // Used to track when changes can be merged into a single undo - // event - this.lastModTime = this.lastSelTime = 0; - this.lastOp = this.lastSelOp = null; - this.lastOrigin = this.lastSelOrigin = null; - // Used by the isClean() method - this.generation = this.maxGeneration = startGen || 1; - } - - // Create a history change event from an updateDoc-style change - // object. - function historyChangeFromChange(doc, change) { - var histChange = {from: copyPos(change.from), to: changeEnd(change), text: getBetween(doc, change.from, change.to)}; - attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); - linkedDocs(doc, function(doc) {attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1);}, true); - return histChange; - } - - // Pop all selection events off the end of a history array. Stop at - // a change event. - function clearSelectionEvents(array) { - while (array.length) { - var last = lst(array); - if (last.ranges) array.pop(); - else break; - } - } - - // Find the top change event in the history. Pop off selection - // events that are in the way. - function lastChangeEvent(hist, force) { - if (force) { - clearSelectionEvents(hist.done); - return lst(hist.done); - } else if (hist.done.length && !lst(hist.done).ranges) { - return lst(hist.done); - } else if (hist.done.length > 1 && !hist.done[hist.done.length - 2].ranges) { - hist.done.pop(); - return lst(hist.done); - } - } - - // Register a change in the history. Merges changes that are within - // a single operation, ore are close together with an origin that - // allows merging (starting with "+") into a single event. - function addChangeToHistory(doc, change, selAfter, opId) { - var hist = doc.history; - hist.undone.length = 0; - var time = +new Date, cur; - - if ((hist.lastOp == opId || - hist.lastOrigin == change.origin && change.origin && - ((change.origin.charAt(0) == "+" && doc.cm && hist.lastModTime > time - doc.cm.options.historyEventDelay) || - change.origin.charAt(0) == "*")) && - (cur = lastChangeEvent(hist, hist.lastOp == opId))) { - // Merge this change into the last event - var last = lst(cur.changes); - if (cmp(change.from, change.to) == 0 && cmp(change.from, last.to) == 0) { - // Optimized case for simple insertion -- don't want to add - // new changesets for every character typed - last.to = changeEnd(change); - } else { - // Add new sub-event - cur.changes.push(historyChangeFromChange(doc, change)); - } - } else { - // Can not be merged, start a new event. - var before = lst(hist.done); - if (!before || !before.ranges) - pushSelectionToHistory(doc.sel, hist.done); - cur = {changes: [historyChangeFromChange(doc, change)], - generation: hist.generation}; - hist.done.push(cur); - while (hist.done.length > hist.undoDepth) { - hist.done.shift(); - if (!hist.done[0].ranges) hist.done.shift(); - } - } - hist.done.push(selAfter); - hist.generation = ++hist.maxGeneration; - hist.lastModTime = hist.lastSelTime = time; - hist.lastOp = hist.lastSelOp = opId; - hist.lastOrigin = hist.lastSelOrigin = change.origin; - - if (!last) signal(doc, "historyAdded"); - } - - function selectionEventCanBeMerged(doc, origin, prev, sel) { - var ch = origin.charAt(0); - return ch == "*" || - ch == "+" && - prev.ranges.length == sel.ranges.length && - prev.somethingSelected() == sel.somethingSelected() && - new Date - doc.history.lastSelTime <= (doc.cm ? doc.cm.options.historyEventDelay : 500); - } - - // Called whenever the selection changes, sets the new selection as - // the pending selection in the history, and pushes the old pending - // selection into the 'done' array when it was significantly - // different (in number of selected ranges, emptiness, or time). - function addSelectionToHistory(doc, sel, opId, options) { - var hist = doc.history, origin = options && options.origin; - - // A new event is started when the previous origin does not match - // the current, or the origins don't allow matching. Origins - // starting with * are always merged, those starting with + are - // merged when similar and close together in time. - if (opId == hist.lastSelOp || - (origin && hist.lastSelOrigin == origin && - (hist.lastModTime == hist.lastSelTime && hist.lastOrigin == origin || - selectionEventCanBeMerged(doc, origin, lst(hist.done), sel)))) - hist.done[hist.done.length - 1] = sel; - else - pushSelectionToHistory(sel, hist.done); - - hist.lastSelTime = +new Date; - hist.lastSelOrigin = origin; - hist.lastSelOp = opId; - if (options && options.clearRedo !== false) - clearSelectionEvents(hist.undone); - } - - function pushSelectionToHistory(sel, dest) { - var top = lst(dest); - if (!(top && top.ranges && top.equals(sel))) - dest.push(sel); - } - - // Used to store marked span information in the history. - function attachLocalSpans(doc, change, from, to) { - var existing = change["spans_" + doc.id], n = 0; - doc.iter(Math.max(doc.first, from), Math.min(doc.first + doc.size, to), function(line) { - if (line.markedSpans) - (existing || (existing = change["spans_" + doc.id] = {}))[n] = line.markedSpans; - ++n; - }); - } - - // When un/re-doing restores text containing marked spans, those - // that have been explicitly cleared should not be restored. - function removeClearedSpans(spans) { - if (!spans) return null; - for (var i = 0, out; i < spans.length; ++i) { - if (spans[i].marker.explicitlyCleared) { if (!out) out = spans.slice(0, i); } - else if (out) out.push(spans[i]); - } - return !out ? spans : out.length ? out : null; - } - - // Retrieve and filter the old marked spans stored in a change event. - function getOldSpans(doc, change) { - var found = change["spans_" + doc.id]; - if (!found) return null; - for (var i = 0, nw = []; i < change.text.length; ++i) - nw.push(removeClearedSpans(found[i])); - return nw; - } - - // Used both to provide a JSON-safe object in .getHistory, and, when - // detaching a document, to split the history in two - function copyHistoryArray(events, newGroup, instantiateSel) { - for (var i = 0, copy = []; i < events.length; ++i) { - var event = events[i]; - if (event.ranges) { - copy.push(instantiateSel ? Selection.prototype.deepCopy.call(event) : event); - continue; - } - var changes = event.changes, newChanges = []; - copy.push({changes: newChanges}); - for (var j = 0; j < changes.length; ++j) { - var change = changes[j], m; - newChanges.push({from: change.from, to: change.to, text: change.text}); - if (newGroup) for (var prop in change) if (m = prop.match(/^spans_(\d+)$/)) { - if (indexOf(newGroup, Number(m[1])) > -1) { - lst(newChanges)[prop] = change[prop]; - delete change[prop]; - } - } - } - } - return copy; - } - - // Rebasing/resetting history to deal with externally-sourced changes - - function rebaseHistSelSingle(pos, from, to, diff) { - if (to < pos.line) { - pos.line += diff; - } else if (from < pos.line) { - pos.line = from; - pos.ch = 0; - } - } - - // Tries to rebase an array of history events given a change in the - // document. If the change touches the same lines as the event, the - // event, and everything 'behind' it, is discarded. If the change is - // before the event, the event's positions are updated. Uses a - // copy-on-write scheme for the positions, to avoid having to - // reallocate them all on every rebase, but also avoid problems with - // shared position objects being unsafely updated. - function rebaseHistArray(array, from, to, diff) { - for (var i = 0; i < array.length; ++i) { - var sub = array[i], ok = true; - if (sub.ranges) { - if (!sub.copied) { sub = array[i] = sub.deepCopy(); sub.copied = true; } - for (var j = 0; j < sub.ranges.length; j++) { - rebaseHistSelSingle(sub.ranges[j].anchor, from, to, diff); - rebaseHistSelSingle(sub.ranges[j].head, from, to, diff); - } - continue; - } - for (var j = 0; j < sub.changes.length; ++j) { - var cur = sub.changes[j]; - if (to < cur.from.line) { - cur.from = Pos(cur.from.line + diff, cur.from.ch); - cur.to = Pos(cur.to.line + diff, cur.to.ch); - } else if (from <= cur.to.line) { - ok = false; - break; - } - } - if (!ok) { - array.splice(0, i + 1); - i = 0; - } - } - } - - function rebaseHist(hist, change) { - var from = change.from.line, to = change.to.line, diff = change.text.length - (to - from) - 1; - rebaseHistArray(hist.done, from, to, diff); - rebaseHistArray(hist.undone, from, to, diff); - } - - // EVENT UTILITIES - - // Due to the fact that we still support jurassic IE versions, some - // compatibility wrappers are needed. - - var e_preventDefault = CodeMirror.e_preventDefault = function(e) { - if (e.preventDefault) e.preventDefault(); - else e.returnValue = false; - }; - var e_stopPropagation = CodeMirror.e_stopPropagation = function(e) { - if (e.stopPropagation) e.stopPropagation(); - else e.cancelBubble = true; - }; - function e_defaultPrevented(e) { - return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == false; - } - var e_stop = CodeMirror.e_stop = function(e) {e_preventDefault(e); e_stopPropagation(e);}; - - function e_target(e) {return e.target || e.srcElement;} - function e_button(e) { - var b = e.which; - if (b == null) { - if (e.button & 1) b = 1; - else if (e.button & 2) b = 3; - else if (e.button & 4) b = 2; - } - if (mac && e.ctrlKey && b == 1) b = 3; - return b; - } - - // EVENT HANDLING - - // Lightweight event framework. on/off also work on DOM nodes, - // registering native DOM handlers. - - var on = CodeMirror.on = function(emitter, type, f) { - if (emitter.addEventListener) - emitter.addEventListener(type, f, false); - else if (emitter.attachEvent) - emitter.attachEvent("on" + type, f); - else { - var map = emitter._handlers || (emitter._handlers = {}); - var arr = map[type] || (map[type] = []); - arr.push(f); - } - }; - - var off = CodeMirror.off = function(emitter, type, f) { - if (emitter.removeEventListener) - emitter.removeEventListener(type, f, false); - else if (emitter.detachEvent) - emitter.detachEvent("on" + type, f); - else { - var arr = emitter._handlers && emitter._handlers[type]; - if (!arr) return; - for (var i = 0; i < arr.length; ++i) - if (arr[i] == f) { arr.splice(i, 1); break; } - } - }; - - var signal = CodeMirror.signal = function(emitter, type /*, values...*/) { - var arr = emitter._handlers && emitter._handlers[type]; - if (!arr) return; - var args = Array.prototype.slice.call(arguments, 2); - for (var i = 0; i < arr.length; ++i) arr[i].apply(null, args); - }; - - var orphanDelayedCallbacks = null; - - // Often, we want to signal events at a point where we are in the - // middle of some work, but don't want the handler to start calling - // other methods on the editor, which might be in an inconsistent - // state or simply not expect any other events to happen. - // signalLater looks whether there are any handlers, and schedules - // them to be executed when the last operation ends, or, if no - // operation is active, when a timeout fires. - function signalLater(emitter, type /*, values...*/) { - var arr = emitter._handlers && emitter._handlers[type]; - if (!arr) return; - var args = Array.prototype.slice.call(arguments, 2), list; - if (operationGroup) { - list = operationGroup.delayedCallbacks; - } else if (orphanDelayedCallbacks) { - list = orphanDelayedCallbacks; - } else { - list = orphanDelayedCallbacks = []; - setTimeout(fireOrphanDelayed, 0); - } - function bnd(f) {return function(){f.apply(null, args);};}; - for (var i = 0; i < arr.length; ++i) - list.push(bnd(arr[i])); - } - - function fireOrphanDelayed() { - var delayed = orphanDelayedCallbacks; - orphanDelayedCallbacks = null; - for (var i = 0; i < delayed.length; ++i) delayed[i](); - } - - // The DOM events that CodeMirror handles can be overridden by - // registering a (non-DOM) handler on the editor for the event name, - // and preventDefault-ing the event in that handler. - function signalDOMEvent(cm, e, override) { - if (typeof e == "string") - e = {type: e, preventDefault: function() { this.defaultPrevented = true; }}; - signal(cm, override || e.type, cm, e); - return e_defaultPrevented(e) || e.codemirrorIgnore; - } - - function signalCursorActivity(cm) { - var arr = cm._handlers && cm._handlers.cursorActivity; - if (!arr) return; - var set = cm.curOp.cursorActivityHandlers || (cm.curOp.cursorActivityHandlers = []); - for (var i = 0; i < arr.length; ++i) if (indexOf(set, arr[i]) == -1) - set.push(arr[i]); - } - - function hasHandler(emitter, type) { - var arr = emitter._handlers && emitter._handlers[type]; - return arr && arr.length > 0; - } - - // Add on and off methods to a constructor's prototype, to make - // registering events on such objects more convenient. - function eventMixin(ctor) { - ctor.prototype.on = function(type, f) {on(this, type, f);}; - ctor.prototype.off = function(type, f) {off(this, type, f);}; - } - - // MISC UTILITIES - - // Number of pixels added to scroller and sizer to hide scrollbar - var scrollerGap = 30; - - // Returned or thrown by various protocols to signal 'I'm not - // handling this'. - var Pass = CodeMirror.Pass = {toString: function(){return "CodeMirror.Pass";}}; - - // Reused option objects for setSelection & friends - var sel_dontScroll = {scroll: false}, sel_mouse = {origin: "*mouse"}, sel_move = {origin: "+move"}; - - function Delayed() {this.id = null;} - Delayed.prototype.set = function(ms, f) { - clearTimeout(this.id); - this.id = setTimeout(f, ms); - }; - - // Counts the column offset in a string, taking tabs into account. - // Used mostly to find indentation. - var countColumn = CodeMirror.countColumn = function(string, end, tabSize, startIndex, startValue) { - if (end == null) { - end = string.search(/[^\s\u00a0]/); - if (end == -1) end = string.length; - } - for (var i = startIndex || 0, n = startValue || 0;;) { - var nextTab = string.indexOf("\t", i); - if (nextTab < 0 || nextTab >= end) - return n + (end - i); - n += nextTab - i; - n += tabSize - (n % tabSize); - i = nextTab + 1; - } - }; - - // The inverse of countColumn -- find the offset that corresponds to - // a particular column. - function findColumn(string, goal, tabSize) { - for (var pos = 0, col = 0;;) { - var nextTab = string.indexOf("\t", pos); - if (nextTab == -1) nextTab = string.length; - var skipped = nextTab - pos; - if (nextTab == string.length || col + skipped >= goal) - return pos + Math.min(skipped, goal - col); - col += nextTab - pos; - col += tabSize - (col % tabSize); - pos = nextTab + 1; - if (col >= goal) return pos; - } - } - - var spaceStrs = [""]; - function spaceStr(n) { - while (spaceStrs.length <= n) - spaceStrs.push(lst(spaceStrs) + " "); - return spaceStrs[n]; - } - - function lst(arr) { return arr[arr.length-1]; } - - var selectInput = function(node) { node.select(); }; - if (ios) // Mobile Safari apparently has a bug where select() is broken. - selectInput = function(node) { node.selectionStart = 0; node.selectionEnd = node.value.length; }; - else if (ie) // Suppress mysterious IE10 errors - selectInput = function(node) { try { node.select(); } catch(_e) {} }; - - function indexOf(array, elt) { - for (var i = 0; i < array.length; ++i) - if (array[i] == elt) return i; - return -1; - } - function map(array, f) { - var out = []; - for (var i = 0; i < array.length; i++) out[i] = f(array[i], i); - return out; - } - - function nothing() {} - - function createObj(base, props) { - var inst; - if (Object.create) { - inst = Object.create(base); - } else { - nothing.prototype = base; - inst = new nothing(); - } - if (props) copyObj(props, inst); - return inst; - }; - - function copyObj(obj, target, overwrite) { - if (!target) target = {}; - for (var prop in obj) - if (obj.hasOwnProperty(prop) && (overwrite !== false || !target.hasOwnProperty(prop))) - target[prop] = obj[prop]; - return target; - } - - function bind(f) { - var args = Array.prototype.slice.call(arguments, 1); - return function(){return f.apply(null, args);}; - } - - var nonASCIISingleCaseWordChar = /[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/; - var isWordCharBasic = CodeMirror.isWordChar = function(ch) { - return /\w/.test(ch) || ch > "\x80" && - (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch)); - }; - function isWordChar(ch, helper) { - if (!helper) return isWordCharBasic(ch); - if (helper.source.indexOf("\\w") > -1 && isWordCharBasic(ch)) return true; - return helper.test(ch); - } - - function isEmpty(obj) { - for (var n in obj) if (obj.hasOwnProperty(n) && obj[n]) return false; - return true; - } - - // Extending unicode characters. A series of a non-extending char + - // any number of extending chars is treated as a single unit as far - // as editing and measuring is concerned. This is not fully correct, - // since some scripts/font/browsers also treat other configurations - // of code points as a group. - var extendingChars = /[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/; - function isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendingChars.test(ch); } - - // DOM UTILITIES - - function elt(tag, content, className, style) { - var e = document.createElement(tag); - if (className) e.className = className; - if (style) e.style.cssText = style; - if (typeof content == "string") e.appendChild(document.createTextNode(content)); - else if (content) for (var i = 0; i < content.length; ++i) e.appendChild(content[i]); - return e; - } - - var range; - if (document.createRange) range = function(node, start, end, endNode) { - var r = document.createRange(); - r.setEnd(endNode || node, end); - r.setStart(node, start); - return r; - }; - else range = function(node, start, end) { - var r = document.body.createTextRange(); - try { r.moveToElementText(node.parentNode); } - catch(e) { return r; } - r.collapse(true); - r.moveEnd("character", end); - r.moveStart("character", start); - return r; - }; - - function removeChildren(e) { - for (var count = e.childNodes.length; count > 0; --count) - e.removeChild(e.firstChild); - return e; - } - - function removeChildrenAndAdd(parent, e) { - return removeChildren(parent).appendChild(e); - } - - var contains = CodeMirror.contains = function(parent, child) { - if (child.nodeType == 3) // Android browser always returns false when child is a textnode - child = child.parentNode; - if (parent.contains) - return parent.contains(child); - do { - if (child.nodeType == 11) child = child.host; - if (child == parent) return true; - } while (child = child.parentNode); - }; - - function activeElt() { return document.activeElement; } - // Older versions of IE throws unspecified error when touching - // document.activeElement in some cases (during loading, in iframe) - if (ie && ie_version < 11) activeElt = function() { - try { return document.activeElement; } - catch(e) { return document.body; } - }; - - function classTest(cls) { return new RegExp("(^|\\s)" + cls + "(?:$|\\s)\\s*"); } - var rmClass = CodeMirror.rmClass = function(node, cls) { - var current = node.className; - var match = classTest(cls).exec(current); - if (match) { - var after = current.slice(match.index + match[0].length); - node.className = current.slice(0, match.index) + (after ? match[1] + after : ""); - } - }; - var addClass = CodeMirror.addClass = function(node, cls) { - var current = node.className; - if (!classTest(cls).test(current)) node.className += (current ? " " : "") + cls; - }; - function joinClasses(a, b) { - var as = a.split(" "); - for (var i = 0; i < as.length; i++) - if (as[i] && !classTest(as[i]).test(b)) b += " " + as[i]; - return b; - } - - // WINDOW-WIDE EVENTS - - // These must be handled carefully, because naively registering a - // handler for each editor will cause the editors to never be - // garbage collected. - - function forEachCodeMirror(f) { - if (!document.body.getElementsByClassName) return; - var byClass = document.body.getElementsByClassName("CodeMirror"); - for (var i = 0; i < byClass.length; i++) { - var cm = byClass[i].CodeMirror; - if (cm) f(cm); - } - } - - var globalsRegistered = false; - function ensureGlobalHandlers() { - if (globalsRegistered) return; - registerGlobalHandlers(); - globalsRegistered = true; - } - function registerGlobalHandlers() { - // When the window resizes, we need to refresh active editors. - var resizeTimer; - on(window, "resize", function() { - if (resizeTimer == null) resizeTimer = setTimeout(function() { - resizeTimer = null; - forEachCodeMirror(onResize); - }, 100); - }); - // When the window loses focus, we want to show the editor as blurred - on(window, "blur", function() { - forEachCodeMirror(onBlur); - }); - } - - // FEATURE DETECTION - - // Detect drag-and-drop - var dragAndDrop = function() { - // There is *some* kind of drag-and-drop support in IE6-8, but I - // couldn't get it to work yet. - if (ie && ie_version < 9) return false; - var div = elt('div'); - return "draggable" in div || "dragDrop" in div; - }(); - - var zwspSupported; - function zeroWidthElement(measure) { - if (zwspSupported == null) { - var test = elt("span", "\u200b"); - removeChildrenAndAdd(measure, elt("span", [test, document.createTextNode("x")])); - if (measure.firstChild.offsetHeight != 0) - zwspSupported = test.offsetWidth <= 1 && test.offsetHeight > 2 && !(ie && ie_version < 8); - } - var node = zwspSupported ? elt("span", "\u200b") : - elt("span", "\u00a0", null, "display: inline-block; width: 1px; margin-right: -1px"); - node.setAttribute("cm-text", ""); - return node; - } - - // Feature-detect IE's crummy client rect reporting for bidi text - var badBidiRects; - function hasBadBidiRects(measure) { - if (badBidiRects != null) return badBidiRects; - var txt = removeChildrenAndAdd(measure, document.createTextNode("A\u062eA")); - var r0 = range(txt, 0, 1).getBoundingClientRect(); - if (!r0 || r0.left == r0.right) return false; // Safari returns null in some cases (#2780) - var r1 = range(txt, 1, 2).getBoundingClientRect(); - return badBidiRects = (r1.right - r0.right < 3); - } - - // See if "".split is the broken IE version, if so, provide an - // alternative way to split lines. - var splitLines = CodeMirror.splitLines = "\n\nb".split(/\n/).length != 3 ? function(string) { - var pos = 0, result = [], l = string.length; - while (pos <= l) { - var nl = string.indexOf("\n", pos); - if (nl == -1) nl = string.length; - var line = string.slice(pos, string.charAt(nl - 1) == "\r" ? nl - 1 : nl); - var rt = line.indexOf("\r"); - if (rt != -1) { - result.push(line.slice(0, rt)); - pos += rt + 1; - } else { - result.push(line); - pos = nl + 1; - } - } - return result; - } : function(string){return string.split(/\r\n?|\n/);}; - - var hasSelection = window.getSelection ? function(te) { - try { return te.selectionStart != te.selectionEnd; } - catch(e) { return false; } - } : function(te) { - try {var range = te.ownerDocument.selection.createRange();} - catch(e) {} - if (!range || range.parentElement() != te) return false; - return range.compareEndPoints("StartToEnd", range) != 0; - }; - - var hasCopyEvent = (function() { - var e = elt("div"); - if ("oncopy" in e) return true; - e.setAttribute("oncopy", "return;"); - return typeof e.oncopy == "function"; - })(); - - var badZoomedRects = null; - function hasBadZoomedRects(measure) { - if (badZoomedRects != null) return badZoomedRects; - var node = removeChildrenAndAdd(measure, elt("span", "x")); - var normal = node.getBoundingClientRect(); - var fromRange = range(node, 0, 1).getBoundingClientRect(); - return badZoomedRects = Math.abs(normal.left - fromRange.left) > 1; - } - - // KEY NAMES - - var keyNames = {3: "Enter", 8: "Backspace", 9: "Tab", 13: "Enter", 16: "Shift", 17: "Ctrl", 18: "Alt", - 19: "Pause", 20: "CapsLock", 27: "Esc", 32: "Space", 33: "PageUp", 34: "PageDown", 35: "End", - 36: "Home", 37: "Left", 38: "Up", 39: "Right", 40: "Down", 44: "PrintScrn", 45: "Insert", - 46: "Delete", 59: ";", 61: "=", 91: "Mod", 92: "Mod", 93: "Mod", 107: "=", 109: "-", 127: "Delete", - 173: "-", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\", - 221: "]", 222: "'", 63232: "Up", 63233: "Down", 63234: "Left", 63235: "Right", 63272: "Delete", - 63273: "Home", 63275: "End", 63276: "PageUp", 63277: "PageDown", 63302: "Insert"}; - CodeMirror.keyNames = keyNames; - (function() { - // Number keys - for (var i = 0; i < 10; i++) keyNames[i + 48] = keyNames[i + 96] = String(i); - // Alphabetic keys - for (var i = 65; i <= 90; i++) keyNames[i] = String.fromCharCode(i); - // Function keys - for (var i = 1; i <= 12; i++) keyNames[i + 111] = keyNames[i + 63235] = "F" + i; - })(); - - // BIDI HELPERS - - function iterateBidiSections(order, from, to, f) { - if (!order) return f(from, to, "ltr"); - var found = false; - for (var i = 0; i < order.length; ++i) { - var part = order[i]; - if (part.from < to && part.to > from || from == to && part.to == from) { - f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? "rtl" : "ltr"); - found = true; - } - } - if (!found) f(from, to, "ltr"); - } - - function bidiLeft(part) { return part.level % 2 ? part.to : part.from; } - function bidiRight(part) { return part.level % 2 ? part.from : part.to; } - - function lineLeft(line) { var order = getOrder(line); return order ? bidiLeft(order[0]) : 0; } - function lineRight(line) { - var order = getOrder(line); - if (!order) return line.text.length; - return bidiRight(lst(order)); - } - - function lineStart(cm, lineN) { - var line = getLine(cm.doc, lineN); - var visual = visualLine(line); - if (visual != line) lineN = lineNo(visual); - var order = getOrder(visual); - var ch = !order ? 0 : order[0].level % 2 ? lineRight(visual) : lineLeft(visual); - return Pos(lineN, ch); - } - function lineEnd(cm, lineN) { - var merged, line = getLine(cm.doc, lineN); - while (merged = collapsedSpanAtEnd(line)) { - line = merged.find(1, true).line; - lineN = null; - } - var order = getOrder(line); - var ch = !order ? line.text.length : order[0].level % 2 ? lineLeft(line) : lineRight(line); - return Pos(lineN == null ? lineNo(line) : lineN, ch); - } - function lineStartSmart(cm, pos) { - var start = lineStart(cm, pos.line); - var line = getLine(cm.doc, start.line); - var order = getOrder(line); - if (!order || order[0].level == 0) { - var firstNonWS = Math.max(0, line.text.search(/\S/)); - var inWS = pos.line == start.line && pos.ch <= firstNonWS && pos.ch; - return Pos(start.line, inWS ? 0 : firstNonWS); - } - return start; - } - - function compareBidiLevel(order, a, b) { - var linedir = order[0].level; - if (a == linedir) return true; - if (b == linedir) return false; - return a < b; - } - var bidiOther; - function getBidiPartAt(order, pos) { - bidiOther = null; - for (var i = 0, found; i < order.length; ++i) { - var cur = order[i]; - if (cur.from < pos && cur.to > pos) return i; - if ((cur.from == pos || cur.to == pos)) { - if (found == null) { - found = i; - } else if (compareBidiLevel(order, cur.level, order[found].level)) { - if (cur.from != cur.to) bidiOther = found; - return i; - } else { - if (cur.from != cur.to) bidiOther = i; - return found; - } - } - } - return found; - } - - function moveInLine(line, pos, dir, byUnit) { - if (!byUnit) return pos + dir; - do pos += dir; - while (pos > 0 && isExtendingChar(line.text.charAt(pos))); - return pos; - } - - // This is needed in order to move 'visually' through bi-directional - // text -- i.e., pressing left should make the cursor go left, even - // when in RTL text. The tricky part is the 'jumps', where RTL and - // LTR text touch each other. This often requires the cursor offset - // to move more than one unit, in order to visually move one unit. - function moveVisually(line, start, dir, byUnit) { - var bidi = getOrder(line); - if (!bidi) return moveLogically(line, start, dir, byUnit); - var pos = getBidiPartAt(bidi, start), part = bidi[pos]; - var target = moveInLine(line, start, part.level % 2 ? -dir : dir, byUnit); - - for (;;) { - if (target > part.from && target < part.to) return target; - if (target == part.from || target == part.to) { - if (getBidiPartAt(bidi, target) == pos) return target; - part = bidi[pos += dir]; - return (dir > 0) == part.level % 2 ? part.to : part.from; - } else { - part = bidi[pos += dir]; - if (!part) return null; - if ((dir > 0) == part.level % 2) - target = moveInLine(line, part.to, -1, byUnit); - else - target = moveInLine(line, part.from, 1, byUnit); - } - } - } - - function moveLogically(line, start, dir, byUnit) { - var target = start + dir; - if (byUnit) while (target > 0 && isExtendingChar(line.text.charAt(target))) target += dir; - return target < 0 || target > line.text.length ? null : target; - } - - // Bidirectional ordering algorithm - // See http://unicode.org/reports/tr9/tr9-13.html for the algorithm - // that this (partially) implements. - - // One-char codes used for character types: - // L (L): Left-to-Right - // R (R): Right-to-Left - // r (AL): Right-to-Left Arabic - // 1 (EN): European Number - // + (ES): European Number Separator - // % (ET): European Number Terminator - // n (AN): Arabic Number - // , (CS): Common Number Separator - // m (NSM): Non-Spacing Mark - // b (BN): Boundary Neutral - // s (B): Paragraph Separator - // t (S): Segment Separator - // w (WS): Whitespace - // N (ON): Other Neutrals - - // Returns null if characters are ordered as they appear - // (left-to-right), or an array of sections ({from, to, level} - // objects) in the order in which they occur visually. - var bidiOrdering = (function() { - // Character types for codepoints 0 to 0xff - var lowTypes = "bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN"; - // Character types for codepoints 0x600 to 0x6ff - var arabicTypes = "rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm"; - function charType(code) { - if (code <= 0xf7) return lowTypes.charAt(code); - else if (0x590 <= code && code <= 0x5f4) return "R"; - else if (0x600 <= code && code <= 0x6ed) return arabicTypes.charAt(code - 0x600); - else if (0x6ee <= code && code <= 0x8ac) return "r"; - else if (0x2000 <= code && code <= 0x200b) return "w"; - else if (code == 0x200c) return "b"; - else return "L"; - } - - var bidiRE = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/; - var isNeutral = /[stwN]/, isStrong = /[LRr]/, countsAsLeft = /[Lb1n]/, countsAsNum = /[1n]/; - // Browsers seem to always treat the boundaries of block elements as being L. - var outerType = "L"; - - function BidiSpan(level, from, to) { - this.level = level; - this.from = from; this.to = to; - } - - return function(str) { - if (!bidiRE.test(str)) return false; - var len = str.length, types = []; - for (var i = 0, type; i < len; ++i) - types.push(type = charType(str.charCodeAt(i))); - - // W1. Examine each non-spacing mark (NSM) in the level run, and - // change the type of the NSM to the type of the previous - // character. If the NSM is at the start of the level run, it will - // get the type of sor. - for (var i = 0, prev = outerType; i < len; ++i) { - var type = types[i]; - if (type == "m") types[i] = prev; - else prev = type; - } - - // W2. Search backwards from each instance of a European number - // until the first strong type (R, L, AL, or sor) is found. If an - // AL is found, change the type of the European number to Arabic - // number. - // W3. Change all ALs to R. - for (var i = 0, cur = outerType; i < len; ++i) { - var type = types[i]; - if (type == "1" && cur == "r") types[i] = "n"; - else if (isStrong.test(type)) { cur = type; if (type == "r") types[i] = "R"; } - } - - // W4. A single European separator between two European numbers - // changes to a European number. A single common separator between - // two numbers of the same type changes to that type. - for (var i = 1, prev = types[0]; i < len - 1; ++i) { - var type = types[i]; - if (type == "+" && prev == "1" && types[i+1] == "1") types[i] = "1"; - else if (type == "," && prev == types[i+1] && - (prev == "1" || prev == "n")) types[i] = prev; - prev = type; - } - - // W5. A sequence of European terminators adjacent to European - // numbers changes to all European numbers. - // W6. Otherwise, separators and terminators change to Other - // Neutral. - for (var i = 0; i < len; ++i) { - var type = types[i]; - if (type == ",") types[i] = "N"; - else if (type == "%") { - for (var end = i + 1; end < len && types[end] == "%"; ++end) {} - var replace = (i && types[i-1] == "!") || (end < len && types[end] == "1") ? "1" : "N"; - for (var j = i; j < end; ++j) types[j] = replace; - i = end - 1; - } - } - - // W7. Search backwards from each instance of a European number - // until the first strong type (R, L, or sor) is found. If an L is - // found, then change the type of the European number to L. - for (var i = 0, cur = outerType; i < len; ++i) { - var type = types[i]; - if (cur == "L" && type == "1") types[i] = "L"; - else if (isStrong.test(type)) cur = type; - } - - // N1. A sequence of neutrals takes the direction of the - // surrounding strong text if the text on both sides has the same - // direction. European and Arabic numbers act as if they were R in - // terms of their influence on neutrals. Start-of-level-run (sor) - // and end-of-level-run (eor) are used at level run boundaries. - // N2. Any remaining neutrals take the embedding direction. - for (var i = 0; i < len; ++i) { - if (isNeutral.test(types[i])) { - for (var end = i + 1; end < len && isNeutral.test(types[end]); ++end) {} - var before = (i ? types[i-1] : outerType) == "L"; - var after = (end < len ? types[end] : outerType) == "L"; - var replace = before || after ? "L" : "R"; - for (var j = i; j < end; ++j) types[j] = replace; - i = end - 1; - } - } - - // Here we depart from the documented algorithm, in order to avoid - // building up an actual levels array. Since there are only three - // levels (0, 1, 2) in an implementation that doesn't take - // explicit embedding into account, we can build up the order on - // the fly, without following the level-based algorithm. - var order = [], m; - for (var i = 0; i < len;) { - if (countsAsLeft.test(types[i])) { - var start = i; - for (++i; i < len && countsAsLeft.test(types[i]); ++i) {} - order.push(new BidiSpan(0, start, i)); - } else { - var pos = i, at = order.length; - for (++i; i < len && types[i] != "L"; ++i) {} - for (var j = pos; j < i;) { - if (countsAsNum.test(types[j])) { - if (pos < j) order.splice(at, 0, new BidiSpan(1, pos, j)); - var nstart = j; - for (++j; j < i && countsAsNum.test(types[j]); ++j) {} - order.splice(at, 0, new BidiSpan(2, nstart, j)); - pos = j; - } else ++j; - } - if (pos < i) order.splice(at, 0, new BidiSpan(1, pos, i)); - } - } - if (order[0].level == 1 && (m = str.match(/^\s+/))) { - order[0].from = m[0].length; - order.unshift(new BidiSpan(0, 0, m[0].length)); - } - if (lst(order).level == 1 && (m = str.match(/\s+$/))) { - lst(order).to -= m[0].length; - order.push(new BidiSpan(0, len - m[0].length, len)); - } - if (order[0].level == 2) - order.unshift(new BidiSpan(1, order[0].to, order[0].to)); - if (order[0].level != lst(order).level) - order.push(new BidiSpan(order[0].level, len, len)); - - return order; - }; - })(); - - // THE END - - CodeMirror.version = "5.4.1"; - - return CodeMirror; -}); \ No newline at end of file diff --git a/src/base/formula/codemirror/formula-hint.js b/src/base/formula/codemirror/formula-hint.js deleted file mode 100644 index a83d583237..0000000000 --- a/src/base/formula/codemirror/formula-hint.js +++ /dev/null @@ -1,88 +0,0 @@ -(function (mod) { - mod(CodeMirror); -})(function (CodeMirror) { - var Pos = CodeMirror.Pos; - - function forEach(arr, f) { - for (var i = 0, e = arr.length; i < e; ++i) f(arr[i]); - } - - function arrayContains(arr, item) { - if (!Array.prototype.indexOf) { - var i = arr.length; - while (i--) { - if (arr[i] === item) { - return true; - } - } - return false; - } - return arr.indexOf(item) != -1; - } - - function scriptHint(editor, keywords, getToken, options) { - // Find the token at the cursor - var cur = editor.getCursor(), token = getToken(editor, cur); - if (/\b(?:string)\b/.test(token.type)) { - return; - } - token.state = CodeMirror.innerMode(editor.getMode(), token.state).state; - - if (!/^[\w$_]*$/.test(token.string)) { - token = { - start: cur.ch, end: cur.ch, string: "", state: token.state, - type: token.string == "." ? "property" : null - }; - } else if (token.end > cur.ch) { - token.end = cur.ch; - token.string = token.string.slice(0, cur.ch - token.start); - } - - var tprop = token; - // If it is a property, find out what it is a property of. - while (tprop.type == "property") { - tprop = getToken(editor, Pos(cur.line, tprop.start)); - if (tprop.string != ".") return; - tprop = getToken(editor, Pos(cur.line, tprop.start)); - if (!context) var context = []; - context.push(tprop); - } - return { - list: getCompletions(token, context, keywords, options), - from: Pos(cur.line, token.start), - to: Pos(cur.line, token.end) - }; - } - - function getFormulaKeywords() { - return BI.FormulaCollections; - } - - function formulaHint(editor, options) { - return scriptHint(editor, getFormulaKeywords(), - function (e, cur) { - return e.getTokenAt(cur); - }, - options); - }; - CodeMirror.registerHelper("hint", "formula", formulaHint); - - function getCompletions(token, context, keywords, options) { - var found = [], start = token.string; - if (!start) { - return found; - } - function maybeAdd(str) { - if (str.lastIndexOf(start, 0) == 0 && !arrayContains(found, str)) { - found.push(str); - } - } - - if (context && context.length) { - context.pop(); - } else { - forEach(keywords, maybeAdd); - } - return found; - } -}); \ No newline at end of file diff --git a/src/base/formula/codemirror/formula-mode.js b/src/base/formula/codemirror/formula-mode.js deleted file mode 100644 index 1f017806a0..0000000000 --- a/src/base/formula/codemirror/formula-mode.js +++ /dev/null @@ -1,84 +0,0 @@ -(function (mod) { - mod(CodeMirror); -})(function (CodeMirror) { - "use strict"; - - CodeMirror.defineMode('formula', function () { - function wordObj(words) { - var o = {}; - for (var i = 0, e = words.length; i < e; ++i) o[words[i]] = true; - return o; - } - - var atoms = wordObj(['false', 'true']); - var keywords = wordObj(BI.FormulaCollections); - - function tokenBase(stream, state) { - if (stream.eatSpace()) { - return null; - } - var ch = stream.next(); - - if (ch === '"' || ch === '\'') { - nextUntilUnescaped(stream, ch); - return "string"; - } - if (ch === '\u200b') { - nextUntilUnescaped(stream, ch); - return "field"; - } - if (/[\[\],\(\)]/.test(ch)) { - return 'bracket'; - } - - // richie:暂时不需要解析操作符号 - //if (/[+\-*\/=<>!&|]/.test(ch)) { - // return 'operator'; - //} - //if (/\d|\d./.test(ch)) { - // stream.eatWhile(/\d|\./); - // if (stream.eol() || !/\w/.test(stream.peek())) { - // return 'number'; - // } - //} - - - - stream.eatWhile(/[\w-]/); - var word = stream.current(); - if (atoms.hasOwnProperty(word)) { - return "atom"; - } - if (keywords.hasOwnProperty(word)) { - return "keyword"; - } - return null; - } - - function nextUntilUnescaped(stream, end) { - var escaped = false, next; - while ((next = stream.next()) != null) { - if (next === end && !escaped) { - return false; - } - escaped = !escaped && next === "\\"; - } - return escaped; - } - - function tokenize(stream, state) { - return (state.tokens[0] || tokenBase)(stream, state); - } - - return { - startState: function () { - return {tokens: []}; - }, - token: function (stream, state) { - return tokenize(stream, state); - }, - fold: "brace" - }; - }); - CodeMirror.defineMIME("text/fx-formula", "formula"); -}); \ No newline at end of file diff --git a/src/base/formula/codemirror/show-hint.js b/src/base/formula/codemirror/show-hint.js deleted file mode 100644 index 1fb9b7f41a..0000000000 --- a/src/base/formula/codemirror/show-hint.js +++ /dev/null @@ -1,432 +0,0 @@ -// CodeMirror, copyright (c) by Marijn Haverbeke and others -// Distributed under an MIT license: http://codemirror.net/LICENSE - -(function (mod) { - mod(CodeMirror); -})(function (CodeMirror) { - "use strict"; - - var HINT_ELEMENT_CLASS = "CodeMirror-hint"; - var ACTIVE_HINT_ELEMENT_CLASS = "CodeMirror-hint-active"; - - // This is the old interface, kept around for now to stay - // backwards-compatible. - CodeMirror.showHint = function (cm, getHints, options) { - if (!getHints) return cm.showHint(options); - if (options && options.async) getHints.async = true; - var newOpts = {hint: getHints}; - if (options) for (var prop in options) newOpts[prop] = options[prop]; - return cm.showHint(newOpts); - }; - - CodeMirror.defineExtension("showHint", function (options) { - // We want a single cursor position. - if (this.listSelections().length > 1 || this.somethingSelected()) return; - - if (this.state.completionActive) this.state.completionActive.close(); - var completion = this.state.completionActive = new Completion(this, options); - if (!completion.options.hint) return; - - CodeMirror.signal(this, "startCompletion", this); - completion.update(true); - }); - - function Completion(cm, options) { - this.cm = cm; - this.options = this.buildOptions(options); - this.widget = null; - this.debounce = 0; - this.tick = 0; - this.startPos = this.cm.getCursor(); - this.startLen = this.cm.getLine(this.startPos.line).length; - - var self = this; - cm.on("cursorActivity", this.activityFunc = function () { - self.cursorActivity(); - }); - } - - var requestAnimationFrame = window.requestAnimationFrame || function (fn) { - return setTimeout(fn, 1000 / 60); - }; - var cancelAnimationFrame = window.cancelAnimationFrame || clearTimeout; - - Completion.prototype = { - close: function () { - if (!this.active()) return; - this.cm.state.completionActive = null; - this.tick = null; - this.cm.off("cursorActivity", this.activityFunc); - - if (this.widget && this.data) CodeMirror.signal(this.data, "close"); - if (this.widget) this.widget.close(); - CodeMirror.signal(this.cm, "endCompletion", this.cm); - }, - - active: function () { - return this.cm.state.completionActive == this; - }, - - pick: function (data, i) { - var completion = data.list[i]; - if (completion.hint) completion.hint(this.cm, data, completion); - else { - this.cm.replaceRange(getText(completion), completion.from || data.from, - completion.to || data.to, "complete"); - var to = this.cm.getCursor(); - this.cm.markText(completion.from || data.from, to, {className: "#function", atomic: true}); - this.cm.replaceSelection("() "); - to = this.cm.getCursor(); - to.ch = to.ch - 2; - this.cm.setCursor(to); - this.cm.focus(); - } - CodeMirror.signal(data, "pick", completion); - this.close(); - }, - - cursorActivity: function () { - if (this.debounce) { - cancelAnimationFrame(this.debounce); - this.debounce = 0; - } - - var pos = this.cm.getCursor(), line = this.cm.getLine(pos.line); - if (pos.line != this.startPos.line || line.length - pos.ch != this.startLen - this.startPos.ch || - pos.ch < this.startPos.ch || this.cm.somethingSelected() || - (pos.ch && this.options.closeCharacters.test(line.charAt(pos.ch - 1)))) { - this.close(); - } else { - var self = this; - this.debounce = requestAnimationFrame(function () { - self.update(); - }); - if (this.widget) this.widget.disable(); - } - }, - - update: function (first) { - if (this.tick == null) return; - if (this.data) CodeMirror.signal(this.data, "update"); - if (!this.options.hint.async) { - this.finishUpdate(this.options.hint(this.cm, this.options), first); - } else { - var myTick = ++this.tick, self = this; - this.options.hint(this.cm, function (data) { - if (self.tick == myTick) self.finishUpdate(data, first); - }, this.options); - } - }, - - finishUpdate: function (data, first) { - this.data = data; - - var picked = (this.widget && this.widget.picked) || (first && this.options.completeSingle); - if (this.widget) this.widget.close(); - if (data && data.list.length) { - if (picked && data.list.length == 1) { - this.pick(data, 0); - } else { - this.widget = new Widget(this, data); - CodeMirror.signal(data, "shown"); - } - } - }, - - buildOptions: function (options) { - var editor = this.cm.options.hintOptions; - var out = {}; - for (var prop in defaultOptions) out[prop] = defaultOptions[prop]; - if (editor) for (var prop in editor) - if (editor[prop] !== undefined) out[prop] = editor[prop]; - if (options) for (var prop in options) - if (options[prop] !== undefined) out[prop] = options[prop]; - return out; - } - }; - - function getText(completion) { - if (typeof completion == "string") return completion; - else return completion.text; - } - - function buildKeyMap(completion, handle) { - var baseMap = { - Up: function () { - handle.moveFocus(-1); - }, - Down: function () { - handle.moveFocus(1); - }, - PageUp: function () { - handle.moveFocus(-handle.menuSize() + 1, true); - }, - PageDown: function () { - handle.moveFocus(handle.menuSize() - 1, true); - }, - Home: function () { - handle.setFocus(0); - }, - End: function () { - handle.setFocus(handle.length - 1); - }, - Enter: handle.pick, - Tab: handle.pick, - Esc: handle.close - }; - var custom = completion.options.customKeys; - var ourMap = custom ? {} : baseMap; - - function addBinding(key, val) { - var bound; - if (typeof val != "string") - bound = function (cm) { - return val(cm, handle); - }; - // This mechanism is deprecated - else if (baseMap.hasOwnProperty(val)) - bound = baseMap[val]; - else - bound = val; - ourMap[key] = bound; - } - - if (custom) - for (var key in custom) if (custom.hasOwnProperty(key)) - addBinding(key, custom[key]); - var extra = completion.options.extraKeys; - if (extra) - for (var key in extra) if (extra.hasOwnProperty(key)) - addBinding(key, extra[key]); - return ourMap; - } - - function getHintElement(hintsElement, el) { - while (el && el != hintsElement) { - if (el.nodeName.toUpperCase() === "LI" && el.parentNode == hintsElement) return el; - el = el.parentNode; - } - } - - function Widget(completion, data) { - this.completion = completion; - this.data = data; - this.picked = false; - var widget = this, cm = completion.cm; - - var hints = this.hints = document.createElement("ul"); - hints.className = "CodeMirror-hints"; - this.selectedHint = data.selectedHint || 0; - - var completions = data.list; - for (var i = 0; i < completions.length; ++i) { - var elt = hints.appendChild(document.createElement("li")), cur = completions[i]; - var className = HINT_ELEMENT_CLASS + (i != this.selectedHint ? "" : " " + ACTIVE_HINT_ELEMENT_CLASS); - if (cur.className != null) className = cur.className + " " + className; - elt.className = className; - if (cur.render) cur.render(elt, data, cur); - else elt.appendChild(document.createTextNode(cur.displayText || getText(cur))); - elt.hintId = i; - } - - var pos = cm.cursorCoords(completion.options.alignWithWord ? data.from : null); - var left = pos.left, top = pos.bottom, below = true; - hints.style.left = left + "px"; - hints.style.top = top + "px"; - // If we're at the edge of the screen, then we want the menu to appear on the left of the cursor. - var winW = window.innerWidth || Math.max(document.body.offsetWidth, document.documentElement.offsetWidth); - var winH = window.innerHeight || Math.max(document.body.offsetHeight, document.documentElement.offsetHeight); - (completion.options.container || document.body).appendChild(hints); - var box = hints.getBoundingClientRect(), overlapY = box.bottom - winH; - if (overlapY > 0) { - var height = box.bottom - box.top, curTop = pos.top - (pos.bottom - box.top); - if (curTop - height > 0) { // Fits above cursor - hints.style.top = (top = pos.top - height) + "px"; - below = false; - } else if (height > winH) { - hints.style.height = (winH - 5) + "px"; - hints.style.top = (top = pos.bottom - box.top) + "px"; - var cursor = cm.getCursor(); - if (data.from.ch != cursor.ch) { - pos = cm.cursorCoords(cursor); - hints.style.left = (left = pos.left) + "px"; - box = hints.getBoundingClientRect(); - } - } - } - var overlapX = box.right - winW; - if (overlapX > 0) { - if (box.right - box.left > winW) { - hints.style.width = (winW - 5) + "px"; - overlapX -= (box.right - box.left) - winW; - } - hints.style.left = (left = pos.left - overlapX) + "px"; - } - - cm.addKeyMap(this.keyMap = buildKeyMap(completion, { - moveFocus: function (n, avoidWrap) { - widget.changeActive(widget.selectedHint + n, avoidWrap); - }, - setFocus: function (n) { - widget.changeActive(n); - }, - menuSize: function () { - return widget.screenAmount(); - }, - length: completions.length, - close: function () { - completion.close(); - }, - pick: function () { - widget.pick(); - }, - data: data - })); - - if (completion.options.closeOnUnfocus) { - var closingOnBlur; - cm.on("blur", this.onBlur = function () { - closingOnBlur = setTimeout(function () { - completion.close(); - }, 100); - }); - cm.on("focus", this.onFocus = function () { - clearTimeout(closingOnBlur); - }); - } - - var startScroll = cm.getScrollInfo(); - cm.on("scroll", this.onScroll = function () { - var curScroll = cm.getScrollInfo(), editor = cm.getWrapperElement().getBoundingClientRect(); - var newTop = top + startScroll.top - curScroll.top; - var point = newTop - (window.pageYOffset || (document.documentElement || document.body).scrollTop); - if (!below) point += hints.offsetHeight; - if (point <= editor.top || point >= editor.bottom) return completion.close(); - hints.style.top = newTop + "px"; - hints.style.left = (left + startScroll.left - curScroll.left) + "px"; - }); - - CodeMirror.on(hints, "dblclick", function (e) { - var t = getHintElement(hints, e.target || e.srcElement); - if (t && t.hintId != null) { - widget.changeActive(t.hintId); - widget.pick(); - } - }); - - CodeMirror.on(hints, "click", function (e) { - var t = getHintElement(hints, e.target || e.srcElement); - if (t && t.hintId != null) { - widget.changeActive(t.hintId); - if (completion.options.completeOnSingleClick) widget.pick(); - } - }); - - CodeMirror.on(hints, "mousedown", function () { - setTimeout(function () { - cm.focus(); - }, 20); - }); - - CodeMirror.signal(data, "select", completions[0], hints.firstChild); - return true; - } - - Widget.prototype = { - close: function () { - if (this.completion.widget != this) return; - this.completion.widget = null; - this.hints.parentNode.removeChild(this.hints); - this.completion.cm.removeKeyMap(this.keyMap); - - var cm = this.completion.cm; - if (this.completion.options.closeOnUnfocus) { - cm.off("blur", this.onBlur); - cm.off("focus", this.onFocus); - } - cm.off("scroll", this.onScroll); - }, - - disable: function () { - this.completion.cm.removeKeyMap(this.keyMap); - var widget = this; - this.keyMap = { - Enter: function () { - widget.picked = true; - } - }; - this.completion.cm.addKeyMap(this.keyMap); - }, - - pick: function () { - this.completion.pick(this.data, this.selectedHint); - }, - - changeActive: function (i, avoidWrap) { - if (i >= this.data.list.length) - i = avoidWrap ? this.data.list.length - 1 : 0; - else if (i < 0) - i = avoidWrap ? 0 : this.data.list.length - 1; - if (this.selectedHint == i) return; - var node = this.hints.childNodes[this.selectedHint]; - node.className = node.className.replace(" " + ACTIVE_HINT_ELEMENT_CLASS, ""); - node = this.hints.childNodes[this.selectedHint = i]; - node.className += " " + ACTIVE_HINT_ELEMENT_CLASS; - if (node.offsetTop < this.hints.scrollTop) - this.hints.scrollTop = node.offsetTop - 3; - else if (node.offsetTop + node.offsetHeight > this.hints.scrollTop + this.hints.clientHeight) - this.hints.scrollTop = node.offsetTop + node.offsetHeight - this.hints.clientHeight + 3; - CodeMirror.signal(this.data, "select", this.data.list[this.selectedHint], node); - }, - - screenAmount: function () { - return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1; - } - }; - - CodeMirror.registerHelper("hint", "auto", function (cm, options) { - var helpers = cm.getHelpers(cm.getCursor(), "hint"), words; - if (helpers.length) { - for (var i = 0; i < helpers.length; i++) { - var cur = helpers[i](cm, options); - if (cur && cur.list.length) return cur; - } - } else if (words = cm.getHelper(cm.getCursor(), "hintWords")) { - if (words) return CodeMirror.hint.fromList(cm, {words: words}); - } else if (CodeMirror.hint.anyword) { - return CodeMirror.hint.anyword(cm, options); - } - }); - - CodeMirror.registerHelper("hint", "fromList", function (cm, options) { - var cur = cm.getCursor(), token = cm.getTokenAt(cur); - var found = []; - for (var i = 0; i < options.words.length; i++) { - var word = options.words[i]; - if (word.slice(0, token.string.length) == token.string) - found.push(word); - } - - if (found.length) return { - list: found, - from: CodeMirror.Pos(cur.line, token.start), - to: CodeMirror.Pos(cur.line, token.end) - }; - }); - - CodeMirror.commands.autocomplete = CodeMirror.showHint; - - var defaultOptions = { - hint: CodeMirror.hint.auto, - completeSingle: true, - alignWithWord: true, - closeCharacters: /[\s()\[\]{};:>,]/, - closeOnUnfocus: true, - completeOnSingleClick: true, - container: null, - customKeys: null, - extraKeys: null - }; - - CodeMirror.defineOption("hintOptions", null); -}); \ No newline at end of file diff --git a/src/base/formula/config.js b/src/base/formula/config.js deleted file mode 100644 index a64dc0b45b..0000000000 --- a/src/base/formula/config.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * Created by User on 2017/3/21. - */ -BI.FormulaCollections = ["abs","ABS","acos","ACOS","acosh","ACOSH","add2array","ADD2ARRAY","and","AND","array","ARRAY","asin","ASIN","asinh","ASINH","atan","ATAN","atan2","ATAN2","atanh","ATANH","average","AVERAGE","bitnot","BITNOT","bitoperation","BITOPERATION","ceiling","CEILING","char","CHAR","circular","CIRCULAR","class","CLASS","cnmoney","CNMONEY","code","CODE","col","COL","colcount","COLCOUNT","colname","COLNAME","combin","COMBIN","concatenate","CONCATENATE","correl","CORREL","cos","COS","cosh","COSH","count","COUNT","crosslayertotal","CROSSLAYERTOTAL","date","DATE","datedelta","DATEDELTA","datedif","DATEDIF","dateinmonth","DATEINMONTH","dateinquarter","DATEINQUARTER","dateinweek","DATEINWEEK","dateinyear","DATEINYEAR","datesubdate","DATESUBDATE","datetime","DATETIME","datetonumber","DATETONUMBER","day","DAY","days360","DAYS360","daysofmonth","DAYSOFMONTH","daysofquarter","DAYSOFQUARTER","daysofyear","DAYSOFYEAR","dayvalue","DAYVALUE","decimal","DECIMAL","decode","DECODE","degrees","DEGREES","encode","ENCODE","endwith","ENDWITH","enmoney","ENMONEY","ennumber","ENNUMBER","eval","EVAL","even","EVEN","exact","EXACT","exp","EXP","fact","FACT","fields","FIELDS","filename","FILENAME","filesize","FILESIZE","filetype","FILETYPE","find","FIND","floor","FLOOR","format","FORMAT","getuserdepartments","GETUSERDEPARTMENTS","getuserjobtitles","GETUSERJOBTITLES","greparray","GREPARRAY","hierarchy","HIERARCHY","hour","HOUR","i18n","I18N","if","IF","inarray","INARRAY","index","INDEX","indexof","INDEXOF","indexofarray","INDEXOFARRAY","int","INT","isnull","ISNULL","joinarray","JOINARRAY","jvm","JVM","layertotal","LAYERTOTAL","left","LEFT","len","LEN","let","LET","ln","LN","log","LOG","log10","LOG10","lower","LOWER","lunar","LUNAR","map","MAP","maparray","MAPARRAY","max","MAX","median","MEDIAN","mid","MID","min","MIN","minute","MINUTE","mod","MOD","mom","MOM","month","MONTH","monthdelta","MONTHDELTA","now","NOW","numto","NUMTO","nvl","NVL","odd","ODD","or","OR","pi","PI","power","POWER","product","PRODUCT","promotion","PROMOTION","proper","PROPER","proportion","PROPORTION","radians","RADIANS","rand","RAND","randbetween","RANDBETWEEN","range","RANGE","rank","RANK","records","RECORDS","regexp","REGEXP","removearray","REMOVEARRAY","repeat","REPEAT","replace","REPLACE","reverse","REVERSE","reversearray","REVERSEARRAY","right","RIGHT","round","ROUND","round5","ROUND5","rounddown","ROUNDDOWN","roundup","ROUNDUP","row","ROW","rowcount","ROWCOUNT","second","SECOND","seq","SEQ","sign","SIGN","sin","SIN","sinh","SINH","slicearray","SLICEARRAY","sort","SORT","sortarray","SORTARRAY","split","SPLIT","sql","SQL","sqrt","SQRT","startwith","STARTWITH","stdev","STDEV","substitute","SUBSTITUTE","sum","SUM","sumsq","SUMSQ","switch","SWITCH","tabledatafields","TABLEDATAFIELDS","tabledatas","TABLEDATAS","tables","TABLES","tan","TAN","tanh","TANH","time","TIME","tobigdecimal","TOBIGDECIMAL","tobinary","TOBINARY","todate","TODATE","today","TODAY","todouble","TODOUBLE","tohex","TOHEX","toimage","TOIMAGE","tointeger","TOINTEGER","tooctal","TOOCTAL","totext","TOTEXT","treelayer","TREELAYER","trim","TRIM","trunc","TRUNC","uniquearray","UNIQUEARRAY","upper","UPPER","uuid","UUID","value","VALUE","webimage","WEBIMAGE","week","WEEK","weekdate","WEEKDATE","weekday","WEEKDAY","weightedaverage","WEIGHTEDAVERAGE","year","YEAR","yeardelta","YEARDELTA"]; diff --git a/src/base/formula/formulaeditor.js b/src/base/formula/formulaeditor.js deleted file mode 100644 index 691e8b0e8d..0000000000 --- a/src/base/formula/formulaeditor.js +++ /dev/null @@ -1,234 +0,0 @@ -/** - * 公式编辑控件 - * @class BI.FormulaEditor - * @extends BI.Widget - */ -BI.FormulaEditor = BI.inherit(BI.Single, { - _defaultConfig: function () { - return $.extend(BI.FormulaEditor.superclass._defaultConfig.apply(), { - baseCls: 'bi-formula-editor bi-card', - watermark: '', - value: '', - fieldTextValueMap: {}, - showHint: true, - lineHeight: 2 - }); - }, - _init: function () { - BI.FormulaEditor.superclass._init.apply(this, arguments); - var o = this.options, self = this; - this.editor = CodeMirror(this.element[0], { - textWrapping: true, - lineWrapping: true, - lineNumbers: false, - mode: 'formula' - }); - o.lineHeight === 1 ? this.element.addClass("codemirror-low-line-height") : this.element.addClass("codemirror-high-line-height"); - this.editor.on("change", function (cm, change) { - self._checkWaterMark(); - if (o.showHint) { - CodeMirror.showHint(cm, CodeMirror.formulaHint, {completeSingle: false}); - } - BI.nextTick(function () { - self.fireEvent(BI.FormulaEditor.EVENT_CHANGE) - }); - }); - - this.editor.on("focus", function () { - self._checkWaterMark(); - self.fireEvent(BI.FormulaEditor.EVENT_FOCUS); - }); - - this.editor.on("blur", function () { - self.fireEvent(BI.FormulaEditor.EVENT_BLUR); - }); - - - if (BI.isKey(o.value)) { - self.setValue(o.value); - } - - if (BI.isKey(this.options.watermark)) { - var self = this; - this.watermark = BI.createWidget({ - type: "bi.label", - cls: "bi-water-mark", - text: this.options.watermark, - whiteSpace: "nowrap", - textAlign: "left" - }); - BI.createWidget({ - type: "bi.absolute", - element: self, - items: [{ - el: self.watermark, - left: 0, - top: 0 - }] - }); - - this.watermark.element.bind( - "mousedown", function (e) { - self.insertString(""); - self.editor.focus(); - e.stopEvent(); - } - ); - this.watermark.element.bind("click", function (e) { - self.editor.focus(); - e.stopEvent(); - }); - this.watermark.element.css({ - position: "absolute", - left: 3, - right: 3, - top: 6, - bottom: 0 - }); - } - }, - - _checkWaterMark: function () { - var o = this.options; - if (!this.disabledWaterMark && BI.isEmptyString(this.editor.getValue()) && BI.isKey(o.watermark)) { - this.watermark && this.watermark.visible(); - } else { - this.watermark && this.watermark.invisible(); - } - }, - - disableWaterMark: function () { - this.disabledWaterMark = true; - this._checkWaterMark(); - }, - - focus: function () { - this.editor.focus(); - }, - - /** - * 添加字段 - * @param field - */ - insertField: function (field) { - var from = this.editor.getCursor(); - this.editor.replaceSelection(field); - var to = this.editor.getCursor(); - this.editor.markText(from, to, {className: 'fieldName', atomic: true, startStyle: "start", endStyle: "end"}); - this.editor.replaceSelection(" "); - this.editor.focus(); - }, - - insertFunction: function (fn) { - var from = this.editor.getCursor(); - this.editor.replaceSelection(fn); - var to = this.editor.getCursor(); - this.editor.markText(from, to, {className: "#function", atomic: true}); - this.editor.replaceSelection("() "); - to = this.editor.getCursor(); - to.ch = to.ch - 2; - this.editor.setCursor(to); - this.editor.focus(); - }, - insertOperator: function (op) { - var from = this.editor.getCursor(); - this.editor.replaceSelection(op); - var to = this.editor.getCursor(); - this.editor.markText(from, to, {className: "%operator", atomic: true}); - this.editor.replaceSelection(" "); - this.editor.focus(); - }, - - setFunction: function (v) { - var from = this.editor.getCursor(); - this.editor.replaceSelection(v); - var to = this.editor.getCursor(); - this.editor.markText(from, to, {className: "#function", atomic: true}); - }, - - insertString: function (str) { - this.editor.replaceSelection(str); - this.editor.focus(); - }, - - getFormulaString: function () { - return this.editor.getValue(); - }, - - getUsedFields: function () { - var fieldMap = this.options.fieldTextValueMap; - var fields = []; - this.editor.getValue(true, function (line) { - var value = line.text; - _.forEach(line.markedSpans, function (i, ms) { - switch (i.marker.className) { - case "fieldName": - var dId = fieldMap[value.substr(i.from, i.to - i.from)]; - if (!fields.contains(dId)) { - fields.push(dId); - } - - } - }); - }); - return fields; - }, - - getCheckString: function () { - return this.editor.getValue(true, function (line) { - var rawText = line.text, value = line.text, num = 0; - value.text = rawText; - _.forEach(line.markedSpans, function (i, ms) { - - switch (i.marker.className) { - case "fieldName": - var fieldNameLength = i.to - i.from; - value = value.substr(0, i.from + num) + "$a" + value.substr(i.to + num, value.length); - num = num + 2 - fieldNameLength; - break; - } - - }); - return value; - }); - }, - - getValue: function () { - var fieldMap = this.options.fieldTextValueMap; - return this.editor.getValue("\n", function (line) { - var rawText = line.text, value = line.text, num = 0; - value.text = rawText; - _.forEach(line.markedSpans, function (i, ms) { - switch (i.marker.className) { - case "fieldName": - var fieldNameLength = i.to - i.from; - var fieldId = fieldMap[value.substr(i.from + num, fieldNameLength)]; - value = value.substr(0, i.from + num) + "$\{" + fieldMap[value.substr(i.from + num, fieldNameLength)] + "\}" + value.substr(i.to + num, value.length); - num += fieldId.length - fieldNameLength + 3; - break; - } - }); - return value; - }); - }, - - setValue: function (value) { - this.editor.setValue(value); - }, - - setFieldTextValueMap: function (fieldTextValueMap) { - this.options.fieldTextValueMap = fieldTextValueMap; - }, - - refresh: function () { - var self = this; - BI.nextTick(function () { - self.editor.refresh(); - }); - } - -}); -BI.FormulaEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.FormulaEditor.EVENT_BLUR = "EVENT_BLUR"; -BI.FormulaEditor.EVENT_FOCUS = "EVENT_FOCUS"; -BI.shortcut("bi.formula_editor", BI.FormulaEditor); diff --git a/src/base/foundation/message.js b/src/base/foundation/message.js deleted file mode 100644 index e22ab89c61..0000000000 --- a/src/base/foundation/message.js +++ /dev/null @@ -1,179 +0,0 @@ -/** - * z-index在1亿层级 - * 弹出提示消息框,用于模拟阻塞操作(通过回调函数实现) - * @class BI.Msg - */ -$.extend(BI, { - Msg: function () { - - var messageShow, $mask, $pop; - - return { - alert: function (title, message, callback) { - this._show(false, title, message, callback); - }, - confirm: function (title, message, callback) { - this._show(true, title, message, callback); - }, - prompt: function (title, message, value, callback, min_width) { - // BI.Msg.prompt(title, message, value, callback, min_width); - }, - toast: function (message, level, context) { - context = context || $("body"); - var toast = BI.createWidget({ - type: "bi.toast", - level: level, - text: message - }); - BI.createWidget({ - type: "bi.absolute", - element: context, - items: [{ - el: toast, - left: "50%", - top: 0 - }] - }); - if (toast.element.outerWidth() > context.outerWidth()) { - toast.setWidth(context.width()); - } - toast.element.css({"margin-left": -1 * toast.element.outerWidth() / 2}); - toast.invisible(); - toast.element.slideDown(500, function () { - BI.delay(function () { - toast.element.slideUp(500, function () { - toast.destroy(); - }) - }, 5000) - }) - }, - _show: function (hasCancel, title, message, callback) { - $mask = $('
                                                                                                                                                                                                                                                                                                                      ').css({ - position: 'absolute', - 'zIndex': BI.zIndex_tip - 2, - top: 0, - left: 0, - right: 0, - bottom: 0, - opacity: 0.5 - }).appendTo('body'); - $pop = $('
                                                                                                                                                                                                                                                                                                                      ').css({ - position: 'absolute', - 'zIndex': BI.zIndex_tip - 1, - top: 0, - left: 0, - right: 0, - bottom: 0 - }).appendTo('body'); - var close = function () { - messageShow.destroy(); - $mask.remove(); - }; - var controlItems = []; - if (hasCancel === true) { - controlItems.push({ - el: { - type: 'bi.button', - text: BI.i18nText("BI-Basic_Cancel"), - height: 30, - level: 'ignore', - handler: function () { - close(); - if (BI.isFunction(callback)) { - callback.apply(null, [false]); - } - } - } - }); - } - controlItems.push({ - el: { - type: 'bi.button', - text: BI.i18nText("BI-Basic_OK"), - height: 30, - handler: function () { - close(); - if (BI.isFunction(callback)) { - callback.apply(null, [true]); - } - } - } - }); - var conf = { - element: $pop, - type: 'bi.center_adapt', - items: [ - { - type: 'bi.border', - cls: 'bi-message-content bi-card', - items: { - 'north': { - el: { - type: 'bi.border', - cls: 'bi-message-title bi-background', - items: { - center: { - el: { - type: 'bi.label', - text: title || BI.i18nText("BI-Basic_Prompt"), - textAlign: 'left', - hgap: 20, - height: 50 - } - }, - east: { - el: { - type: 'bi.icon_button', - cls: 'bi-message-close close-font', -// height: 50, - handler: function () { - close(); - } - }, - width: 60 - } - } - }, - height: 50 - }, - 'center': { - el: { - type: "bi.text", - cls: "bi-message-text", - tgap: 60, - hgap: 20, - lineHeight: 30, - whiteSpace: "normal", - text: message - } - }, - 'south': { - el: { - type: "bi.absolute", - items: [{ - el: { - type: 'bi.right_vertical_adapt', - hgap: 5, - items: controlItems - }, - top: 0, - left: 20, - right: 20, - bottom: 0 - }] - - }, - height: 60 - } - }, - width: 400, - height: 300 - } - ] - }; - - messageShow = BI.createWidget(conf); - } - }; - }() -}); \ No newline at end of file diff --git a/src/base/grid/grid.js b/src/base/grid/grid.js deleted file mode 100644 index 94a87c3172..0000000000 --- a/src/base/grid/grid.js +++ /dev/null @@ -1,346 +0,0 @@ -/** - * GridView - * - * Created by GUY on 2016/1/11. - * @class BI.GridView - * @extends BI.Widget - */ -BI.GridView = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.GridView.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-grid-view", - // width: 400, //必设 - // height: 300, //必设 - overflowX: true, - overflowY: true, - overscanColumnCount: 0, - overscanRowCount: 0, - rowHeightGetter: BI.emptyFn, //number类型或function类型 - columnWidthGetter: BI.emptyFn, //number类型或function类型 - // estimatedColumnSize: 100, //columnWidthGetter为function时必设 - // estimatedRowSize: 30, //rowHeightGetter为function时必设 - scrollLeft: 0, - scrollTop: 0, - items: [] - }); - }, - - _init: function () { - BI.GridView.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.renderedCells = []; - this.renderedKeys = []; - this.renderRange = {}; - this._scrollLock = false; - this._debounceRelease = BI.debounce(function () { - self._scrollLock = false; - }, 1000 / 60); - this.container = BI.createWidget({ - type: "bi.absolute" - }); - this.element.scroll(function () { - if (self._scrollLock === true) { - return; - } - o.scrollLeft = self.element.scrollLeft(); - o.scrollTop = self.element.scrollTop(); - self._calculateChildrenToRender(); - self.fireEvent(BI.GridView.EVENT_SCROLL, { - scrollLeft: o.scrollLeft, - scrollTop: o.scrollTop - }); - }); - BI.createWidget({ - type: "bi.vertical", - element: this, - scrollable: o.overflowX === true && o.overflowY === true, - scrolly: o.overflowX === false && o.overflowY === true, - scrollx: o.overflowX === true && o.overflowY === false, - items: [this.container] - }); - if (o.items.length > 0) { - this._populate(); - } - if (o.scrollLeft !== 0 || o.scrollTop !== 0) { - BI.nextTick(function () { - self.element.scrollTop(o.scrollTop); - self.element.scrollLeft(o.scrollLeft); - }); - } - }, - - _getOverscanIndices: function (cellCount, overscanCellsCount, startIndex, stopIndex) { - return { - overscanStartIndex: Math.max(0, startIndex - overscanCellsCount), - overscanStopIndex: Math.min(cellCount - 1, stopIndex + overscanCellsCount) - } - }, - - _calculateChildrenToRender: function () { - var self = this, o = this.options; - - var width = o.width, height = o.height, scrollLeft = BI.clamp(o.scrollLeft, 0, this._getMaxScrollLeft()), - scrollTop = BI.clamp(o.scrollTop, 0, this._getMaxScrollTop()), - overscanColumnCount = o.overscanColumnCount, overscanRowCount = o.overscanRowCount; - - if (height > 0 && width > 0) { - var visibleColumnIndices = this._columnSizeAndPositionManager.getVisibleCellRange(width, scrollLeft); - var visibleRowIndices = this._rowSizeAndPositionManager.getVisibleCellRange(height, scrollTop); - - if (BI.isEmpty(visibleColumnIndices) || BI.isEmpty(visibleRowIndices)) { - return; - } - var horizontalOffsetAdjustment = this._columnSizeAndPositionManager.getOffsetAdjustment(width, scrollLeft); - var verticalOffsetAdjustment = this._rowSizeAndPositionManager.getOffsetAdjustment(height, scrollTop); - - this._renderedColumnStartIndex = visibleColumnIndices.start; - this._renderedColumnStopIndex = visibleColumnIndices.stop; - this._renderedRowStartIndex = visibleRowIndices.start; - this._renderedRowStopIndex = visibleRowIndices.stop; - - var overscanColumnIndices = this._getOverscanIndices(this.columnCount, overscanColumnCount, this._renderedColumnStartIndex, this._renderedColumnStopIndex) - - var overscanRowIndices = this._getOverscanIndices(this.rowCount, overscanRowCount, this._renderedRowStartIndex, this._renderedRowStopIndex); - - var columnStartIndex = overscanColumnIndices.overscanStartIndex; - var columnStopIndex = overscanColumnIndices.overscanStopIndex; - var rowStartIndex = overscanRowIndices.overscanStartIndex; - var rowStopIndex = overscanRowIndices.overscanStopIndex; - - //算区间size - var minRowDatum = this._rowSizeAndPositionManager.getSizeAndPositionOfCell(rowStartIndex); - var minColumnDatum = this._columnSizeAndPositionManager.getSizeAndPositionOfCell(columnStartIndex); - var maxRowDatum = this._rowSizeAndPositionManager.getSizeAndPositionOfCell(rowStopIndex); - var maxColumnDatum = this._columnSizeAndPositionManager.getSizeAndPositionOfCell(columnStopIndex); - var top = minRowDatum.offset + verticalOffsetAdjustment; - var left = minColumnDatum.offset + horizontalOffsetAdjustment; - var bottom = maxRowDatum.offset + verticalOffsetAdjustment + maxRowDatum.size; - var right = maxColumnDatum.offset + horizontalOffsetAdjustment + maxColumnDatum.size; - //如果滚动的区间并没有超出渲染的范围 - if (top >= this.renderRange.minY && bottom <= this.renderRange.maxY && left >= this.renderRange.minX && right <= this.renderRange.maxX) { - return; - } - - var renderedCells = [], renderedKeys = {}, renderedWidgets = {}; - var minX = this._getMaxScrollLeft(), minY = this._getMaxScrollTop(), maxX = 0, maxY = 0; - var count = 0; - for (var rowIndex = rowStartIndex; rowIndex <= rowStopIndex; rowIndex++) { - var rowDatum = this._rowSizeAndPositionManager.getSizeAndPositionOfCell(rowIndex); - - for (var columnIndex = columnStartIndex; columnIndex <= columnStopIndex; columnIndex++) { - var key = rowIndex + "-" + columnIndex; - var columnDatum = this._columnSizeAndPositionManager.getSizeAndPositionOfCell(columnIndex); - - var index = this.renderedKeys[key] && this.renderedKeys[key][2]; - var child; - if (index >= 0) { - if (columnDatum.size !== this.renderedCells[index]._width) { - this.renderedCells[index]._width = columnDatum.size; - this.renderedCells[index].el.setWidth(columnDatum.size); - } - if (rowDatum.size !== this.renderedCells[index]._height) { - this.renderedCells[index]._height = rowDatum.size; - this.renderedCells[index].el.setHeight(rowDatum.size); - } - if (this.renderedCells[index]._left !== columnDatum.offset + horizontalOffsetAdjustment) { - this.renderedCells[index].el.element.css("left", (columnDatum.offset + horizontalOffsetAdjustment) + "px"); - } - if (this.renderedCells[index]._top !== rowDatum.offset + verticalOffsetAdjustment) { - this.renderedCells[index].el.element.css("top", (rowDatum.offset + verticalOffsetAdjustment) + "px"); - } - renderedCells.push(child = this.renderedCells[index]); - } else { - child = BI.createWidget(BI.extend({ - type: "bi.label", - width: columnDatum.size, - height: rowDatum.size - }, o.items[rowIndex][columnIndex], { - cls: (o.items[rowIndex][columnIndex].cls || "") + " grid-cell" + (rowIndex === 0 ? " first-row" : "") + (columnIndex === 0 ? " first-col" : ""), - _rowIndex: rowIndex, - _columnIndex: columnIndex, - _left: columnDatum.offset + horizontalOffsetAdjustment, - _top: rowDatum.offset + verticalOffsetAdjustment - })); - renderedCells.push({ - el: child, - left: columnDatum.offset + horizontalOffsetAdjustment, - top: rowDatum.offset + verticalOffsetAdjustment, - _left: columnDatum.offset + horizontalOffsetAdjustment, - _top: rowDatum.offset + verticalOffsetAdjustment, - _width: columnDatum.size, - _height: rowDatum.size - }); - } - minX = Math.min(minX, columnDatum.offset + horizontalOffsetAdjustment); - maxX = Math.max(maxX, columnDatum.offset + horizontalOffsetAdjustment + columnDatum.size); - minY = Math.min(minY, rowDatum.offset + verticalOffsetAdjustment); - maxY = Math.max(maxY, rowDatum.offset + verticalOffsetAdjustment + rowDatum.size); - renderedKeys[key] = [rowIndex, columnIndex, count]; - renderedWidgets[count] = child; - count++; - } - } - //已存在的, 需要添加的和需要删除的 - var existSet = {}, addSet = {}, deleteArray = []; - BI.each(renderedKeys, function (i, key) { - if (self.renderedKeys[i]) { - existSet[i] = key; - } else { - addSet[i] = key; - } - }); - BI.each(this.renderedKeys, function (i, key) { - if (existSet[i]) { - return; - } - if (addSet[i]) { - return; - } - deleteArray.push(key[2]); - }); - BI.each(deleteArray, function (i, index) { - //性能优化,不调用destroy方法防止触发destroy事件 - self.renderedCells[index].el._destroy(); - }); - var addedItems = []; - BI.each(addSet, function (index, key) { - addedItems.push(renderedCells[key[2]]) - }); - this.container.addItems(addedItems); - //拦截父子级关系 - this.container._children = renderedWidgets; - this.container.attr("items", renderedCells); - this.renderedCells = renderedCells; - this.renderedKeys = renderedKeys; - this.renderRange = {minX: minX, minY: minY, maxX: maxX, maxY: maxY}; - } - }, - - _getMaxScrollLeft: function () { - return Math.max(0, this._columnSizeAndPositionManager.getTotalSize() - this.options.width + (this.options.overflowX ? BI.DOM.getScrollWidth() : 0)); - }, - - _getMaxScrollTop: function () { - return Math.max(0, this._rowSizeAndPositionManager.getTotalSize() - this.options.height + (this.options.overflowY ? BI.DOM.getScrollWidth() : 0)); - }, - - _populate: function (items) { - var self = this, o = this.options; - this._reRange(); - if (items && items !== this.options.items) { - this.options.items = items; - } - if (o.items.length > 0) { - this.columnCount = o.items[0].length; - this.rowCount = o.items.length; - } else { - this.rowCount = 0; - this.columnCount = 0; - } - this.container.setWidth(this.columnCount * o.estimatedColumnSize); - this.container.setHeight(this.rowCount * o.estimatedRowSize); - - this._columnSizeAndPositionManager = new BI.ScalingCellSizeAndPositionManager(this.columnCount, o.columnWidthGetter, o.estimatedColumnSize); - this._rowSizeAndPositionManager = new BI.ScalingCellSizeAndPositionManager(this.rowCount, o.rowHeightGetter, o.estimatedRowSize); - - this._calculateChildrenToRender(); - this.element.scrollTop(o.scrollTop); - this.element.scrollLeft(o.scrollLeft); - }, - - setScrollLeft: function (scrollLeft) { - if (this.options.scrollLeft === scrollLeft) { - return; - } - this._scrollLock = true; - this.options.scrollLeft = BI.clamp(scrollLeft || 0, 0, this._getMaxScrollLeft()); - this._debounceRelease(); - this._calculateChildrenToRender(); - this.element.scrollLeft(this.options.scrollLeft); - }, - - setScrollTop: function (scrollTop) { - if (this.options.scrollTop === scrollTop) { - return; - } - this._scrollLock = true; - this.options.scrollTop = BI.clamp(scrollTop || 0, 0, this._getMaxScrollTop()); - this._debounceRelease(); - this._calculateChildrenToRender(); - this.element.scrollTop(this.options.scrollTop); - }, - - setOverflowX: function (b) { - var self = this; - if (this.options.overflowX !== !!b) { - this.options.overflowX = !!b; - BI.nextTick(function () { - self.element.css({overflowX: !!b ? "auto" : "hidden"}); - }); - } - }, - - setOverflowY: function (b) { - var self = this; - if (this.options.overflowY !== !!b) { - this.options.overflowY = !!b; - BI.nextTick(function () { - self.element.css({overflowY: !!b ? "auto" : "hidden"}); - }); - } - }, - - getScrollLeft: function () { - return this.options.scrollLeft; - }, - - getScrollTop: function () { - return this.options.scrollTop; - }, - - getMaxScrollLeft: function () { - return this._getMaxScrollLeft(); - }, - - getMaxScrollTop: function () { - return this._getMaxScrollTop(); - }, - - setEstimatedColumnSize: function (width) { - this.options.estimatedColumnSize = width; - }, - - setEstimatedRowSize: function (height) { - this.options.estimatedRowSize = height; - }, - - //重新计算children - _reRange: function () { - this.renderRange = {}; - }, - - _clearChildren: function () { - this.container._children = {}; - this.container.attr("items", []); - }, - - restore: function () { - BI.each(this.renderedCells, function (i, cell) { - cell.el._destroy(); - }); - this._clearChildren(); - this.renderedCells = []; - this.renderedKeys = []; - this.renderRange = {}; - this._scrollLock = false; - }, - - populate: function (items) { - if (items && items !== this.options.items) { - this.restore(); - } - this._populate(items); - } -}); -BI.GridView.EVENT_SCROLL = "EVENT_SCROLL"; -BI.shortcut('bi.grid_view', BI.GridView); \ No newline at end of file diff --git a/src/base/layer/layer.floatbox.js b/src/base/layer/layer.floatbox.js deleted file mode 100644 index 65605e0385..0000000000 --- a/src/base/layer/layer.floatbox.js +++ /dev/null @@ -1,150 +0,0 @@ -/** - * floatBox弹出层, - * @class BI.FloatBox - * @extends BI.Widget - */ -BI.FloatBox = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.FloatBox.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-float-box bi-card", - width: 600, - height: 500 - }) - }, - _init: function () { - BI.FloatBox.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.showAction = new BI.ShowAction({ - tar: this - }); - this._center = BI.createWidget(); - this._north = BI.createWidget(); - this.element.draggable && this.element.draggable({ - handle: ".bi-message-title", - drag: function (e, ui) { - var W = $("body").width(), H = $("body").height(); - if (ui.position.left + o.width > W) { - ui.position.left = W - o.width; - } - if (ui.position.top + o.height > H) { - ui.position.top = H - o.height; - } - if (ui.position.left < 0) { - ui.position.left = 0; - } - if (ui.position.top < 0) { - ui.position.top = 0; - } - } - }); - this._south = BI.createWidget(); - BI.createWidget({ - type: 'bi.border', - element: this, - items: { - 'north': { - el: { - type: 'bi.border', - cls: 'bi-message-title bi-background', - items: { - center: { - el: { - type: "bi.absolute", - items: [{ - el: this._north, - left: 10, - top: 0, - right: 0, - bottom: 0 - }] - } - }, - east: { - el: { - type: 'bi.icon_button', - cls: 'bi-message-close close-font', - height: 50, - handler: function () { - self.currentSectionProvider.close(); - } - }, - width: 60 - } - } - }, - height: 50 - }, - 'center': { - el: { - type: "bi.absolute", - items: [{ - el: this._center, - left: 20, - top: 20, - right: 20, - bottom: 0 - }] - } - }, - 'south': { - el: { - type: "bi.absolute", - items: [{ - el: this._south, - left: 20, - top: 0, - right: 20, - bottom: 0 - }] - }, - height: 60 - } - } - }) - }, - - populate: function (sectionProvider) { - var self = this; - if (this.currentSectionProvider && this.currentSectionProvider !== sectionProvider) { - this.currentSectionProvider.destroy(); - } - this.currentSectionProvider = sectionProvider; - sectionProvider.rebuildNorth(this._north); - sectionProvider.rebuildCenter(this._center); - sectionProvider.rebuildSouth(this._south); - sectionProvider.on(BI.PopoverSection.EVENT_CLOSE, function () { - self.close(); - }) - }, - - show: function () { - this.showAction.actionPerformed(); - }, - - hide: function () { - this.showAction.actionBack(); - }, - - open: function () { - this.show(); - this.fireEvent(BI.FloatBox.EVENT_FLOAT_BOX_OPEN); - }, - - close: function () { - this.hide(); - this.fireEvent(BI.FloatBox.EVENT_FLOAT_BOX_CLOSED); - }, - - setZindex: function (zindex) { - this.element.css({"z-index": zindex}); - }, - - destroyed: function () { - this.currentSectionProvider && this.currentSectionProvider.destroy(); - } -}); - -BI.shortcut("bi.float_box", BI.FloatBox); - -BI.FloatBox.EVENT_FLOAT_BOX_CLOSED = "EVENT_FLOAT_BOX_CLOSED"; -BI.FloatBox.EVENT_FLOAT_BOX_OPEN = "EVENT_FLOAT_BOX_CLOSED"; diff --git a/src/base/layer/layer.popup.js b/src/base/layer/layer.popup.js deleted file mode 100644 index 2d683d3d94..0000000000 --- a/src/base/layer/layer.popup.js +++ /dev/null @@ -1,171 +0,0 @@ -/** - * 下拉框弹出层, zIndex在1000w - * @class BI.PopupView - * @extends BI.Widget - */ -BI.PopupView = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.PopupView.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-popup-view", - maxWidth: 'auto', - minWidth: 100, - //maxHeight: 200, - minHeight: 25, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - vgap: 0, - hgap: 0, - direction: BI.Direction.Top, //工具栏的方向 - stopEvent: false,//是否停止mousedown、mouseup事件 - stopPropagation: false, //是否停止mousedown、mouseup向上冒泡 - logic: { - dynamic: true - }, - - tool: false, //自定义工具栏 - tabs: [], //导航栏 - buttons: [], //toolbar栏 - - el: { - type: "bi.button_group", - items: [], - chooseType: 0, - behaviors: {}, - layouts: [{ - type: "bi.vertical" - }] - } - }) - }, - - _init: function () { - BI.PopupView.superclass._init.apply(this, arguments); - var self = this, o = this.options; - var fn = function (e) { - e.stopPropagation(); - }, stop = function (e) { - e.stopEvent(); - return false; - }; - this.element.css({ - "z-index": BI.zIndex_popup, - "min-width": o.minWidth + "px", - "max-width": o.maxWidth + "px" - }).bind({"click": fn}); - - this.element.bind("mousewheel", fn); - - o.stopPropagation && this.element.bind({"mousedown": fn, "mouseup": fn, "mouseover": fn}); - o.stopEvent && this.element.bind({"mousedown": stop, "mouseup": stop, "mouseover": stop}); - this.tool = this._createTool(); - this.tab = this._createTab(); - this.view = this._createView(); - this.toolbar = this._createToolBar(); - - this.button_group.on(BI.Controller.EVENT_CHANGE, function (type) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.PopupView.EVENT_CHANGE); - } - }); - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction), BI.extend({}, o.logic, { - scrolly: false, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - vgap: o.vgap, - hgap: o.hgap, - items: BI.LogicFactory.createLogicItemsByDirection(o.direction, - BI.extend({ - cls: "list-view-outer bi-card bi-border" - }, BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction), BI.extend({}, o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection(o.direction, this.tool, this.tab, this.view, this.toolbar) - }))) - ) - })))); - }, - - _createView: function () { - var o = this.options; - this.button_group = BI.createWidget(o.el, {type: "bi.button_group"}); - this.button_group.element.css({"min-height": o.minHeight + "px"}); - return this.button_group; - }, - - _createTool: function () { - var o = this.options; - if (false === o.tool) { - return; - } - return BI.createWidget(o.tool) - }, - - _createTab: function () { - var o = this.options; - if (o.tabs.length === 0) { - return; - } - return BI.createWidget({ - type: "bi.center", - cls: "list-view-tab", - height: 25, - items: o.tabs - }) - }, - - _createToolBar: function () { - var o = this.options; - if (o.buttons.length === 0) { - return; - } - - return BI.createWidget({ - type: "bi.center", - cls: "list-view-toolbar bi-high-light bi-border-top", - height: 30, - items: BI.createItems(o.buttons, { - once: false, - shadow: true, - isShadowShowingOnSelected: true - }) - }) - }, - - getView: function () { - return this.button_group; - }, - - populate: function (items) { - this.button_group.populate.apply(this.button_group, arguments); - }, - - resetWidth: function (w) { - this.options.width = w; - this.element.width(w); - }, - - resetHeight: function (h) { - var tbHeight = this.toolbar ? (this.toolbar.attr("height") || 30) : 0, - tabHeight = this.tab ? (this.tab.attr("height") || 25) : 0, - toolHeight = ((this.tool && this.tool.attr("height")) || 25) * ((this.tool && this.tool.isVisible()) ? 1 : 0); - this.view.resetHeight ? this.view.resetHeight(h - tbHeight - tabHeight - toolHeight - 2) : - this.view.element.css({"max-height": (h - tbHeight - tabHeight - toolHeight - 2) + "px"}) - }, - - setValue: function (selectedValues) { - this.tab && this.tab.setValue(selectedValues); - this.button_group.setValue(selectedValues); - }, - - getValue: function () { - return this.button_group.getValue(); - } -}); -BI.PopupView.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.popup_view", BI.PopupView); \ No newline at end of file diff --git a/src/base/layer/layer.searcher.js b/src/base/layer/layer.searcher.js deleted file mode 100644 index 09dc6ff54c..0000000000 --- a/src/base/layer/layer.searcher.js +++ /dev/null @@ -1,139 +0,0 @@ -/** - * 搜索面板 - * - * Created by GUY on 2015/9/28. - * @class BI.SearcherView - * @extends BI.Pane - */ - -BI.SearcherView = BI.inherit(BI.Pane, { - _defaultConfig: function () { - var conf = BI.SearcherView.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-searcher-view bi-card", - tipText: BI.i18nText("BI-No_Select"), - chooseType: BI.Selection.Single, - - matcher: {//完全匹配的构造器 - type: "bi.button_group", - behaviors: { - redmark: function () { - return true; - } - }, - items: [], - layouts: [{ - type: "bi.vertical" - }] - }, - searcher: { - type: "bi.button_group", - behaviors: { - redmark: function () { - return true; - } - }, - items: [], - layouts: [{ - type: "bi.vertical" - }] - } - }) - }, - - _init: function () { - BI.SearcherView.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.matcher = BI.createWidget(o.matcher, { - type: "bi.button_group", - chooseType: o.chooseType, - behaviors: { - redmark: function () { - return true; - } - }, - layouts: [{ - type: "bi.vertical" - }] - }); - this.matcher.on(BI.Controller.EVENT_CHANGE, function (type, val, ob) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.SearcherView.EVENT_CHANGE, val, ob); - } - }); - this.spliter = BI.createWidget({ - type: "bi.vertical", - height: 1, - hgap: 10, - items: [{ - type: "bi.layout", - height: 1, - cls: "searcher-view-spliter bi-background" - }] - }); - this.searcher = BI.createWidget(o.searcher, { - type: "bi.button_group", - chooseType: o.chooseType, - behaviors: { - redmark: function () { - return true; - } - }, - layouts: [{ - type: "bi.vertical" - }] - }); - this.searcher.on(BI.Controller.EVENT_CHANGE, function (type, val, ob) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.SearcherView.EVENT_CHANGE, val, ob); - } - }); - - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [this.matcher, this.spliter, this.searcher] - }); - }, - - startSearch: function () { - - }, - - stopSearch: function () { - - }, - - setValue: function (v) { - this.matcher.setValue(v); - this.searcher.setValue(v); - }, - - getValue: function () { - return this.matcher.getValue().concat(this.searcher.getValue()); - }, - - populate: function (searchResult, matchResult, keyword) { - searchResult || (searchResult = []); - matchResult || (matchResult = []); - this.setTipVisible(searchResult.length + matchResult.length === 0); - this.spliter.setVisible(BI.isNotEmptyArray(matchResult) && BI.isNotEmptyArray(searchResult)); - this.matcher.populate(matchResult, keyword); - this.searcher.populate(searchResult, keyword); - }, - - empty: function () { - this.searcher.empty(); - this.matcher.empty(); - }, - - hasMatched: function () { - return this.matcher.getAllButtons().length > 0; - } -}); -BI.SearcherView.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.searcher_view", BI.SearcherView); \ No newline at end of file diff --git a/src/base/list/listview.js b/src/base/list/listview.js deleted file mode 100644 index 4659e5d0d3..0000000000 --- a/src/base/list/listview.js +++ /dev/null @@ -1,110 +0,0 @@ -/** - * 表示当前对象 - * - * Created by GUY on 2017/5/23. - * @class BI.ListView - * @extends BI.Widget - */ -BI.ListView = BI.inherit(BI.Widget, { - props: function () { - return { - baseCls: "bi-list-view", - overscanHeight: 100, - blockSize: 10, - scrollTop: 0, - el: {}, - items: [] - }; - }, - - init: function () { - var self = this; - this.renderedIndex = -1; - this.cache = {}; - }, - - render: function () { - var self = this, o = this.options; - return { - type: "bi.vertical", - items: [BI.extend({ - type: "bi.vertical", - scrolly: false, - ref: function () { - self.container = this; - } - }, o.el)], - element: this - } - }, - - mounted: function () { - var self = this, o = this.options; - this._populate(); - this.element.scroll(function (e) { - o.scrollTop = self.element.scrollTop(); - self._calculateBlocksToRender(); - }); - BI.ResizeDetector.addResizeListener(this, function () { - self._calculateBlocksToRender(); - }); - }, - - _renderMoreIf: function () { - var self = this, o = this.options; - var height = this.element.height(); - var minContentHeight = o.scrollTop + height + o.overscanHeight; - var index = (this.cache[this.renderedIndex] && (this.cache[this.renderedIndex].index + o.blockSize)) || 0, - cnt = this.renderedIndex + 1; - var lastHeight; - var getElementHeight = function () { - return self.container.element.height(); - }; - while ((lastHeight = getElementHeight()) < minContentHeight && index < o.items.length) { - var items = o.items.slice(index, index + o.blockSize); - this.container.addItems(items); - var addedHeight = getElementHeight() - lastHeight; - this.cache[cnt] = { - index: index, - scrollTop: lastHeight, - height: addedHeight - }; - this.renderedIndex = cnt; - cnt++; - index += o.blockSize; - } - }, - - _calculateBlocksToRender: function () { - var o = this.options; - this._renderMoreIf(); - }, - - _populate: function (items) { - var o = this.options; - if (items && this.options.items !== items) { - this.options.items = items; - } - this._calculateBlocksToRender(); - this.element.scrollTop(o.scrollTop); - }, - - restore: function () { - this.renderedIndex = -1; - this.container.empty(); - this.cache = {}; - }, - - populate: function (items) { - if (items && this.options.items !== items) { - this.restore(); - } - this._populate(); - }, - - destroyed: function () { - this.restore(); - } -}); -BI.shortcut('bi.list_view', BI.ListView); - diff --git a/src/base/list/virtuallist.js b/src/base/list/virtuallist.js deleted file mode 100644 index fce34dbb77..0000000000 --- a/src/base/list/virtuallist.js +++ /dev/null @@ -1,179 +0,0 @@ -/** - * 表示当前对象 - * - * Created by GUY on 2017/5/22. - * @class BI.VirtualList - * @extends BI.Widget - */ -BI.VirtualList = BI.inherit(BI.Widget, { - props: function () { - return { - baseCls: "bi-virtual-list", - overscanHeight: 100, - blockSize: 10, - scrollTop: 0, - items: [] - }; - }, - - init: function () { - var self = this; - this.renderedIndex = -1; - this.cache = {}; - }, - - render: function () { - var self = this, o = this.options; - return { - type: "bi.vertical", - items: [{ - type: "bi.layout", - ref: function () { - self.topBlank = this; - } - }, { - type: "bi.vertical", - scrolly: false, - ref: function () { - self.container = this; - } - }, { - type: "bi.layout", - ref: function () { - self.bottomBlank = this; - } - }], - element: this - } - }, - - mounted: function () { - var self = this, o = this.options; - this._populate(); - this.element.scroll(function (e) { - o.scrollTop = self.element.scrollTop(); - self._calculateBlocksToRender(); - }); - BI.ResizeDetector.addResizeListener(this, function () { - self._calculateBlocksToRender(); - }); - }, - - _renderMoreIf: function () { - var self = this, o = this.options; - var height = this.element.height(); - var minContentHeight = o.scrollTop + height + o.overscanHeight; - var index = (this.cache[this.renderedIndex] && (this.cache[this.renderedIndex].index + o.blockSize)) || 0, - cnt = this.renderedIndex + 1; - var lastHeight; - var getElementHeight = function () { - return self.container.element.height() + self.topBlank.element.height() + self.bottomBlank.element.height(); - }; - while ((lastHeight = getElementHeight()) < minContentHeight && index < o.items.length) { - var items = o.items.slice(index, index + o.blockSize); - this.container.addItems(items); - var addedHeight = getElementHeight() - lastHeight; - this.cache[cnt] = { - index: index, - scrollTop: lastHeight, - height: addedHeight - }; - this.tree.set(cnt, addedHeight); - this.renderedIndex = cnt; - cnt++; - index += o.blockSize; - } - }, - - _calculateBlocksToRender: function () { - var o = this.options; - this._renderMoreIf(); - var height = this.element.height(); - var minContentHeightFrom = o.scrollTop - o.overscanHeight; - var minContentHeightTo = o.scrollTop + height + o.overscanHeight; - var start = this.tree.greatestLowerBound(minContentHeightFrom); - var end = this.tree.leastUpperBound(minContentHeightTo); - var needDestroyed = []; - for (var i = 0; i < start; i++) { - var index = this.cache[i].index; - if (!this.cache[i].destroyed) { - for (var j = index; j < index + o.blockSize && j < o.items.length; j++) { - needDestroyed.push(this.container._children[j]); - this.container._children[j] = null; - } - this.cache[i].destroyed = true; - } - } - for (var i = end + 1; i <= this.renderedIndex; i++) { - var index = this.cache[i].index; - if (!this.cache[i].destroyed) { - for (var j = index; j < index + o.blockSize && j < o.items.length; j++) { - needDestroyed.push(this.container._children[j]); - this.container._children[j] = null; - } - this.cache[i].destroyed = true; - } - } - var firstFragment = document.createDocumentFragment(), lastFragment = document.createDocumentFragment(); - var currentFragment = firstFragment; - for (var i = (start < 0 ? 0 : start); i <= end && i <= this.renderedIndex; i++) { - var index = this.cache[i].index; - if (!this.cache[i].destroyed) { - currentFragment = lastFragment; - } - if (this.cache[i].destroyed === true) { - for (var j = index; j < index + o.blockSize && j < o.items.length; j++) { - var w = this.container._addElement(j, BI.extend({root: true}, BI.stripEL(o.items[j]))); - currentFragment.appendChild(w.element[0]); - } - this.cache[i].destroyed = false; - } - } - this.container.element.prepend(firstFragment); - this.container.element.append(lastFragment); - this.topBlank.setHeight(this.cache[start < 0 ? 0 : start].scrollTop); - var lastCache = this.cache[Math.min(end, this.renderedIndex)]; - this.bottomBlank.setHeight(this.tree.sumTo(this.renderedIndex) - lastCache.scrollTop - lastCache.height); - BI.each(needDestroyed, function (i, child) { - child && child._destroy(); - }); - }, - - _populate: function (items) { - var o = this.options; - if (items && this.options.items !== items) { - this.options.items = items; - } - this.tree = BI.PrefixIntervalTree.empty(Math.ceil(o.items.length / o.blockSize)); - this._calculateBlocksToRender(); - this.element.scrollTop(o.scrollTop); - }, - - _clearChildren: function () { - BI.each(this.container._children, function (i, cell) { - cell && cell.el._destroy(); - }); - this.container._children = {}; - this.container.attr("items", []); - }, - - restore: function () { - this.renderedIndex = -1; - this._clearChildren(); - this.cache = {}; - this.options.scrollTop = 0; - }, - - populate: function (items) { - if (items && this.options.items !== items) { - this.restore(); - } - this._populate(); - }, - - destroyed: function () { - this.restore(); - } -}); -BI.shortcut('bi.virtual_list', BI.VirtualList); - diff --git a/src/base/pager/pager.js b/src/base/pager/pager.js deleted file mode 100644 index 8c0a729368..0000000000 --- a/src/base/pager/pager.js +++ /dev/null @@ -1,288 +0,0 @@ -/** - * 分页控件 - * - * Created by GUY on 2015/8/31. - * @class BI.Pager - * @extends BI.Widget - */ -BI.Pager = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.Pager.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-pager", - behaviors: {}, - layouts: [{ - type: "bi.horizontal", - hgap: 10, - vgap: 0 - }], - - dynamicShow: true, //是否动态显示上一页、下一页、首页、尾页, 若为false,则指对其设置使能状态 - //dynamicShow为false时以下两个有用 - dynamicShowFirstLast: false,//是否动态显示首页、尾页 - dynamicShowPrevNext: false,//是否动态显示上一页、下一页 - pages: false, //总页数 - curr: function () { - return 1; - }, //初始化当前页 - groups: 0, //连续显示分页数 - jump: BI.emptyFn, //分页的回调函数 - - first: false, //是否显示首页 - last: false, //是否显示尾页 - prev: "上一页", - next: "下一页", - - firstPage: 1, - lastPage: function () { //在万不得已时才会调用这个函数获取最后一页的页码, 主要作用于setValue方法 - return 1; - }, - hasPrev: BI.emptyFn, //pages不可用时有效 - hasNext: BI.emptyFn //pages不可用时有效 - }) - }, - _init: function () { - BI.Pager.superclass._init.apply(this, arguments); - var self = this; - this.currPage = BI.result(this.options, "curr"); - //翻页太灵敏 - // this._lock = false; - // this._debouce = BI.debounce(function () { - // self._lock = false; - // }, 300); - this._populate(); - }, - - _populate: function () { - var self = this, o = this.options, view = [], dict = {}; - this.empty(); - var pages = BI.result(o, "pages"); - var curr = BI.result(this, "currPage"); - var groups = BI.result(o, "groups"); - var first = BI.result(o, "first"); - var last = BI.result(o, "last"); - var prev = BI.result(o, "prev"); - var next = BI.result(o, "next"); - - if (pages === false) { - groups = 0; - first = false; - last = false; - } else { - groups > pages && (groups = pages); - } - - //计算当前组 - dict.index = Math.ceil((curr + ((groups > 1 && groups !== pages) ? 1 : 0)) / (groups === 0 ? 1 : groups)); - - //当前页非首页,则输出上一页 - if (((!o.dynamicShow && !o.dynamicShowPrevNext) || curr > 1) && prev !== false) { - if (BI.isKey(prev)) { - view.push({ - text: prev, - value: "prev", - disabled: pages === false ? o.hasPrev(curr) === false : !(curr > 1 && prev !== false) - }) - } else { - view.push(BI.extend({ - disabled: pages === false ? o.hasPrev(curr) === false : !(curr > 1 && prev !== false) - }, prev)); - } - } - - //当前组非首组,则输出首页 - if (((!o.dynamicShow && !o.dynamicShowFirstLast) || (dict.index > 1 && groups !== 0)) && first) { - view.push({ - text: first, - value: "first", - disabled: !(dict.index > 1 && groups !== 0) - }); - if (dict.index > 1 && groups !== 0) { - view.push({ - type: "bi.label", - cls: "page-ellipsis", - text: "\u2026" - }); - } - } - - //输出当前页组 - dict.poor = Math.floor((groups - 1) / 2); - dict.start = dict.index > 1 ? curr - dict.poor : 1; - dict.end = dict.index > 1 ? (function () { - var max = curr + (groups - dict.poor - 1); - return max > pages ? pages : max; - }()) : groups; - if (dict.end - dict.start < groups - 1) { //最后一组状态 - dict.start = dict.end - groups + 1; - } - var s = dict.start, e = dict.end; - if (first && last && (dict.index > 1 && groups !== 0) && (pages > groups && dict.end < pages && groups !== 0)) { - s++; - e--; - } - for (; s <= e; s++) { - if (s === curr) { - view.push({ - text: s, - value: s, - selected: true - }) - } else { - view.push({ - text: s, - value: s - }) - } - } - - //总页数大于连续分页数,且当前组最大页小于总页,输出尾页 - if (((!o.dynamicShow && !o.dynamicShowFirstLast) || (pages > groups && dict.end < pages && groups !== 0)) && last) { - if (pages > groups && dict.end < pages && groups !== 0) { - view.push({ - type: "bi.label", - cls: "page-ellipsis", - text: "\u2026" - }); - } - view.push({ - text: last, - value: "last", - disabled: !(pages > groups && dict.end < pages && groups !== 0) - }) - } - - //当前页不为尾页时,输出下一页 - dict.flow = !prev && groups === 0; - if (((!o.dynamicShow && !o.dynamicShowPrevNext) && next) || (curr !== pages && next || dict.flow)) { - view.push((function () { - if (BI.isKey(next)) { - if (pages === false) { - return {text: next, value: "next", disabled: o.hasNext(curr) === false} - } - return (dict.flow && curr === pages) - ? - {text: next, value: "next", disabled: true} - : - {text: next, value: "next", disabled: !(curr !== pages && next || dict.flow)}; - } else { - return BI.extend({ - disabled: pages === false ? o.hasNext(curr) === false : !(curr !== pages && next || dict.flow) - }, next); - } - }())); - } - - this.button_group = BI.createWidget({ - type: "bi.button_group", - element: this, - items: BI.createItems(view, { - cls: "bi-list-item-select", - height: 23, - hgap: 10 - }), - behaviors: o.behaviors, - layouts: o.layouts - }); - this.button_group.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - // if (self._lock === true) { - // return; - // } - // self._lock = true; - // self._debouce(); - if (type === BI.Events.CLICK) { - var v = self.button_group.getValue()[0]; - switch (v) { - case "first": - self.currPage = 1; - break; - case "last": - self.currPage = pages; - break; - case "prev": - self.currPage--; - break; - case "next": - self.currPage++; - break; - default: - self.currPage = v; - break; - } - o.jump.apply(self, [{ - pages: pages, - curr: self.currPage - }]); - self._populate(); - self.fireEvent(BI.Pager.EVENT_CHANGE, obj); - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.fireEvent(BI.Pager.EVENT_AFTER_POPULATE); - }, - - getCurrentPage: function () { - return this.currPage; - }, - - setAllPages: function (pages) { - this.options.pages = pages; - }, - - hasPrev: function (v) { - v || (v = 1); - var o = this.options; - var pages = this.options.pages; - return pages === false ? o.hasPrev(v) : v > 1; - }, - - hasNext: function (v) { - v || (v = 1); - var o = this.options; - var pages = this.options.pages; - return pages === false ? o.hasNext(v) : v < pages; - }, - - setValue: function (v) { - var o = this.options; - v = v | 0; - v = v < 1 ? 1 : v; - if (o.pages === false) { - var lastPage = BI.result(o, "lastPage"), firstPage = 1; - this.currPage = v > lastPage ? lastPage : ((firstPage = BI.result(o, "firstPage")), (v < firstPage ? firstPage : v)); - } else { - v = v > o.pages ? o.pages : v; - this.currPage = v; - } - this._populate(); - }, - - getValue: function () { - var val = this.button_group.getValue()[0]; - switch (val) { - case "prev": - return -1; - case "next": - return 1; - case "first": - return BI.MIN; - case "last": - return BI.MAX; - default : - return val; - } - }, - - attr: function (key, value) { - BI.Pager.superclass.attr.apply(this, arguments); - if (key === "curr") { - this.currPage = BI.result(this.options, "curr"); - } - }, - - populate: function () { - this._populate(); - } -}); -BI.Pager.EVENT_CHANGE = "EVENT_CHANGE"; -BI.Pager.EVENT_AFTER_POPULATE = "EVENT_AFTER_POPULATE"; -BI.shortcut("bi.pager", BI.Pager); \ No newline at end of file diff --git a/src/base/pane.js b/src/base/pane.js deleted file mode 100644 index 1ef5b7f294..0000000000 --- a/src/base/pane.js +++ /dev/null @@ -1,110 +0,0 @@ -/** - * 当没有元素时有提示信息的view - * - * Created by GUY on 2015/9/8. - * @class BI.Pane - * @extends BI.Widget - * @abstract - */ -BI.Pane = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.Pane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-pane", - tipText: BI.i18nText("BI-No_Selected_Item"), - overlap: true, - onLoaded: BI.emptyFn - }) - }, - - _init: function () { - BI.Pane.superclass._init.apply(this, arguments); - }, - - _assertTip: function () { - var o = this.options; - if (!this._tipText) { - this._tipText = BI.createWidget({ - type: "bi.label", - cls: "bi-tips", - text: o.tipText, - height: 25 - }); - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [this._tipText], - bgap: 25 - }); - } - }, - - loading: function () { - var self = this, o = this.options; - if (o.overlap === true) { - if (!BI.Layers.has(this.getName())) { - BI.createWidget({ - type: 'bi.vtape', - items: [{ - el: { - type: "bi.layout", - cls: "loading-background" - }, - height: 30 - }], - element: BI.Layers.make(this.getName(), this) - }); - } - BI.Layers.show(self.getName()); - } else if (BI.isNull(this._loading)) { - this._loading = BI.createWidget({ - type: "bi.layout", - cls: "loading-background", - height: 30 - }); - this._loading.element.css("zIndex", 1); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this._loading, - left: 0, - right: 0, - top: 0 - }] - }) - } - }, - - loaded: function () { - var self = this, o = this.options; - BI.Layers.remove(self.getName()); - this._loading && this._loading.destroy(); - this._loading && (this._loading = null); - o.onLoaded(); - self.fireEvent(BI.Pane.EVENT_LOADED); - }, - - check: function () { - this.setTipVisible(BI.isEmpty(this.options.items)); - }, - - setTipVisible: function (b) { - if (b === true) { - this._assertTip(); - this._tipText.setVisible(true); - } else { - this._tipText && this._tipText.setVisible(false); - } - }, - - populate: function (items) { - this.options.items = items || []; - this.check(); - }, - - empty: function () { - - } -}); -BI.Pane.EVENT_LOADED = "EVENT_LOADED"; \ No newline at end of file diff --git a/src/base/richeditor/bar/action.richeditor.js b/src/base/richeditor/bar/action.richeditor.js deleted file mode 100644 index f4b54ab113..0000000000 --- a/src/base/richeditor/bar/action.richeditor.js +++ /dev/null @@ -1,75 +0,0 @@ -/** - * - * Created by GUY on 2017/09/18. - * @class BI.TextToolbar - * @extends BI.Widget - */ -BI.RichEditorAction = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.RichEditorAction.superclass._defaultConfig.apply(this, arguments), { - width: 20, - height: 20, - command: "" - }); - }, - - _init: function () { - BI.RichEditorAction.superclass._init.apply(this, arguments); - var self = this, o = this.options; - o.editor.on(BI.NicEditor.EVENT_SELECTED, function (e) { - self.setEnable(true); - self.checkNodes(e.target); - self.key(e); - }); - o.editor.on(BI.NicEditor.EVENT_BLUR, function () { - self.setEnable(false); - }); - o.editor.on(BI.NicEditor.EVENT_KEYDOWN, BI.bind(this.keydown, this)); - }, - - checkNodes: function (e) { - if (!e) { - return false; - } - var elm = e; - do { - if (this.options.tags && this.options.tags.contains(elm.nodeName)) { - this.activate(); - return true; - } - } while (elm = elm.parentNode && elm.className && elm.className.indexOf("bi-nic-editor") >= -1); - elm = e; - while (elm.nodeType == 3) { - elm = elm.parentNode; - } - if (this.options.css) { - for (var itm in this.options.css) { - if ($(elm).css(itm) == this.options.css[itm]) { - this.activate(); - return true; - } - } - } - this.deactivate(); - return false; - }, - - key: function () { - - }, - - keydown: function () { - }, - - activate: function () { - }, - - deactivate: function () { - }, - - doCommand: function (args) { - if (this.options.command) { - this.options.editor.nicCommand(this.options.command, args); - } - } -}); \ No newline at end of file diff --git a/src/base/richeditor/bar/action.richeditor.param.js b/src/base/richeditor/bar/action.richeditor.param.js deleted file mode 100644 index 4da1c1b0ea..0000000000 --- a/src/base/richeditor/bar/action.richeditor.param.js +++ /dev/null @@ -1,102 +0,0 @@ -/** - * - * Created by GUY on 2017/09/18. - * @class BI.RichEditorParamAction - * @extends BI.Widget - */ -BI.RichEditorParamAction = BI.inherit(BI.RichEditorAction, { - _defaultConfig: function () { - return BI.extend(BI.RichEditorParamAction.superclass._defaultConfig.apply(this, arguments), {}); - }, - - _init: function () { - BI.RichEditorParamAction.superclass._init.apply(this, arguments); - }, - - _isParam: function (sel) { - return sel.attr("data-type") === "param"; - }, - - _createBlankNode: function () { - return $("").html(" "); - }, - - _addBlank: function ($param) { - var o = this.options; - var instance = o.editor.selectedInstance; - var next = $param.next(); - if (next.length === 0 || this._isParam(next)) { - var preNode = this._createBlankNode(); - var nextNode = this._createBlankNode(); - $param.before(preNode); - $param.after(nextNode); - instance.setFocus(nextNode[0]); - } else { - instance.setFocus(next[0]); - } - }, - - _get$Sel: function () { - var o = this.options; - var instance = o.editor.selectedInstance; - var sel = $(instance.selElm()); - if (sel[0].nodeType === 3 && this._isParam(sel.parent())) { - sel = sel.parent(); - } - return sel; - }, - - addParam: function (param) { - var o = this.options; - var sel = this._get$Sel(); - var $param = $("").attr({ - "data-type": "param", - "data-value": param - }).css({ - color: "white", - backgroundColor: "#009de3", - padding: "0 5px" - }).text(param).keydown(function (e) { - if (e.keyCode === BI.KeyCode.BACKSPACE || e.keyCode === BI.KeyCode.DELETE) { - $param.destroy(); - } - e.stopEvent(); - return false; - }); - var wrapper = o.editor.instance.getElm().element; - if (wrapper.find(sel).length <= 0) { - wrapper.append($param); - } else { - sel.after($param); - } - this._addBlank($param); - }, - - keydown: function (e) { - var o = this.options; - var sel = this._get$Sel(); - if (e.keyCode === 229) {//中文输入法 - if (this._isParam(sel)) { - this._addBlank(sel); - e.stopEvent(); - return false; - } - } - if (BI.Key[e.keyCode] || e.keyCode === BI.KeyCode.TAB || e.keyCode === BI.KeyCode.ENTER || e.keyCode === BI.KeyCode.SPACE) { - if (this._isParam(sel)) { - e.stopEvent(); - return false; - } - } - if (e.keyCode === BI.KeyCode.BACKSPACE || e.keyCode === BI.KeyCode.DELETE) { - if (this._isParam(sel)) { - sel.destroy(); - e.preventDefault(); - return false; - } - } - }, - - key: function (e) { - } -}); \ No newline at end of file diff --git a/src/base/richeditor/bar/texttoolbar.js b/src/base/richeditor/bar/texttoolbar.js deleted file mode 100644 index ddf8c76a67..0000000000 --- a/src/base/richeditor/bar/texttoolbar.js +++ /dev/null @@ -1,63 +0,0 @@ -/** - * 颜色选择 - * - * Created by GUY on 2015/11/26. - * @class BI.RichEditorTextToolbar - * @extends BI.Widget - */ -BI.RichEditorTextToolbar = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.RichEditorTextToolbar.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-rich-editor-text-toolbar bi-background", - buttons: [ - {type: "bi.rich_editor_size_chooser"}, - {type: "bi.rich_editor_bold_button"}, - {type: "bi.rich_editor_italic_button"}, - {type: "bi.rich_editor_underline_button"}, - {type: "bi.rich_editor_color_chooser"}, - {type: "bi.rich_editor_background_color_chooser"}, - {type: "bi.rich_editor_align_left_button"}, - {type: "bi.rich_editor_align_center_button"}, - {type: "bi.rich_editor_align_right_button"}, - {type: "bi.rich_editor_param_button"}, - ], - height: 28 - }); - }, - - _init: function () { - BI.RichEditorTextToolbar.superclass._init.apply(this, arguments); - var self = this, o = this.options; - BI.createWidget({ - type: "bi.left", - element: this, - items: BI.map(o.buttons, function (i, btn) { - return BI.extend(btn, { - editor: o.editor - }); - }), - hgap: 3, - vgap: 3 - }) - }, - - mounted: function () { - var self = this; - if (BI.isIE9Below()) {//IE8下必须要设置unselectable才能不blur输入框 - this.element.mousedown(function () { - self._noSelect(self.element[0]); - }); - this._noSelect(this.element[0]); - } - }, - - _noSelect: function (element) { - if (element.setAttribute && element.nodeName.toLowerCase() != 'input' && element.nodeName.toLowerCase() != 'textarea') { - element.setAttribute('unselectable', 'on'); - } - for (var i = 0; i < element.childNodes.length; i++) { - this._noSelect(element.childNodes[i]); - } - } -}); -BI.shortcut('bi.rich_editor_text_toolbar', BI.RichEditorTextToolbar); \ No newline at end of file diff --git a/src/base/richeditor/niceditor/niceditor.js b/src/base/richeditor/niceditor/niceditor.js deleted file mode 100644 index 5d70636c30..0000000000 --- a/src/base/richeditor/niceditor/niceditor.js +++ /dev/null @@ -1,280 +0,0 @@ -/** - * 富文本编辑器 - * - * Created by GUY on 2017/9/15. - * @class BI.NicEditor - * @extends BI.Widget - */ -!(function () { - BI.NicEditor = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.NicEditor.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-nic-editor" - }); - }, - _init: function () { - BI.NicEditor.superclass._init.apply(this, arguments); - var o = this.options; - $(document).bind("mousedown." + this.getName(), BI.bind(this.selectCheck, this)); - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [{ - type: "bi.layout", - height: 1 - }, this.instance = this.addInstance()] - }) - }, - - addInstance: function () { - var o = this.options; - var conf = { - ne: this, - height: o.height - 1, - maxHeight: o.maxHeight ? o.maxHeight : null - }; - if (this.element[0].contentEditable || !!window.opera) { - var newInstance = new nicEditorInstance(conf); - } else { - console.error("不支持此浏览器"); - } - return newInstance; - }, - - nicCommand: function (cmd, args) { - if (this.selectedInstance) { - this.selectedInstance.nicCommand(cmd, args); - } - }, - - selectCheck: function (e) { - var t = e.target; - var found = false; - do { - if (t.nodeName !== "svg" && t.className && t.className.indexOf(prefix) != -1) { - return; - // return false; - } - } while (t = t.parentNode); - this.fireEvent('blur', t); - this.lastSelectedInstance = this.selectedInstance; - this.selectedInstance = null; - // return false; - }, - - setValue: function (v) { - this.instance.setContent(v); - }, - - getValue: function () { - return this.instance.getContent(); - }, - - destroyed: function () { - $(document).unbind("mousedown." + this.getName()); - } - }); - BI.NicEditor.EVENT_SELECTED = "selected"; - BI.NicEditor.EVENT_BLUR = "blur"; - BI.NicEditor.EVENT_KEYDOWN = "keydown"; - BI.shortcut('bi.nic_editor', BI.NicEditor); - - var prefix = "niceditor-"; - - var nicEditorInstance = BI.inherit(BI.Layout, { - isSelected: false, - _init: function () { - nicEditorInstance.superclass._init.apply(this, arguments); - var o = this.options; - this.ne = this.options.ne; - this.elm = BI.createWidget({ - type: "bi.layout", - width: o.width - 8, - scrollable: false - }); - this.elm.element.css({ - margin: "4px", - minHeight: (o.height - 8) + "px", - outline: "none" - }).html(o.value); - - this.element.css("maxHeight", (o.maxHeight) ? o.maxHeight + 'px' : null); - - this.e = BI.createWidget({ - type: "bi.layout", - invisible: true, - tagName: "textarea" - }); - BI.createWidget({ - type: "bi.default", - element: this, - scrolly: true, - items: [this.elm, this.e] - }); - - this.ne.on("blur", BI.bind(this.blur, this)); - - this.start(); - this.blur(); - }, - - start: function () { - this.elm.element.attr("contentEditable", true); - if (this.getContent() == "") { - // this.setContent("
                                                                                                                                                                                                                                                                                                                      "); - } - this.instanceDoc = document.defaultView; - this.elm.element.on('mousedown', BI.bind(this.selected, this)); - this.elm.element.on('keydown', BI.bind(this.keyDown, this)); - this.elm.element.on('focus', BI.bind(this.selected, this)); - this.elm.element.on('blur', BI.bind(this.blur, this)); - this.elm.element.on('keyup', BI.bind(this.selected, this)); - this.ne.fireEvent('add'); - }, - - disable: function () { - this.elm.element.attr("contentEditable", false); - }, - - getSel: function () { - return (window.getSelection) ? window.getSelection() : document.selection; - }, - - getRng: function () { - var s = this.getSel(); - if (!s || s.rangeCount === 0) { - return; - } - return (s.rangeCount > 0) ? s.getRangeAt(0) : s.createRange(); - }, - - selRng: function (rng, s) { - if (window.getSelection) { - s.removeAllRanges(); - s.addRange(rng); - } else { - rng.select(); - } - }, - - selElm: function () { - var r = this.getRng(); - if (!r) { - return; - } - if (r.startContainer) { - var contain = r.startContainer; - if (r.cloneContents().childNodes.length == 1) { - for (var i = 0; i < contain.childNodes.length; i++) { - var rng = contain.childNodes[i].ownerDocument.createRange(); - rng.selectNode(contain.childNodes[i]); - if (r.compareBoundaryPoints(Range.START_TO_START, rng) != 1 && - r.compareBoundaryPoints(Range.END_TO_END, rng) != -1) { - return contain.childNodes[i]; - } - } - } - return contain; - } else { - return (this.getSel().type == "Control") ? r.item(0) : r.parentElement(); - } - }, - - saveRng: function () { - this.savedRange = this.getRng(); - this.savedSel = this.getSel(); - }, - - setFocus: function (el) { - try { - el.focus(); - } catch (e) { - - } - if (!window.getSelection) { - var rng; - try { - el.focus(); - } catch (e) { - - } - rng = document.selection.createRange(); - rng.moveStart('character', -el.innerText.length); - var text = rng.text; - for (var i = 0; i < el.innerText.length; i++) { - if (el.innerText.substring(0, i + 1) == text.substring(text.length - i - 1, text.length)) { - result = i + 1; - } - } - } else { - var range = document.createRange(); - range.selectNodeContents(el); - range.collapse(false); - var sel = window.getSelection(); - sel.removeAllRanges(); - sel.addRange(range); - } - }, - - restoreRng: function () { - if (this.savedRange) { - this.selRng(this.savedRange, this.savedSel); - } - }, - - keyDown: function (e, t) { - this.ne.fireEvent('keydown', e); - }, - - selected: function (e) { - var t = e.target; - if (!t && !(t = this.selElm())) { - t = this.selElm(); - } - if (!e.ctrlKey) { - var selInstance = this.ne.selectedInstance; - if (selInstance != this) { - if (selInstance) { - this.ne.fireEvent('blur', e); - } - this.ne.selectedInstance = this; - this.ne.fireEvent('focus', e); - } - this.ne.fireEvent('selected', e); - this.isFocused = true; - this.elm.element.addClass(prefix + 'selected'); - } - // return false; - }, - - blur: function () { - this.isFocused = false; - this.elm.element.removeClass(prefix + 'selected'); - }, - - saveContent: function () { - this.ne.fireEvent('save'); - this.e.element.value(this.getContent()); - }, - - getElm: function () { - return this.elm; - }, - - getContent: function () { - this.content = this.getElm().element.html(); - this.ne.fireEvent('get'); - return this.content; - }, - - setContent: function (e) { - this.content = e; - this.ne.fireEvent('set'); - this.elm.element.html(this.content); - }, - - nicCommand: function (cmd, args) { - document.execCommand(cmd, false, args); - } - }); -}()); diff --git a/src/base/richeditor/plugins/backgroundchooser/trigger.backgroundchooser.js b/src/base/richeditor/plugins/backgroundchooser/trigger.backgroundchooser.js deleted file mode 100644 index b997068efb..0000000000 --- a/src/base/richeditor/plugins/backgroundchooser/trigger.backgroundchooser.js +++ /dev/null @@ -1,52 +0,0 @@ -/** - * 颜色选择trigger - * - * Created by GUY on 2015/11/26. - * @class BI.RichEditorBackgroundChooserTrigger - * @extends BI.Widget - */ -BI.RichEditorBackgroundChooserTrigger = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.RichEditorBackgroundChooserTrigger.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - width: 20, - height: 20 - }); - }, - - _init: function () { - BI.RichEditorBackgroundChooserTrigger.superclass._init.apply(this, arguments); - this.font = BI.createWidget({ - type: "bi.icon_button", - cls: "text-background-font" - }); - - this.underline = BI.createWidget({ - type: "bi.icon_button", - cls: "text-color-underline-font" - }); - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.font, - top: 2, - left: 2 - }, { - el: this.underline, - top: 7, - left: 2 - }] - }) - }, - - setValue: function (color) { - this.underline.element.css("color", color); - }, - - getValue: function () { - return this.font.element.css("color"); - } -}); -BI.shortcut('bi.rich_editor_background_color_chooser_trigger', BI.RichEditorBackgroundChooserTrigger); \ No newline at end of file diff --git a/src/base/richeditor/plugins/button.align.center.js b/src/base/richeditor/plugins/button.align.center.js deleted file mode 100644 index 3107da63b6..0000000000 --- a/src/base/richeditor/plugins/button.align.center.js +++ /dev/null @@ -1,38 +0,0 @@ -/** - * - * Created by GUY on 2015/11/26. - * @class BI.RichEditorAlignCenterButton - * @extends BI.RichEditorAction - */ -BI.RichEditorAlignCenterButton = BI.inherit(BI.RichEditorAction, { - _defaultConfig: function () { - return BI.extend(BI.RichEditorAlignCenterButton.superclass._defaultConfig.apply(this, arguments), { - width: 20, - height: 20, - command: "justifycenter" - }); - }, - - _init: function () { - BI.RichEditorAlignCenterButton.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.align = BI.createWidget({ - type: "bi.icon_button", - element: this, - forceNotSelected: true, - title: BI.i18nText("BI-Word_Align_Center"), - height: 20, - width: 20, - cls: "text-toolbar-button bi-list-item-active text-align-center-font", - }); - this.align.on(BI.IconButton.EVENT_CHANGE, function () { - self.doCommand(); - }); - }, - activate: function () { - }, - - deactivate: function () { - } -}); -BI.shortcut("bi.rich_editor_align_center_button", BI.RichEditorAlignCenterButton) \ No newline at end of file diff --git a/src/base/richeditor/plugins/button.align.left.js b/src/base/richeditor/plugins/button.align.left.js deleted file mode 100644 index 127777aa5e..0000000000 --- a/src/base/richeditor/plugins/button.align.left.js +++ /dev/null @@ -1,38 +0,0 @@ -/** - * - * Created by GUY on 2015/11/26. - * @class BI.RichEditorAlignLeftButton - * @extends BI.RichEditorAction - */ -BI.RichEditorAlignLeftButton = BI.inherit(BI.RichEditorAction, { - _defaultConfig: function () { - return BI.extend(BI.RichEditorAlignLeftButton.superclass._defaultConfig.apply(this, arguments), { - width: 20, - height: 20, - command: "justifyleft" - }); - }, - - _init: function () { - BI.RichEditorAlignLeftButton.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.align = BI.createWidget({ - type: "bi.icon_button", - element: this, - forceNotSelected: true, - title: BI.i18nText("BI-Word_Align_Left"), - height: 20, - width: 20, - cls: "text-toolbar-button bi-list-item-active text-align-left-font", - }); - this.align.on(BI.IconButton.EVENT_CHANGE, function () { - self.doCommand(); - }); - }, - activate: function () { - }, - - deactivate: function () { - } -}); -BI.shortcut("bi.rich_editor_align_left_button", BI.RichEditorAlignLeftButton) \ No newline at end of file diff --git a/src/base/richeditor/plugins/button.align.right.js b/src/base/richeditor/plugins/button.align.right.js deleted file mode 100644 index ecf49508da..0000000000 --- a/src/base/richeditor/plugins/button.align.right.js +++ /dev/null @@ -1,38 +0,0 @@ -/** - * - * Created by GUY on 2015/11/26. - * @class BI.RichEditorAlignRightButton - * @extends BI.RichEditorAction - */ -BI.RichEditorAlignRightButton = BI.inherit(BI.RichEditorAction, { - _defaultConfig: function () { - return BI.extend(BI.RichEditorAlignRightButton.superclass._defaultConfig.apply(this, arguments), { - width: 20, - height: 20, - command: "justifyright" - }); - }, - - _init: function () { - BI.RichEditorAlignRightButton.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.align = BI.createWidget({ - type: "bi.icon_button", - element: this, - forceNotSelected: true, - title: BI.i18nText("BI-Word_Align_Right"), - height: 20, - width: 20, - cls: "text-toolbar-button bi-list-item-active text-align-right-font", - }); - this.align.on(BI.IconButton.EVENT_CHANGE, function () { - self.doCommand(); - }); - }, - activate: function () { - }, - - deactivate: function () { - } -}); -BI.shortcut("bi.rich_editor_align_right_button", BI.RichEditorAlignRightButton) \ No newline at end of file diff --git a/src/base/richeditor/plugins/button.bold.js b/src/base/richeditor/plugins/button.bold.js deleted file mode 100644 index 4bd8933293..0000000000 --- a/src/base/richeditor/plugins/button.bold.js +++ /dev/null @@ -1,41 +0,0 @@ -/** - * - * Created by GUY on 2015/11/26. - * @class BI.RichEditorBoldButton - * @extends BI.RichEditorAction - */ -BI.RichEditorBoldButton = BI.inherit(BI.RichEditorAction, { - _defaultConfig: function () { - return BI.extend(BI.RichEditorBoldButton.superclass._defaultConfig.apply(this, arguments), { - width: 20, - height: 20, - command: "Bold", - tags: ["B", "STRONG"], - css: {fontWeight: "bold"} - }); - }, - - _init: function () { - BI.RichEditorBoldButton.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.bold = BI.createWidget({ - type: "bi.icon_button", - element: this, - title: BI.i18nText("BI-Basic_Bold"), - height: 20, - width: 20, - cls: "text-toolbar-button bi-list-item-active text-bold-font", - }); - this.bold.on(BI.IconButton.EVENT_CHANGE, function () { - self.doCommand(); - }); - }, - activate: function () { - this.bold.setSelected(true); - }, - - deactivate: function () { - this.bold.setSelected(false); - }, -}); -BI.shortcut("bi.rich_editor_bold_button", BI.RichEditorBoldButton) \ No newline at end of file diff --git a/src/base/richeditor/plugins/button.italic.js b/src/base/richeditor/plugins/button.italic.js deleted file mode 100644 index c532f6153c..0000000000 --- a/src/base/richeditor/plugins/button.italic.js +++ /dev/null @@ -1,41 +0,0 @@ -/** - * - * Created by GUY on 2015/11/26. - * @class BI.RichEditorItalicButton - * @extends BI.RichEditorAction - */ -BI.RichEditorItalicButton = BI.inherit(BI.RichEditorAction, { - _defaultConfig: function () { - return BI.extend(BI.RichEditorItalicButton.superclass._defaultConfig.apply(this, arguments), { - width: 20, - height: 20, - command: "Italic", - tags: ["EM", "I"], - css: {fontStyle: "italic"} - }); - }, - - _init: function () { - BI.RichEditorItalicButton.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.italic = BI.createWidget({ - type: "bi.icon_button", - element: this, - title: BI.i18nText("BI-Basic_Italic"), - height: 20, - width: 20, - cls: "text-toolbar-button bi-list-item-active text-italic-font", - }); - this.italic.on(BI.IconButton.EVENT_CHANGE, function () { - self.doCommand(); - }); - }, - activate: function () { - this.italic.setSelected(true); - }, - - deactivate: function () { - this.italic.setSelected(false); - }, -}); -BI.shortcut("bi.rich_editor_italic_button", BI.RichEditorItalicButton) \ No newline at end of file diff --git a/src/base/richeditor/plugins/button.param.js b/src/base/richeditor/plugins/button.param.js deleted file mode 100644 index fa3d155d89..0000000000 --- a/src/base/richeditor/plugins/button.param.js +++ /dev/null @@ -1,37 +0,0 @@ -/** - * - * Created by GUY on 2015/11/26. - * @class BI.RichEditorParamButton - * @extends BI.RichEditorParamAction - */ -BI.RichEditorParamButton = BI.inherit(BI.RichEditorParamAction, { - _defaultConfig: function () { - return BI.extend(BI.RichEditorParamButton.superclass._defaultConfig.apply(this, arguments), { - width: 20, - height: 20, - }); - }, - - _init: function () { - BI.RichEditorParamButton.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.param = BI.createWidget({ - type: "bi.button", - element: this, - level: "ignore", - minWidth: 0, - text: BI.i18nText("BI-Formula_Insert"), - height: 20, - width: 30 - }); - this.param.on(BI.Button.EVENT_CHANGE, function () { - self.addParam("参数") - }); - }, - activate: function () { - }, - - deactivate: function () { - } -}); -BI.shortcut("bi.rich_editor_param_button", BI.RichEditorParamButton) \ No newline at end of file diff --git a/src/base/richeditor/plugins/button.underline.js b/src/base/richeditor/plugins/button.underline.js deleted file mode 100644 index 10048aba56..0000000000 --- a/src/base/richeditor/plugins/button.underline.js +++ /dev/null @@ -1,41 +0,0 @@ -/** - * - * Created by GUY on 2015/11/26. - * @class BI.RichEditorItalicButton - * @extends BI.RichEditorAction - */ -BI.RichEditorUnderlineButton = BI.inherit(BI.RichEditorAction, { - _defaultConfig: function () { - return BI.extend(BI.RichEditorUnderlineButton.superclass._defaultConfig.apply(this, arguments), { - width: 20, - height: 20, - command: "Underline", - tags: ["U"], - css: {textDecoration: "underline"} - }); - }, - - _init: function () { - BI.RichEditorUnderlineButton.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.underline = BI.createWidget({ - type: "bi.icon_button", - element: this, - title: BI.i18nText("BI-Basic_Underline"), - height: 20, - width: 20, - cls: "text-toolbar-button bi-list-item-active text-underline-font", - }); - this.underline.on(BI.IconButton.EVENT_CHANGE, function () { - self.doCommand(); - }); - }, - activate: function () { - this.underline.setSelected(true); - }, - - deactivate: function () { - this.underline.setSelected(false); - }, -}); -BI.shortcut("bi.rich_editor_underline_button", BI.RichEditorUnderlineButton) \ No newline at end of file diff --git a/src/base/richeditor/plugins/colorchooser/trigger.colorchooser.js b/src/base/richeditor/plugins/colorchooser/trigger.colorchooser.js deleted file mode 100644 index 298b9d8523..0000000000 --- a/src/base/richeditor/plugins/colorchooser/trigger.colorchooser.js +++ /dev/null @@ -1,52 +0,0 @@ -/** - * 颜色选择trigger - * - * Created by GUY on 2015/11/26. - * @class BI.RichEditorColorChooserTrigger - * @extends BI.Widget - */ -BI.RichEditorColorChooserTrigger = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.RichEditorColorChooserTrigger.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - width: 20, - height: 20 - }); - }, - - _init: function () { - BI.RichEditorColorChooserTrigger.superclass._init.apply(this, arguments); - this.font = BI.createWidget({ - type: "bi.icon_button", - cls: "text-color-font" - }); - - this.underline = BI.createWidget({ - type: "bi.icon_button", - cls: "text-color-underline-font" - }); - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.font, - top: 2, - left: 2 - }, { - el: this.underline, - top: 7, - left: 2 - }] - }) - }, - - setValue: function (color) { - this.underline.element.css("color", color); - }, - - getValue: function () { - return this.font.element.css("color"); - } -}); -BI.shortcut('bi.rich_editor_color_chooser_trigger', BI.RichEditorColorChooserTrigger); \ No newline at end of file diff --git a/src/base/richeditor/plugins/combo.backgroundcolorchooser.js b/src/base/richeditor/plugins/combo.backgroundcolorchooser.js deleted file mode 100644 index 287c851445..0000000000 --- a/src/base/richeditor/plugins/combo.backgroundcolorchooser.js +++ /dev/null @@ -1,43 +0,0 @@ -/** - * 颜色选择 - * - * Created by GUY on 2015/11/26. - * @class BI.RichEditorBackgroundColorChooser - * @extends BI.RichEditorAction - */ -BI.RichEditorBackgroundColorChooser = BI.inherit(BI.RichEditorAction, { - _defaultConfig: function () { - return BI.extend(BI.RichEditorBackgroundColorChooser.superclass._defaultConfig.apply(this, arguments), { - width: 20, - height: 20, - }); - }, - - _init: function () { - BI.RichEditorBackgroundColorChooser.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.colorchooser = BI.createWidget({ - type: "bi.color_chooser", - element: this, - width: o.width, - height: o.height, - el: { - type: "bi.rich_editor_background_color_chooser_trigger", - title: BI.i18nText("BI-Widget_Background_Colour"), - cls: "text-toolbar-button" - } - }); - this.colorchooser.on(BI.ColorChooser.EVENT_CHANGE, function () { - var backgroundColor = this.getValue(); - o.editor.element.css({ - backgroundColor: backgroundColor, - color: BI.DOM.getContrastColor(backgroundColor) - }); - this.setValue(""); - }); - }, - - deactivate: function () { - } -}); -BI.shortcut('bi.rich_editor_background_color_chooser', BI.RichEditorBackgroundColorChooser); \ No newline at end of file diff --git a/src/base/richeditor/plugins/combo.colorchooser.js b/src/base/richeditor/plugins/combo.colorchooser.js deleted file mode 100644 index f4fd163355..0000000000 --- a/src/base/richeditor/plugins/combo.colorchooser.js +++ /dev/null @@ -1,41 +0,0 @@ -/** - * 颜色选择 - * - * Created by GUY on 2015/11/26. - * @class BI.RichEditorColorChooser - * @extends BI.RichEditorAction - */ -BI.RichEditorColorChooser = BI.inherit(BI.RichEditorAction, { - _defaultConfig: function () { - return BI.extend(BI.RichEditorColorChooser.superclass._defaultConfig.apply(this, arguments), { - width: 20, - height: 20, - command: "foreColor" - }); - }, - - _init: function () { - BI.RichEditorColorChooser.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.colorchooser = BI.createWidget({ - type: "bi.color_chooser", - element: this, - width: o.width, - height: o.height, - el: { - type: "bi.rich_editor_color_chooser_trigger", - title: BI.i18nText("BI-Font_Colour"), - cls: "text-toolbar-button" - } - }); - this.colorchooser.on(BI.ColorChooser.EVENT_CHANGE, function () { - self.doCommand(this.getValue()); - }); - - }, - - deactivate: function () { - this.colorchooser.setValue(""); - } -}); -BI.shortcut('bi.rich_editor_color_chooser', BI.RichEditorColorChooser); \ No newline at end of file diff --git a/src/base/richeditor/plugins/combo.sizechooser.js b/src/base/richeditor/plugins/combo.sizechooser.js deleted file mode 100644 index 196fc27a45..0000000000 --- a/src/base/richeditor/plugins/combo.sizechooser.js +++ /dev/null @@ -1,76 +0,0 @@ -/** - * 字体大小选择 - * - * Created by GUY on 2015/11/26. - * @class BI.RichEditorSizeChooser - * @extends BI.RichEditorAction - */ -BI.RichEditorSizeChooser = BI.inherit(BI.RichEditorAction, { - _defaultConfig: function () { - return BI.extend(BI.RichEditorSizeChooser.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-rich-editor-size-chooser bi-border bi-card", - command: "FontSize", - width: 50, - height: 20 - }); - }, - - _items: [{ - value: 1, - text: "1(8pt)" - }, { - value: 2, - text: "2(10pt)" - }, { - value: 3, - text: "3(12pt)" - }, { - value: 4, - text: "4(14pt)" - }, { - value: 5, - text: "5(18pt)" - }, { - value: 6, - text: "6(24pt)" - }], - - _init: function () { - BI.RichEditorSizeChooser.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.trigger = BI.createWidget({ - type: "bi.text_trigger", - readonly: true, - height: o.height, - triggerWidth: 16, - text: BI.i18nText("BI-Font_Size") - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - el: this.trigger, - adjustLength: 1, - popup: { - maxWidth: 70, - minWidth: 70, - el: { - type: "bi.button_group", - items: BI.createItems(this._items, { - type: "bi.single_select_item" - }), - layouts: [{ - type: "bi.vertical" - }] - } - } - }); - this.combo.on(BI.Combo.EVENT_CHANGE, function () { - var val = this.getValue()[0]; - self.doCommand(val); - this.hideView(); - this.setValue([]); - }) - } -}); -BI.shortcut('bi.rich_editor_size_chooser', BI.RichEditorSizeChooser); \ No newline at end of file diff --git a/src/base/richeditor/richeditor.js b/src/base/richeditor/richeditor.js deleted file mode 100644 index 8bd3e08e27..0000000000 --- a/src/base/richeditor/richeditor.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * 富文本编辑器 - * - * Created by GUY on 2017/9/15. - * @class BI.RichEditor - * @extends BI.Widget - */ -BI.RichEditor = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.RichEditor.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-rich-editor bi-card", - toolbar: {} - }); - }, - _init: function () { - BI.RichEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: "bi.nic_editor", - width: o.width, - height: o.height - }); - - this.editor.on(BI.NicEditor.EVENT_BLUR, function () { - self.fireEvent(BI.RichEditor.EVENT_CONFIRM); - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - toggle: false, - direction: "top", - isNeedAdjustWidth: false, - isNeedAdjustHeight: false, - adjustLength: 1, - el: this.editor, - popup: { - el: BI.extend({ - type: "bi.rich_editor_text_toolbar", - editor: this.editor - }, o.toolbar), - height: 30, - stopPropagation: true, - stopEvent: true - } - }); - - this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW, function () { - }); - }, - - setValue: function (v) { - this.editor.setValue(v); - }, - - getValue: function () { - return this.editor.getValue(); - } -}); -BI.RichEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.shortcut('bi.rich_editor', BI.RichEditor); \ No newline at end of file diff --git a/src/base/single/a/a.js b/src/base/single/a/a.js deleted file mode 100644 index d721337e1f..0000000000 --- a/src/base/single/a/a.js +++ /dev/null @@ -1,32 +0,0 @@ -/** - * 超链接 - * - * Created by GUY on 2015/9/9. - * @class BI.A - * @extends BI.Text - * @abstract - */ -BI.A = BI.inherit(BI.Text, { - _defaultConfig: function () { - var conf = BI.A.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-a display-block", - href: "", - target: "_blank", - el: null, - element: "" - }) - }, - _init: function () { - var o = this.options; - BI.A.superclass._init.apply(this, arguments); - this.element.attr({href: o.href, target: o.target}); - if (o.el) { - BI.createWidget(o.el, { - element: this - }); - } - } -}); - -BI.shortcut("bi.a", BI.A); \ No newline at end of file diff --git a/src/base/single/bar/bar.loading.js b/src/base/single/bar/bar.loading.js deleted file mode 100644 index 78a07bc453..0000000000 --- a/src/base/single/bar/bar.loading.js +++ /dev/null @@ -1,84 +0,0 @@ -/** - * guy - * 加载条 - * @type {*|void|Object} - */ -BI.LoadingBar = BI.inherit(BI.Single, { - consts: { - loadedText: BI.i18nText("BI-Load_More"), - endText: BI.i18nText("BI-No_More_Data") - }, - _defaultConfig: function() { - var conf = BI.LoadingBar.superclass._defaultConfig.apply(this, arguments); - return BI.extend( conf, { - baseCls : (conf.baseCls ||"")+' bi-loading-bar bi-tips', - height: 30, - handler: BI.emptyFn - }) - }, - _init : function() { - BI.LoadingBar.superclass._init.apply(this, arguments); - var self = this; - this.loaded = BI.createWidget({ - type: "bi.text_button", - cls: "loading-text bi-list-item-simple", - text: this.consts.loadedText, - width: 120, - handler: this.options.handler - }) - this.loaded.on(BI.Controller.EVENT_CHANGE, function(type){ - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }) - - this.loading = BI.createWidget({ - type: "bi.layout", - width: this.options.height, - height:this.options.height, - cls: "loading-background cursor-default" - }) - var loaded = BI.createWidget({ - type: "bi.center_adapt", - items: [this.loaded] - }) - var loading = BI.createWidget({ - type: "bi.center_adapt", - items: [this.loading] - }) - this.cardLayout = BI.createWidget({ - type: "bi.card", - element: this, - items: [{ - el: loaded, - cardName: "loaded" - }, { - el: loading, - cardName: "loading" - }] - }) - this.invisible(); - }, - - _reset: function(){ - this.visible(); - this.loaded.setText(this.consts.loadedText); - this.loaded.enable(); - }, - - setLoaded: function(){ - this._reset(); - this.cardLayout.showCardByName("loaded"); - }, - - setEnd: function(){ - this.setLoaded(); - this.loaded.setText(this.consts.endText); - this.loaded.disable(); - }, - - setLoading: function(){ - this._reset(); - this.cardLayout.showCardByName("loading"); - } -}); - -BI.shortcut("bi.loading_bar", BI.LoadingBar); \ No newline at end of file diff --git a/src/base/single/button/button.basic.js b/src/base/single/button/button.basic.js deleted file mode 100644 index fd07fc7362..0000000000 --- a/src/base/single/button/button.basic.js +++ /dev/null @@ -1,343 +0,0 @@ -/** - * guy - * @class BI.BasicButton - * @extends BI.Single - * - * 一般的button父级 - */ -BI.BasicButton = BI.inherit(BI.Single, { - _defaultConfig: function () { - var conf = BI.BasicButton.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-basic-button" + (conf.invalid ? "" : " cursor-pointer"), - value: "", - text: "", - stopEvent: false, - stopPropagation: false, - selected: false, - once: false, //点击一次选中有效,再点无效 - forceSelected: false, //点击即选中, 选中了就不会被取消,与once的区别是forceSelected不影响事件的触发 - forceNotSelected: false, //无论怎么点击都不会被选中 - disableSelected: false, //使能选中 - - shadow: false, - isShadowShowingOnSelected: false, //选中状态下是否显示阴影 - trigger: null, - handler: BI.emptyFn - }) - }, - _init: function () { - BI.BasicButton.superclass._init.apply(this, arguments); - var opts = this.options; - if (opts.selected === true) { - BI.nextTick(BI.bind(function () { - this.setSelected(opts.selected); - }, this)); - } - BI.nextTick(BI.bind(this.bindEvent, this)); - - if (opts.shadow) { - this._createShadow(); - } - }, - - _createShadow: function () { - var self = this, o = this.options; - - var assertMask = function () { - if (!self.$mask) { - self.$mask = BI.createWidget(BI.isObject(o.shadow) ? o.shadow : {}, { - type: "bi.layout", - cls: "bi-button-mask" - }); - self.$mask.invisible(); - BI.createWidget({ - type: "bi.absolute", - element: self, - items: [{ - el: self.$mask, - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - } - }; - - this.element.mouseup(function () { - if (!self._hover && !o.isShadowShowingOnSelected) { - assertMask(); - self.$mask.invisible(); - } - }); - this.element.on("mouseenter." + this.getName(), function (e) { - if (self.element.__isMouseInBounds__(e)) { - if (self.isEnabled() && !self._hover && (o.isShadowShowingOnSelected || !self.isSelected())) { - assertMask(); - self.$mask.visible(); - } - } - }); - this.element.on("mousemove." + this.getName(), function (e) { - if (!self.element.__isMouseInBounds__(e)) { - if (self.isEnabled() && !self._hover) { - assertMask(); - self.$mask.invisible(); - } - } - }); - this.element.on("mouseleave." + this.getName(), function () { - if (self.isEnabled() && !self._hover) { - assertMask(); - self.$mask.invisible(); - } - }); - }, - - bindEvent: function () { - var self = this; - var o = this.options, hand = this.handle(); - if (!hand) { - return; - } - hand = hand.element; - var triggerArr = (o.trigger || "").split(","); - BI.each(triggerArr, function (idx, trigger) { - switch (trigger) { - case "mouseup": - var mouseDown = false; - hand.mousedown(function () { - mouseDown = true; - ev(e); - }); - hand.mouseup(function (e) { - if (mouseDown === true) { - clk(e); - } - mouseDown = false; - ev(e); - }); - break; - case "mousedown": - var mouseDown = false; - var selected = false; - hand.mousedown(function (e) { - // if (e.button === 0) { - $(document).bind("mouseup." + self.getName(), function (e) { - // if (e.button === 0) { - if (BI.DOM.isExist(self) && !hand.__isMouseInBounds__(e) && mouseDown === true && !selected) { - // self.setSelected(!self.isSelected()); - self._trigger(); - } - mouseDown = false; - $(document).unbind("mouseup." + self.getName()); - // } - }); - if (mouseDown === true) { - return; - } - if (self.isSelected()) { - selected = true; - } else { - clk(e); - } - mouseDown = true; - ev(e); - // } - }); - hand.mouseup(function (e) { - // if (e.button === 0) { - if (BI.DOM.isExist(self) && mouseDown === true && selected === true) { - clk(e); - } - mouseDown = false; - selected = false; - $(document).unbind("mouseup." + self.getName()); - // } - }); - break; - case "dblclick": - hand.dblclick(clk); - break; - case "lclick": - var mouseDown = false; - var interval; - hand.mousedown(function (e) { - $(document).bind("mouseup." + self.getName(), function (e) { - interval && clearInterval(interval); - interval = null; - mouseDown = false; - $(document).unbind("mouseup." + self.getName()); - }); - if (mouseDown === true) { - return; - } - if (!self.isEnabled() || (self.isOnce() && self.isSelected())) { - return; - } - interval = setInterval(function () { - if(self.isEnabled()){ - self.doClick(); - } - }, 100); - mouseDown = true; - ev(e); - }); - break; - default: - if (o.stopEvent || o.stopPropagation) { - hand.mousedown(function (e) { - ev(e); - }); - hand.mouseup(function (e) { - ev(e); - }); - } - hand.click(clk); - break; - } - }); - - //之后的300ms点击无效 - var onClick = BI.debounce(this._doClick, BI.EVENT_RESPONSE_TIME, true); - - function ev(e) { - if (o.stopEvent) { - e.stopEvent(); - } - if (o.stopPropagation) { - e.stopPropagation(); - } - } - - function clk(e) { - ev(e); - if (!self.isEnabled() || (self.isOnce() && self.isSelected())) { - return; - } - onClick.apply(self, arguments); - } - }, - - _trigger: function () { - var o = this.options; - if(!this.isEnabled()){ - return; - } - if (!this.isDisableSelected()) { - this.isForceSelected() ? this.setSelected(true) : - (this.isForceNotSelected() ? this.setSelected(false) : - this.setSelected(!this.isSelected())); - } - if (this.isValid()) { - o.handler.call(this, this.getValue(), this); - var v = this.getValue(); - this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.CLICK, v, this); - this.fireEvent(BI.BasicButton.EVENT_CHANGE, v, this); - } - }, - - _doClick: function (e) { - if (this.isValid()) { - this.beforeClick(e); - } - this._trigger(); - if (this.isValid()) { - this.doClick(e); - } - }, - - beforeClick: function () { - - }, - - doClick: function () { - - }, - - handle: function () { - return this; - }, - - hover: function () { - this._hover = true; - this.handle().element.addClass("hover"); - if (this.options.shadow) { - this.$mask && this.$mask.setVisible(true); - } - }, - - dishover: function () { - this._hover = false; - this.handle().element.removeClass("hover"); - if (this.options.shadow) { - this.$mask && this.$mask.setVisible(false); - } - }, - - setSelected: function (b) { - var o = this.options; - o.selected = b; - if (b) { - this.handle().element.addClass("active"); - } else { - this.handle().element.removeClass("active"); - } - if (o.shadow && !o.isShadowShowingOnSelected) { - this.$mask && this.$mask.setVisible(false); - } - }, - - isSelected: function () { - return this.options.selected; - }, - - isOnce: function () { - return this.options.once; - }, - - isForceSelected: function () { - return this.options.forceSelected; - }, - - isForceNotSelected: function () { - return this.options.forceNotSelected; - }, - - isDisableSelected: function () { - return this.options.disableSelected; - }, - - setText: function (text) { - this.options.text = text; - }, - - getText: function () { - return this.options.text; - }, - - _setEnable: function (enable) { - BI.BasicButton.superclass._setEnable.apply(this, arguments); - if (enable === true) { - this.element.removeClass("base-disabled disabled"); - } else if (enable === false) { - this.element.addClass("base-disabled disabled"); - } - if (!enable) { - if (this.options.shadow) { - this.$mask && this.$mask.setVisible(false); - } - } - }, - - empty: function () { - $(document).unbind("mouseup." + this.getName()); - BI.BasicButton.superclass.empty.apply(this, arguments); - }, - - destroy: function () { - BI.BasicButton.superclass.destroy.apply(this, arguments); - } -}); -BI.BasicButton.EVENT_CHANGE = "BasicButton.EVENT_CHANGE"; \ No newline at end of file diff --git a/src/base/single/button/button.node.js b/src/base/single/button/button.node.js deleted file mode 100644 index fbc18a9f7d..0000000000 --- a/src/base/single/button/button.node.js +++ /dev/null @@ -1,56 +0,0 @@ -/** - * 表示一个可以展开的节点, 不仅有选中状态而且有展开状态 - * - * Created by GUY on 2015/9/9. - * @class BI.NodeButton - * @extends BI.BasicButton - * @abstract - */ -BI.NodeButton = BI.inherit(BI.BasicButton, { - _defaultConfig: function() { - var conf = BI.NodeButton.superclass._defaultConfig.apply(this, arguments); - return BI.extend( conf, { - baseCls: (conf.baseCls || "") + " bi-node", - open: false - }) - }, - - _init:function() { - BI.NodeButton.superclass._init.apply(this, arguments); - var self = this; - BI.nextTick(function(){ - self.setOpened(self.isOpened()); - }) - }, - - doClick: function(){ - BI.NodeButton.superclass.doClick.apply(this, arguments); - this.setOpened(!this.isOpened()); - }, - - isOnce: function(){ - return false; - }, - - isOpened: function(){ - return !!this.options.open; - }, - - setOpened: function(b){ - this.options.open = !!b; - }, - - triggerCollapse: function(){ - if(this.isOpened()) { - this.setOpened(false); - this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.COLLAPSE, this.getValue(), this); - } - }, - - triggerExpand: function(){ - if(!this.isOpened()) { - this.setOpened(true); - this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EXPAND, this.getValue(), this); - } - } -}); \ No newline at end of file diff --git a/src/base/single/button/buttons/button.icon.js b/src/base/single/button/buttons/button.icon.js deleted file mode 100644 index 1793df636c..0000000000 --- a/src/base/single/button/buttons/button.icon.js +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @class BI.IconButton - * @extends BI.BasicButton - * 图标的button - */ -BI.IconButton = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - var conf = BI.IconButton.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-icon-button horizon-center", - iconWidth: null, - iconHeight: null - }) - }, - - _init: function () { - BI.IconButton.superclass._init.apply(this, arguments); - var o = this.options; - this.element.css({ - textAlign: 'center' - }); - this.icon = BI.createWidget({ - type: 'bi.icon', - width: o.iconWidth, - height: o.iconHeight - }); - if (BI.isNumber(o.height) && o.height > 0 && BI.isNull(o.iconWidth) && BI.isNull(o.iconHeight)) { - this.element.css("lineHeight", o.height + "px"); - BI.createWidget({ - type: "bi.default", - element: this, - items: [this.icon] - }) - } else { - BI.createWidget({ - element: this, - type: 'bi.center_adapt', - items: [this.icon] - }); - } - }, - - doClick: function () { - BI.IconButton.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.IconButton.EVENT_CHANGE, this); - } - } -}); -BI.IconButton.EVENT_CHANGE = "IconButton.EVENT_CHANGE"; -BI.shortcut("bi.icon_button", BI.IconButton); \ No newline at end of file diff --git a/src/base/single/button/buttons/button.image.js b/src/base/single/button/buttons/button.image.js deleted file mode 100644 index 5e6467fe8b..0000000000 --- a/src/base/single/button/buttons/button.image.js +++ /dev/null @@ -1,87 +0,0 @@ -/** - * 图片的button - * - * Created by GUY on 2016/1/27. - * @class BI.ImageButton - * @extends BI.BasicButton - */ -BI.ImageButton = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - var conf = BI.ImageButton.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-image-button", - src: "", - iconWidth: "100%", - iconHeight: "100%" - }) - }, - - _init: function () { - BI.ImageButton.superclass._init.apply(this, arguments); - var o = this.options; - this.image = BI.createWidget({ - type: "bi.img", - width: o.iconWidth, - height: o.iconHeight, - src: o.src - }); - if (BI.isNumber(o.iconWidth) || BI.isNumber(o.iconHeight)) { - BI.createWidget({ - type: "bi.center_adapt", - element: this, - items: [this.image] - }) - } else { - BI.createWidget({ - type: "bi.adaptive", - element: this, - items: [this.image], - scrollable: false - }) - } - }, - - setWidth: function (w) { - BI.ImageButton.superclass.setWidth.apply(this, arguments); - this.options.width = w; - }, - - setHeight: function (h) { - BI.ImageButton.superclass.setHeight.apply(this, arguments); - this.options.height = h; - }, - - setImageWidth: function (w) { - this.image.setWidth(w); - }, - - setImageHeight: function (h) { - this.image.setHeight(h); - }, - - getImageWidth: function () { - return this.image.element.width(); - }, - - getImageHeight: function () { - return this.image.element.height(); - }, - - setSrc: function (src) { - this.options.src = src; - this.image.setSrc(src); - }, - - getSrc: function () { - return this.image.getSrc(); - }, - - doClick: function () { - BI.ImageButton.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.ImageButton.EVENT_CHANGE, this); - } - } -}); -BI.ImageButton.EVENT_CHANGE = "ImageButton.EVENT_CHANGE"; -BI.shortcut("bi.image_button", BI.ImageButton); \ No newline at end of file diff --git a/src/base/single/button/buttons/button.js b/src/base/single/button/buttons/button.js deleted file mode 100644 index f5450b38f2..0000000000 --- a/src/base/single/button/buttons/button.js +++ /dev/null @@ -1,144 +0,0 @@ -(function ($) { - - /** - * 文字类型的按钮 - * @class BI.Button - * @extends BI.BasicButton - * - * @cfg {JSON} options 配置属性 - * @cfg {'common'/'success'/'warning'/'ignore'} [options.level='common'] 按钮类型,用不同颜色强调不同的场景 - */ - BI.Button = BI.inherit(BI.BasicButton, { - - _defaultConfig: function (props) { - var conf = BI.Button.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + ' bi-button', - minWidth: (props.block === true || props.clear === true) ? 0 : 90, - shadow: props.clear !== true, - isShadowShowingOnSelected: true, - readonly: true, - iconClass: "", - level: 'common', - block: false, //是否块状显示,即不显示边框,没有最小宽度的限制 - clear: false, //是否去掉边框和背景 - textAlign: "center", - whiteSpace: "nowrap", - forceCenter: false, - textWidth: null, - textHeight: null, - hgap: props.clear ? 0 : 10, - vgap: 0, - tgap: 0, - bgap: 0, - lgap: 0, - rgap: 0 - }) - }, - - _init: function () { - BI.Button.superclass._init.apply(this, arguments); - var o = this.options, self = this; - if (BI.isNumber(o.height) && !o.clear && !o.block) { - this.element.css({height: o.height + "px", lineHeight: o.height + "px"}); - } else { - this.element.css({lineHeight: o.height + "px"}); - } - if (BI.isKey(o.iconClass)) { - this.icon = BI.createWidget({ - type: "bi.icon", - width: 18 - }); - this.text = BI.createWidget({ - type: "bi.label", - text: o.text, - value: o.value - }); - BI.createWidget({ - type: "bi.horizontal_auto", - cls: "button-" + o.level + " " + o.iconClass, - element: this, - hgap: o.hgap, - vgap: o.vgap, - tgap: o.tgap, - bgap: o.bgap, - lgap: o.lgap, - rgap: o.rgap, - items: [{ - type: "bi.horizontal", - items: [this.icon, this.text] - }] - }) - } else { - this.text = BI.createWidget({ - type: "bi.label", - cls: "button-" + o.level, - textAlign: o.textAlign, - whiteSpace: o.whiteSpace, - forceCenter: o.forceCenter, - textWidth: o.textWidth, - textHeight: o.textHeight, - hgap: o.hgap, - vgap: o.vgap, - tgap: o.tgap, - bgap: o.bgap, - lgap: o.lgap, - rgap: o.rgap, - element: this, - text: o.text, - value: o.value - }); - } - if (o.block === true) { - this.element.addClass("block"); - } - if (o.clear === true) { - this.element.addClass("clear"); - } - if (o.minWidth > 0) { - this.element.css({"min-width": o.minWidth + "px"}); - } - }, - - doClick: function () { - BI.Button.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.Button.EVENT_CHANGE, this); - } - }, - - setText: function (text) { - BI.Button.superclass.setText.apply(this, arguments); - this.text.setText(text); - }, - - setValue: function (text) { - BI.Button.superclass.setValue.apply(this, arguments); - if (!this.isReadOnly()) { - this.text.setValue(text); - } - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - destroy: function () { - BI.Button.superclass.destroy.apply(this, arguments); - } - }); - BI.shortcut('bi.button', BI.Button); - BI.Button.EVENT_CHANGE = "EVENT_CHANGE"; -})(jQuery); \ No newline at end of file diff --git a/src/base/single/button/buttons/button.text.js b/src/base/single/button/buttons/button.text.js deleted file mode 100644 index 0b121fd877..0000000000 --- a/src/base/single/button/buttons/button.text.js +++ /dev/null @@ -1,90 +0,0 @@ -/** - * guy - * 可以点击的一行文字 - * @class BI.TextButton - * @extends BI.BasicButton - * 文字button - */ -BI.TextButton = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - var conf = BI.TextButton.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-text-button", - textAlign: "center", - whiteSpace: "nowrap", - forceCenter: false, - textWidth: null, - textHeight: null, - hgap: 0, - lgap: 0, - rgap: 0, - text: "", - py: "" - }) - }, - - _init: function () { - BI.TextButton.superclass._init.apply(this, arguments); - var o = this.options; - this.text = BI.createWidget({ - type: "bi.label", - element: this, - textAlign: o.textAlign, - whiteSpace: o.whiteSpace, - textWidth: o.textWidth, - textHeight: o.textHeight, - forceCenter: o.forceCenter, - width: o.width, - height: o.height, - hgap: o.hgap, - lgap: o.lgap, - rgap: o.rgap, - text: o.text, - value: o.value, - py: o.py - }); - }, - - doClick: function () { - BI.TextButton.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.TextButton.EVENT_CHANGE, this.getValue(), this); - } - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - setText: function (text) { - BI.TextButton.superclass.setText.apply(this, arguments); - text = BI.isArray(text) ? text.join(",") : text; - this.text.setText(text); - }, - - setStyle: function (style) { - this.text.setStyle(style); - }, - - setValue: function (text) { - BI.TextButton.superclass.setValue.apply(this, arguments); - if (!this.isReadOnly()) { - text = BI.isArray(text) ? text.join(",") : text; - this.text.setValue(text); - } - } -}); -BI.TextButton.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.text_button", BI.TextButton); \ No newline at end of file diff --git a/src/base/single/button/listitem/blankiconicontextitem.js b/src/base/single/button/listitem/blankiconicontextitem.js deleted file mode 100644 index affe804ac6..0000000000 --- a/src/base/single/button/listitem/blankiconicontextitem.js +++ /dev/null @@ -1,122 +0,0 @@ -/** - * 带有一个占位 - * - * Created by GUY on 2015/9/11. - * @class BI.BlankIconIconTextItem - * @extends BI.BasicButton - */ -BI.BlankIconIconTextItem = BI.inherit(BI.BasicButton, { - _const: { - commonWidth: 25 - }, - - _defaultConfig: function () { - var conf = BI.BlankIconIconTextItem.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-blank-icon-text-item", - logic: { - dynamic: false - }, - iconCls1: "close-ha-font", - iconCls2: "close-ha-font", - blankWidth: 0, - iconHeight: null, - iconWidth: null, - textHgap: 0, - textVgap: 0, - textLgap: 0, - textRgap: 0 - }) - }, - _init: function () { - BI.BlankIconIconTextItem.superclass._init.apply(this, arguments); - var o = this.options, c = this._const; - var blank = BI.createWidget({ - type: "bi.layout", - width: o.blankWidth, - height: o.height - }) - this.text = BI.createWidget({ - type: "bi.label", - cls: "list-item-text", - textAlign: "left", - hgap: o.textHgap, - vgap: o.textVgap, - lgap: o.textLgap, - rgap: o.textRgap, - text: o.text, - value: o.value, - keyword: o.keyword, - height: o.height - }); - this.icon1 = BI.createWidget({ - type: "bi.icon_button", - cls: o.iconCls1, - forceNotSelected: true, - width: c.commonWidth, - height: o.height - }); - this.icon2 = BI.createWidget({ - type: "bi.icon_button", - cls: o.iconCls2, - forceNotSelected: true, - width: c.commonWidth, - height: o.height - }); - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic("horizontal", BI.extend(o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("left", blank, this.icon1, this.icon2, this.text) - })))); - }, - - doClick: function () { - BI.BlankIconIconTextItem.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.BlankIconIconTextItem.EVENT_CHANGE, this.getValue(), this); - } - }, - - setSelected: function (b) { - BI.BlankIconIconTextItem.superclass.setSelected.apply(this, arguments); - this.icon1.setSelected(b); - this.icon2.setSelected(b); - }, - - setValue: function () { - if (!this.isReadOnly()) { - this.text.setValue.apply(this.text, arguments); - } - }, - - getValue: function () { - return this.text.getValue(); - }, - - setText: function () { - this.text.setText.apply(this.text, arguments); - }, - - getText: function () { - return this.text.getText(); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - } -}); -BI.BlankIconIconTextItem.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.blank_icon_icon_text_item", BI.BlankIconIconTextItem); \ No newline at end of file diff --git a/src/base/single/button/listitem/blankicontexticonitem.js b/src/base/single/button/listitem/blankicontexticonitem.js deleted file mode 100644 index 349a1f432b..0000000000 --- a/src/base/single/button/listitem/blankicontexticonitem.js +++ /dev/null @@ -1,139 +0,0 @@ -/** - * guy - * 一个占位符和两个icon和一行数 组成的一行listitem - * - * Created by GUY on 2015/9/15. - * @class BI.BlankIconTextIconItem - * @extends BI.BasicButton - */ -BI.BlankIconTextIconItem = BI.inherit(BI.BasicButton, { - _const: { - commonWidth: 25 - }, - - _defaultConfig: function () { - var conf = BI.BlankIconTextIconItem.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-blank-icon-text-icon-item", - logic: { - dynamic: false - }, - iconCls1: "close-ha-font", - iconCls2: "close-ha-font", - blankWidth: 0, - iconHeight: null, - iconWidth: null, - textHgap: 0, - textVgap: 0, - textLgap: 0, - textRgap: 0 - }) - }, - _init: function () { - BI.BlankIconTextIconItem.superclass._init.apply(this, arguments); - var o = this.options, c = this._const; - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - hgap: o.textHgap, - vgap: o.textVgap, - lgap: o.textLgap, - rgap: o.textRgap, - text: o.text, - value: o.value, - keyword: o.keyword, - height: o.height - }) - - var icon1 = BI.createWidget({ - type: "bi.center_adapt", - cls: o.iconCls1, - width: c.commonWidth, - height: o.height, - items: [{ - el: { - type: "bi.icon", - width: o.iconWidth, - height: o.iconHeight - } - }] - }) - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.center_adapt", - cls: o.iconCls2, - width: c.commonWidth, - height: o.height, - items: [{ - el: { - type: "bi.icon", - width: o.iconWidth, - height: o.iconHeight - } - }] - }, - top: 0, - bottom: 0, - right: 0 - }] - }) - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic("horizontal", BI.extend(o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("left", { - type: "bi.layout", - width: o.blankWidth - }, icon1, this.text, { - type: "bi.layout", - width: c.commonWidth - }) - })))); - }, - - doClick: function () { - BI.BlankIconTextIconItem.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.BlankIconTextIconItem.EVENT_CHANGE, this.getValue(), this); - } - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - setValue: function () { - if (!this.isReadOnly()) { - this.text.setValue.apply(this.text, arguments); - } - }, - - getValue: function () { - return this.text.getValue(); - }, - - setText: function () { - this.text.setText.apply(this.text, arguments); - }, - - getText: function () { - return this.text.getText(); - } -}); -BI.BlankIconTextIconItem.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.blank_icon_text_icon_item", BI.BlankIconTextIconItem); \ No newline at end of file diff --git a/src/base/single/button/listitem/blankicontextitem.js b/src/base/single/button/listitem/blankicontextitem.js deleted file mode 100644 index ed890dc72a..0000000000 --- a/src/base/single/button/listitem/blankicontextitem.js +++ /dev/null @@ -1,112 +0,0 @@ -/** - * 带有一个占位 - * - * Created by GUY on 2015/9/11. - * @class BI.BlankIconTextItem - * @extends BI.BasicButton - */ -BI.BlankIconTextItem = BI.inherit(BI.BasicButton, { - _const: { - commonWidth: 25 - }, - - _defaultConfig: function () { - var conf = BI.BlankIconTextItem.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-blank-icon-text-item", - logic: { - dynamic: false - }, - cls: "close-ha-font", - blankWidth: 0, - iconHeight: null, - iconWidth: null, - textHgap: 0, - textVgap: 0, - textLgap: 0, - textRgap: 0 - }) - }, - _init: function () { - BI.BlankIconTextItem.superclass._init.apply(this, arguments); - var o = this.options, c = this._const; - var blank = BI.createWidget({ - type: "bi.layout", - width: o.blankWidth - }) - this.text = BI.createWidget({ - type: "bi.label", - cls: "list-item-text", - textAlign: "left", - hgap: o.textHgap, - vgap: o.textVgap, - lgap: o.textLgap, - rgap: o.textRgap, - text: o.text, - value: o.value, - keyword: o.keyword, - height: o.height - }) - this.icon = BI.createWidget({ - type: "bi.center_adapt", - width: c.commonWidth, - height: o.height, - items: [{ - el: { - type: "bi.icon", - width: o.iconWidth, - height: o.iconHeight - } - }] - }); - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic("horizontal", BI.extend(o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("left", blank, this.icon, this.text) - })))); - }, - - doClick: function () { - BI.BlankIconTextItem.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.BlankIconTextItem.EVENT_CHANGE, this.getValue(), this); - } - }, - - setValue: function () { - if (!this.isReadOnly()) { - this.text.setValue.apply(this.text, arguments); - } - }, - - getValue: function () { - return this.text.getValue(); - }, - - setText: function () { - this.text.setText.apply(this.text, arguments); - }, - - getText: function () { - return this.text.getText(); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - } -}); -BI.BlankIconTextItem.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.blank_icon_text_item", BI.BlankIconTextItem); \ No newline at end of file diff --git a/src/base/single/button/listitem/icontexticonitem.js b/src/base/single/button/listitem/icontexticonitem.js deleted file mode 100644 index a267d789f4..0000000000 --- a/src/base/single/button/listitem/icontexticonitem.js +++ /dev/null @@ -1,135 +0,0 @@ -/** - * guy - * 两个icon和一行数 组成的一行listitem - * - * Created by GUY on 2015/9/9. - * @class BI.IconTextIconItem - * @extends BI.BasicButton - */ -BI.IconTextIconItem = BI.inherit(BI.BasicButton, { - _const: { - commonWidth: 25 - }, - - _defaultConfig: function () { - var conf = BI.IconTextIconItem.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-icon-text-icon-item", - logic: { - dynamic: false - }, - iconCls1: "close-ha-font", - iconCls2: "close-ha-font", - iconHeight: null, - iconWidth: null, - textHgap: 0, - textVgap: 0, - textLgap: 0, - textRgap: 0 - }) - }, - _init: function () { - BI.IconTextIconItem.superclass._init.apply(this, arguments); - var o = this.options, c = this._const; - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - hgap: o.textHgap, - vgap: o.textVgap, - lgap: o.textLgap, - rgap: o.textRgap, - text: o.text, - value: o.value, - keyword: o.keyword, - height: o.height - }) - - var icon1 = BI.createWidget({ - type: "bi.center_adapt", - cls: o.iconCls1, - width: c.commonWidth, - height: o.height, - items: [{ - el: { - type: "bi.icon", - width: o.iconWidth, - height: o.iconHeight - } - }] - }) - var blank = BI.createWidget({ - type: "bi.layout", - width: c.commonWidth - }) - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.center_adapt", - cls: o.iconCls2, - width: c.commonWidth, - items: [{ - el: { - type: "bi.icon", - width: o.iconWidth, - height: o.iconHeight - } - }] - }, - top: 0, - bottom: 0, - right: 0 - }] - }) - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic("horizontal", BI.extend(o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("left", icon1, this.text, blank) - })))); - }, - - doClick: function () { - BI.IconTextIconItem.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.IconTextIconItem.EVENT_CHANGE, this.getValue(), this); - } - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - setValue: function () { - if (!this.isReadOnly()) { - this.text.setValue.apply(this.text, arguments); - } - }, - - getValue: function () { - return this.text.getValue(); - }, - - setText: function () { - this.text.setText.apply(this.text, arguments); - }, - - getText: function () { - return this.text.getText(); - } -}); -BI.IconTextIconItem.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.icon_text_icon_item", BI.IconTextIconItem); \ No newline at end of file diff --git a/src/base/single/button/listitem/icontextitem.js b/src/base/single/button/listitem/icontextitem.js deleted file mode 100644 index 02004fa709..0000000000 --- a/src/base/single/button/listitem/icontextitem.js +++ /dev/null @@ -1,107 +0,0 @@ -/** - * guy - * - * Created by GUY on 2015/9/9. - * @class BI.IconTextItem - * @extends BI.BasicButton - */ -BI.IconTextItem = BI.inherit(BI.BasicButton, { - _const: { - commonWidth: 25 - }, - - _defaultConfig: function () { - var conf = BI.IconTextItem.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-icon-text-item", - direction: BI.Direction.Left, - logic: { - dynamic: false - }, - iconHeight: null, - iconWidth: null, - textHgap: 0, - textVgap: 0, - textLgap: 0, - textRgap: 0 - }) - }, - _init: function () { - BI.IconTextItem.superclass._init.apply(this, arguments); - var o = this.options, c = this._const; - this.text = BI.createWidget({ - type: "bi.label", - cls: "list-item-text", - textAlign: "left", - hgap: o.textHgap, - vgap: o.textVgap, - lgap: o.textLgap, - rgap: o.textRgap, - text: o.text, - value: o.value, - keyword: o.keyword, - height: o.height - }); - this.icon = BI.createWidget({ - type: "bi.center_adapt", - width: c.commonWidth, - height: o.height, - items: [{ - el: { - type: "bi.icon", - width: o.iconWidth, - height: o.iconHeight - } - }] - }); - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction), BI.extend(o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection(o.direction, this.icon, this.text) - })))); - }, - - setValue: function () { - if (!this.isReadOnly()) { - this.text.setValue.apply(this.text, arguments); - } - }, - - getValue: function () { - return this.text.getValue(); - }, - - setText: function () { - this.text.setText.apply(this.text, arguments); - }, - - getText: function () { - return this.text.getText(); - }, - - doClick: function () { - BI.IconTextItem.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.IconTextItem.EVENT_CHANGE, this.getValue(), this); - } - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - } -}); -BI.IconTextItem.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.icon_text_item", BI.IconTextItem); \ No newline at end of file diff --git a/src/base/single/button/listitem/texticonitem.js b/src/base/single/button/listitem/texticonitem.js deleted file mode 100644 index 068a4ba5e0..0000000000 --- a/src/base/single/button/listitem/texticonitem.js +++ /dev/null @@ -1,108 +0,0 @@ -/** - * - * 图标的button - * - * Created by GUY on 2015/9/9. - * @class BI.TextIconItem - * @extends BI.BasicButton - */ -BI.TextIconItem = BI.inherit(BI.BasicButton, { - _const: { - commonWidth: 25 - }, - - _defaultConfig: function () { - var conf = BI.TextIconItem.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-text-icon-item", - logic: { - dynamic: false - }, - cls: "close-ha-font", - iconHeight: null, - iconWidth: null, - textHgap: 0, - textVgap: 0, - textLgap: 0, - textRgap: 0 - }) - }, - _init: function () { - BI.TextIconItem.superclass._init.apply(this, arguments); - var o = this.options, c = this._const; - this.text = BI.createWidget({ - type: "bi.label", - cls: "list-item-text", - textAlign: "left", - hgap: o.textHgap, - vgap: o.textVgap, - lgap: o.textLgap, - rgap: o.textRgap, - text: o.text, - value: o.value, - keyword: o.keyword, - height: o.height - }); - this.icon = BI.createWidget({ - type: "bi.center_adapt", - width: c.commonWidth, - height: o.height, - items: [{ - el: { - type: "bi.icon", - width: o.iconWidth, - height: o.iconHeight - } - }] - }); - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic("horizontal", BI.extend(o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("left", this.text, this.icon) - })))); - }, - - doClick: function () { - BI.TextIconItem.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.TextIconItem.EVENT_CHANGE, this.getValue(), this); - } - }, - - setValue: function () { - if (!this.isReadOnly()) { - this.text.setValue.apply(this.text, arguments); - } - }, - - getValue: function () { - return this.text.getValue(); - }, - - setText: function () { - this.text.setText.apply(this.text, arguments); - }, - - getText: function () { - return this.text.getText(); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - } -}); -BI.TextIconItem.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.text_icon_item", BI.TextIconItem); \ No newline at end of file diff --git a/src/base/single/button/listitem/textitem.js b/src/base/single/button/listitem/textitem.js deleted file mode 100644 index d3599f7704..0000000000 --- a/src/base/single/button/listitem/textitem.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * guy - * 一个button和一行数 组成的一行listitem - * - * Created by GUY on 2015/9/9. - * @class BI.TextItem - * @extends BI.BasicButton - */ -BI.TextItem = BI.inherit(BI.BasicButton, { - - _defaultConfig: function () { - var conf = BI.TextItem.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-text-item", - textAlign: "left", - whiteSpace: "nowrap", - textHgap: 0, - textVgap: 0, - textLgap: 0, - textRgap: 0 - }) - }, - _init: function () { - BI.TextItem.superclass._init.apply(this, arguments); - var o = this.options; - this.text = BI.createWidget({ - type: "bi.label", - element: this, - textAlign: o.textAlign, - whiteSpace: o.whiteSpace, - textHeight: o.whiteSpace == "nowrap" ? o.height : o.textHeight, - height: o.height, - hgap: o.textHgap, - vgap: o.textVgap, - lgap: o.textLgap, - rgap: o.textRgap, - text: o.text, - value: o.value, - keyword: o.keyword, - py: o.py - }); - }, - - doClick: function () { - BI.TextItem.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.TextItem.EVENT_CHANGE, this.getValue(), this); - } - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - setValue: function () { - if (!this.isReadOnly()) { - this.text.setValue.apply(this.text, arguments); - } - }, - - getValue: function () { - return this.text.getValue(); - }, - - setText: function () { - this.text.setText.apply(this.text, arguments); - }, - - getText: function () { - return this.text.getText(); - } -}); -BI.TextItem.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.text_item", BI.TextItem); \ No newline at end of file diff --git a/src/base/single/button/node/icontexticonnode.js b/src/base/single/button/node/icontexticonnode.js deleted file mode 100644 index 85d662a738..0000000000 --- a/src/base/single/button/node/icontexticonnode.js +++ /dev/null @@ -1,126 +0,0 @@ -/** - * guy - * Created by GUY on 2015/9/9. - * @class BI.IconTextIconNode - * @extends BI.NodeButton - */ -BI.IconTextIconNode = BI.inherit(BI.NodeButton, { - _const: { - commonWidth: 25 - }, - - _defaultConfig: function () { - var conf = BI.IconTextIconNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-icon-text-icon-node", - logic: { - dynamic: false - }, - iconCls1: "close-ha-font", - iconCls2: "close-ha-font", - iconHeight: null, - iconWidth: null, - textHgap: 0, - textVgap: 0, - textLgap: 0, - textRgap: 0 - }) - }, - _init: function () { - BI.IconTextIconNode.superclass._init.apply(this, arguments); - var o = this.options, c = this._const; - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - hgap: o.textHgap, - vgap: o.textVgap, - lgap: o.textLgap, - rgap: o.textRgap, - text: o.text, - value: o.value, - keyword: o.keyword, - height: o.height - }) - - var icon1 = BI.createWidget({ - type: "bi.center_adapt", - cls: o.iconCls1, - width: c.commonWidth, - height: o.height, - items: [{ - el: { - type: "bi.icon", - width: o.iconWidth, - height: o.iconHeight - } - }] - }) - var blank = BI.createWidget({ - type: "bi.layout", - width: c.commonWidth, - height: o.height - }) - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.center_adapt", - cls: o.iconCls2, - width: c.commonWidth, - items: [{ - el: { - type: "bi.icon", - width: o.iconWidth, - height: o.iconHeight - } - }] - }, - top: 0, - bottom: 0, - right: 0 - }] - }) - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic("horizontal", BI.extend(o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("left", icon1, this.text, blank) - })))); - }, - - doClick: function () { - BI.IconTextIconNode.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.IconTextIconNode.EVENT_CHANGE, this.getValue(), this); - } - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - setValue: function () { - if (!this.isReadOnly()) { - this.text.setValue.apply(this.text, arguments); - } - }, - - getValue: function () { - return this.text.getValue(); - }, - - setText: function () { - this.text.setText.apply(this.text, arguments); - }, - - getText: function () { - return this.text.getText(); - } -}); -BI.IconTextIconNode.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.icon_text_icon_node", BI.IconTextIconNode); \ No newline at end of file diff --git a/src/base/single/button/node/icontextnode.js b/src/base/single/button/node/icontextnode.js deleted file mode 100644 index 4087076186..0000000000 --- a/src/base/single/button/node/icontextnode.js +++ /dev/null @@ -1,98 +0,0 @@ -/** - * guy - * Created by GUY on 2015/9/9. - * @class BI.IconTextNode - * @extends BI.NodeButton - */ -BI.IconTextNode = BI.inherit(BI.NodeButton, { - _const: { - commonWidth: 25 - }, - - _defaultConfig: function () { - var conf = BI.IconTextNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-icon-text-node", - logic: { - dynamic: false - }, - cls: "close-ha-font", - iconHeight: null, - iconWidth: null, - textHgap: 0, - textVgap: 0, - textLgap: 0, - textRgap: 0 - }) - }, - _init: function () { - BI.IconTextNode.superclass._init.apply(this, arguments); - var o = this.options, c = this._const; - this.text = BI.createWidget({ - type: "bi.label", - cls: "list-item-text", - textAlign: "left", - hgap: o.textHgap, - vgap: o.textVgap, - lgap: o.textLgap, - rgap: o.textRgap, - text: o.text, - value: o.value, - keyword: o.keyword, - height: o.height - }) - this.icon = BI.createWidget({ - type: "bi.center_adapt", - width: c.commonWidth, - height: o.height, - items: [{ - el: { - type: "bi.icon", - width: o.iconWidth, - height: o.iconHeight - } - }] - }) - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic("horizontal", BI.extend(o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("left", this.icon, this.text) - })))); - }, - - setValue: function () { - if (!this.isReadOnly()) { - this.text.setValue.apply(this.text, arguments); - } - }, - - getValue: function () { - return this.text.getValue(); - }, - - setText: function () { - this.text.setText.apply(this.text, arguments); - }, - - getText: function () { - return this.text.getText(); - }, - - doClick: function () { - BI.IconTextNode.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.IconTextNode.EVENT_CHANGE, this.getValue(), this); - } - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - } -}); -BI.IconTextNode.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.icon_text_node", BI.IconTextNode); \ No newline at end of file diff --git a/src/base/single/button/node/texticonnode.js b/src/base/single/button/node/texticonnode.js deleted file mode 100644 index a32fa4dc83..0000000000 --- a/src/base/single/button/node/texticonnode.js +++ /dev/null @@ -1,97 +0,0 @@ -/** - * Created by GUY on 2015/9/9. - * @class BI.TextIconNode - * @extends BI.NodeButton - */ -BI.TextIconNode = BI.inherit(BI.NodeButton, { - _const: { - commonWidth: 25 - }, - - _defaultConfig: function () { - var conf = BI.TextIconNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-text-icon-node", - logic: { - dynamic: false - }, - cls: "close-ha-font", - iconHeight: null, - iconWidth: null, - textHgap: 0, - textVgap: 0, - textLgap: 0, - textRgap: 0 - }) - }, - _init: function () { - BI.TextIconNode.superclass._init.apply(this, arguments); - var o = this.options, c = this._const; - this.text = BI.createWidget({ - type: "bi.label", - cls: "list-item-text", - textAlign: "left", - hgap: o.textHgap, - vgap: o.textVgap, - lgap: o.textLgap, - rgap: o.textRgap, - text: o.text, - value: o.value, - keyword: o.keyword, - height: o.height - }) - this.icon = BI.createWidget({ - type: "bi.center_adapt", - width: c.commonWidth, - height: o.height, - items: [{ - el: { - type: "bi.icon", - width: o.iconWidth, - height: o.iconHeight - } - }] - }); - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic("horizontal", BI.extend(o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("left", this.text, this.icon) - })))); - }, - - doClick: function () { - BI.TextIconNode.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.TextIconNode.EVENT_CHANGE, this.getValue(), this); - } - }, - - setValue: function () { - if (!this.isReadOnly()) { - this.text.setValue.apply(this.text, arguments); - } - }, - - getValue: function () { - return this.text.getValue(); - }, - - setText: function () { - this.text.setText.apply(this.text, arguments); - }, - - getText: function () { - return this.text.getText(); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - } -}); -BI.TextIconNode.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.text_icon_node", BI.TextIconNode); \ No newline at end of file diff --git a/src/base/single/button/node/textnode.js b/src/base/single/button/node/textnode.js deleted file mode 100644 index d0fcc5c48b..0000000000 --- a/src/base/single/button/node/textnode.js +++ /dev/null @@ -1,77 +0,0 @@ -/** - * guy - * - * Created by GUY on 2015/9/9. - * @class BI.TextNode - * @extends BI.NodeButton - */ -BI.TextNode = BI.inherit(BI.NodeButton, { - - _defaultConfig: function () { - var conf = BI.TextNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-text-node", - textAlign: "left", - whiteSpace: "nowrap", - textHgap: 0, - textVgap: 0, - textLgap: 0, - textRgap: 0 - }) - }, - _init: function () { - BI.TextNode.superclass._init.apply(this, arguments); - var o = this.options; - this.text = BI.createWidget({ - type: "bi.label", - element: this, - textAlign: o.textAlign, - whiteSpace: o.whiteSpace, - textHeight: o.whiteSpace == "nowrap" ? o.height : o.textHeight, - height: o.height, - hgap: o.textHgap, - vgap: o.textVgap, - lgap: o.textLgap, - rgap: o.textRgap, - text: o.text, - value: o.value, - keyword: o.keyword, - py: o.py - }); - }, - - doClick: function () { - BI.TextNode.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.TextNode.EVENT_CHANGE, this.getValue(), this); - } - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - setValue: function () { - if (!this.isReadOnly()) { - this.text.setValue.apply(this.text, arguments); - } - }, - - getValue: function () { - return this.text.getValue(); - }, - - setText: function () { - this.text.setText.apply(this.text, arguments); - }, - - getText: function () { - return this.text.getText(); - } -}); -BI.TextNode.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.text_node", BI.TextNode); \ No newline at end of file diff --git a/src/base/single/editor/editor.code.js b/src/base/single/editor/editor.code.js deleted file mode 100644 index 8a7a9d4807..0000000000 --- a/src/base/single/editor/editor.code.js +++ /dev/null @@ -1,208 +0,0 @@ -/** - * - * Created by GUY on 2016/1/15. - * @class BI.CodeEditor - * @extends BI.Single - */ -BI.CodeEditor = BI.inherit(BI.Single, { - _defaultConfig: function () { - return $.extend(BI.CodeEditor.superclass._defaultConfig.apply(), { - baseCls: 'bi-code-editor', - value: '', - watermark: "", - lineHeight: 2, - readOnly: false, - //参数显示值构造函数 - paramFormatter: function (v) { - return v; - } - }); - }, - _init: function () { - BI.CodeEditor.superclass._init.apply(this, arguments); - var o = this.options, self = this; - this.editor = CodeMirror(this.element[0], { - textWrapping: true, - lineWrapping: true, - lineNumbers: false, - readOnly: o.readOnly, - //解决插入字段由括号或其他特殊字符包围时分裂的bug - specialChars: /[\u0000-\u001f\u007f\u00ad\u200c-\u200f\u2028\u2029\ufeff]/ - }); - o.lineHeight === 1 ? this.element.addClass("codemirror-low-line-height") : this.element.addClass("codemirror-high-line-height"); - this.editor.on("change", function (cm, change) { - BI.nextTick(function () { - self.fireEvent(BI.CodeEditor.EVENT_CHANGE) - }); - }); - - this.editor.on("focus", function () { - self.watermark.setVisible(false); - self.fireEvent(BI.CodeEditor.EVENT_FOCUS); - }); - - this.editor.on("blur", function () { - self.watermark.setVisible(BI.isEmptyString(self.getValue())); - self.fireEvent(BI.CodeEditor.EVENT_BLUR); - }); - - // this.editor.on("mousedown", function (cm, e) { - // //IE下mousedown之后会触发blur,所以nextTick后再做focus - // BI.nextTick(function () { - // self.fireEvent(BI.CodeEditor.EVENT_FOCUS); - // }); - // //e.stopPropagation(); - // }); - - // this.editor.on("blur", function () { - // self.editor.execCommand("goLineEnd"); - // }); - - //水印 - this.watermark = BI.createWidget({ - type: "bi.label", - text: o.watermark, - cls: "bi-water-mark", - whiteSpace: "nowrap", - textAlign: "left" - }); - this.watermark.element.bind( - "mousedown", function (e) { - self.insertString(""); - self.editor.focus(); - e.stopEvent(); - } - ); - this.watermark.element.bind("click", function (e) { - self.editor.focus(); - e.stopEvent(); - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.watermark, - top: 0, - left: 5 - }] - }); - - if (BI.isKey(o.value)) { - BI.nextTick(function () { - self.setValue(o.value); - }); - } - }, - - _setEnable: function (b) { - BI.CodeEditor.superclass._setEnable.apply(this, arguments); - this.editor.setOption("readOnly", b === true ? false : "nocursor") - }, - - _checkWaterMark: function () { - var o = this.options; - if (BI.isEmptyString(this.editor.getValue()) && BI.isKey(o.watermark)) { - this.watermark && this.watermark.visible(); - } else { - this.watermark && this.watermark.invisible(); - } - }, - - insertParam: function (param) { - var value = param; - param = this.options.paramFormatter(param); - var from = this.editor.getCursor(); - //解决插入字段由括号或其他特殊字符包围时分裂的bug,在两端以不可见字符包裹一下 - this.editor.replaceSelection('\u200b' + param + '\u200b'); - var to = this.editor.getCursor(); - var options = {className: 'param', atomic: true}; - if (BI.isNotNull(param.match(/^$/))) { - options.className = 'error-param'; - } - options.value = value; - this.editor.markText(from, to, options); - this.editor.replaceSelection(" "); - this.editor.focus(); - }, - - insertString: function (str) { - this.editor.replaceSelection(str); - this.editor.focus(); - }, - - getValue: function () { - return this.editor.getValue("\n", function (line) { - var rawText = line.text, value = line.text, num = 0; - value.text = rawText; - //根据插入位置不同,line.markedSpan可能是乱序的 - _.forEach(_.sortBy(line.markedSpans, "from"), function (i, ms) { - switch (i.marker.className) { - case "param": - case "error-param": - var fieldNameLength = i.to - i.from; - value = value.substr(0, i.from + num) + "$\{" + i.marker.value + "\}" + value.substr(i.to + num, value.length); - //加上${}的偏移 - num += 3; - //加上实际值和显示值的长度差的偏移 - num += (i.marker.value.length - fieldNameLength); - break; - } - }); - return value; - }); - }, - - _analyzeContent: function (v) { - var regx = /\$[\{][^\}]*[\}]|[^\$\{]*[^\$\{]/g; - return v.match(regx); - }, - - setValue: function (v) { - var self = this, result; - this.refresh(); - self.editor.setValue(""); - result = this._analyzeContent(v || ""); - BI.each(result, function (i, item) { - var fieldRegx = /\$[\{][^\}]*[\}]/; - var str = item.match(fieldRegx); - if (BI.isNotEmptyArray(str)) { - self.insertParam(str[0].substring(2, item.length - 1)); - } else { - self.insertString(item); - } - }); - this._checkWaterMark(); - }, - - focus: function () { - this.editor.focus(); - }, - - blur: function () { - this.editor.getInputField().blur(); - }, - - setStyle: function (style) { - this.style = style; - this.element.css(style); - var wrapperStyle = this.editor.getWrapperElement().style; - BI.extend(wrapperStyle, style, { - color: style.color || BI.DOM.getContrastColor(BI.DOM.isRGBColor(style.backgroundColor) ? BI.DOM.rgb2hex(style.backgroundColor) : style.backgroundColor) - }); - }, - - getStyle: function () { - return this.style; - }, - - refresh: function () { - var self = this; - BI.nextTick(function () { - self.editor.refresh(); - }); - } -}); -BI.CodeEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.CodeEditor.EVENT_BLUR = "EVENT_BLUR"; -BI.CodeEditor.EVENT_FOCUS = "EVENT_FOCUS"; -BI.shortcut("bi.code_editor", BI.CodeEditor); \ No newline at end of file diff --git a/src/base/single/editor/editor.js b/src/base/single/editor/editor.js deleted file mode 100644 index c19b2b9743..0000000000 --- a/src/base/single/editor/editor.js +++ /dev/null @@ -1,320 +0,0 @@ -/** - * Created by GUY on 2015/4/15. - * @class BI.Editor - * @extends BI.Single - */ -BI.Editor = BI.inherit(BI.Single, { - _defaultConfig: function () { - var conf = BI.Editor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-editor", - hgap: 4, - vgap: 2, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - //title,warningTitle这两个属性没用 - tipType: "warning", - inputType: "text", - validationChecker: BI.emptyFn, - quitChecker: BI.emptyFn, - allowBlank: false, - watermark: "", - errorText: "" - }) - }, - - _init: function () { - BI.Editor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = this.addWidget(BI.createWidget({ - type: "bi.input", - element: "", - root: true, - watermark: o.watermark, - validationChecker: o.validationChecker, - quitChecker: o.quitChecker, - allowBlank: o.allowBlank - })); - this.editor.element.css({ - "width": "100%", - "height": "100%", - "border": "none", - "outline": "none", - "padding": "0", - "margin": "0" - }); - if (BI.isKey(this.options.watermark)) { - this.watermark = BI.createWidget({ - type: "bi.label", - cls: "bi-water-mark", - text: this.options.watermark, - forceCenter: true, - height: o.height - 2 * (o.vgap + o.tgap), - whiteSpace: "nowrap", - textAlign: "left" - }); - this.watermark.element.bind({ - mousedown: function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - } - }); - this.watermark.element.bind("click", function (e) { - if (self.isEnabled()) { - self.editor.isEditing() || self.editor.focus(); - } else { - self.editor.isEditing() && self.editor.blur(); - } - e.stopEvent(); - }); - this.watermark.element.css({ - position: "absolute", - left: "3px", - right: "3px", - top: "0px", - bottom: "0px" - }); - } - var items = [{ - el: { - type: "bi.default", - items: this.watermark ? [this.editor, this.watermark] : [this.editor] - }, - left: o.hgap + o.lgap, - right: o.hgap + o.rgap, - top: o.vgap + o.tgap, - bottom: o.vgap + o.bgap - }]; - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: items - }); - this.editor.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.editor.on(BI.Input.EVENT_FOCUS, function () { - self._checkError(); - self.element.addClass("bi-editor-focus"); - self.fireEvent(BI.Editor.EVENT_FOCUS, arguments); - }); - this.editor.on(BI.Input.EVENT_BLUR, function () { - self.setErrorVisible(false); - self.element.removeClass("bi-editor-focus"); - self.fireEvent(BI.Editor.EVENT_BLUR, arguments); - }); - this.editor.on(BI.Input.EVENT_CLICK, function () { - self.fireEvent(BI.Editor.EVENT_CLICK, arguments); - }); - this.editor.on(BI.Input.EVENT_CHANGE, function () { - self.fireEvent(BI.Editor.EVENT_CHANGE, arguments); - }); - this.editor.on(BI.Input.EVENT_KEY_DOWN, function (v) { - self.fireEvent(BI.Editor.EVENT_KEY_DOWN, arguments); - }); - this.editor.on(BI.Input.EVENT_QUICK_DOWN, function (v) { - self.watermark && self.watermark.invisible(); - }); - - this.editor.on(BI.Input.EVENT_VALID, function () { - self._checkWaterMark(); - self.setErrorVisible(false); - self.fireEvent(BI.Editor.EVENT_VALID, arguments); - }); - this.editor.on(BI.Input.EVENT_ERROR, function () { - self._checkWaterMark(); - self.fireEvent(BI.Editor.EVENT_ERROR, arguments); - self.setErrorVisible(self.isEditing()); - }); - this.editor.on(BI.Input.EVENT_RESTRICT, function () { - self._checkWaterMark(); - var tip = self.setErrorVisible(true); - tip && tip.element.fadeOut(100, function () { - tip.element.fadeIn(100); - }); - self.fireEvent(BI.Editor.EVENT_RESTRICT, arguments); - }); - this.editor.on(BI.Input.EVENT_EMPTY, function () { - self._checkWaterMark(); - self.fireEvent(BI.Editor.EVENT_EMPTY, arguments); - }); - this.editor.on(BI.Input.EVENT_ENTER, function () { - self.fireEvent(BI.Editor.EVENT_ENTER, arguments); - }); - this.editor.on(BI.Input.EVENT_SPACE, function () { - self.fireEvent(BI.Editor.EVENT_SPACE, arguments); - }); - this.editor.on(BI.Input.EVENT_BACKSPACE, function () { - self.fireEvent(BI.Editor.EVENT_BACKSPACE, arguments); - }); - this.editor.on(BI.Input.EVENT_REMOVE, function () { - self.fireEvent(BI.Editor.EVENT_REMOVE, arguments); - }); - this.editor.on(BI.Input.EVENT_START, function () { - self.fireEvent(BI.Editor.EVENT_START, arguments); - }); - this.editor.on(BI.Input.EVENT_PAUSE, function () { - self.fireEvent(BI.Editor.EVENT_PAUSE, arguments); - }); - this.editor.on(BI.Input.EVENT_STOP, function () { - self.fireEvent(BI.Editor.EVENT_STOP, arguments); - }); - this.editor.on(BI.Input.EVENT_CONFIRM, function () { - self.fireEvent(BI.Editor.EVENT_CONFIRM, arguments); - }); - this.element.click(function (e) { - e.stopPropagation(); - return false; - }); - if (BI.isKey(this.options.value) || BI.isEmptyString(this.options.value)) { - this.setValue(this.options.value); - } else { - this._checkWaterMark(); - } - }, - - _checkToolTip: function () { - var o = this.options; - var errorText = o.errorText; - if (BI.isFunction(errorText)) { - errorText = errorText(this.editor.getValue()); - } - if (BI.isKey(errorText)) { - if (!this.isEnabled() || this.isValid() || (BI.Bubbles.has(this.getName()) && BI.Bubbles.get(this.getName()).isVisible())) { - this.setTitle(""); - } else { - this.setTitle(errorText); - } - } - }, - - _checkError: function () { - this.setErrorVisible(this.isEnabled() && !this.isValid()); - this._checkToolTip(); - }, - - _checkWaterMark: function () { - var o = this.options; - if (!this.disabledWaterMark && this.editor.getValue() === "" && BI.isKey(o.watermark)) { - this.watermark && this.watermark.visible(); - } else { - this.watermark && this.watermark.invisible(); - } - }, - - setErrorText: function (text) { - this.options.errorText = text; - }, - - getErrorText: function () { - return this.options.errorText; - }, - - setErrorVisible: function (b) { - var o = this.options; - var errorText = o.errorText; - if (BI.isFunction(errorText)) { - errorText = errorText(this.editor.getValue()); - } - if (!this.disabledError && BI.isKey(errorText)) { - BI.Bubbles[b ? "show" : "hide"](this.getName(), errorText, this); - this._checkToolTip(); - return BI.Bubbles.get(this.getName()); - } - }, - - disableError: function () { - this.disabledError = true; - this._checkError(); - }, - - enableError: function () { - this.disabledError = false; - this._checkError(); - }, - - disableWaterMark: function () { - this.disabledWaterMark = true; - this._checkWaterMark(); - }, - - enableWaterMark: function () { - this.disabledWaterMark = false; - this._checkWaterMark(); - }, - - focus: function () { - this.element.addClass("text-editor-focus"); - this.editor.focus(); - }, - - blur: function () { - this.element.removeClass("text-editor-focus"); - this.editor.blur(); - }, - - selectAll: function () { - this.editor.selectAll(); - }, - - onKeyDown: function (k) { - this.editor.onKeyDown(k); - }, - - setValue: function (v) { - BI.Editor.superclass.setValue.apply(this, arguments); - this.editor.setValue(v); - this._checkError(); - this._checkWaterMark(); - }, - - getLastValidValue: function () { - return this.editor.getLastValidValue(); - }, - - resetLastValidValue: function () { - this.editor.resetLastValidValue(); - }, - - getValue: function () { - if (!this.isValid()) { - return BI.trim(this.editor.getLastValidValue()); - } - return BI.trim(this.editor.getValue()); - }, - - isEditing: function () { - return this.editor.isEditing(); - }, - - isValid: function () { - return this.editor.isValid(); - } -}); -BI.Editor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.Editor.EVENT_FOCUS = "EVENT_FOCUS"; -BI.Editor.EVENT_BLUR = "EVENT_BLUR"; -BI.Editor.EVENT_CLICK = "EVENT_CLICK"; -BI.Editor.EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; -BI.Editor.EVENT_SPACE = "EVENT_SPACE"; -BI.Editor.EVENT_BACKSPACE = "EVENT_BACKSPACE"; - -BI.Editor.EVENT_START = "EVENT_START"; -BI.Editor.EVENT_PAUSE = "EVENT_PAUSE"; -BI.Editor.EVENT_STOP = "EVENT_STOP"; -BI.Editor.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.Editor.EVENT_VALID = "EVENT_VALID"; -BI.Editor.EVENT_ERROR = "EVENT_ERROR"; -BI.Editor.EVENT_ENTER = "EVENT_ENTER"; -BI.Editor.EVENT_RESTRICT = "EVENT_RESTRICT"; -BI.Editor.EVENT_REMOVE = "EVENT_REMOVE"; -BI.Editor.EVENT_EMPTY = "EVENT_EMPTY"; - -BI.shortcut("bi.editor", BI.Editor); \ No newline at end of file diff --git a/src/base/single/editor/editor.multifile.js b/src/base/single/editor/editor.multifile.js deleted file mode 100644 index b004217ecf..0000000000 --- a/src/base/single/editor/editor.multifile.js +++ /dev/null @@ -1,89 +0,0 @@ -/** - * 多文件 - * - * Created by GUY on 2016/4/13. - * @class BI.MultifileEditor - * @extends BI.Single - * @abstract - */ -BI.MultifileEditor = BI.inherit(BI.Single, { - _defaultConfig: function () { - var conf = BI.MultifileEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-multifile-editor", - multiple: false, - maxSize: -1,//1024 * 1024 - accept: "", - url: "" - }) - }, - - _init: function () { - var self = this, o = this.options; - BI.MultifileEditor.superclass._init.apply(this, arguments); - this.file = BI.createWidget({ - type: "bi.file", - cls: "multifile-editor", - width: "100%", - height: "100%", - name: o.name, - url: o.url, - multiple: o.multiple, - accept: o.accept, - maxSize: o.maxSize - }); - this.file.on(BI.File.EVENT_CHANGE, function () { - self.fireEvent(BI.MultifileEditor.EVENT_CHANGE, arguments); - }); - this.file.on(BI.File.EVENT_UPLOADSTART, function () { - self.fireEvent(BI.MultifileEditor.EVENT_UPLOADSTART, arguments); - }); - this.file.on(BI.File.EVENT_ERROR, function () { - self.fireEvent(BI.MultifileEditor.EVENT_ERROR, arguments); - }); - this.file.on(BI.File.EVENT_PROGRESS, function () { - self.fireEvent(BI.MultifileEditor.EVENT_PROGRESS, arguments); - }); - this.file.on(BI.File.EVENT_UPLOADED, function () { - self.fireEvent(BI.MultifileEditor.EVENT_UPLOADED, arguments); - }); - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.adaptive", - scrollable: false, - items: [this.file] - }, - top: 0, - right: 0, - left: 0, - bottom: 0 - }] - }); - }, - - select: function () { - this.file.select(); - }, - - getValue: function () { - return this.file.getValue(); - }, - - upload: function () { - this.file.upload(); - }, - - reset: function () { - this.file.reset(); - } -}); -BI.MultifileEditor.EVENT_CHANGE = "MultifileEditor.EVENT_CHANGE"; -BI.MultifileEditor.EVENT_UPLOADSTART = "MultifileEditor.EVENT_UPLOADSTART"; -BI.MultifileEditor.EVENT_ERROR = "MultifileEditor.EVENT_ERROR"; -BI.MultifileEditor.EVENT_PROGRESS = "MultifileEditor.EVENT_PROGRESS"; -BI.MultifileEditor.EVENT_UPLOADED = "MultifileEditor.EVENT_UPLOADED"; -BI.shortcut("bi.multifile_editor", BI.MultifileEditor); \ No newline at end of file diff --git a/src/base/single/editor/editor.textarea.js b/src/base/single/editor/editor.textarea.js deleted file mode 100644 index faad358402..0000000000 --- a/src/base/single/editor/editor.textarea.js +++ /dev/null @@ -1,163 +0,0 @@ -/** - * - * Created by GUY on 2016/1/18. - * @class BI.TextAreaEditor - * @extends BI.Single - */ -BI.TextAreaEditor = BI.inherit(BI.Single, { - _defaultConfig: function () { - return $.extend(BI.TextAreaEditor.superclass._defaultConfig.apply(), { - baseCls: 'bi-textarea-editor bi-card', - value: '' - }); - }, - _init: function () { - BI.TextAreaEditor.superclass._init.apply(this, arguments); - var o = this.options, self = this; - this.content = BI.createWidget({ - type: "bi.layout", - tagName: "textarea", - width: "100%", - height: "100%", - cls: "bi-textarea textarea-editor-content display-block" - }); - this.content.element.css({"resize": "none"}); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.adaptive", - items: [this.content] - }, - left: 0, - right: 3, - top: 0, - bottom: 5 - }] - }); - - this.content.element.on("input propertychange", function (e) { - self._checkWaterMark(); - self.fireEvent(BI.TextAreaEditor.EVENT_CHANGE); - }); - - this.content.element.focus(function () { - if (self.isValid()) { - self._focus(); - self.fireEvent(BI.TextAreaEditor.EVENT_FOCUS); - } - $(document).bind("mousedown." + self.getName(), function (e) { - if (BI.DOM.isExist(self) && !self.element.__isMouseInBounds__(e)) { - $(document).unbind("mousedown." + self.getName()); - self.content.element.blur(); - } - }); - }); - this.content.element.blur(function () { - if (self.isValid()) { - self._blur(); - self.fireEvent(BI.TextAreaEditor.EVENT_BLUR); - } - $(document).unbind("mousedown." + self.getName()); - }); - if (BI.isKey(o.value)) { - self.setValue(o.value); - } - if (BI.isNotNull(o.style)) { - self.setValue(o.style); - } - this._checkWaterMark(); - }, - - _checkWaterMark: function () { - var self = this, o = this.options; - var val = this.getValue(); - if (BI.isNotEmptyString(val)) { - this.watermark && this.watermark.destroy(); - this.watermark = null; - } else { - if (BI.isNotEmptyString(o.watermark)) { - if (!this.watermark) { - this.watermark = BI.createWidget({ - type: "bi.text_button", - cls: "bi-water-mark", - textAlign: "left", - height: 30, - text: o.watermark, - invalid: o.invalid, - disabled: o.disabled - }); - this.watermark.on(BI.TextButton.EVENT_CHANGE, function () { - self.focus(); - }); - BI.createWidget({ - type: 'bi.absolute', - element: this, - items: [{ - el: this.watermark, - left: 0, - top: 0, - right: 0 - }] - }) - } else { - this.watermark.setText(o.watermark); - this.watermark.setValid(!o.invalid); - this.watermark.setEnable(!o.disabled); - } - } - } - }, - - _focus: function () { - this.content.element.addClass("textarea-editor-focus"); - this._checkWaterMark(); - }, - - _blur: function () { - this.content.element.removeClass("textarea-editor-focus"); - this._checkWaterMark(); - }, - - focus: function () { - this._focus(); - this.content.element.focus(); - }, - - blur: function () { - this._blur(); - this.content.element.blur(); - }, - - getValue: function () { - return this.content.element.val(); - }, - - setValue: function (value) { - this.content.element.val(value); - this._checkWaterMark(); - }, - - setStyle: function (style) { - this.style = style; - this.element.css(style); - this.content.element.css(BI.extend({}, style, { - color: style.color || BI.DOM.getContrastColor(BI.DOM.isRGBColor(style.backgroundColor) ? BI.DOM.rgb2hex(style.backgroundColor) : style.backgroundColor) - })) - }, - - getStyle: function () { - return this.style; - }, - - _setValid: function (b) { - BI.TextAreaEditor.superclass._setValid.apply(this, arguments); - // this.content.setValid(b); - // this.watermark && this.watermark.setValid(b); - } -}); -BI.TextAreaEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.TextAreaEditor.EVENT_BLUR = "EVENT_BLUR"; -BI.TextAreaEditor.EVENT_FOCUS = "EVENT_FOCUS"; -BI.shortcut("bi.textarea_editor", BI.TextAreaEditor); \ No newline at end of file diff --git a/src/base/single/icon/icon.js b/src/base/single/icon/icon.js deleted file mode 100644 index 51804c51c7..0000000000 --- a/src/base/single/icon/icon.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * guy 图标 - * @class BI.Icon - * @extends BI.Single - */ -BI.Icon = BI.inherit(BI.Single, { - _defaultConfig: function () { - var conf = BI.Icon.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - tagName: "i", - baseCls: (conf.baseCls || "") + " x-icon b-font horizon-center display-block" - }) - }, - _init: function () { - BI.Icon.superclass._init.apply(this, arguments); - if (BI.isIE9Below()) { - this.element.addClass("hack"); - } - } -}); -BI.shortcut("bi.icon", BI.Icon); \ No newline at end of file diff --git a/src/base/single/iframe/iframe.js b/src/base/single/iframe/iframe.js deleted file mode 100644 index 141be9b13e..0000000000 --- a/src/base/single/iframe/iframe.js +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @class BI.Iframe - * @extends BI.Single - * @abstract - * Created by GameJian on 2016/3/2. - */ -BI.Iframe = BI.inherit(BI.Single, { - _defaultConfig: function () { - var conf = BI.Iframe.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-iframe", - src: "", - width: "100%", - height: "100%" - }) - }, - - _init: function () { - var o = this.options; - this.options.element = $("')); - } catch (e) { - var form = document.createElement('form'), - iframe = handler.iframe || (handler.iframe = document.createElement("iframe")); - form.setAttribute("enctype", "multipart/form-data"); - iframe.setAttribute("name", iframe.id = target); - iframe.setAttribute("src", url); - } - iframe.style.position = "absolute"; - iframe.style.left = iframe.style.top = "-10000px"; - iframe.onload = onload; - iframe.onerror = function (event) { - if (isFunction(handler.onerror)) { - handler.onerror(rpe, event || window.event); - } - }; - iframe.onreadystatechange = function () { - if (/loaded|complete/i.test(iframe.readyState)) { - onload(); - - //wei : todo,将附件信息放到handler.attach - } - else if (isFunction(handler.onloadprogress)) { - if (rpe.loaded < rpe.total) { - ++rpe.loaded; - } - handler.onloadprogress(rpe, { - readyState: { - loading: 2, - interactive: 3, - loaded: 4, - complete: 4 - }[iframe.readyState] || 1 - }); - } - }; - form.setAttribute("action", handler.url); - form.setAttribute("target", iframe.id); - form.setAttribute("method", "post"); - form.appendChild(handler.file); - form.style.display = "none"; - if (isFunction(handler.onloadstart)) { - handler.onloadstart(rpe, {}); - } - with (document.body || document.documentElement) { - appendChild(iframe); - appendChild(form); - form.submit(); - } - ; - return handler; - }; - } - xhr = null; - return sendFile; - })(Object.prototype.toString); - - var sendFiles = function (handler, maxSize, width, height) { - - var length = handler.files.length, - i = 0, - onload = handler.onload, - onloadstart = handler.onloadstart; - handler.current = 0; - handler.total = 0; - handler.sent = 0; - while (handler.current < length) { - handler.total += (handler.files[handler.current].fileSize || handler.files[handler.current].size); - handler.current++; - } - handler.current = 0; - if (length && handler.files[0].fileSize !== -1) { - handler.file = handler.files[handler.current]; - - sendFile(handler, maxSize, width, height).onload = function (rpe, xhr) { - handler.onloadstart = null; - handler.sent += (handler.files[handler.current].fileSize || handler.files[handler.current].size); - if (++handler.current < length) { - handler.file = handler.files[handler.current]; - sendFile(handler, maxSize, width, height).onload = arguments.callee; - } else if (onload) { - handler.onloadstart = onloadstart; - handler.onload = onload; - handler.onload(rpe, xhr); - } - }; - } else if (length) { - handler.total = length * 100; - handler.file = handler.files[handler.current]; - sendFile(handler, maxSize, width, height).onload = function (rpe, xhr) { - var callee = arguments.callee; - handler.onloadstart = null; - handler.sent += 100; - if (++handler.current < length) { - if (/\b(chrome|safari)\b/i.test(navigator.userAgent)) { - handler.iframe.parentNode.removeChild(handler.iframe); - handler.iframe = null; - } - setTimeout(function () { - handler.file = handler.files[handler.current]; - sendFile(handler, maxSize, width, height).onload = callee; - }, 15); - } else if (onload) { - setTimeout(function () { - handler.iframe.parentNode.removeChild(handler.iframe); - handler.iframe = null; - handler.onloadstart = onloadstart; - handler.onload = onload; - handler.onload(rpe, xhr); - }, 15); - } - }; - } - return handler; - }; - - BI.File = BI.inherit(BI.Single, { - _defaultConfig: function () { - var conf = BI.File.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-file display-block", - element: "", - name: "", - url: "", - multiple: true, - accept: "", /**'*.jpg; *.zip'**/ - maxSize: -1 //1024 * 1024 - }) - }, - - _init: function () { - var self = this, o = this.options; - BI.File.superclass._init.apply(this, arguments); - if (o.multiple === true) { - this.element.attr("multiple", "multiple"); - } - this.element.attr("name", o.name || this.getName()); - - BI.nextTick(function () { - // create the noswfupload.wrap Object - // wrap.maxSize 文件大小限制 - // wrap.maxlength 文件个数限制 - var _wrap = self.wrap = self._wrap(self.element[0], o.maxSize); - // fileType could contain whatever text but filter checks *.{extension} - // if present - - // handlers - - _wrap.onloadstart = function (rpe, xhr) { - //BI.Msg.toast("loadstart"); - self.fireEvent(BI.File.EVENT_UPLOADSTART); - }; - - _wrap.onprogress = function (rpe, xhr) { - //BI.Msg.toast("onprogress"); - // percent for each bar - - // fileSize is -1 only if browser does not support file info access - // this if splits recent browsers from others - if (this.file.fileSize !== -1) { - // simulation property indicates when the progress event is fake - if (rpe.simulation) { - - } else { - - } - } else { - // if fileSIze is -1 browser is using an iframe because it does - // not support - // files sent via Ajax (XMLHttpRequest) - // We can still show some information - } - self.fireEvent(BI.File.EVENT_PROGRESS, { - file: this.file, - total: rpe.total, - loaded: rpe.loaded, - simulation: rpe.simulation - }); - }; - - // generated if there is something wrong during upload - _wrap.onerror = function () { - // just inform the user something was wrong - self.fireEvent(BI.File.EVENT_ERROR); - }; - - // generated when every file has been sent (one or more, it does not - // matter) - _wrap.onload = function (rpe, xhr) { - var self_ = this; - // just show everything is fine ... - // ... and after a second reset the component - setTimeout(function () { - self_.clean(); // remove files from list - self_.hide(); // hide progress bars and enable input file - - //BI.Msg.toast("onload"); - self.fireEvent(BI.File.EVENT_UPLOADED); - // enable again the submit button/element - }, 1000); - }; - _wrap.url = o.url ? o.url : BI.servletURL - + '?op=fr_attach&cmd=ah_upload'; - _wrap.fileType = o.accept; //文件类型限制 - _wrap.attach_array = []; - _wrap.attach_names = []; - _wrap.attachNum = 0; - }); - }, - - _events: function (wrap) { - var self = this; - event.add(wrap.dom.input, "change", function () { - event.del(wrap.dom.input, "change", arguments.callee); - for (var input = wrap.dom.input.cloneNode(true), i = 0, files = F(wrap.dom.input); i < files.length; i++) { - var item = files.item(i); - var tempFile = item.value || item.name; - var value = item.fileName || (item.fileName = tempFile.split("\\").pop()), - ext = -1 !== value.indexOf(".") ? value.split(".").pop().toLowerCase() : "unknown", - size = item.fileSize || item.size; - if (wrap.fileType && -1 === wrap.fileType.indexOf("*." + ext)) { - //文件类型不支持 - BI.Msg.toast(BI.i18nText("BI-Upload_File_Type_Error")); - self.fireEvent(BI.File.EVENT_ERROR, { - errorType: 0, - file: item - }); - } else if (wrap.maxSize !== -1 && size && wrap.maxSize < size) { - //文件大小不支持 - BI.Msg.toast(BI.i18nText("BI-Upload_File_Size_Error")); - self.fireEvent(BI.File.EVENT_ERROR, { - errorType: 1, - file: item - }); - } else { - wrap.files.unshift(item); - //BI.Msg.toast(value); - self.fireEvent(BI.File.EVENT_CHANGE, { - file: item - }); - } - } - input.value = ""; - wrap.dom.input.parentNode.replaceChild(input, wrap.dom.input); - wrap.dom.input = input; - event.add(wrap.dom.input, "change", arguments.callee); - }); - return wrap; - }, - - _wrap: function () { - var self = this, o = this.options; - // be sure input accept multiple files - var input = this.element[0]; - if (o.multiple === true) { - this.element.attr("multiple", "multiple"); - } - input.value = ""; - - // wrap Object - return this._events({ - - // DOM namespace - dom: { - input: input, // input file - disabled: false // internal use, checks input file state - }, - name: input.name, // name to send for each file ($_FILES[{name}] in the server) - // maxSize is the maximum amount of bytes for each file - maxSize: o.maxSize ? o.maxSize >> 0 : -1, - files: [], // file list - - // remove every file from the noswfupload component - clean: function () { - this.files = []; - }, - - // upload one file a time (which make progress possible rather than all files in one shot) - // the handler is an object injected into the wrap one, could be the wrap itself or - // something like {onload:function(){alert("OK")},onerror:function(){alert("Error")}, etc ...} - upload: function (handler) { - if (handler) { - for (var key in handler) { - this[key] = handler[key]; - } - } - sendFiles(this, this.maxSize); - return this; - }, - - // hide progress bar (total + current) and enable files selection - hide: function () { - if (this.dom.disabled) { - this.dom.disabled = false; - this.dom.input.removeAttribute("disabled"); - } - }, - - // show progress bar and disable file selection (used during upload) - // total and current are pixels used to style bars - // totalProp and currentProp are properties to change, "height" by default - show: function (total, current, totalProp, currentProp) { - if (!this.dom.disabled) { - this.dom.disabled = true; - this.dom.input.setAttribute("disabled", "disabled"); - } - } - }); - }, - - select: function () { - $(this.wrap.dom.input).click(); - }, - - upload: function (handler) { - this.wrap.upload(handler); - }, - - getValue: function () { - return this.wrap.attach_array; - }, - - reset: function () { - this.wrap.attach_array = []; - this.wrap.attach_names = []; - this.wrap.attachNum = 0; - }, - - _setEnable: function (enable) { - BI.File.superclass._setEnable.apply(this, arguments); - if (enable === true) { - this.element.attr("disabled", "disabled"); - } else { - this.element.removeAttr("disabled"); - } - } - }); - BI.File.EVENT_CHANGE = "BI.File.EVENT_CHANGE"; - BI.File.EVENT_UPLOADSTART = "EVENT_UPLOADSTART"; - BI.File.EVENT_ERROR = "EVENT_ERROR"; - BI.File.EVENT_PROGRESS = "EVENT_PROGRESS"; - BI.File.EVENT_UPLOADED = "EVENT_UPLOADED"; - BI.shortcut("bi.file", BI.File); -})(); \ No newline at end of file diff --git a/src/base/single/input/input.js b/src/base/single/input/input.js deleted file mode 100644 index 205dcf9360..0000000000 --- a/src/base/single/input/input.js +++ /dev/null @@ -1,283 +0,0 @@ -/** - * guy - * @class BI.Input 一个button和一行数 组成的一行listitem - * @extends BI.Single - * @type {*|void|Object} - */ -BI.Input = BI.inherit(BI.Single, { - _defaultConfig: function () { - var conf = BI.Input.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-input display-block", - element: "", - validationChecker: BI.emptyFn, - quitChecker: BI.emptyFn,//按确定键能否退出编辑 - allowBlank: false - }) - }, - - _init: function () { - BI.Input.superclass._init.apply(this, arguments); - var self = this; - var ctrlKey = false; - var inputEventValid = false; - var _keydown = BI.debounce(function (keyCode) { - self.onKeyDown(keyCode, ctrlKey); - self._keydown_ = false; - }, 300); - var _clk = BI.debounce(BI.bind(this._click, this), BI.EVENT_RESPONSE_TIME, true); - this._blurDebounce = BI.debounce(BI.bind(this._blur, this), BI.EVENT_RESPONSE_TIME, true); - this.element - .keydown(function (e) { - inputEventValid = false; - ctrlKey = e.ctrlKey; - self.fireEvent(BI.Input.EVENT_QUICK_DOWN); - }) - .keyup(function (e) { - if (!(inputEventValid && e.keyCode === BI.KeyCode.ENTER)) { - self._keydown_ = true; - _keydown(e.keyCode); - } - }) - .on("input propertychange", function (e) { - inputEventValid = true; - self._keydown_ = true; - _keydown(e.keyCode); - }) - .click(function (e) { - e.stopPropagation(); - _clk(); - }) - .mousedown(function (e) { - self.element.val(self.element.val()); - }) - .focusout(function (e) { - self._blurDebounce(); - }); - }, - - _focus: function () { - this.element.addClass("bi-input-focus"); - this._checkValidationOnValueChange(); - this._isEditing = true; - if (this.getValue() == "") { - this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EMPTY, this.getValue(), this); - this.fireEvent(BI.Input.EVENT_EMPTY); - } - this.fireEvent(BI.Input.EVENT_FOCUS); - }, - - _blur: function () { - var self = this; - if (self._keydown_ === true) { - BI.delay(blur, 300); - } else { - blur(); - } - function blur() { - if (!self.isValid() && self.options.quitChecker.apply(self, [BI.trim(self.getValue())]) !== false) { - self.element.val(self._lastValidValue ? self._lastValidValue : ""); - self._checkValidationOnValueChange(); - self._defaultState(); - } - self.element.removeClass("bi-input-focus"); - self._isEditing = false; - self._start = false; - if (self.isValid()) { - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.CONFIRM, self.getValue(), self); - self.fireEvent(BI.Input.EVENT_CONFIRM); - } - self.fireEvent(BI.Input.EVENT_BLUR); - } - }, - - _click: function () { - if (this._isEditing !== true) { - this._focus(); - this.selectAll(); - this.fireEvent(BI.Input.EVENT_CLICK); - } - }, - - onClick: function () { - this._click(); - }, - - onKeyDown: function (keyCode, ctrlKey) { - if (!this.isValid() || BI.trim(this._lastValidValue) !== BI.trim(this.getValue())) { - this._checkValidationOnValueChange(); - } - if (this.isValid() && BI.trim(this.getValue()) !== "") { - if (BI.trim(this.getValue()) !== this._lastValue && (!this._start || this._lastValue == null || this._lastValue === "") - || (this._pause === true && !/(\s|\u00A0)$/.test(this.getValue()))) { - this._start = true; - this._pause = false; - this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.STARTEDIT, this.getValue(), this); - this.fireEvent(BI.Input.EVENT_START); - } - } - if (ctrlKey === true && keyCode === 86) {//ctrlKey+V - this._valueChange(); - } else { - if (keyCode == BI.KeyCode.ENTER) { - if (this.isValid() || this.options.quitChecker.apply(this, [BI.trim(this.getValue())]) !== false) { - this.blur(); - this.fireEvent(BI.Input.EVENT_ENTER); - } else { - this.fireEvent(BI.Input.EVENT_RESTRICT); - } - } - if (keyCode == BI.KeyCode.SPACE) { - this.fireEvent(BI.Input.EVENT_SPACE); - } - if (keyCode == BI.KeyCode.BACKSPACE && this._lastValue == "") { - this.fireEvent(BI.Input.EVENT_REMOVE); - } - if (keyCode == BI.KeyCode.BACKSPACE || keyCode == BI.KeyCode.DELETE) { - this.fireEvent(BI.Input.EVENT_BACKSPACE); - } - } - this.fireEvent(BI.Input.EVENT_KEY_DOWN); - - if (BI.isEndWithBlank(this.getValue())) { - this._pause = true; - this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.PAUSE, "", this); - this.fireEvent(BI.Input.EVENT_PAUSE); - this._defaultState(); - } else if ((keyCode === BI.KeyCode.BACKSPACE || keyCode === BI.KeyCode.DELETE) && - BI.trim(this.getValue()) === "" && (this._lastValue !== null && BI.trim(this._lastValue) !== "")) { - this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.STOPEDIT, this.getValue(), this); - this.fireEvent(BI.Input.EVENT_STOP); - this._valueChange(); - } else { - this._valueChange(); - } - }, - - //初始状态 - _defaultState: function () { - if (this.getValue() == "") { - this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EMPTY, this.getValue(), this); - this.fireEvent(BI.Input.EVENT_EMPTY); - } - this._lastValue = this.getValue(); - this._lastSubmitValue = null; - }, - - _valueChange: function () { - if (this.isValid() && BI.trim(this.getValue()) !== this._lastSubmitValue) { - this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.CHANGE, this.getValue(), this); - this.fireEvent(BI.Input.EVENT_CHANGE); - this._lastSubmitValue = BI.trim(this.getValue()); - } - if (this.getValue() == "") { - this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.EMPTY, this.getValue(), this); - this.fireEvent(BI.Input.EVENT_EMPTY); - } - this._lastValue = this.getValue(); - }, - - _checkValidationOnValueChange: function () { - var o = this.options; - var v = this.getValue(); - this.setValid( - (o.allowBlank === true && BI.trim(v) == "") || - (BI.isNotEmptyString(BI.trim(v)) - && (v === this._lastValidValue || - o.validationChecker.apply(this, [BI.trim(v)]) !== false)) - ); - }, - - focus: function () { - if (!this.element.is(":visible")) { - throw new Error("input输入框在不可见下不能focus"); - } - if (!this._isEditing === true) { - this.element.focus(); - this._focus(); - this.selectAll(); - } - }, - - blur: function () { - if (!this.element.is(":visible")) { - throw new Error("input输入框在不可见下不能blur"); - } - if (this._isEditing === true) { - this.element.blur(); - this._blurDebounce(); - } - }, - - selectAll: function () { - if (!this.element.is(":visible")) { - throw new Error("input输入框在不可见下不能select"); - } - this.element.select(); - this._isEditing = true; - }, - - setValue: function (textValue) { - this.element.val(textValue); - BI.nextTick(BI.bind(function () { - this._checkValidationOnValueChange(); - this._defaultState(); - if (this.isValid()) { - this._lastSubmitValue = this.getValue(); - } - }, this)); - }, - - getValue: function () { - return this.element.val() || ""; - }, - - isEditing: function () { - return this._isEditing; - }, - - getLastValidValue: function () { - return this._lastValidValue; - }, - - _setValid: function () { - BI.Input.superclass._setValid.apply(this, arguments); - if (this.isValid()) { - this._lastValidValue = this.getValue(); - this.element.removeClass("bi-input-error"); - this.fireEvent(BI.Input.EVENT_VALID, BI.trim(this.getValue()), this); - } else { - if (this._lastValidValue === this.getValue()) { - this._lastValidValue = null; - } - this.element.addClass("bi-input-error"); - this.fireEvent(BI.Input.EVENT_ERROR, BI.trim(this.getValue()), this); - } - }, - - _setEnable: function (b) { - BI.Input.superclass._setEnable.apply(this, [b]); - this.element[0].disabled = !b; - } -}); -BI.Input.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.Input.EVENT_FOCUS = "EVENT_FOCUS"; -BI.Input.EVENT_CLICK = "EVENT_CLICK"; -BI.Input.EVENT_BLUR = "EVENT_BLUR"; -BI.Input.EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; -BI.Input.EVENT_QUICK_DOWN = "EVENT_QUICK_DOWN"; -BI.Input.EVENT_SPACE = "EVENT_SPACE"; -BI.Input.EVENT_BACKSPACE = "EVENT_BACKSPACE"; - -BI.Input.EVENT_START = "EVENT_START"; -BI.Input.EVENT_PAUSE = "EVENT_PAUSE"; -BI.Input.EVENT_STOP = "EVENT_STOP"; -BI.Input.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.Input.EVENT_REMOVE = "EVENT_REMOVE"; -BI.Input.EVENT_EMPTY = "EVENT_EMPTY"; -BI.Input.EVENT_VALID = "EVENT_VALID"; -BI.Input.EVENT_ERROR = "EVENT_ERROR"; -BI.Input.EVENT_ENTER = "EVENT_ENTER"; -BI.Input.EVENT_RESTRICT = "EVENT_RESTRICT"; -BI.shortcut("bi.input", BI.Input); \ No newline at end of file diff --git a/src/base/single/input/radio.js b/src/base/single/input/radio.js deleted file mode 100644 index dcd26722c6..0000000000 --- a/src/base/single/input/radio.js +++ /dev/null @@ -1,33 +0,0 @@ -/** - * guy - * @extends BI.Single - * @type {*|void|Object} - */ -BI.Radio = BI.inherit(BI.IconButton, { - _defaultConfig: function() { - var conf = BI.Radio.superclass._defaultConfig.apply(this,arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-radio radio-icon", - selected: false, - handler: BI.emptyFn, - width: 16, - height: 16, - iconWidth: 16, - iconHeight: 16 - }) - }, - - _init : function() { - BI.Radio.superclass._init.apply(this, arguments); - }, - - doClick: function(){ - BI.Radio.superclass.doClick.apply(this, arguments); - if(this.isValid()){ - this.fireEvent(BI.Radio.EVENT_CHANGE); - } - } -}); -BI.Radio.EVENT_CHANGE = "Radio.EVENT_CHANGE"; - -BI.shortcut("bi.radio", BI.Radio); \ No newline at end of file diff --git a/src/base/single/label/label.js b/src/base/single/label/label.js deleted file mode 100644 index bbb0deb48d..0000000000 --- a/src/base/single/label/label.js +++ /dev/null @@ -1,471 +0,0 @@ -/** - * Created by GUY on 2015/6/26. - */ - -BI.Label = BI.inherit(BI.Single, { - _defaultConfig: function () { - var conf = BI.Label.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-label", - textAlign: "center", - whiteSpace: "nowrap", //normal or nowrap - forceCenter: false, //是否无论如何都要居中, 不考虑超出边界的情况, 在未知宽度和高度时有效 - textWidth: null, - textHeight: null, - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - text: "", - py: "", - keyword: "" - }) - }, - - _createJson: function () { - var o = this.options; - return { - type: "bi.text", - textAlign: o.textAlign, - whiteSpace: o.whiteSpace, - lineHeight: o.textHeight, - text: o.text, - value: o.value, - py: o.py, - keyword: o.keyword - }; - }, - - _init: function () { - BI.Label.superclass._init.apply(this, arguments); - - if (this.options.textAlign === "center") { - this._createCenterEl(); - } else { - this._createNotCenterEl(); - } - }, - - _createCenterEl: function () { - var o = this.options; - var json = this._createJson(); - if (BI.isNumber(o.width) && o.width > 0) { - if (BI.isNumber(o.textWidth) && o.textWidth > 0) { - if (BI.isNumber(o.height) && o.height > 0) { - var gap = (o.width - o.textWidth) / 2; - BI.createWidget({ - type: "bi.adaptive", - height: o.height, - scrollable: o.whiteSpace === "normal", - element: this, - items: [ - { - el: (this.text = BI.createWidget(json)), - left: gap + o.hgap + o.lgap, - right: gap + o.hgap + o.rgap, - top: o.vgap + o.tgap, - bottom: o.vgap + o.bgap - } - ] - }); - this.element.css({"line-height": o.height + "px"}); - return; - } - json.width = o.textWidth; - BI.createWidget({ - type: "bi.center_adapt", - scrollable: o.whiteSpace === "normal", - element: this, - items: [ - { - el: (this.text = BI.createWidget(json)) - } - ] - }); - return; - } - if (o.whiteSpace == "normal") { - this.text = BI.createWidget(json); - BI.createWidget({ - type: "bi.center_adapt", - scrollable: o.whiteSpace === "normal", - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - element: this, - items: [this.text] - }); - return; - } - if (BI.isNumber(o.height) && o.height > 0) { - this.element.css({ - "line-height": o.height + "px" - }); - BI.createWidget({ - type: "bi.absolute", - scrollable: o.whiteSpace === "normal", - element: this, - items: [{ - el: (this.text = BI.createWidget(json)), - left: o.hgap + o.lgap, - right: o.hgap + o.rgap, - top: o.vgap + o.tgap, - bottom: o.vgap + o.bgap - }] - }); - return; - } - json.width = o.width - 2 * o.hgap; - BI.createWidget({ - type: "bi.center_adapt", - scrollable: o.whiteSpace === "normal", - element: this, - items: [{ - el: (this.text = BI.createWidget(json)) - }] - }); - return; - } - if (BI.isNumber(o.textWidth) && o.textWidth > 0) { - json.width = o.textWidth; - BI.createWidget({ - type: "bi.center_adapt", - scrollable: o.whiteSpace === "normal", - element: this, - items: [ - { - el: (this.text = BI.createWidget(json)) - } - ] - }); - return; - } - if (o.whiteSpace == "normal") { - this.text = BI.createWidget(json); - BI.createWidget({ - type: "bi.center_adapt", - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - scrollable: o.whiteSpace === "normal", - element: this, - items: [this.text] - }); - return; - } - if (BI.isNumber(o.height) && o.height > 0) { - if (BI.isNumber(o.textHeight) && o.textHeight > 0) { - this.element.css({ - "line-height": o.height + "px" - }); - BI.createWidget({ - type: "bi.adaptive", - height: o.height, - scrollable: o.whiteSpace === "normal", - element: this, - items: [{ - el: (this.text = BI.createWidget(json)), - left: o.hgap + o.lgap, - right: o.hgap + o.rgap, - top: o.vgap + o.tgap, - bottom: o.vgap + o.bgap - }] - }); - return; - } - BI.extend(json, { - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap - }); - this.element.css({ - "line-height": o.height + "px" - }); - this.text = BI.createWidget(BI.extend(json, { - element: this - })); - BI.createWidget({ - type: "bi.layout", - element: this.text, - scrollable: o.whiteSpace === "normal" - }); - return; - } - BI.extend(json, { - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap - }); - if (o.forceCenter) { - this.text = BI.createWidget(json); - BI.createWidget({ - type: "bi.center_adapt", - element: this, - items: [this.text] - }); - return; - } - this.text = BI.createWidget(BI.extend(json, { - element: this - })); - BI.createWidget({ - type: "bi.layout", - element: this.text, - scrollable: o.whiteSpace === "normal" - }) - }, - - _createNotCenterEl: function () { - var o = this.options; - var json = this._createJson(); - if (BI.isNumber(o.width) && o.width > 0) { - if (BI.isNumber(o.textWidth) && o.textWidth > 0) { - if (BI.isNumber(o.height) && o.height > 0) { - BI.createWidget({ - type: "bi.adaptive", - height: o.height, - scrollable: o.whiteSpace === "normal", - element: this, - items: [ - { - el: (this.text = BI.createWidget(json)), - left: o.hgap + o.lgap, - right: o.hgap + o.rgap, - top: o.vgap + o.tgap, - bottom: o.vgap + o.bgap - } - ] - }); - this.element.css({"line-height": o.height + "px"}); - return; - } - json.width = o.textWidth; - BI.createWidget({ - type: "bi.vertical_adapt", - scrollable: o.whiteSpace === "normal", - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - element: this, - items: [ - { - el: (this.text = BI.createWidget(json)) - } - ] - }); - return; - } - if (o.whiteSpace == "normal") { - this.text = BI.createWidget(json); - BI.createWidget({ - type: "bi.vertical_adapt", - scrollable: o.whiteSpace === "normal", - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - element: this, - items: [this.text] - }); - return; - } - if (BI.isNumber(o.height) && o.height > 0) { - this.element.css({ - "line-height": o.height + "px" - }); - BI.createWidget({ - type: "bi.absolute", - scrollable: o.whiteSpace === "normal", - element: this, - items: [{ - el: (this.text = BI.createWidget(json)), - left: o.hgap + o.lgap, - right: o.hgap + o.rgap, - top: o.vgap + o.tgap, - bottom: o.vgap + o.bgap - }] - }); - return; - } - json.width = o.width - 2 * o.hgap - o.lgap - o.rgap; - BI.createWidget({ - type: "bi.vertical_adapt", - scrollable: o.whiteSpace === "normal", - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - element: this, - items: [{ - el: (this.text = BI.createWidget(json)) - }] - }); - return; - } - if (BI.isNumber(o.textWidth) && o.textWidth > 0) { - json.width = o.textWidth; - BI.createWidget({ - type: "bi.vertical_adapt", - scrollable: o.whiteSpace === "normal", - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - element: this, - items: [ - { - el: (this.text = BI.createWidget(json)) - } - ] - }); - return; - } - if (o.whiteSpace == "normal") { - this.text = BI.createWidget(json) - BI.createWidget({ - type: "bi.vertical_adapt", - scrollable: o.whiteSpace === "normal", - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - element: this, - items: [this.text] - }); - return; - } - if (BI.isNumber(o.height) && o.height > 0) { - if (BI.isNumber(o.textHeight) && o.textHeight > 0) { - this.element.css({ - "line-height": o.height + "px" - }); - BI.createWidget({ - type: "bi.adaptive", - height: o.height, - scrollable: o.whiteSpace === "normal", - element: this, - items: [{ - el: (this.text = BI.createWidget(json)), - left: o.hgap + o.lgap, - right: o.hgap + o.rgap, - top: o.vgap + o.tgap, - bottom: o.vgap + o.bgap - }] - }); - return; - } - BI.extend(json, { - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap - }); - this.element.css({ - "line-height": o.height + "px" - }); - this.text = BI.createWidget(BI.extend(json, { - element: this - })); - BI.createWidget({ - type: "bi.layout", - element: this.text, - scrollable: o.whiteSpace === "normal" - }); - return; - } - BI.extend(json, { - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap - }); - if (o.forceCenter) { - this.text = BI.createWidget(json); - BI.createWidget({ - type: "bi.vertical_adapt", - element: this, - items: [this.text] - }); - return; - } - this.text = BI.createWidget(BI.extend(json, { - element: this - })); - BI.createWidget({ - type: "bi.layout", - element: this.text, - scrollable: o.whiteSpace === "normal" - }) - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - setText: function (v) { - this.options.text = v; - this.text.setText(v); - }, - - getText: function () { - return this.options.text; - }, - - setStyle: function (css) { - this.text.setStyle(css) - }, - - setValue: function (v) { - BI.Label.superclass.setValue.apply(this, arguments); - if (!this.isReadOnly()) { - this.text.setValue(v); - } - }, - - populate: function () { - BI.Label.superclass.populate.apply(this, arguments); - } -}); - -BI.shortcut("bi.label", BI.Label); \ No newline at end of file diff --git a/src/base/single/link/link.js b/src/base/single/link/link.js deleted file mode 100644 index ca6895d43a..0000000000 --- a/src/base/single/link/link.js +++ /dev/null @@ -1,37 +0,0 @@ -/** - * guy a元素 - * @class BI.Link - * @extends BI.Text - */ -BI.Link = BI.inherit(BI.Label, { - _defaultConfig: function() { - var conf = BI.Link.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-link", - href: "", - target: "_blank" - }) - }, - - _createJson: function(){ - var o = this.options; - return { - type:"bi.a", - textAlign: o.textAlign, - whiteSpace: o.whiteSpace, - lineHeight: o.textHeight, - text: o.text, - keyword: o.keyword, - value: o.value, - py: o.py, - href: o.href, - target: o.target - }; - }, - - _init : function() { - BI.Link.superclass._init.apply(this, arguments); - } -}); - -BI.shortcut("bi.link", BI.Link); \ No newline at end of file diff --git a/src/base/single/single.js b/src/base/single/single.js deleted file mode 100644 index 8bf74ec1a2..0000000000 --- a/src/base/single/single.js +++ /dev/null @@ -1,158 +0,0 @@ -/** - * guy - * 这仅仅只是一个超类, 所有简单控件的基类 - * 1、类的控制, - * 2、title的控制 - * 3、文字超过边界显示3个点 - * 4、cursor默认pointor - * @class BI.Single - * @extends BI.Widget - * @abstract - */ -BI.Single = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.Single.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-single", - readonly: false, - title: null, - warningTitle: null, - tipType: null, // success或warning - value: null - }) - }, - - _showToolTip: function (e, opt) { - opt || (opt = {}); - var self = this; - var type = this.getTipType() || (this.isEnabled() ? "success" : "warning"); - var title = type === "success" ? this.getTitle() : (this.getWarningTitle() || this.getTitle()); - if (BI.isKey(title)) { - BI.Tooltips.show(e, this.getName(), title, type, this, opt); - } - }, - - _hideTooltip: function () { - var self = this; - var tooltip = BI.Tooltips.get(this.getName()); - if (BI.isNotNull(tooltip)) { - tooltip.element.fadeOut(200, function () { - BI.Tooltips.remove(self.getName()); - }); - } - }, - - _init: function () { - BI.Single.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (BI.isKey(o.title) || BI.isKey(o.warningTitle) - || BI.isFunction(o.title) || BI.isFunction(o.warningTitle)) { - this.enableHover(); - } - }, - - enableHover: function (opt) { - opt || (opt = {}); - var self = this; - if (!this._hoverBinded) { - this.element.on("mouseenter.title" + this.getName(), function (e) { - self._e = e; - if (self.getTipType() === "warning" || (BI.isKey(self.getWarningTitle()) && !self.isEnabled())) { - self.timeout = BI.delay(function () { - self._showToolTip(self._e || e, opt); - }, 200); - } else if (self.getTipType() === "success" || self.isEnabled()) { - self.timeout = BI.delay(function () { - self._showToolTip(self._e || e, opt); - }, 500); - } - }); - this.element.on("mousemove.title" + this.getName(), function (e) { - self._e = e; - if (!self.element.__isMouseInBounds__(e)) { - if (BI.isNotNull(self.timeout)) { - clearTimeout(self.timeout); - } - self._hideTooltip(); - } - }); - this.element.on("mouseleave.title" + this.getName(), function () { - self._e = null; - if (BI.isNotNull(self.timeout)) { - clearTimeout(self.timeout); - } - self._hideTooltip(); - }); - this._hoverBinded = true; - } - }, - - disabledHover: function () { - //取消hover事件 - if (BI.isNotNull(this.timeout)) { - clearTimeout(this.timeout); - } - this._hideTooltip(); - $(this.element).unbind("mouseenter.title" + this.getName()) - .unbind("mousemove.title" + this.getName()) - .unbind("mouseleave.title" + this.getName()); - this._hoverBinded = false; - }, - - populate: function (items) { - this.items = items || []; - }, - - //opt: {container: '', belowMouse: false} - setTitle: function (title, opt) { - this.options.title = title; - if (BI.isKey(title)) { - this.enableHover(opt); - } else { - this.disabledHover(); - } - }, - - setWarningTitle: function (title, opt) { - this.options.warningTitle = title; - if (BI.isKey(title)) { - this.enableHover(opt); - } else { - this.disabledHover(); - } - }, - - getTipType: function () { - return this.options.tipType; - }, - - isReadOnly: function () { - return !!this.options.readonly; - }, - - getTitle: function () { - var title = this.options.title; - if(BI.isFunction(title)) { - return title(); - } - return title; - }, - - getWarningTitle: function () { - var title = this.options.warningTitle; - if(BI.isFunction(title)) { - return title(); - } - return title; - }, - - setValue: function (val) { - if (!this.options.readonly) { - this.options.value = val; - } - }, - - getValue: function () { - return this.options.value; - } -}); \ No newline at end of file diff --git a/src/base/single/text.js b/src/base/single/text.js deleted file mode 100644 index 4efe5143b3..0000000000 --- a/src/base/single/text.js +++ /dev/null @@ -1,121 +0,0 @@ -/** - * guy 表示一行数据,通过position来定位位置的数据 - * @class BI.Text - * @extends BI.Single - */ -BI.Text = BI.inherit(BI.Single, { - _defaultConfig: function () { - var conf = BI.Text.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-text", - textAlign: "left", - whiteSpace: "normal", - lineHeight: null, - handler: null,//如果传入handler,表示处理文字的点击事件,不是区域的 - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - text: "", - py: "" - }) - }, - - _init: function () { - BI.Text.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (o.hgap + o.lgap > 0) { - this.element.css({ - "padding-left": o.hgap + o.lgap + "px" - }) - } - if (o.hgap + o.rgap > 0) { - this.element.css({ - "padding-right": o.hgap + o.rgap + "px" - }) - } - if (o.vgap + o.tgap > 0) { - this.element.css({ - "padding-top": o.vgap + o.tgap + "px" - }) - } - if (o.vgap + o.bgap > 0) { - this.element.css({ - "padding-bottom": o.vgap + o.bgap + "px" - }) - } - if (BI.isNumber(o.height)) { - this.element.css({"lineHeight": o.height + "px"}); - } - if (BI.isNumber(o.lineHeight)) { - this.element.css({"lineHeight": o.lineHeight + "px"}); - } - this.element.css({ - "textAlign": o.textAlign, - "whiteSpace": o.whiteSpace - }); - if (o.handler) { - this.text = BI.createWidget({ - type: "bi.layout", - tagName: 'span' - }); - this.text.element.click(function () { - o.handler(self.getValue()); - }); - BI.createWidget({ - type: "bi.default", - element: this, - items: [this.text] - }); - } else { - this.text = this; - } - if (BI.isKey(o.text)) { - this.setText(o.text); - } else if (BI.isKey(o.value)) { - this.setText(o.value); - } - if (BI.isKey(o.keyword)) { - this.text.element.__textKeywordMarked__(o.text, o.keyword, o.py); - } - }, - - doRedMark: function (keyword) { - var o = this.options; - this.text.element.__textKeywordMarked__(o.text || o.value, keyword, o.py); - }, - - unRedMark: function () { - var o = this.options; - this.text.element.__textKeywordMarked__(o.text || o.value, "", o.py); - }, - - doHighLight: function () { - this.text.element.addClass("bi-high-light"); - }, - - unHighLight: function () { - this.text.element.removeClass("bi-high-light"); - }, - - setValue: function (text) { - BI.Text.superclass.setValue.apply(this, arguments); - if (!this.isReadOnly()) { - this.setText(text); - } - }, - - setStyle: function (css) { - this.text.element.css(css) - }, - - setText: function (text) { - BI.Text.superclass.setText.apply(this, arguments); - this.options.text = text; - this.text.element.text((text + "").replaceAll(" ", " ")); - } -}); - -BI.shortcut("bi.text", BI.Text); \ No newline at end of file diff --git a/src/base/single/tip/tip.bubble.js b/src/base/single/tip/tip.bubble.js deleted file mode 100644 index 425578a00a..0000000000 --- a/src/base/single/tip/tip.bubble.js +++ /dev/null @@ -1,107 +0,0 @@ -/** - * guy - * 气泡提示 - * @class BI.Bubble - * @extends BI.Tip - * @type {*|void|Object} - */ -BI.Bubble = BI.inherit(BI.Tip, { - _defaultConfig: function() { - return BI.extend(BI.Bubble.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-bubble", - direction: "top", - text: "", - height: 35 - }) - }, - _init : function() { - BI.Bubble.superclass._init.apply(this, arguments); - var fn = function (e) { - e.stopPropagation(); - e.stopEvent(); - return false; - }; - this.element.bind({"click": fn, "mousedown": fn, "mouseup": fn, "mouseover": fn, "mouseenter": fn, "mouseleave": fn, "mousemove": fn}); - BI.createWidget({ - type: "bi.left", - element: this, - items: [this["_" + this.options.direction]()] - }) - }, - - _createBubbleText: function(){ - return (this.text = BI.createWidget({ - type: "bi.label", - cls: "bubble-text", - text: this.options.text, - hgap: 10, - height: 30 - })); - }, - - _top: function(){ - return BI.createWidget({ - type: "bi.vertical", - items: [{ - el: this._createBubbleText(), - height: 30 - }, { - el: { - type: "bi.layout" - }, - height: 3 - }] - }) - }, - - _bottom: function(){ - return BI.createWidget({ - type: "bi.vertical", - items: [{ - el: { - type: "bi.layout" - }, - height: 3 - }, { - el: this._createBubbleText(), - height: 30 - }] - }) - }, - - _left: function(){ - return BI.createWidget({ - type: "bi.right", - items: [{ - el: { - type: "bi.layout", - width: 3, - height: 30 - } - }, { - el: this._createBubbleText() - }] - }) - }, - - _right: function(){ - return BI.createWidget({ - type: "bi.left", - items: [{ - el: { - type: "bi.layout", - width: 3, - height: 30 - } - }, { - el: this._createBubbleText() - }] - }) - }, - - setText: function(text){ - this.text.setText(text); - } -}); - -BI.shortcut("bi.bubble", BI.Bubble); \ No newline at end of file diff --git a/src/base/single/tip/tip.js b/src/base/single/tip/tip.js deleted file mode 100644 index 01a1cf9f40..0000000000 --- a/src/base/single/tip/tip.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * guy - * tip提示 - * zIndex在10亿级别 - * @class BI.Tip - * @extends BI.Single - * @abstract - */ -BI.Tip = BI.inherit(BI.Single, { - _defaultConfig: function() { - var conf = BI.Link.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-tip", - zIndex: BI.zIndex_tip - }) - }, - - _init : function() { - BI.Tip.superclass._init.apply(this, arguments); - this.element.css({"zIndex": this.options.zIndex}); - } -}); \ No newline at end of file diff --git a/src/base/single/tip/tip.toast.js b/src/base/single/tip/tip.toast.js deleted file mode 100644 index 1a0c45f00f..0000000000 --- a/src/base/single/tip/tip.toast.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * toast提示 - * - * Created by GUY on 2015/9/7. - * @class BI.Toast - * @extends BI.Tip - */ -BI.Toast = BI.inherit(BI.Tip, { - _const: { - minWidth: 200, - hgap: 20 - }, - - _defaultConfig: function () { - return BI.extend(BI.Toast.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-toast", - text: "", - level: "success",//success或warning - height: 30 - }) - }, - _init: function () { - BI.Toast.superclass._init.apply(this, arguments); - var o = this.options; - this.element.css({ - minWidth: this._const.minWidth + "px" - }) - this.element.addClass("toast-" + o.level); - var fn = function (e) { - e.stopPropagation(); - e.stopEvent(); - return false; - }; - this.element.bind({"click": fn, "mousedown": fn, "mouseup": fn, "mouseover": fn, "mouseenter": fn, "mouseleave": fn, "mousemove": fn}); - - this.text = BI.createWidget({ - type: "bi.label", - element: this, - text: o.text, - height: 30, - hgap: this._const.hgap - }) - }, - - setWidth: function(width){ - this.element.width(width); - }, - - setText: function (text) { - this.text.setText(text); - } -}); - -BI.shortcut("bi.toast", BI.Toast); \ No newline at end of file diff --git a/src/base/single/tip/tip.tooltip.js b/src/base/single/tip/tip.tooltip.js deleted file mode 100644 index 64dd0c594c..0000000000 --- a/src/base/single/tip/tip.tooltip.js +++ /dev/null @@ -1,84 +0,0 @@ -/** - * toast提示 - * - * Created by GUY on 2015/9/7. - * @class BI.Tooltip - * @extends BI.Tip - */ -BI.Tooltip = BI.inherit(BI.Tip, { - _const: { - hgap: 10 - }, - - _defaultConfig: function () { - return BI.extend(BI.Tooltip.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-tooltip", - text: "", - level: "success",//success或warning - stopEvent: false, - stopPropagation: false, - height: 20 - }) - }, - _init: function () { - BI.Tooltip.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.element.addClass("tooltip-" + o.level); - var fn = function (e) { - o.stopPropagation && e.stopPropagation(); - o.stopEvent && e.stopEvent(); - }; - this.element.bind({ - "click": fn, - "mousedown": fn, - "mouseup": fn, - "mouseover": fn, - "mouseenter": fn, - "mouseleave": fn, - "mousemove": fn - }); - - var texts = (o.text + "").split("\n"); - if (texts.length > 1) { - BI.createWidget({ - type: "bi.vertical", - element: this, - hgap: this._const.hgap, - items: BI.map(texts, function (i, text) { - return { - type: "bi.label", - textAlign: "left", - whiteSpace: "normal", - text: text, - textHeight: 16 - } - }) - }) - } else { - this.text = BI.createWidget({ - type: "bi.label", - element: this, - textAlign: "left", - whiteSpace: "normal", - text: o.text, - textHeight: 20, - hgap: this._const.hgap - }); - } - }, - - setWidth: function (width) { - this.element.width(width - 2 * this._const.hgap); - }, - - setText: function (text) { - this.text && this.text.setText(text); - }, - - setLevel: function (level) { - this.element.removeClass("tooltip-success").removeClass("tooltip-warning"); - this.element.addClass("tooltip-" + level); - } -}); - -BI.shortcut("bi.tooltip", BI.Tooltip); \ No newline at end of file diff --git a/src/base/single/trigger/trigger.js b/src/base/single/trigger/trigger.js deleted file mode 100644 index e78dbacee7..0000000000 --- a/src/base/single/trigger/trigger.js +++ /dev/null @@ -1,27 +0,0 @@ -/** - * 下拉 - * @class BI.Trigger - * @extends BI.Single - * @abstract - */ -BI.Trigger = BI.inherit(BI.Single, { - _defaultConfig: function() { - var conf = BI.Trigger.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-trigger cursor-pointer", - height: 24 - }) - }, - - _init : function() { - BI.Trigger.superclass._init.apply(this, arguments); - }, - - setKey: function(){ - - }, - - getKey: function(){ - - } -}); \ No newline at end of file diff --git a/src/base/svg/raphael.js b/src/base/svg/raphael.js deleted file mode 100644 index 2bbc32437e..0000000000 --- a/src/base/svg/raphael.js +++ /dev/null @@ -1,8269 +0,0 @@ -// Copyright (c) 2013 Adobe Systems Incorporated. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// ┌────────────────────────────────────────────────────────────┐ \\ -// │ Eve 0.4.2 - JavaScript Events Library │ \\ -// ├────────────────────────────────────────────────────────────┤ \\ -// │ Author Dmitry Baranovskiy (http://dmitry.baranovskiy.com/) │ \\ -// └────────────────────────────────────────────────────────────┘ \\ -(function (glob, factory) { - if (typeof define === "function" && define.amd) { - define("eve", function() { - return factory(); - }); - } else if (typeof exports === "object") { - module.exports = factory(); - } else { - glob.eve = factory(); - } -}(this, function(){ - var version = "0.4.2", - has = "hasOwnProperty", - separator = /[\.\/]/, - wildcard = "*", - fun = function () {}, - numsort = function (a, b) { - return a - b; - }, - current_event, - stop, - events = {n: {}}, - /*\ - * eve - [ method ] - - * Fires event with given `name`, given scope and other parameters. - - > Arguments - - - name (string) name of the *event*, dot (`.`) or slash (`/`) separated - - scope (object) context for the event handlers - - varargs (...) the rest of arguments will be sent to event handlers - - = (object) array of returned values from the listeners - \*/ - eve = function (name, scope) { - name = String(name); - var e = events, - oldstop = stop, - args = Array.prototype.slice.call(arguments, 2), - listeners = eve.listeners(name), - z = 0, - f = false, - l, - indexed = [], - queue = {}, - out = [], - ce = current_event, - errors = []; - current_event = name; - stop = 0; - for (var i = 0, ii = listeners.length; i < ii; i++) if ("zIndex" in listeners[i]) { - indexed.push(listeners[i].zIndex); - if (listeners[i].zIndex < 0) { - queue[listeners[i].zIndex] = listeners[i]; - } - } - indexed.sort(numsort); - while (indexed[z] < 0) { - l = queue[indexed[z++]]; - out.push(l.apply(scope, args)); - if (stop) { - stop = oldstop; - return out; - } - } - for (i = 0; i < ii; i++) { - l = listeners[i]; - if ("zIndex" in l) { - if (l.zIndex == indexed[z]) { - out.push(l.apply(scope, args)); - if (stop) { - break; - } - do { - z++; - l = queue[indexed[z]]; - l && out.push(l.apply(scope, args)); - if (stop) { - break; - } - } while (l) - } else { - queue[l.zIndex] = l; - } - } else { - out.push(l.apply(scope, args)); - if (stop) { - break; - } - } - } - stop = oldstop; - current_event = ce; - return out.length ? out : null; - }; - // Undocumented. Debug only. - eve._events = events; - /*\ - * eve.listeners - [ method ] - - * Internal method which gives you array of all event handlers that will be triggered by the given `name`. - - > Arguments - - - name (string) name of the event, dot (`.`) or slash (`/`) separated - - = (array) array of event handlers - \*/ - eve.listeners = function (name) { - var names = name.split(separator), - e = events, - item, - items, - k, - i, - ii, - j, - jj, - nes, - es = [e], - out = []; - for (i = 0, ii = names.length; i < ii; i++) { - nes = []; - for (j = 0, jj = es.length; j < jj; j++) { - e = es[j].n; - items = [e[names[i]], e[wildcard]]; - k = 2; - while (k--) { - item = items[k]; - if (item) { - nes.push(item); - out = out.concat(item.f || []); - } - } - } - es = nes; - } - return out; - }; - - /*\ - * eve.on - [ method ] - ** - * Binds given event handler with a given name. You can use wildcards “`*`” for the names: - | eve.on("*.under.*", f); - | eve("mouse.under.floor"); // triggers f - * Use @eve to trigger the listener. - ** - > Arguments - ** - - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards - - f (function) event handler function - ** - = (function) returned function accepts a single numeric parameter that represents z-index of the handler. It is an optional feature and only used when you need to ensure that some subset of handlers will be invoked in a given order, despite of the order of assignment. - > Example: - | eve.on("mouse", eatIt)(2); - | eve.on("mouse", scream); - | eve.on("mouse", catchIt)(1); - * This will ensure that `catchIt()` function will be called before `eatIt()`. - * - * If you want to put your handler before non-indexed handlers, specify a negative value. - * Note: I assume most of the time you don’t need to worry about z-index, but it’s nice to have this feature “just in case”. - \*/ - eve.on = function (name, f) { - name = String(name); - if (typeof f != "function") { - return function () {}; - } - var names = name.split(separator), - e = events; - for (var i = 0, ii = names.length; i < ii; i++) { - e = e.n; - e = e.hasOwnProperty(names[i]) && e[names[i]] || (e[names[i]] = {n: {}}); - } - e.f = e.f || []; - for (i = 0, ii = e.f.length; i < ii; i++) if (e.f[i] == f) { - return fun; - } - e.f.push(f); - return function (zIndex) { - if (+zIndex == +zIndex) { - f.zIndex = +zIndex; - } - }; - }; - /*\ - * eve.f - [ method ] - ** - * Returns function that will fire given event with optional arguments. - * Arguments that will be passed to the result function will be also - * concated to the list of final arguments. - | el.onclick = eve.f("click", 1, 2); - | eve.on("click", function (a, b, c) { - | console.log(a, b, c); // 1, 2, [event object] - | }); - > Arguments - - event (string) event name - - varargs (…) and any other arguments - = (function) possible event handler function - \*/ - eve.f = function (event) { - var attrs = [].slice.call(arguments, 1); - return function () { - eve.apply(null, [event, null].concat(attrs).concat([].slice.call(arguments, 0))); - }; - }; - /*\ - * eve.stop - [ method ] - ** - * Is used inside an event handler to stop the event, preventing any subsequent listeners from firing. - \*/ - eve.stop = function () { - stop = 1; - }; - /*\ - * eve.nt - [ method ] - ** - * Could be used inside event handler to figure out actual name of the event. - ** - > Arguments - ** - - subname (string) #optional subname of the event - ** - = (string) name of the event, if `subname` is not specified - * or - = (boolean) `true`, if current event’s name contains `subname` - \*/ - eve.nt = function (subname) { - if (subname) { - return new RegExp("(?:\\.|\\/|^)" + subname + "(?:\\.|\\/|$)").test(current_event); - } - return current_event; - }; - /*\ - * eve.nts - [ method ] - ** - * Could be used inside event handler to figure out actual name of the event. - ** - ** - = (array) names of the event - \*/ - eve.nts = function () { - return current_event.split(separator); - }; - /*\ - * eve.off - [ method ] - ** - * Removes given function from the list of event listeners assigned to given name. - * If no arguments specified all the events will be cleared. - ** - > Arguments - ** - - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards - - f (function) event handler function - \*/ - /*\ - * eve.unbind - [ method ] - ** - * See @eve.off - \*/ - eve.off = eve.unbind = function (name, f) { - if (!name) { - eve._events = events = {n: {}}; - return; - } - var names = name.split(separator), - e, - key, - splice, - i, ii, j, jj, - cur = [events]; - for (i = 0, ii = names.length; i < ii; i++) { - for (j = 0; j < cur.length; j += splice.length - 2) { - splice = [j, 1]; - e = cur[j].n; - if (names[i] != wildcard) { - if (e[names[i]]) { - splice.push(e[names[i]]); - } - } else { - for (key in e) if (e[has](key)) { - splice.push(e[key]); - } - } - cur.splice.apply(cur, splice); - } - } - for (i = 0, ii = cur.length; i < ii; i++) { - e = cur[i]; - while (e.n) { - if (f) { - if (e.f) { - for (j = 0, jj = e.f.length; j < jj; j++) if (e.f[j] == f) { - e.f.splice(j, 1); - break; - } - !e.f.length && delete e.f; - } - for (key in e.n) if (e.n[has](key) && e.n[key].f) { - var funcs = e.n[key].f; - for (j = 0, jj = funcs.length; j < jj; j++) if (funcs[j] == f) { - funcs.splice(j, 1); - break; - } - !funcs.length && delete e.n[key].f; - } - } else { - delete e.f; - for (key in e.n) if (e.n[has](key) && e.n[key].f) { - delete e.n[key].f; - } - } - e = e.n; - } - } - }; - /*\ - * eve.once - [ method ] - ** - * Binds given event handler with a given name to only run once then unbind itself. - | eve.once("login", f); - | eve("login"); // triggers f - | eve("login"); // no listeners - * Use @eve to trigger the listener. - ** - > Arguments - ** - - name (string) name of the event, dot (`.`) or slash (`/`) separated, with optional wildcards - - f (function) event handler function - ** - = (function) same return function as @eve.on - \*/ - eve.once = function (name, f) { - var f2 = function () { - eve.unbind(name, f2); - return f.apply(this, arguments); - }; - return eve.on(name, f2); - }; - /*\ - * eve.version - [ property (string) ] - ** - * Current version of the library. - \*/ - eve.version = version; - eve.toString = function () { - return "You are running Eve " + version; - }; - - return eve; -})); - -// ┌────────────────────────────────────────────────────────────────────┐ \\ -// │ Raphaël 2.1.4 - JavaScript Vector Library │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Core Module │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\ -// └────────────────────────────────────────────────────────────────────┘ \\ - -(function (glob, factory) { - if (typeof define === "function" && define.amd) { - define("raphael.core", ["eve"], function(eve) { - return factory(eve); - }); - } else if (typeof exports === "object") { - module.exports = factory(require("eve")); - } else { - glob.Raphael = factory(glob.eve); - } -}(this, function (eve) { - /*\ - * Raphael - [ method ] - ** - * Creates a canvas object on which to draw. - * You must do this first, as all future calls to drawing methods - * from this instance will be bound to this canvas. - > Parameters - ** - - container (HTMLElement|string) DOM element or its ID which is going to be a parent for drawing surface - - width (number) - - height (number) - - callback (function) #optional callback function which is going to be executed in the context of newly created paper - * or - - x (number) - - y (number) - - width (number) - - height (number) - - callback (function) #optional callback function which is going to be executed in the context of newly created paper - * or - - all (array) (first 3 or 4 elements in the array are equal to [containerID, width, height] or [x, y, width, height]. The rest are element descriptions in format {type: type, }). See @Paper.add. - - callback (function) #optional callback function which is going to be executed in the context of newly created paper - * or - - onReadyCallback (function) function that is going to be called on DOM ready event. You can also subscribe to this event via Eve’s “DOMLoad” event. In this case method returns `undefined`. - = (object) @Paper - > Usage - | // Each of the following examples create a canvas - | // that is 320px wide by 200px high. - | // Canvas is created at the viewport’s 10,50 coordinate. - | var paper = Raphael(10, 50, 320, 200); - | // Canvas is created at the top left corner of the #notepad element - | // (or its top right corner in dir="rtl" elements) - | var paper = Raphael(document.getElementById("notepad"), 320, 200); - | // Same as above - | var paper = Raphael("notepad", 320, 200); - | // Image dump - | var set = Raphael(["notepad", 320, 200, { - | type: "rect", - | x: 10, - | y: 10, - | width: 25, - | height: 25, - | stroke: "#f00" - | }, { - | type: "text", - | x: 30, - | y: 40, - | text: "Dump" - | }]); - \*/ - function R(first) { - if (R.is(first, "function")) { - return loaded ? first() : eve.on("raphael.DOMload", first); - } else if (R.is(first, array)) { - return R._engine.create[apply](R, first.splice(0, 3 + R.is(first[0], nu))).add(first); - } else { - var args = Array.prototype.slice.call(arguments, 0); - if (R.is(args[args.length - 1], "function")) { - var f = args.pop(); - return loaded ? f.call(R._engine.create[apply](R, args)) : eve.on("raphael.DOMload", function () { - f.call(R._engine.create[apply](R, args)); - }); - } else { - return R._engine.create[apply](R, arguments); - } - } - } - R.version = "2.1.4"; - R.eve = eve; - var loaded, - separator = /[, ]+/, - elements = {circle: 1, rect: 1, path: 1, ellipse: 1, text: 1, image: 1}, - formatrg = /\{(\d+)\}/g, - proto = "prototype", - has = "hasOwnProperty", - g = { - doc: document, - win: window - }, - oldRaphael = { - was: Object.prototype[has].call(g.win, "Raphael"), - is: g.win.Raphael - }, - Paper = function () { - /*\ - * Paper.ca - [ property (object) ] - ** - * Shortcut for @Paper.customAttributes - \*/ - /*\ - * Paper.customAttributes - [ property (object) ] - ** - * If you have a set of attributes that you would like to represent - * as a function of some number you can do it easily with custom attributes: - > Usage - | paper.customAttributes.hue = function (num) { - | num = num % 1; - | return {fill: "hsb(" + num + ", 0.75, 1)"}; - | }; - | // Custom attribute “hue” will change fill - | // to be given hue with fixed saturation and brightness. - | // Now you can use it like this: - | var c = paper.circle(10, 10, 10).attr({hue: .45}); - | // or even like this: - | c.animate({hue: 1}, 1e3); - | - | // You could also create custom attribute - | // with multiple parameters: - | paper.customAttributes.hsb = function (h, s, b) { - | return {fill: "hsb(" + [h, s, b].join(",") + ")"}; - | }; - | c.attr({hsb: "0.5 .8 1"}); - | c.animate({hsb: [1, 0, 0.5]}, 1e3); - \*/ - this.ca = this.customAttributes = {}; - }, - paperproto, - appendChild = "appendChild", - apply = "apply", - concat = "concat", - supportsTouch = ('ontouchstart' in g.win) || g.win.DocumentTouch && g.doc instanceof DocumentTouch, //taken from Modernizr touch test - E = "", - S = " ", - Str = String, - split = "split", - events = "click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel"[split](S), - touchMap = { - mousedown: "touchstart", - mousemove: "touchmove", - mouseup: "touchend" - }, - lowerCase = Str.prototype.toLowerCase, - math = Math, - mmax = math.max, - mmin = math.min, - abs = math.abs, - pow = math.pow, - PI = math.PI, - nu = "number", - string = "string", - array = "array", - toString = "toString", - fillString = "fill", - objectToString = Object.prototype.toString, - paper = {}, - push = "push", - ISURL = R._ISURL = /^url\(['"]?(.+?)['"]?\)$/i, - colourRegExp = /^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i, - isnan = {"NaN": 1, "Infinity": 1, "-Infinity": 1}, - bezierrg = /^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/, - round = math.round, - setAttribute = "setAttribute", - toFloat = parseFloat, - toInt = parseInt, - upperCase = Str.prototype.toUpperCase, - availableAttrs = R._availableAttrs = { - "arrow-end": "none", - "arrow-start": "none", - blur: 0, - "clip-rect": "0 0 1e9 1e9", - cursor: "default", - cx: 0, - cy: 0, - fill: "#fff", - "fill-opacity": 1, - font: '10px "Arial"', - "font-family": '"Arial"', - "font-size": "10", - "font-style": "normal", - "font-weight": 400, - gradient: 0, - height: 0, - href: "http://raphaeljs.com/", - "letter-spacing": 0, - opacity: 1, - path: "M0,0", - r: 0, - rx: 0, - ry: 0, - src: "", - stroke: "#000", - "stroke-dasharray": "", - "stroke-linecap": "butt", - "stroke-linejoin": "butt", - "stroke-miterlimit": 0, - "stroke-opacity": 1, - "stroke-width": 1, - target: "_blank", - "text-anchor": "middle", - title: "Raphael", - transform: "", - width: 0, - x: 0, - y: 0 - }, - availableAnimAttrs = R._availableAnimAttrs = { - blur: nu, - "clip-rect": "csv", - cx: nu, - cy: nu, - fill: "colour", - "fill-opacity": nu, - "font-size": nu, - height: nu, - opacity: nu, - path: "path", - r: nu, - rx: nu, - ry: nu, - stroke: "colour", - "stroke-opacity": nu, - "stroke-width": nu, - transform: "transform", - width: nu, - x: nu, - y: nu - }, - whitespace = /[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]/g, - commaSpaces = /[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/, - hsrg = {hs: 1, rg: 1}, - p2s = /,?([achlmqrstvxz]),?/gi, - pathCommand = /([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig, - tCommand = /([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig, - pathValues = /(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/ig, - radial_gradient = R._radial_gradient = /^r(?:\(([^,]+?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*([^\)]+?)\))?/, - eldata = {}, - sortByKey = function (a, b) { - return a.key - b.key; - }, - sortByNumber = function (a, b) { - return toFloat(a) - toFloat(b); - }, - fun = function () {}, - pipe = function (x) { - return x; - }, - rectPath = R._rectPath = function (x, y, w, h, r) { - if (r) { - return [["M", x + r, y], ["l", w - r * 2, 0], ["a", r, r, 0, 0, 1, r, r], ["l", 0, h - r * 2], ["a", r, r, 0, 0, 1, -r, r], ["l", r * 2 - w, 0], ["a", r, r, 0, 0, 1, -r, -r], ["l", 0, r * 2 - h], ["a", r, r, 0, 0, 1, r, -r], ["z"]]; - } - return [["M", x, y], ["l", w, 0], ["l", 0, h], ["l", -w, 0], ["z"]]; - }, - ellipsePath = function (x, y, rx, ry) { - if (ry == null) { - ry = rx; - } - return [["M", x, y], ["m", 0, -ry], ["a", rx, ry, 0, 1, 1, 0, 2 * ry], ["a", rx, ry, 0, 1, 1, 0, -2 * ry], ["z"]]; - }, - getPath = R._getPath = { - path: function (el) { - return el.attr("path"); - }, - circle: function (el) { - var a = el.attrs; - return ellipsePath(a.cx, a.cy, a.r); - }, - ellipse: function (el) { - var a = el.attrs; - return ellipsePath(a.cx, a.cy, a.rx, a.ry); - }, - rect: function (el) { - var a = el.attrs; - return rectPath(a.x, a.y, a.width, a.height, a.r); - }, - image: function (el) { - var a = el.attrs; - return rectPath(a.x, a.y, a.width, a.height); - }, - text: function (el) { - var bbox = el._getBBox(); - return rectPath(bbox.x, bbox.y, bbox.width, bbox.height); - }, - set : function(el) { - var bbox = el._getBBox(); - return rectPath(bbox.x, bbox.y, bbox.width, bbox.height); - } - }, - /*\ - * Raphael.mapPath - [ method ] - ** - * Transform the path string with given matrix. - > Parameters - - path (string) path string - - matrix (object) see @Matrix - = (string) transformed path string - \*/ - mapPath = R.mapPath = function (path, matrix) { - if (!matrix) { - return path; - } - var x, y, i, j, ii, jj, pathi; - path = path2curve(path); - for (i = 0, ii = path.length; i < ii; i++) { - pathi = path[i]; - for (j = 1, jj = pathi.length; j < jj; j += 2) { - x = matrix.x(pathi[j], pathi[j + 1]); - y = matrix.y(pathi[j], pathi[j + 1]); - pathi[j] = x; - pathi[j + 1] = y; - } - } - return path; - }; - - R._g = g; - /*\ - * Raphael.type - [ property (string) ] - ** - * Can be “SVG”, “VML” or empty, depending on browser support. - \*/ - R.type = (g.win.SVGAngle || g.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") ? "SVG" : "VML"); - if (R.type == "VML") { - var d = g.doc.createElement("div"), - b; - d.innerHTML = ''; - b = d.firstChild; - b.style.behavior = "url(#default#VML)"; - if (!(b && typeof b.adj == "object")) { - return (R.type = E); - } - d = null; - } - /*\ - * Raphael.svg - [ property (boolean) ] - ** - * `true` if browser supports SVG. - \*/ - /*\ - * Raphael.vml - [ property (boolean) ] - ** - * `true` if browser supports VML. - \*/ - R.svg = !(R.vml = R.type == "VML"); - R._Paper = Paper; - /*\ - * Raphael.fn - [ property (object) ] - ** - * You can add your own method to the canvas. For example if you want to draw a pie chart, - * you can create your own pie chart function and ship it as a Raphaël plugin. To do this - * you need to extend the `Raphael.fn` object. You should modify the `fn` object before a - * Raphaël instance is created, otherwise it will take no effect. Please note that the - * ability for namespaced plugins was removed in Raphael 2.0. It is up to the plugin to - * ensure any namespacing ensures proper context. - > Usage - | Raphael.fn.arrow = function (x1, y1, x2, y2, size) { - | return this.path( ... ); - | }; - | // or create namespace - | Raphael.fn.mystuff = { - | arrow: function () {…}, - | star: function () {…}, - | // etc… - | }; - | var paper = Raphael(10, 10, 630, 480); - | // then use it - | paper.arrow(10, 10, 30, 30, 5).attr({fill: "#f00"}); - | paper.mystuff.arrow(); - | paper.mystuff.star(); - \*/ - R.fn = paperproto = Paper.prototype = R.prototype; - R._id = 0; - R._oid = 0; - /*\ - * Raphael.is - [ method ] - ** - * Handful of replacements for `typeof` operator. - > Parameters - - o (…) any object or primitive - - type (string) name of the type, i.e. “string”, “function”, “number”, etc. - = (boolean) is given value is of given type - \*/ - R.is = function (o, type) { - type = lowerCase.call(type); - if (type == "finite") { - return !isnan[has](+o); - } - if (type == "array") { - return o instanceof Array; - } - return (type == "null" && o === null) || - (type == typeof o && o !== null) || - (type == "object" && o === Object(o)) || - (type == "array" && Array.isArray && Array.isArray(o)) || - objectToString.call(o).slice(8, -1).toLowerCase() == type; - }; - - function clone(obj) { - if (typeof obj == "function" || Object(obj) !== obj) { - return obj; - } - var res = new obj.constructor; - for (var key in obj) if (obj[has](key)) { - res[key] = clone(obj[key]); - } - return res; - } - - /*\ - * Raphael.angle - [ method ] - ** - * Returns angle between two or three points - > Parameters - - x1 (number) x coord of first point - - y1 (number) y coord of first point - - x2 (number) x coord of second point - - y2 (number) y coord of second point - - x3 (number) #optional x coord of third point - - y3 (number) #optional y coord of third point - = (number) angle in degrees. - \*/ - R.angle = function (x1, y1, x2, y2, x3, y3) { - if (x3 == null) { - var x = x1 - x2, - y = y1 - y2; - if (!x && !y) { - return 0; - } - return (180 + math.atan2(-y, -x) * 180 / PI + 360) % 360; - } else { - return R.angle(x1, y1, x3, y3) - R.angle(x2, y2, x3, y3); - } - }; - /*\ - * Raphael.rad - [ method ] - ** - * Transform angle to radians - > Parameters - - deg (number) angle in degrees - = (number) angle in radians. - \*/ - R.rad = function (deg) { - return deg % 360 * PI / 180; - }; - /*\ - * Raphael.deg - [ method ] - ** - * Transform angle to degrees - > Parameters - - rad (number) angle in radians - = (number) angle in degrees. - \*/ - R.deg = function (rad) { - return Math.round ((rad * 180 / PI% 360)* 1000) / 1000; - }; - /*\ - * Raphael.snapTo - [ method ] - ** - * Snaps given value to given grid. - > Parameters - - values (array|number) given array of values or step of the grid - - value (number) value to adjust - - tolerance (number) #optional tolerance for snapping. Default is `10`. - = (number) adjusted value. - \*/ - R.snapTo = function (values, value, tolerance) { - tolerance = R.is(tolerance, "finite") ? tolerance : 10; - if (R.is(values, array)) { - var i = values.length; - while (i--) if (abs(values[i] - value) <= tolerance) { - return values[i]; - } - } else { - values = +values; - var rem = value % values; - if (rem < tolerance) { - return value - rem; - } - if (rem > values - tolerance) { - return value - rem + values; - } - } - return value; - }; - - /*\ - * Raphael.createUUID - [ method ] - ** - * Returns RFC4122, version 4 ID - \*/ - var createUUID = R.createUUID = (function (uuidRegEx, uuidReplacer) { - return function () { - return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(uuidRegEx, uuidReplacer).toUpperCase(); - }; - })(/[xy]/g, function (c) { - var r = math.random() * 16 | 0, - v = c == "x" ? r : (r & 3 | 8); - return v.toString(16); - }); - - /*\ - * Raphael.setWindow - [ method ] - ** - * Used when you need to draw in `<iframe>`. Switched window to the iframe one. - > Parameters - - newwin (window) new window object - \*/ - R.setWindow = function (newwin) { - eve("raphael.setWindow", R, g.win, newwin); - g.win = newwin; - g.doc = g.win.document; - if (R._engine.initWin) { - R._engine.initWin(g.win); - } - }; - var toHex = function (color) { - if (R.vml) { - // http://dean.edwards.name/weblog/2009/10/convert-any-colour-value-to-hex-in-msie/ - var trim = /^\s+|\s+$/g; - var bod; - try { - var docum = new ActiveXObject("htmlfile"); - docum.write(""); - docum.close(); - bod = docum.body; - } catch(e) { - bod = createPopup().document.body; - } - var range = bod.createTextRange(); - toHex = cacher(function (color) { - try { - bod.style.color = Str(color).replace(trim, E); - var value = range.queryCommandValue("ForeColor"); - value = ((value & 255) << 16) | (value & 65280) | ((value & 16711680) >>> 16); - return "#" + ("000000" + value.toString(16)).slice(-6); - } catch(e) { - return "none"; - } - }); - } else { - var i = g.doc.createElement("i"); - i.title = "Rapha\xebl Colour Picker"; - i.style.display = "none"; - g.doc.body.appendChild(i); - toHex = cacher(function (color) { - i.style.color = color; - return g.doc.defaultView.getComputedStyle(i, E).getPropertyValue("color"); - }); - } - return toHex(color); - }, - hsbtoString = function () { - return "hsb(" + [this.h, this.s, this.b] + ")"; - }, - hsltoString = function () { - return "hsl(" + [this.h, this.s, this.l] + ")"; - }, - rgbtoString = function () { - return this.hex; - }, - prepareRGB = function (r, g, b) { - if (g == null && R.is(r, "object") && "r" in r && "g" in r && "b" in r) { - b = r.b; - g = r.g; - r = r.r; - } - if (g == null && R.is(r, string)) { - var clr = R.getRGB(r); - r = clr.r; - g = clr.g; - b = clr.b; - } - if (r > 1 || g > 1 || b > 1) { - r /= 255; - g /= 255; - b /= 255; - } - - return [r, g, b]; - }, - packageRGB = function (r, g, b, o) { - r *= 255; - g *= 255; - b *= 255; - var rgb = { - r: r, - g: g, - b: b, - hex: R.rgb(r, g, b), - toString: rgbtoString - }; - R.is(o, "finite") && (rgb.opacity = o); - return rgb; - }; - - /*\ - * Raphael.color - [ method ] - ** - * Parses the color string and returns object with all values for the given color. - > Parameters - - clr (string) color string in one of the supported formats (see @Raphael.getRGB) - = (object) Combined RGB & HSB object in format: - o { - o r (number) red, - o g (number) green, - o b (number) blue, - o hex (string) color in HTML/CSS format: #••••••, - o error (boolean) `true` if string can’t be parsed, - o h (number) hue, - o s (number) saturation, - o v (number) value (brightness), - o l (number) lightness - o } - \*/ - R.color = function (clr) { - var rgb; - if (R.is(clr, "object") && "h" in clr && "s" in clr && "b" in clr) { - rgb = R.hsb2rgb(clr); - clr.r = rgb.r; - clr.g = rgb.g; - clr.b = rgb.b; - clr.hex = rgb.hex; - } else if (R.is(clr, "object") && "h" in clr && "s" in clr && "l" in clr) { - rgb = R.hsl2rgb(clr); - clr.r = rgb.r; - clr.g = rgb.g; - clr.b = rgb.b; - clr.hex = rgb.hex; - } else { - if (R.is(clr, "string")) { - clr = R.getRGB(clr); - } - if (R.is(clr, "object") && "r" in clr && "g" in clr && "b" in clr) { - rgb = R.rgb2hsl(clr); - clr.h = rgb.h; - clr.s = rgb.s; - clr.l = rgb.l; - rgb = R.rgb2hsb(clr); - clr.v = rgb.b; - } else { - clr = {hex: "none"}; - clr.r = clr.g = clr.b = clr.h = clr.s = clr.v = clr.l = -1; - } - } - clr.toString = rgbtoString; - return clr; - }; - /*\ - * Raphael.hsb2rgb - [ method ] - ** - * Converts HSB values to RGB object. - > Parameters - - h (number) hue - - s (number) saturation - - v (number) value or brightness - = (object) RGB object in format: - o { - o r (number) red, - o g (number) green, - o b (number) blue, - o hex (string) color in HTML/CSS format: #•••••• - o } - \*/ - R.hsb2rgb = function (h, s, v, o) { - if (this.is(h, "object") && "h" in h && "s" in h && "b" in h) { - v = h.b; - s = h.s; - o = h.o; - h = h.h; - } - h *= 360; - var R, G, B, X, C; - h = (h % 360) / 60; - C = v * s; - X = C * (1 - abs(h % 2 - 1)); - R = G = B = v - C; - - h = ~~h; - R += [C, X, 0, 0, X, C][h]; - G += [X, C, C, X, 0, 0][h]; - B += [0, 0, X, C, C, X][h]; - return packageRGB(R, G, B, o); - }; - /*\ - * Raphael.hsl2rgb - [ method ] - ** - * Converts HSL values to RGB object. - > Parameters - - h (number) hue - - s (number) saturation - - l (number) luminosity - = (object) RGB object in format: - o { - o r (number) red, - o g (number) green, - o b (number) blue, - o hex (string) color in HTML/CSS format: #•••••• - o } - \*/ - R.hsl2rgb = function (h, s, l, o) { - if (this.is(h, "object") && "h" in h && "s" in h && "l" in h) { - l = h.l; - s = h.s; - h = h.h; - } - if (h > 1 || s > 1 || l > 1) { - h /= 360; - s /= 100; - l /= 100; - } - h *= 360; - var R, G, B, X, C; - h = (h % 360) / 60; - C = 2 * s * (l < .5 ? l : 1 - l); - X = C * (1 - abs(h % 2 - 1)); - R = G = B = l - C / 2; - - h = ~~h; - R += [C, X, 0, 0, X, C][h]; - G += [X, C, C, X, 0, 0][h]; - B += [0, 0, X, C, C, X][h]; - return packageRGB(R, G, B, o); - }; - /*\ - * Raphael.rgb2hsb - [ method ] - ** - * Converts RGB values to HSB object. - > Parameters - - r (number) red - - g (number) green - - b (number) blue - = (object) HSB object in format: - o { - o h (number) hue - o s (number) saturation - o b (number) brightness - o } - \*/ - R.rgb2hsb = function (r, g, b) { - b = prepareRGB(r, g, b); - r = b[0]; - g = b[1]; - b = b[2]; - - var H, S, V, C; - V = mmax(r, g, b); - C = V - mmin(r, g, b); - H = (C == 0 ? null : - V == r ? (g - b) / C : - V == g ? (b - r) / C + 2 : - (r - g) / C + 4 - ); - H = ((H + 360) % 6) * 60 / 360; - S = C == 0 ? 0 : C / V; - return {h: H, s: S, b: V, toString: hsbtoString}; - }; - /*\ - * Raphael.rgb2hsl - [ method ] - ** - * Converts RGB values to HSL object. - > Parameters - - r (number) red - - g (number) green - - b (number) blue - = (object) HSL object in format: - o { - o h (number) hue - o s (number) saturation - o l (number) luminosity - o } - \*/ - R.rgb2hsl = function (r, g, b) { - b = prepareRGB(r, g, b); - r = b[0]; - g = b[1]; - b = b[2]; - - var H, S, L, M, m, C; - M = mmax(r, g, b); - m = mmin(r, g, b); - C = M - m; - H = (C == 0 ? null : - M == r ? (g - b) / C : - M == g ? (b - r) / C + 2 : - (r - g) / C + 4); - H = ((H + 360) % 6) * 60 / 360; - L = (M + m) / 2; - S = (C == 0 ? 0 : - L < .5 ? C / (2 * L) : - C / (2 - 2 * L)); - return {h: H, s: S, l: L, toString: hsltoString}; - }; - R._path2string = function () { - return this.join(",").replace(p2s, "$1"); - }; - function repush(array, item) { - for (var i = 0, ii = array.length; i < ii; i++) if (array[i] === item) { - return array.push(array.splice(i, 1)[0]); - } - } - function cacher(f, scope, postprocessor) { - function newf() { - var arg = Array.prototype.slice.call(arguments, 0), - args = arg.join("\u2400"), - cache = newf.cache = newf.cache || {}, - count = newf.count = newf.count || []; - if (cache[has](args)) { - repush(count, args); - return postprocessor ? postprocessor(cache[args]) : cache[args]; - } - count.length >= 1e3 && delete cache[count.shift()]; - count.push(args); - cache[args] = f[apply](scope, arg); - return postprocessor ? postprocessor(cache[args]) : cache[args]; - } - return newf; - } - - var preload = R._preload = function (src, f) { - var img = g.doc.createElement("img"); - img.style.cssText = "position:absolute;left:-9999em;top:-9999em"; - img.onload = function () { - f.call(this); - this.onload = null; - g.doc.body.removeChild(this); - }; - img.onerror = function () { - g.doc.body.removeChild(this); - }; - g.doc.body.appendChild(img); - img.src = src; - }; - - function clrToString() { - return this.hex; - } - - /*\ - * Raphael.getRGB - [ method ] - ** - * Parses colour string as RGB object - > Parameters - - colour (string) colour string in one of formats: - #
                                                                                                                                                                                                                                                                                                                        - #
                                                                                                                                                                                                                                                                                                                      • Colour name (“red”, “green”, “cornflowerblue”, etc)
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • #••• — shortened HTML colour: (“#000”, “#fc0”, etc)
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • #•••••• — full length HTML colour: (“#000000”, “#bd2300”)
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • rgb(•••, •••, •••) — red, green and blue channels’ values: (“rgb(200, 100, 0)”)
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • rgb(•••%, •••%, •••%) — same as above, but in %: (“rgb(100%, 175%, 0%)”)
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • hsb(•••, •••, •••) — hue, saturation and brightness values: (“hsb(0.5, 0.25, 1)”)
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • hsb(•••%, •••%, •••%) — same as above, but in %
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • hsl(•••, •••, •••) — same as hsb
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • hsl(•••%, •••%, •••%) — same as hsb
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      - = (object) RGB object in format: - o { - o r (number) red, - o g (number) green, - o b (number) blue - o hex (string) color in HTML/CSS format: #••••••, - o error (boolean) true if string can’t be parsed - o } - \*/ - R.getRGB = cacher(function (colour) { - if (!colour || !!((colour = Str(colour)).indexOf("-") + 1)) { - return {r: -1, g: -1, b: -1, hex: "none", error: 1, toString: clrToString}; - } - if (colour == "none") { - return {r: -1, g: -1, b: -1, hex: "none", toString: clrToString}; - } - !(hsrg[has](colour.toLowerCase().substring(0, 2)) || colour.charAt() == "#") && (colour = toHex(colour)); - var res, - red, - green, - blue, - opacity, - t, - values, - rgb = colour.match(colourRegExp); - if (rgb) { - if (rgb[2]) { - blue = toInt(rgb[2].substring(5), 16); - green = toInt(rgb[2].substring(3, 5), 16); - red = toInt(rgb[2].substring(1, 3), 16); - } - if (rgb[3]) { - blue = toInt((t = rgb[3].charAt(3)) + t, 16); - green = toInt((t = rgb[3].charAt(2)) + t, 16); - red = toInt((t = rgb[3].charAt(1)) + t, 16); - } - if (rgb[4]) { - values = rgb[4][split](commaSpaces); - red = toFloat(values[0]); - values[0].slice(-1) == "%" && (red *= 2.55); - green = toFloat(values[1]); - values[1].slice(-1) == "%" && (green *= 2.55); - blue = toFloat(values[2]); - values[2].slice(-1) == "%" && (blue *= 2.55); - rgb[1].toLowerCase().slice(0, 4) == "rgba" && (opacity = toFloat(values[3])); - values[3] && values[3].slice(-1) == "%" && (opacity /= 100); - } - if (rgb[5]) { - values = rgb[5][split](commaSpaces); - red = toFloat(values[0]); - values[0].slice(-1) == "%" && (red *= 2.55); - green = toFloat(values[1]); - values[1].slice(-1) == "%" && (green *= 2.55); - blue = toFloat(values[2]); - values[2].slice(-1) == "%" && (blue *= 2.55); - (values[0].slice(-3) == "deg" || values[0].slice(-1) == "\xb0") && (red /= 360); - rgb[1].toLowerCase().slice(0, 4) == "hsba" && (opacity = toFloat(values[3])); - values[3] && values[3].slice(-1) == "%" && (opacity /= 100); - return R.hsb2rgb(red, green, blue, opacity); - } - if (rgb[6]) { - values = rgb[6][split](commaSpaces); - red = toFloat(values[0]); - values[0].slice(-1) == "%" && (red *= 2.55); - green = toFloat(values[1]); - values[1].slice(-1) == "%" && (green *= 2.55); - blue = toFloat(values[2]); - values[2].slice(-1) == "%" && (blue *= 2.55); - (values[0].slice(-3) == "deg" || values[0].slice(-1) == "\xb0") && (red /= 360); - rgb[1].toLowerCase().slice(0, 4) == "hsla" && (opacity = toFloat(values[3])); - values[3] && values[3].slice(-1) == "%" && (opacity /= 100); - return R.hsl2rgb(red, green, blue, opacity); - } - rgb = {r: red, g: green, b: blue, toString: clrToString}; - rgb.hex = "#" + (16777216 | blue | (green << 8) | (red << 16)).toString(16).slice(1); - R.is(opacity, "finite") && (rgb.opacity = opacity); - return rgb; - } - return {r: -1, g: -1, b: -1, hex: "none", error: 1, toString: clrToString}; - }, R); - /*\ - * Raphael.hsb - [ method ] - ** - * Converts HSB values to hex representation of the colour. - > Parameters - - h (number) hue - - s (number) saturation - - b (number) value or brightness - = (string) hex representation of the colour. - \*/ - R.hsb = cacher(function (h, s, b) { - return R.hsb2rgb(h, s, b).hex; - }); - /*\ - * Raphael.hsl - [ method ] - ** - * Converts HSL values to hex representation of the colour. - > Parameters - - h (number) hue - - s (number) saturation - - l (number) luminosity - = (string) hex representation of the colour. - \*/ - R.hsl = cacher(function (h, s, l) { - return R.hsl2rgb(h, s, l).hex; - }); - /*\ - * Raphael.rgb - [ method ] - ** - * Converts RGB values to hex representation of the colour. - > Parameters - - r (number) red - - g (number) green - - b (number) blue - = (string) hex representation of the colour. - \*/ - R.rgb = cacher(function (r, g, b) { - function round(x) { return (x + 0.5) | 0; } - return "#" + (16777216 | round(b) | (round(g) << 8) | (round(r) << 16)).toString(16).slice(1); - }); - /*\ - * Raphael.getColor - [ method ] - ** - * On each call returns next colour in the spectrum. To reset it back to red call @Raphael.getColor.reset - > Parameters - - value (number) #optional brightness, default is `0.75` - = (string) hex representation of the colour. - \*/ - R.getColor = function (value) { - var start = this.getColor.start = this.getColor.start || {h: 0, s: 1, b: value || .75}, - rgb = this.hsb2rgb(start.h, start.s, start.b); - start.h += .075; - if (start.h > 1) { - start.h = 0; - start.s -= .2; - start.s <= 0 && (this.getColor.start = {h: 0, s: 1, b: start.b}); - } - return rgb.hex; - }; - /*\ - * Raphael.getColor.reset - [ method ] - ** - * Resets spectrum position for @Raphael.getColor back to red. - \*/ - R.getColor.reset = function () { - delete this.start; - }; - - // http://schepers.cc/getting-to-the-point - function catmullRom2bezier(crp, z) { - var d = []; - for (var i = 0, iLen = crp.length; iLen - 2 * !z > i; i += 2) { - var p = [ - {x: +crp[i - 2], y: +crp[i - 1]}, - {x: +crp[i], y: +crp[i + 1]}, - {x: +crp[i + 2], y: +crp[i + 3]}, - {x: +crp[i + 4], y: +crp[i + 5]} - ]; - if (z) { - if (!i) { - p[0] = {x: +crp[iLen - 2], y: +crp[iLen - 1]}; - } else if (iLen - 4 == i) { - p[3] = {x: +crp[0], y: +crp[1]}; - } else if (iLen - 2 == i) { - p[2] = {x: +crp[0], y: +crp[1]}; - p[3] = {x: +crp[2], y: +crp[3]}; - } - } else { - if (iLen - 4 == i) { - p[3] = p[2]; - } else if (!i) { - p[0] = {x: +crp[i], y: +crp[i + 1]}; - } - } - d.push(["C", - (-p[0].x + 6 * p[1].x + p[2].x) / 6, - (-p[0].y + 6 * p[1].y + p[2].y) / 6, - (p[1].x + 6 * p[2].x - p[3].x) / 6, - (p[1].y + 6*p[2].y - p[3].y) / 6, - p[2].x, - p[2].y - ]); - } - - return d; - } - /*\ - * Raphael.parsePathString - [ method ] - ** - * Utility method - ** - * Parses given path string into an array of arrays of path segments. - > Parameters - - pathString (string|array) path string or array of segments (in the last case it will be returned straight away) - = (array) array of segments. - \*/ - R.parsePathString = function (pathString) { - if (!pathString) { - return null; - } - var pth = paths(pathString); - if (pth.arr) { - return pathClone(pth.arr); - } - - var paramCounts = {a: 7, c: 6, h: 1, l: 2, m: 2, r: 4, q: 4, s: 4, t: 2, v: 1, z: 0}, - data = []; - if (R.is(pathString, array) && R.is(pathString[0], array)) { // rough assumption - data = pathClone(pathString); - } - if (!data.length) { - Str(pathString).replace(pathCommand, function (a, b, c) { - var params = [], - name = b.toLowerCase(); - c.replace(pathValues, function (a, b) { - b && params.push(+b); - }); - if (name == "m" && params.length > 2) { - data.push([b][concat](params.splice(0, 2))); - name = "l"; - b = b == "m" ? "l" : "L"; - } - if (name == "r") { - data.push([b][concat](params)); - } else while (params.length >= paramCounts[name]) { - data.push([b][concat](params.splice(0, paramCounts[name]))); - if (!paramCounts[name]) { - break; - } - } - }); - } - data.toString = R._path2string; - pth.arr = pathClone(data); - return data; - }; - /*\ - * Raphael.parseTransformString - [ method ] - ** - * Utility method - ** - * Parses given path string into an array of transformations. - > Parameters - - TString (string|array) transform string or array of transformations (in the last case it will be returned straight away) - = (array) array of transformations. - \*/ - R.parseTransformString = cacher(function (TString) { - if (!TString) { - return null; - } - var paramCounts = {r: 3, s: 4, t: 2, m: 6}, - data = []; - if (R.is(TString, array) && R.is(TString[0], array)) { // rough assumption - data = pathClone(TString); - } - if (!data.length) { - Str(TString).replace(tCommand, function (a, b, c) { - var params = [], - name = lowerCase.call(b); - c.replace(pathValues, function (a, b) { - b && params.push(+b); - }); - data.push([b][concat](params)); - }); - } - data.toString = R._path2string; - return data; - }); - // PATHS - var paths = function (ps) { - var p = paths.ps = paths.ps || {}; - if (p[ps]) { - p[ps].sleep = 100; - } else { - p[ps] = { - sleep: 100 - }; - } - setTimeout(function () { - for (var key in p) if (p[has](key) && key != ps) { - p[key].sleep--; - !p[key].sleep && delete p[key]; - } - }); - return p[ps]; - }; - /*\ - * Raphael.findDotsAtSegment - [ method ] - ** - * Utility method - ** - * Find dot coordinates on the given cubic bezier curve at the given t. - > Parameters - - p1x (number) x of the first point of the curve - - p1y (number) y of the first point of the curve - - c1x (number) x of the first anchor of the curve - - c1y (number) y of the first anchor of the curve - - c2x (number) x of the second anchor of the curve - - c2y (number) y of the second anchor of the curve - - p2x (number) x of the second point of the curve - - p2y (number) y of the second point of the curve - - t (number) position on the curve (0..1) - = (object) point information in format: - o { - o x: (number) x coordinate of the point - o y: (number) y coordinate of the point - o m: { - o x: (number) x coordinate of the left anchor - o y: (number) y coordinate of the left anchor - o } - o n: { - o x: (number) x coordinate of the right anchor - o y: (number) y coordinate of the right anchor - o } - o start: { - o x: (number) x coordinate of the start of the curve - o y: (number) y coordinate of the start of the curve - o } - o end: { - o x: (number) x coordinate of the end of the curve - o y: (number) y coordinate of the end of the curve - o } - o alpha: (number) angle of the curve derivative at the point - o } - \*/ - R.findDotsAtSegment = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) { - var t1 = 1 - t, - t13 = pow(t1, 3), - t12 = pow(t1, 2), - t2 = t * t, - t3 = t2 * t, - x = t13 * p1x + t12 * 3 * t * c1x + t1 * 3 * t * t * c2x + t3 * p2x, - y = t13 * p1y + t12 * 3 * t * c1y + t1 * 3 * t * t * c2y + t3 * p2y, - mx = p1x + 2 * t * (c1x - p1x) + t2 * (c2x - 2 * c1x + p1x), - my = p1y + 2 * t * (c1y - p1y) + t2 * (c2y - 2 * c1y + p1y), - nx = c1x + 2 * t * (c2x - c1x) + t2 * (p2x - 2 * c2x + c1x), - ny = c1y + 2 * t * (c2y - c1y) + t2 * (p2y - 2 * c2y + c1y), - ax = t1 * p1x + t * c1x, - ay = t1 * p1y + t * c1y, - cx = t1 * c2x + t * p2x, - cy = t1 * c2y + t * p2y, - alpha = (90 - math.atan2(mx - nx, my - ny) * 180 / PI); - (mx > nx || my < ny) && (alpha += 180); - return { - x: x, - y: y, - m: {x: mx, y: my}, - n: {x: nx, y: ny}, - start: {x: ax, y: ay}, - end: {x: cx, y: cy}, - alpha: alpha - }; - }; - /*\ - * Raphael.bezierBBox - [ method ] - ** - * Utility method - ** - * Return bounding box of a given cubic bezier curve - > Parameters - - p1x (number) x of the first point of the curve - - p1y (number) y of the first point of the curve - - c1x (number) x of the first anchor of the curve - - c1y (number) y of the first anchor of the curve - - c2x (number) x of the second anchor of the curve - - c2y (number) y of the second anchor of the curve - - p2x (number) x of the second point of the curve - - p2y (number) y of the second point of the curve - * or - - bez (array) array of six points for bezier curve - = (object) point information in format: - o { - o min: { - o x: (number) x coordinate of the left point - o y: (number) y coordinate of the top point - o } - o max: { - o x: (number) x coordinate of the right point - o y: (number) y coordinate of the bottom point - o } - o } - \*/ - R.bezierBBox = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) { - if (!R.is(p1x, "array")) { - p1x = [p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y]; - } - var bbox = curveDim.apply(null, p1x); - return { - x: bbox.min.x, - y: bbox.min.y, - x2: bbox.max.x, - y2: bbox.max.y, - width: bbox.max.x - bbox.min.x, - height: bbox.max.y - bbox.min.y - }; - }; - /*\ - * Raphael.isPointInsideBBox - [ method ] - ** - * Utility method - ** - * Returns `true` if given point is inside bounding boxes. - > Parameters - - bbox (string) bounding box - - x (string) x coordinate of the point - - y (string) y coordinate of the point - = (boolean) `true` if point inside - \*/ - R.isPointInsideBBox = function (bbox, x, y) { - return x >= bbox.x && x <= bbox.x2 && y >= bbox.y && y <= bbox.y2; - }; - /*\ - * Raphael.isBBoxIntersect - [ method ] - ** - * Utility method - ** - * Returns `true` if two bounding boxes intersect - > Parameters - - bbox1 (string) first bounding box - - bbox2 (string) second bounding box - = (boolean) `true` if they intersect - \*/ - R.isBBoxIntersect = function (bbox1, bbox2) { - var i = R.isPointInsideBBox; - return i(bbox2, bbox1.x, bbox1.y) - || i(bbox2, bbox1.x2, bbox1.y) - || i(bbox2, bbox1.x, bbox1.y2) - || i(bbox2, bbox1.x2, bbox1.y2) - || i(bbox1, bbox2.x, bbox2.y) - || i(bbox1, bbox2.x2, bbox2.y) - || i(bbox1, bbox2.x, bbox2.y2) - || i(bbox1, bbox2.x2, bbox2.y2) - || (bbox1.x < bbox2.x2 && bbox1.x > bbox2.x || bbox2.x < bbox1.x2 && bbox2.x > bbox1.x) - && (bbox1.y < bbox2.y2 && bbox1.y > bbox2.y || bbox2.y < bbox1.y2 && bbox2.y > bbox1.y); - }; - function base3(t, p1, p2, p3, p4) { - var t1 = -3 * p1 + 9 * p2 - 9 * p3 + 3 * p4, - t2 = t * t1 + 6 * p1 - 12 * p2 + 6 * p3; - return t * t2 - 3 * p1 + 3 * p2; - } - function bezlen(x1, y1, x2, y2, x3, y3, x4, y4, z) { - if (z == null) { - z = 1; - } - z = z > 1 ? 1 : z < 0 ? 0 : z; - var z2 = z / 2, - n = 12, - Tvalues = [-0.1252,0.1252,-0.3678,0.3678,-0.5873,0.5873,-0.7699,0.7699,-0.9041,0.9041,-0.9816,0.9816], - Cvalues = [0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472], - sum = 0; - for (var i = 0; i < n; i++) { - var ct = z2 * Tvalues[i] + z2, - xbase = base3(ct, x1, x2, x3, x4), - ybase = base3(ct, y1, y2, y3, y4), - comb = xbase * xbase + ybase * ybase; - sum += Cvalues[i] * math.sqrt(comb); - } - return z2 * sum; - } - function getTatLen(x1, y1, x2, y2, x3, y3, x4, y4, ll) { - if (ll < 0 || bezlen(x1, y1, x2, y2, x3, y3, x4, y4) < ll) { - return; - } - var t = 1, - step = t / 2, - t2 = t - step, - l, - e = .01; - l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2); - while (abs(l - ll) > e) { - step /= 2; - t2 += (l < ll ? 1 : -1) * step; - l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2); - } - return t2; - } - function intersect(x1, y1, x2, y2, x3, y3, x4, y4) { - if ( - mmax(x1, x2) < mmin(x3, x4) || - mmin(x1, x2) > mmax(x3, x4) || - mmax(y1, y2) < mmin(y3, y4) || - mmin(y1, y2) > mmax(y3, y4) - ) { - return; - } - var nx = (x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4), - ny = (x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4), - denominator = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4); - - if (!denominator) { - return; - } - var px = nx / denominator, - py = ny / denominator, - px2 = +px.toFixed(2), - py2 = +py.toFixed(2); - if ( - px2 < +mmin(x1, x2).toFixed(2) || - px2 > +mmax(x1, x2).toFixed(2) || - px2 < +mmin(x3, x4).toFixed(2) || - px2 > +mmax(x3, x4).toFixed(2) || - py2 < +mmin(y1, y2).toFixed(2) || - py2 > +mmax(y1, y2).toFixed(2) || - py2 < +mmin(y3, y4).toFixed(2) || - py2 > +mmax(y3, y4).toFixed(2) - ) { - return; - } - return {x: px, y: py}; - } - function inter(bez1, bez2) { - return interHelper(bez1, bez2); - } - function interCount(bez1, bez2) { - return interHelper(bez1, bez2, 1); - } - function interHelper(bez1, bez2, justCount) { - var bbox1 = R.bezierBBox(bez1), - bbox2 = R.bezierBBox(bez2); - if (!R.isBBoxIntersect(bbox1, bbox2)) { - return justCount ? 0 : []; - } - var l1 = bezlen.apply(0, bez1), - l2 = bezlen.apply(0, bez2), - n1 = mmax(~~(l1 / 5), 1), - n2 = mmax(~~(l2 / 5), 1), - dots1 = [], - dots2 = [], - xy = {}, - res = justCount ? 0 : []; - for (var i = 0; i < n1 + 1; i++) { - var p = R.findDotsAtSegment.apply(R, bez1.concat(i / n1)); - dots1.push({x: p.x, y: p.y, t: i / n1}); - } - for (i = 0; i < n2 + 1; i++) { - p = R.findDotsAtSegment.apply(R, bez2.concat(i / n2)); - dots2.push({x: p.x, y: p.y, t: i / n2}); - } - for (i = 0; i < n1; i++) { - for (var j = 0; j < n2; j++) { - var di = dots1[i], - di1 = dots1[i + 1], - dj = dots2[j], - dj1 = dots2[j + 1], - ci = abs(di1.x - di.x) < .001 ? "y" : "x", - cj = abs(dj1.x - dj.x) < .001 ? "y" : "x", - is = intersect(di.x, di.y, di1.x, di1.y, dj.x, dj.y, dj1.x, dj1.y); - if (is) { - if (xy[is.x.toFixed(4)] == is.y.toFixed(4)) { - continue; - } - xy[is.x.toFixed(4)] = is.y.toFixed(4); - var t1 = di.t + abs((is[ci] - di[ci]) / (di1[ci] - di[ci])) * (di1.t - di.t), - t2 = dj.t + abs((is[cj] - dj[cj]) / (dj1[cj] - dj[cj])) * (dj1.t - dj.t); - if (t1 >= 0 && t1 <= 1.001 && t2 >= 0 && t2 <= 1.001) { - if (justCount) { - res++; - } else { - res.push({ - x: is.x, - y: is.y, - t1: mmin(t1, 1), - t2: mmin(t2, 1) - }); - } - } - } - } - } - return res; - } - /*\ - * Raphael.pathIntersection - [ method ] - ** - * Utility method - ** - * Finds intersections of two paths - > Parameters - - path1 (string) path string - - path2 (string) path string - = (array) dots of intersection - o [ - o { - o x: (number) x coordinate of the point - o y: (number) y coordinate of the point - o t1: (number) t value for segment of path1 - o t2: (number) t value for segment of path2 - o segment1: (number) order number for segment of path1 - o segment2: (number) order number for segment of path2 - o bez1: (array) eight coordinates representing beziér curve for the segment of path1 - o bez2: (array) eight coordinates representing beziér curve for the segment of path2 - o } - o ] - \*/ - R.pathIntersection = function (path1, path2) { - return interPathHelper(path1, path2); - }; - R.pathIntersectionNumber = function (path1, path2) { - return interPathHelper(path1, path2, 1); - }; - function interPathHelper(path1, path2, justCount) { - path1 = R._path2curve(path1); - path2 = R._path2curve(path2); - var x1, y1, x2, y2, x1m, y1m, x2m, y2m, bez1, bez2, - res = justCount ? 0 : []; - for (var i = 0, ii = path1.length; i < ii; i++) { - var pi = path1[i]; - if (pi[0] == "M") { - x1 = x1m = pi[1]; - y1 = y1m = pi[2]; - } else { - if (pi[0] == "C") { - bez1 = [x1, y1].concat(pi.slice(1)); - x1 = bez1[6]; - y1 = bez1[7]; - } else { - bez1 = [x1, y1, x1, y1, x1m, y1m, x1m, y1m]; - x1 = x1m; - y1 = y1m; - } - for (var j = 0, jj = path2.length; j < jj; j++) { - var pj = path2[j]; - if (pj[0] == "M") { - x2 = x2m = pj[1]; - y2 = y2m = pj[2]; - } else { - if (pj[0] == "C") { - bez2 = [x2, y2].concat(pj.slice(1)); - x2 = bez2[6]; - y2 = bez2[7]; - } else { - bez2 = [x2, y2, x2, y2, x2m, y2m, x2m, y2m]; - x2 = x2m; - y2 = y2m; - } - var intr = interHelper(bez1, bez2, justCount); - if (justCount) { - res += intr; - } else { - for (var k = 0, kk = intr.length; k < kk; k++) { - intr[k].segment1 = i; - intr[k].segment2 = j; - intr[k].bez1 = bez1; - intr[k].bez2 = bez2; - } - res = res.concat(intr); - } - } - } - } - } - return res; - } - /*\ - * Raphael.isPointInsidePath - [ method ] - ** - * Utility method - ** - * Returns `true` if given point is inside a given closed path. - > Parameters - - path (string) path string - - x (number) x of the point - - y (number) y of the point - = (boolean) true, if point is inside the path - \*/ - R.isPointInsidePath = function (path, x, y) { - var bbox = R.pathBBox(path); - return R.isPointInsideBBox(bbox, x, y) && - interPathHelper(path, [["M", x, y], ["H", bbox.x2 + 10]], 1) % 2 == 1; - }; - R._removedFactory = function (methodname) { - return function () { - eve("raphael.log", null, "Rapha\xebl: you are calling to method \u201c" + methodname + "\u201d of removed object", methodname); - }; - }; - /*\ - * Raphael.pathBBox - [ method ] - ** - * Utility method - ** - * Return bounding box of a given path - > Parameters - - path (string) path string - = (object) bounding box - o { - o x: (number) x coordinate of the left top point of the box - o y: (number) y coordinate of the left top point of the box - o x2: (number) x coordinate of the right bottom point of the box - o y2: (number) y coordinate of the right bottom point of the box - o width: (number) width of the box - o height: (number) height of the box - o cx: (number) x coordinate of the center of the box - o cy: (number) y coordinate of the center of the box - o } - \*/ - var pathDimensions = R.pathBBox = function (path) { - var pth = paths(path); - if (pth.bbox) { - return clone(pth.bbox); - } - if (!path) { - return {x: 0, y: 0, width: 0, height: 0, x2: 0, y2: 0}; - } - path = path2curve(path); - var x = 0, - y = 0, - X = [], - Y = [], - p; - for (var i = 0, ii = path.length; i < ii; i++) { - p = path[i]; - if (p[0] == "M") { - x = p[1]; - y = p[2]; - X.push(x); - Y.push(y); - } else { - var dim = curveDim(x, y, p[1], p[2], p[3], p[4], p[5], p[6]); - X = X[concat](dim.min.x, dim.max.x); - Y = Y[concat](dim.min.y, dim.max.y); - x = p[5]; - y = p[6]; - } - } - var xmin = mmin[apply](0, X), - ymin = mmin[apply](0, Y), - xmax = mmax[apply](0, X), - ymax = mmax[apply](0, Y), - width = xmax - xmin, - height = ymax - ymin, - bb = { - x: xmin, - y: ymin, - x2: xmax, - y2: ymax, - width: width, - height: height, - cx: xmin + width / 2, - cy: ymin + height / 2 - }; - pth.bbox = clone(bb); - return bb; - }, - pathClone = function (pathArray) { - var res = clone(pathArray); - res.toString = R._path2string; - return res; - }, - pathToRelative = R._pathToRelative = function (pathArray) { - var pth = paths(pathArray); - if (pth.rel) { - return pathClone(pth.rel); - } - if (!R.is(pathArray, array) || !R.is(pathArray && pathArray[0], array)) { // rough assumption - pathArray = R.parsePathString(pathArray); - } - var res = [], - x = 0, - y = 0, - mx = 0, - my = 0, - start = 0; - if (pathArray[0][0] == "M") { - x = pathArray[0][1]; - y = pathArray[0][2]; - mx = x; - my = y; - start++; - res.push(["M", x, y]); - } - for (var i = start, ii = pathArray.length; i < ii; i++) { - var r = res[i] = [], - pa = pathArray[i]; - if (pa[0] != lowerCase.call(pa[0])) { - r[0] = lowerCase.call(pa[0]); - switch (r[0]) { - case "a": - r[1] = pa[1]; - r[2] = pa[2]; - r[3] = pa[3]; - r[4] = pa[4]; - r[5] = pa[5]; - r[6] = +(pa[6] - x).toFixed(3); - r[7] = +(pa[7] - y).toFixed(3); - break; - case "v": - r[1] = +(pa[1] - y).toFixed(3); - break; - case "m": - mx = pa[1]; - my = pa[2]; - default: - for (var j = 1, jj = pa.length; j < jj; j++) { - r[j] = +(pa[j] - ((j % 2) ? x : y)).toFixed(3); - } - } - } else { - r = res[i] = []; - if (pa[0] == "m") { - mx = pa[1] + x; - my = pa[2] + y; - } - for (var k = 0, kk = pa.length; k < kk; k++) { - res[i][k] = pa[k]; - } - } - var len = res[i].length; - switch (res[i][0]) { - case "z": - x = mx; - y = my; - break; - case "h": - x += +res[i][len - 1]; - break; - case "v": - y += +res[i][len - 1]; - break; - default: - x += +res[i][len - 2]; - y += +res[i][len - 1]; - } - } - res.toString = R._path2string; - pth.rel = pathClone(res); - return res; - }, - pathToAbsolute = R._pathToAbsolute = function (pathArray) { - var pth = paths(pathArray); - if (pth.abs) { - return pathClone(pth.abs); - } - if (!R.is(pathArray, array) || !R.is(pathArray && pathArray[0], array)) { // rough assumption - pathArray = R.parsePathString(pathArray); - } - if (!pathArray || !pathArray.length) { - return [["M", 0, 0]]; - } - var res = [], - x = 0, - y = 0, - mx = 0, - my = 0, - start = 0; - if (pathArray[0][0] == "M") { - x = +pathArray[0][1]; - y = +pathArray[0][2]; - mx = x; - my = y; - start++; - res[0] = ["M", x, y]; - } - var crz = pathArray.length == 3 && pathArray[0][0] == "M" && pathArray[1][0].toUpperCase() == "R" && pathArray[2][0].toUpperCase() == "Z"; - for (var r, pa, i = start, ii = pathArray.length; i < ii; i++) { - res.push(r = []); - pa = pathArray[i]; - if (pa[0] != upperCase.call(pa[0])) { - r[0] = upperCase.call(pa[0]); - switch (r[0]) { - case "A": - r[1] = pa[1]; - r[2] = pa[2]; - r[3] = pa[3]; - r[4] = pa[4]; - r[5] = pa[5]; - r[6] = +(pa[6] + x); - r[7] = +(pa[7] + y); - break; - case "V": - r[1] = +pa[1] + y; - break; - case "H": - r[1] = +pa[1] + x; - break; - case "R": - var dots = [x, y][concat](pa.slice(1)); - for (var j = 2, jj = dots.length; j < jj; j++) { - dots[j] = +dots[j] + x; - dots[++j] = +dots[j] + y; - } - res.pop(); - res = res[concat](catmullRom2bezier(dots, crz)); - break; - case "M": - mx = +pa[1] + x; - my = +pa[2] + y; - default: - for (j = 1, jj = pa.length; j < jj; j++) { - r[j] = +pa[j] + ((j % 2) ? x : y); - } - } - } else if (pa[0] == "R") { - dots = [x, y][concat](pa.slice(1)); - res.pop(); - res = res[concat](catmullRom2bezier(dots, crz)); - r = ["R"][concat](pa.slice(-2)); - } else { - for (var k = 0, kk = pa.length; k < kk; k++) { - r[k] = pa[k]; - } - } - switch (r[0]) { - case "Z": - x = mx; - y = my; - break; - case "H": - x = r[1]; - break; - case "V": - y = r[1]; - break; - case "M": - mx = r[r.length - 2]; - my = r[r.length - 1]; - default: - x = r[r.length - 2]; - y = r[r.length - 1]; - } - } - res.toString = R._path2string; - pth.abs = pathClone(res); - return res; - }, - l2c = function (x1, y1, x2, y2) { - return [x1, y1, x2, y2, x2, y2]; - }, - q2c = function (x1, y1, ax, ay, x2, y2) { - var _13 = 1 / 3, - _23 = 2 / 3; - return [ - _13 * x1 + _23 * ax, - _13 * y1 + _23 * ay, - _13 * x2 + _23 * ax, - _13 * y2 + _23 * ay, - x2, - y2 - ]; - }, - a2c = function (x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) { - // for more information of where this math came from visit: - // http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes - var _120 = PI * 120 / 180, - rad = PI / 180 * (+angle || 0), - res = [], - xy, - rotate = cacher(function (x, y, rad) { - var X = x * math.cos(rad) - y * math.sin(rad), - Y = x * math.sin(rad) + y * math.cos(rad); - return {x: X, y: Y}; - }); - if (!recursive) { - xy = rotate(x1, y1, -rad); - x1 = xy.x; - y1 = xy.y; - xy = rotate(x2, y2, -rad); - x2 = xy.x; - y2 = xy.y; - var cos = math.cos(PI / 180 * angle), - sin = math.sin(PI / 180 * angle), - x = (x1 - x2) / 2, - y = (y1 - y2) / 2; - var h = (x * x) / (rx * rx) + (y * y) / (ry * ry); - if (h > 1) { - h = math.sqrt(h); - rx = h * rx; - ry = h * ry; - } - var rx2 = rx * rx, - ry2 = ry * ry, - k = (large_arc_flag == sweep_flag ? -1 : 1) * - math.sqrt(abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))), - cx = k * rx * y / ry + (x1 + x2) / 2, - cy = k * -ry * x / rx + (y1 + y2) / 2, - f1 = math.asin(((y1 - cy) / ry).toFixed(9)), - f2 = math.asin(((y2 - cy) / ry).toFixed(9)); - - f1 = x1 < cx ? PI - f1 : f1; - f2 = x2 < cx ? PI - f2 : f2; - f1 < 0 && (f1 = PI * 2 + f1); - f2 < 0 && (f2 = PI * 2 + f2); - if (sweep_flag && f1 > f2) { - f1 = f1 - PI * 2; - } - if (!sweep_flag && f2 > f1) { - f2 = f2 - PI * 2; - } - } else { - f1 = recursive[0]; - f2 = recursive[1]; - cx = recursive[2]; - cy = recursive[3]; - } - var df = f2 - f1; - if (abs(df) > _120) { - var f2old = f2, - x2old = x2, - y2old = y2; - f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1); - x2 = cx + rx * math.cos(f2); - y2 = cy + ry * math.sin(f2); - res = a2c(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]); - } - df = f2 - f1; - var c1 = math.cos(f1), - s1 = math.sin(f1), - c2 = math.cos(f2), - s2 = math.sin(f2), - t = math.tan(df / 4), - hx = 4 / 3 * rx * t, - hy = 4 / 3 * ry * t, - m1 = [x1, y1], - m2 = [x1 + hx * s1, y1 - hy * c1], - m3 = [x2 + hx * s2, y2 - hy * c2], - m4 = [x2, y2]; - m2[0] = 2 * m1[0] - m2[0]; - m2[1] = 2 * m1[1] - m2[1]; - if (recursive) { - return [m2, m3, m4][concat](res); - } else { - res = [m2, m3, m4][concat](res).join()[split](","); - var newres = []; - for (var i = 0, ii = res.length; i < ii; i++) { - newres[i] = i % 2 ? rotate(res[i - 1], res[i], rad).y : rotate(res[i], res[i + 1], rad).x; - } - return newres; - } - }, - findDotAtSegment = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) { - var t1 = 1 - t; - return { - x: pow(t1, 3) * p1x + pow(t1, 2) * 3 * t * c1x + t1 * 3 * t * t * c2x + pow(t, 3) * p2x, - y: pow(t1, 3) * p1y + pow(t1, 2) * 3 * t * c1y + t1 * 3 * t * t * c2y + pow(t, 3) * p2y - }; - }, - curveDim = cacher(function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) { - var a = (c2x - 2 * c1x + p1x) - (p2x - 2 * c2x + c1x), - b = 2 * (c1x - p1x) - 2 * (c2x - c1x), - c = p1x - c1x, - t1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 / a, - t2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 / a, - y = [p1y, p2y], - x = [p1x, p2x], - dot; - abs(t1) > "1e12" && (t1 = .5); - abs(t2) > "1e12" && (t2 = .5); - if (t1 > 0 && t1 < 1) { - dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t1); - x.push(dot.x); - y.push(dot.y); - } - if (t2 > 0 && t2 < 1) { - dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t2); - x.push(dot.x); - y.push(dot.y); - } - a = (c2y - 2 * c1y + p1y) - (p2y - 2 * c2y + c1y); - b = 2 * (c1y - p1y) - 2 * (c2y - c1y); - c = p1y - c1y; - t1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 / a; - t2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 / a; - abs(t1) > "1e12" && (t1 = .5); - abs(t2) > "1e12" && (t2 = .5); - if (t1 > 0 && t1 < 1) { - dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t1); - x.push(dot.x); - y.push(dot.y); - } - if (t2 > 0 && t2 < 1) { - dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t2); - x.push(dot.x); - y.push(dot.y); - } - return { - min: {x: mmin[apply](0, x), y: mmin[apply](0, y)}, - max: {x: mmax[apply](0, x), y: mmax[apply](0, y)} - }; - }), - path2curve = R._path2curve = cacher(function (path, path2) { - var pth = !path2 && paths(path); - if (!path2 && pth.curve) { - return pathClone(pth.curve); - } - var p = pathToAbsolute(path), - p2 = path2 && pathToAbsolute(path2), - attrs = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null}, - attrs2 = {x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null}, - processPath = function (path, d, pcom) { - var nx, ny, tq = {T:1, Q:1}; - if (!path) { - return ["C", d.x, d.y, d.x, d.y, d.x, d.y]; - } - !(path[0] in tq) && (d.qx = d.qy = null); - switch (path[0]) { - case "M": - d.X = path[1]; - d.Y = path[2]; - break; - case "A": - path = ["C"][concat](a2c[apply](0, [d.x, d.y][concat](path.slice(1)))); - break; - case "S": - if (pcom == "C" || pcom == "S") { // In "S" case we have to take into account, if the previous command is C/S. - nx = d.x * 2 - d.bx; // And reflect the previous - ny = d.y * 2 - d.by; // command's control point relative to the current point. - } - else { // or some else or nothing - nx = d.x; - ny = d.y; - } - path = ["C", nx, ny][concat](path.slice(1)); - break; - case "T": - if (pcom == "Q" || pcom == "T") { // In "T" case we have to take into account, if the previous command is Q/T. - d.qx = d.x * 2 - d.qx; // And make a reflection similar - d.qy = d.y * 2 - d.qy; // to case "S". - } - else { // or something else or nothing - d.qx = d.x; - d.qy = d.y; - } - path = ["C"][concat](q2c(d.x, d.y, d.qx, d.qy, path[1], path[2])); - break; - case "Q": - d.qx = path[1]; - d.qy = path[2]; - path = ["C"][concat](q2c(d.x, d.y, path[1], path[2], path[3], path[4])); - break; - case "L": - path = ["C"][concat](l2c(d.x, d.y, path[1], path[2])); - break; - case "H": - path = ["C"][concat](l2c(d.x, d.y, path[1], d.y)); - break; - case "V": - path = ["C"][concat](l2c(d.x, d.y, d.x, path[1])); - break; - case "Z": - path = ["C"][concat](l2c(d.x, d.y, d.X, d.Y)); - break; - } - return path; - }, - fixArc = function (pp, i) { - if (pp[i].length > 7) { - pp[i].shift(); - var pi = pp[i]; - while (pi.length) { - pcoms1[i]="A"; // if created multiple C:s, their original seg is saved - p2 && (pcoms2[i]="A"); // the same as above - pp.splice(i++, 0, ["C"][concat](pi.splice(0, 6))); - } - pp.splice(i, 1); - ii = mmax(p.length, p2 && p2.length || 0); - } - }, - fixM = function (path1, path2, a1, a2, i) { - if (path1 && path2 && path1[i][0] == "M" && path2[i][0] != "M") { - path2.splice(i, 0, ["M", a2.x, a2.y]); - a1.bx = 0; - a1.by = 0; - a1.x = path1[i][1]; - a1.y = path1[i][2]; - ii = mmax(p.length, p2 && p2.length || 0); - } - }, - pcoms1 = [], // path commands of original path p - pcoms2 = [], // path commands of original path p2 - pfirst = "", // temporary holder for original path command - pcom = ""; // holder for previous path command of original path - for (var i = 0, ii = mmax(p.length, p2 && p2.length || 0); i < ii; i++) { - p[i] && (pfirst = p[i][0]); // save current path command - - if (pfirst != "C") // C is not saved yet, because it may be result of conversion - { - pcoms1[i] = pfirst; // Save current path command - i && ( pcom = pcoms1[i-1]); // Get previous path command pcom - } - p[i] = processPath(p[i], attrs, pcom); // Previous path command is inputted to processPath - - if (pcoms1[i] != "A" && pfirst == "C") pcoms1[i] = "C"; // A is the only command - // which may produce multiple C:s - // so we have to make sure that C is also C in original path - - fixArc(p, i); // fixArc adds also the right amount of A:s to pcoms1 - - if (p2) { // the same procedures is done to p2 - p2[i] && (pfirst = p2[i][0]); - if (pfirst != "C") - { - pcoms2[i] = pfirst; - i && (pcom = pcoms2[i-1]); - } - p2[i] = processPath(p2[i], attrs2, pcom); - - if (pcoms2[i]!="A" && pfirst=="C") pcoms2[i]="C"; - - fixArc(p2, i); - } - fixM(p, p2, attrs, attrs2, i); - fixM(p2, p, attrs2, attrs, i); - var seg = p[i], - seg2 = p2 && p2[i], - seglen = seg.length, - seg2len = p2 && seg2.length; - attrs.x = seg[seglen - 2]; - attrs.y = seg[seglen - 1]; - attrs.bx = toFloat(seg[seglen - 4]) || attrs.x; - attrs.by = toFloat(seg[seglen - 3]) || attrs.y; - attrs2.bx = p2 && (toFloat(seg2[seg2len - 4]) || attrs2.x); - attrs2.by = p2 && (toFloat(seg2[seg2len - 3]) || attrs2.y); - attrs2.x = p2 && seg2[seg2len - 2]; - attrs2.y = p2 && seg2[seg2len - 1]; - } - if (!p2) { - pth.curve = pathClone(p); - } - return p2 ? [p, p2] : p; - }, null, pathClone), - parseDots = R._parseDots = cacher(function (gradient) { - var dots = []; - for (var i = 0, ii = gradient.length; i < ii; i++) { - var dot = {}, - par = gradient[i].match(/^([^:]*):?([\d\.]*)/); - dot.color = R.getRGB(par[1]); - if (dot.color.error) { - return null; - } - dot.opacity = dot.color.opacity; - dot.color = dot.color.hex; - par[2] && (dot.offset = par[2] + "%"); - dots.push(dot); - } - for (i = 1, ii = dots.length - 1; i < ii; i++) { - if (!dots[i].offset) { - var start = toFloat(dots[i - 1].offset || 0), - end = 0; - for (var j = i + 1; j < ii; j++) { - if (dots[j].offset) { - end = dots[j].offset; - break; - } - } - if (!end) { - end = 100; - j = ii; - } - end = toFloat(end); - var d = (end - start) / (j - i + 1); - for (; i < j; i++) { - start += d; - dots[i].offset = start + "%"; - } - } - } - return dots; - }), - tear = R._tear = function (el, paper) { - el == paper.top && (paper.top = el.prev); - el == paper.bottom && (paper.bottom = el.next); - el.next && (el.next.prev = el.prev); - el.prev && (el.prev.next = el.next); - }, - tofront = R._tofront = function (el, paper) { - if (paper.top === el) { - return; - } - tear(el, paper); - el.next = null; - el.prev = paper.top; - paper.top.next = el; - paper.top = el; - }, - toback = R._toback = function (el, paper) { - if (paper.bottom === el) { - return; - } - tear(el, paper); - el.next = paper.bottom; - el.prev = null; - paper.bottom.prev = el; - paper.bottom = el; - }, - insertafter = R._insertafter = function (el, el2, paper) { - tear(el, paper); - el2 == paper.top && (paper.top = el); - el2.next && (el2.next.prev = el); - el.next = el2.next; - el.prev = el2; - el2.next = el; - }, - insertbefore = R._insertbefore = function (el, el2, paper) { - tear(el, paper); - el2 == paper.bottom && (paper.bottom = el); - el2.prev && (el2.prev.next = el); - el.prev = el2.prev; - el2.prev = el; - el.next = el2; - }, - /*\ - * Raphael.toMatrix - [ method ] - ** - * Utility method - ** - * Returns matrix of transformations applied to a given path - > Parameters - - path (string) path string - - transform (string|array) transformation string - = (object) @Matrix - \*/ - toMatrix = R.toMatrix = function (path, transform) { - var bb = pathDimensions(path), - el = { - _: { - transform: E - }, - getBBox: function () { - return bb; - } - }; - extractTransform(el, transform); - return el.matrix; - }, - /*\ - * Raphael.transformPath - [ method ] - ** - * Utility method - ** - * Returns path transformed by a given transformation - > Parameters - - path (string) path string - - transform (string|array) transformation string - = (string) path - \*/ - transformPath = R.transformPath = function (path, transform) { - return mapPath(path, toMatrix(path, transform)); - }, - extractTransform = R._extractTransform = function (el, tstr) { - if (tstr == null) { - return el._.transform; - } - tstr = Str(tstr).replace(/\.{3}|\u2026/g, el._.transform || E); - var tdata = R.parseTransformString(tstr), - deg = 0, - dx = 0, - dy = 0, - sx = 1, - sy = 1, - _ = el._, - m = new Matrix; - _.transform = tdata || []; - if (tdata) { - for (var i = 0, ii = tdata.length; i < ii; i++) { - var t = tdata[i], - tlen = t.length, - command = Str(t[0]).toLowerCase(), - absolute = t[0] != command, - inver = absolute ? m.invert() : 0, - x1, - y1, - x2, - y2, - bb; - if (command == "t" && tlen == 3) { - if (absolute) { - x1 = inver.x(0, 0); - y1 = inver.y(0, 0); - x2 = inver.x(t[1], t[2]); - y2 = inver.y(t[1], t[2]); - m.translate(x2 - x1, y2 - y1); - } else { - m.translate(t[1], t[2]); - } - } else if (command == "r") { - if (tlen == 2) { - bb = bb || el.getBBox(1); - m.rotate(t[1], bb.x + bb.width / 2, bb.y + bb.height / 2); - deg += t[1]; - } else if (tlen == 4) { - if (absolute) { - x2 = inver.x(t[2], t[3]); - y2 = inver.y(t[2], t[3]); - m.rotate(t[1], x2, y2); - } else { - m.rotate(t[1], t[2], t[3]); - } - deg += t[1]; - } - } else if (command == "s") { - if (tlen == 2 || tlen == 3) { - bb = bb || el.getBBox(1); - m.scale(t[1], t[tlen - 1], bb.x + bb.width / 2, bb.y + bb.height / 2); - sx *= t[1]; - sy *= t[tlen - 1]; - } else if (tlen == 5) { - if (absolute) { - x2 = inver.x(t[3], t[4]); - y2 = inver.y(t[3], t[4]); - m.scale(t[1], t[2], x2, y2); - } else { - m.scale(t[1], t[2], t[3], t[4]); - } - sx *= t[1]; - sy *= t[2]; - } - } else if (command == "m" && tlen == 7) { - m.add(t[1], t[2], t[3], t[4], t[5], t[6]); - } - _.dirtyT = 1; - el.matrix = m; - } - } - - /*\ - * Element.matrix - [ property (object) ] - ** - * Keeps @Matrix object, which represents element transformation - \*/ - el.matrix = m; - - _.sx = sx; - _.sy = sy; - _.deg = deg; - _.dx = dx = m.e; - _.dy = dy = m.f; - - if (sx == 1 && sy == 1 && !deg && _.bbox) { - _.bbox.x += +dx; - _.bbox.y += +dy; - } else { - _.dirtyT = 1; - } - }, - getEmpty = function (item) { - var l = item[0]; - switch (l.toLowerCase()) { - case "t": return [l, 0, 0]; - case "m": return [l, 1, 0, 0, 1, 0, 0]; - case "r": if (item.length == 4) { - return [l, 0, item[2], item[3]]; - } else { - return [l, 0]; - } - case "s": if (item.length == 5) { - return [l, 1, 1, item[3], item[4]]; - } else if (item.length == 3) { - return [l, 1, 1]; - } else { - return [l, 1]; - } - } - }, - equaliseTransform = R._equaliseTransform = function (t1, t2) { - t2 = Str(t2).replace(/\.{3}|\u2026/g, t1); - t1 = R.parseTransformString(t1) || []; - t2 = R.parseTransformString(t2) || []; - var maxlength = mmax(t1.length, t2.length), - from = [], - to = [], - i = 0, j, jj, - tt1, tt2; - for (; i < maxlength; i++) { - tt1 = t1[i] || getEmpty(t2[i]); - tt2 = t2[i] || getEmpty(tt1); - if ((tt1[0] != tt2[0]) || - (tt1[0].toLowerCase() == "r" && (tt1[2] != tt2[2] || tt1[3] != tt2[3])) || - (tt1[0].toLowerCase() == "s" && (tt1[3] != tt2[3] || tt1[4] != tt2[4])) - ) { - return; - } - from[i] = []; - to[i] = []; - for (j = 0, jj = mmax(tt1.length, tt2.length); j < jj; j++) { - j in tt1 && (from[i][j] = tt1[j]); - j in tt2 && (to[i][j] = tt2[j]); - } - } - return { - from: from, - to: to - }; - }; - R._getContainer = function (x, y, w, h) { - var container; - container = h == null && !R.is(x, "object") ? g.doc.getElementById(x) : x; - if (container == null) { - return; - } - if (container.tagName) { - if (y == null) { - return { - container: container, - width: container.style.pixelWidth || container.offsetWidth, - height: container.style.pixelHeight || container.offsetHeight - }; - } else { - return { - container: container, - width: y, - height: w - }; - } - } - return { - container: 1, - x: x, - y: y, - width: w, - height: h - }; - }; - /*\ - * Raphael.pathToRelative - [ method ] - ** - * Utility method - ** - * Converts path to relative form - > Parameters - - pathString (string|array) path string or array of segments - = (array) array of segments. - \*/ - R.pathToRelative = pathToRelative; - R._engine = {}; - /*\ - * Raphael.path2curve - [ method ] - ** - * Utility method - ** - * Converts path to a new path where all segments are cubic bezier curves. - > Parameters - - pathString (string|array) path string or array of segments - = (array) array of segments. - \*/ - R.path2curve = path2curve; - /*\ - * Raphael.matrix - [ method ] - ** - * Utility method - ** - * Returns matrix based on given parameters. - > Parameters - - a (number) - - b (number) - - c (number) - - d (number) - - e (number) - - f (number) - = (object) @Matrix - \*/ - R.matrix = function (a, b, c, d, e, f) { - return new Matrix(a, b, c, d, e, f); - }; - function Matrix(a, b, c, d, e, f) { - if (a != null) { - this.a = +a; - this.b = +b; - this.c = +c; - this.d = +d; - this.e = +e; - this.f = +f; - } else { - this.a = 1; - this.b = 0; - this.c = 0; - this.d = 1; - this.e = 0; - this.f = 0; - } - } - (function (matrixproto) { - /*\ - * Matrix.add - [ method ] - ** - * Adds given matrix to existing one. - > Parameters - - a (number) - - b (number) - - c (number) - - d (number) - - e (number) - - f (number) - or - - matrix (object) @Matrix - \*/ - matrixproto.add = function (a, b, c, d, e, f) { - var out = [[], [], []], - m = [[this.a, this.c, this.e], [this.b, this.d, this.f], [0, 0, 1]], - matrix = [[a, c, e], [b, d, f], [0, 0, 1]], - x, y, z, res; - - if (a && a instanceof Matrix) { - matrix = [[a.a, a.c, a.e], [a.b, a.d, a.f], [0, 0, 1]]; - } - - for (x = 0; x < 3; x++) { - for (y = 0; y < 3; y++) { - res = 0; - for (z = 0; z < 3; z++) { - res += m[x][z] * matrix[z][y]; - } - out[x][y] = res; - } - } - this.a = out[0][0]; - this.b = out[1][0]; - this.c = out[0][1]; - this.d = out[1][1]; - this.e = out[0][2]; - this.f = out[1][2]; - }; - /*\ - * Matrix.invert - [ method ] - ** - * Returns inverted version of the matrix - = (object) @Matrix - \*/ - matrixproto.invert = function () { - var me = this, - x = me.a * me.d - me.b * me.c; - return new Matrix(me.d / x, -me.b / x, -me.c / x, me.a / x, (me.c * me.f - me.d * me.e) / x, (me.b * me.e - me.a * me.f) / x); - }; - /*\ - * Matrix.clone - [ method ] - ** - * Returns copy of the matrix - = (object) @Matrix - \*/ - matrixproto.clone = function () { - return new Matrix(this.a, this.b, this.c, this.d, this.e, this.f); - }; - /*\ - * Matrix.translate - [ method ] - ** - * Translate the matrix - > Parameters - - x (number) - - y (number) - \*/ - matrixproto.translate = function (x, y) { - this.add(1, 0, 0, 1, x, y); - }; - /*\ - * Matrix.scale - [ method ] - ** - * Scales the matrix - > Parameters - - x (number) - - y (number) #optional - - cx (number) #optional - - cy (number) #optional - \*/ - matrixproto.scale = function (x, y, cx, cy) { - y == null && (y = x); - (cx || cy) && this.add(1, 0, 0, 1, cx, cy); - this.add(x, 0, 0, y, 0, 0); - (cx || cy) && this.add(1, 0, 0, 1, -cx, -cy); - }; - /*\ - * Matrix.rotate - [ method ] - ** - * Rotates the matrix - > Parameters - - a (number) - - x (number) - - y (number) - \*/ - matrixproto.rotate = function (a, x, y) { - a = R.rad(a); - x = x || 0; - y = y || 0; - var cos = +math.cos(a).toFixed(9), - sin = +math.sin(a).toFixed(9); - this.add(cos, sin, -sin, cos, x, y); - this.add(1, 0, 0, 1, -x, -y); - }; - /*\ - * Matrix.x - [ method ] - ** - * Return x coordinate for given point after transformation described by the matrix. See also @Matrix.y - > Parameters - - x (number) - - y (number) - = (number) x - \*/ - matrixproto.x = function (x, y) { - return x * this.a + y * this.c + this.e; - }; - /*\ - * Matrix.y - [ method ] - ** - * Return y coordinate for given point after transformation described by the matrix. See also @Matrix.x - > Parameters - - x (number) - - y (number) - = (number) y - \*/ - matrixproto.y = function (x, y) { - return x * this.b + y * this.d + this.f; - }; - matrixproto.get = function (i) { - return +this[Str.fromCharCode(97 + i)].toFixed(4); - }; - matrixproto.toString = function () { - return R.svg ? - "matrix(" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)].join() + ")" : - [this.get(0), this.get(2), this.get(1), this.get(3), 0, 0].join(); - }; - matrixproto.toFilter = function () { - return "progid:DXImageTransform.Microsoft.Matrix(M11=" + this.get(0) + - ", M12=" + this.get(2) + ", M21=" + this.get(1) + ", M22=" + this.get(3) + - ", Dx=" + this.get(4) + ", Dy=" + this.get(5) + ", sizingmethod='auto expand')"; - }; - matrixproto.offset = function () { - return [this.e.toFixed(4), this.f.toFixed(4)]; - }; - function norm(a) { - return a[0] * a[0] + a[1] * a[1]; - } - function normalize(a) { - var mag = math.sqrt(norm(a)); - a[0] && (a[0] /= mag); - a[1] && (a[1] /= mag); - } - /*\ - * Matrix.split - [ method ] - ** - * Splits matrix into primitive transformations - = (object) in format: - o dx (number) translation by x - o dy (number) translation by y - o scalex (number) scale by x - o scaley (number) scale by y - o shear (number) shear - o rotate (number) rotation in deg - o isSimple (boolean) could it be represented via simple transformations - \*/ - matrixproto.split = function () { - var out = {}; - // translation - out.dx = this.e; - out.dy = this.f; - - // scale and shear - var row = [[this.a, this.c], [this.b, this.d]]; - out.scalex = math.sqrt(norm(row[0])); - normalize(row[0]); - - out.shear = row[0][0] * row[1][0] + row[0][1] * row[1][1]; - row[1] = [row[1][0] - row[0][0] * out.shear, row[1][1] - row[0][1] * out.shear]; - - out.scaley = math.sqrt(norm(row[1])); - normalize(row[1]); - out.shear /= out.scaley; - - // rotation - var sin = -row[0][1], - cos = row[1][1]; - if (cos < 0) { - out.rotate = R.deg(math.acos(cos)); - if (sin < 0) { - out.rotate = 360 - out.rotate; - } - } else { - out.rotate = R.deg(math.asin(sin)); - } - - out.isSimple = !+out.shear.toFixed(9) && (out.scalex.toFixed(9) == out.scaley.toFixed(9) || !out.rotate); - out.isSuperSimple = !+out.shear.toFixed(9) && out.scalex.toFixed(9) == out.scaley.toFixed(9) && !out.rotate; - out.noRotation = !+out.shear.toFixed(9) && !out.rotate; - return out; - }; - /*\ - * Matrix.toTransformString - [ method ] - ** - * Return transform string that represents given matrix - = (string) transform string - \*/ - matrixproto.toTransformString = function (shorter) { - var s = shorter || this[split](); - if (s.isSimple) { - s.scalex = +s.scalex.toFixed(4); - s.scaley = +s.scaley.toFixed(4); - s.rotate = +s.rotate.toFixed(4); - return (s.dx || s.dy ? "t" + [s.dx, s.dy] : E) + - (s.scalex != 1 || s.scaley != 1 ? "s" + [s.scalex, s.scaley, 0, 0] : E) + - (s.rotate ? "r" + [s.rotate, 0, 0] : E); - } else { - return "m" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)]; - } - }; - })(Matrix.prototype); - - var preventDefault = function () { - this.returnValue = false; - }, - preventTouch = function () { - return this.originalEvent.preventDefault(); - }, - stopPropagation = function () { - this.cancelBubble = true; - }, - stopTouch = function () { - return this.originalEvent.stopPropagation(); - }, - getEventPosition = function (e) { - var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop, - scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft; - - return { - x: e.clientX + scrollX, - y: e.clientY + scrollY - }; - }, - addEvent = (function () { - if (g.doc.addEventListener) { - return function (obj, type, fn, element) { - var f = function (e) { - var pos = getEventPosition(e); - return fn.call(element, e, pos.x, pos.y); - }; - obj.addEventListener(type, f, false); - - if (supportsTouch && touchMap[type]) { - var _f = function (e) { - var pos = getEventPosition(e), - olde = e; - - for (var i = 0, ii = e.targetTouches && e.targetTouches.length; i < ii; i++) { - if (e.targetTouches[i].target == obj) { - e = e.targetTouches[i]; - e.originalEvent = olde; - e.preventDefault = preventTouch; - e.stopPropagation = stopTouch; - break; - } - } - - return fn.call(element, e, pos.x, pos.y); - }; - obj.addEventListener(touchMap[type], _f, false); - } - - return function () { - obj.removeEventListener(type, f, false); - - if (supportsTouch && touchMap[type]) - obj.removeEventListener(touchMap[type], _f, false); - - return true; - }; - }; - } else if (g.doc.attachEvent) { - return function (obj, type, fn, element) { - var f = function (e) { - e = e || g.win.event; - var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop, - scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft, - x = e.clientX + scrollX, - y = e.clientY + scrollY; - e.preventDefault = e.preventDefault || preventDefault; - e.stopPropagation = e.stopPropagation || stopPropagation; - return fn.call(element, e, x, y); - }; - obj.attachEvent("on" + type, f); - var detacher = function () { - obj.detachEvent("on" + type, f); - return true; - }; - return detacher; - }; - } - })(), - drag = [], - dragMove = function (e) { - var x = e.clientX, - y = e.clientY, - scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop, - scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft, - dragi, - j = drag.length; - while (j--) { - dragi = drag[j]; - if (supportsTouch && e.touches) { - var i = e.touches.length, - touch; - while (i--) { - touch = e.touches[i]; - if (touch.identifier == dragi.el._drag.id) { - x = touch.clientX; - y = touch.clientY; - (e.originalEvent ? e.originalEvent : e).preventDefault(); - break; - } - } - } else { - e.preventDefault(); - } - var node = dragi.el.node, - o, - next = node.nextSibling, - parent = node.parentNode, - display = node.style.display; - g.win.opera && parent.removeChild(node); - node.style.display = "none"; - o = dragi.el.paper.getElementByPoint(x, y); - node.style.display = display; - g.win.opera && (next ? parent.insertBefore(node, next) : parent.appendChild(node)); - o && eve("raphael.drag.over." + dragi.el.id, dragi.el, o); - x += scrollX; - y += scrollY; - eve("raphael.drag.move." + dragi.el.id, dragi.move_scope || dragi.el, x - dragi.el._drag.x, y - dragi.el._drag.y, x, y, e); - } - }, - dragUp = function (e) { - R.unmousemove(dragMove).unmouseup(dragUp); - var i = drag.length, - dragi; - while (i--) { - dragi = drag[i]; - dragi.el._drag = {}; - eve("raphael.drag.end." + dragi.el.id, dragi.end_scope || dragi.start_scope || dragi.move_scope || dragi.el, e); - } - drag = []; - }, - /*\ - * Raphael.el - [ property (object) ] - ** - * You can add your own method to elements. This is usefull when you want to hack default functionality or - * want to wrap some common transformation or attributes in one method. In difference to canvas methods, - * you can redefine element method at any time. Expending element methods wouldn’t affect set. - > Usage - | Raphael.el.red = function () { - | this.attr({fill: "#f00"}); - | }; - | // then use it - | paper.circle(100, 100, 20).red(); - \*/ - elproto = R.el = {}; - /*\ - * Element.click - [ method ] - ** - * Adds event handler for click for the element. - > Parameters - - handler (function) handler for the event - = (object) @Element - \*/ - /*\ - * Element.unclick - [ method ] - ** - * Removes event handler for click for the element. - > Parameters - - handler (function) #optional handler for the event - = (object) @Element - \*/ - - /*\ - * Element.dblclick - [ method ] - ** - * Adds event handler for double click for the element. - > Parameters - - handler (function) handler for the event - = (object) @Element - \*/ - /*\ - * Element.undblclick - [ method ] - ** - * Removes event handler for double click for the element. - > Parameters - - handler (function) #optional handler for the event - = (object) @Element - \*/ - - /*\ - * Element.mousedown - [ method ] - ** - * Adds event handler for mousedown for the element. - > Parameters - - handler (function) handler for the event - = (object) @Element - \*/ - /*\ - * Element.unmousedown - [ method ] - ** - * Removes event handler for mousedown for the element. - > Parameters - - handler (function) #optional handler for the event - = (object) @Element - \*/ - - /*\ - * Element.mousemove - [ method ] - ** - * Adds event handler for mousemove for the element. - > Parameters - - handler (function) handler for the event - = (object) @Element - \*/ - /*\ - * Element.unmousemove - [ method ] - ** - * Removes event handler for mousemove for the element. - > Parameters - - handler (function) #optional handler for the event - = (object) @Element - \*/ - - /*\ - * Element.mouseout - [ method ] - ** - * Adds event handler for mouseout for the element. - > Parameters - - handler (function) handler for the event - = (object) @Element - \*/ - /*\ - * Element.unmouseout - [ method ] - ** - * Removes event handler for mouseout for the element. - > Parameters - - handler (function) #optional handler for the event - = (object) @Element - \*/ - - /*\ - * Element.mouseover - [ method ] - ** - * Adds event handler for mouseover for the element. - > Parameters - - handler (function) handler for the event - = (object) @Element - \*/ - /*\ - * Element.unmouseover - [ method ] - ** - * Removes event handler for mouseover for the element. - > Parameters - - handler (function) #optional handler for the event - = (object) @Element - \*/ - - /*\ - * Element.mouseup - [ method ] - ** - * Adds event handler for mouseup for the element. - > Parameters - - handler (function) handler for the event - = (object) @Element - \*/ - /*\ - * Element.unmouseup - [ method ] - ** - * Removes event handler for mouseup for the element. - > Parameters - - handler (function) #optional handler for the event - = (object) @Element - \*/ - - /*\ - * Element.touchstart - [ method ] - ** - * Adds event handler for touchstart for the element. - > Parameters - - handler (function) handler for the event - = (object) @Element - \*/ - /*\ - * Element.untouchstart - [ method ] - ** - * Removes event handler for touchstart for the element. - > Parameters - - handler (function) #optional handler for the event - = (object) @Element - \*/ - - /*\ - * Element.touchmove - [ method ] - ** - * Adds event handler for touchmove for the element. - > Parameters - - handler (function) handler for the event - = (object) @Element - \*/ - /*\ - * Element.untouchmove - [ method ] - ** - * Removes event handler for touchmove for the element. - > Parameters - - handler (function) #optional handler for the event - = (object) @Element - \*/ - - /*\ - * Element.touchend - [ method ] - ** - * Adds event handler for touchend for the element. - > Parameters - - handler (function) handler for the event - = (object) @Element - \*/ - /*\ - * Element.untouchend - [ method ] - ** - * Removes event handler for touchend for the element. - > Parameters - - handler (function) #optional handler for the event - = (object) @Element - \*/ - - /*\ - * Element.touchcancel - [ method ] - ** - * Adds event handler for touchcancel for the element. - > Parameters - - handler (function) handler for the event - = (object) @Element - \*/ - /*\ - * Element.untouchcancel - [ method ] - ** - * Removes event handler for touchcancel for the element. - > Parameters - - handler (function) #optional handler for the event - = (object) @Element - \*/ - for (var i = events.length; i--;) { - (function (eventName) { - R[eventName] = elproto[eventName] = function (fn, scope) { - if (R.is(fn, "function")) { - this.events = this.events || []; - this.events.push({name: eventName, f: fn, unbind: addEvent(this.shape || this.node || g.doc, eventName, fn, scope || this)}); - } - return this; - }; - R["un" + eventName] = elproto["un" + eventName] = function (fn) { - var events = this.events || [], - l = events.length; - while (l--){ - if (events[l].name == eventName && (R.is(fn, "undefined") || events[l].f == fn)) { - events[l].unbind(); - events.splice(l, 1); - !events.length && delete this.events; - } - } - return this; - }; - })(events[i]); - } - - /*\ - * Element.data - [ method ] - ** - * Adds or retrieves given value asociated with given key. - ** - * See also @Element.removeData - > Parameters - - key (string) key to store data - - value (any) #optional value to store - = (object) @Element - * or, if value is not specified: - = (any) value - * or, if key and value are not specified: - = (object) Key/value pairs for all the data associated with the element. - > Usage - | for (var i = 0, i < 5, i++) { - | paper.circle(10 + 15 * i, 10, 10) - | .attr({fill: "#000"}) - | .data("i", i) - | .click(function () { - | alert(this.data("i")); - | }); - | } - \*/ - elproto.data = function (key, value) { - var data = eldata[this.id] = eldata[this.id] || {}; - if (arguments.length == 0) { - return data; - } - if (arguments.length == 1) { - if (R.is(key, "object")) { - for (var i in key) if (key[has](i)) { - this.data(i, key[i]); - } - return this; - } - eve("raphael.data.get." + this.id, this, data[key], key); - return data[key]; - } - data[key] = value; - eve("raphael.data.set." + this.id, this, value, key); - return this; - }; - - elproto.datum = function(){ - return arguments.length == 0 ? this._bindData : ((this._bindData = arguments[0]), this); - }; - - /*\ - * Element.removeData - [ method ] - ** - * Removes value associated with an element by given key. - * If key is not provided, removes all the data of the element. - > Parameters - - key (string) #optional key - = (object) @Element - \*/ - elproto.removeData = function (key) { - if (key == null) { - eldata[this.id] = {}; - } else { - eldata[this.id] && delete eldata[this.id][key]; - } - return this; - }; - /*\ - * Element.getData - [ method ] - ** - * Retrieves the element data - = (object) data - \*/ - elproto.getData = function () { - return clone(eldata[this.id] || {}); - }; - /*\ - * Element.hover - [ method ] - ** - * Adds event handlers for hover for the element. - > Parameters - - f_in (function) handler for hover in - - f_out (function) handler for hover out - - icontext (object) #optional context for hover in handler - - ocontext (object) #optional context for hover out handler - = (object) @Element - \*/ - elproto.hover = function (f_in, f_out, scope_in, scope_out) { - return this.mouseover(f_in, scope_in).mouseout(f_out, scope_out || scope_in); - }; - /*\ - * Element.unhover - [ method ] - ** - * Removes event handlers for hover for the element. - > Parameters - - f_in (function) handler for hover in - - f_out (function) handler for hover out - = (object) @Element - \*/ - elproto.unhover = function (f_in, f_out) { - return this.unmouseover(f_in).unmouseout(f_out); - }; - var draggable = []; - /*\ - * Element.drag - [ method ] - ** - * Adds event handlers for drag of the element. - > Parameters - - onmove (function) handler for moving - - onstart (function) handler for drag start - - onend (function) handler for drag end - - mcontext (object) #optional context for moving handler - - scontext (object) #optional context for drag start handler - - econtext (object) #optional context for drag end handler - * Additionaly following `drag` events will be triggered: `drag.start.` on start, - * `drag.end.` on end and `drag.move.` on every move. When element will be dragged over another element - * `drag.over.` will be fired as well. - * - * Start event and start handler will be called in specified context or in context of the element with following parameters: - o x (number) x position of the mouse - o y (number) y position of the mouse - o event (object) DOM event object - * Move event and move handler will be called in specified context or in context of the element with following parameters: - o dx (number) shift by x from the start point - o dy (number) shift by y from the start point - o x (number) x position of the mouse - o y (number) y position of the mouse - o event (object) DOM event object - * End event and end handler will be called in specified context or in context of the element with following parameters: - o event (object) DOM event object - = (object) @Element - \*/ - elproto.drag = function (onmove, onstart, onend, move_scope, start_scope, end_scope) { - function start(e) { - (e.originalEvent || e).preventDefault(); - var x = e.clientX, - y = e.clientY, - scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop, - scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft; - this._drag.id = e.identifier; - if (supportsTouch && e.touches) { - var i = e.touches.length, touch; - while (i--) { - touch = e.touches[i]; - this._drag.id = touch.identifier; - if (touch.identifier == this._drag.id) { - x = touch.clientX; - y = touch.clientY; - break; - } - } - } - this._drag.x = x + scrollX; - this._drag.y = y + scrollY; - !drag.length && R.mousemove(dragMove).mouseup(dragUp); - drag.push({el: this, move_scope: move_scope, start_scope: start_scope, end_scope: end_scope}); - onstart && eve.on("raphael.drag.start." + this.id, onstart); - onmove && eve.on("raphael.drag.move." + this.id, onmove); - onend && eve.on("raphael.drag.end." + this.id, onend); - eve("raphael.drag.start." + this.id, start_scope || move_scope || this, e.clientX + scrollX, e.clientY + scrollY, e); - } - this._drag = {}; - draggable.push({el: this, start: start}); - this.mousedown(start); - return this; - }; - /*\ - * Element.onDragOver - [ method ] - ** - * Shortcut for assigning event handler for `drag.over.` event, where id is id of the element (see @Element.id). - > Parameters - - f (function) handler for event, first argument would be the element you are dragging over - \*/ - elproto.onDragOver = function (f) { - f ? eve.on("raphael.drag.over." + this.id, f) : eve.unbind("raphael.drag.over." + this.id); - }; - /*\ - * Element.undrag - [ method ] - ** - * Removes all drag event handlers from given element. - \*/ - elproto.undrag = function () { - var i = draggable.length; - while (i--) if (draggable[i].el == this) { - this.unmousedown(draggable[i].start); - draggable.splice(i, 1); - eve.unbind("raphael.drag.*." + this.id); - } - !draggable.length && R.unmousemove(dragMove).unmouseup(dragUp); - drag = []; - }; - /*\ - * Paper.circle - [ method ] - ** - * Draws a circle. - ** - > Parameters - ** - - x (number) x coordinate of the centre - - y (number) y coordinate of the centre - - r (number) radius - = (object) Raphaël element object with type “circle” - ** - > Usage - | var c = paper.circle(50, 50, 40); - \*/ - paperproto.circle = function (x, y, r) { - var out = R._engine.circle(this, x || 0, y || 0, r || 0); - this.__set__ && this.__set__.push(out); - return out; - }; - /*\ - * Paper.rect - [ method ] - * - * Draws a rectangle. - ** - > Parameters - ** - - x (number) x coordinate of the top left corner - - y (number) y coordinate of the top left corner - - width (number) width - - height (number) height - - r (number) #optional radius for rounded corners, default is 0 - = (object) Raphaël element object with type “rect” - ** - > Usage - | // regular rectangle - | var c = paper.rect(10, 10, 50, 50); - | // rectangle with rounded corners - | var c = paper.rect(40, 40, 50, 50, 10); - \*/ - paperproto.rect = function (x, y, w, h, r) { - var out = R._engine.rect(this, x || 0, y || 0, w || 0, h || 0, r || 0); - this.__set__ && this.__set__.push(out); - return out; - }; - /*\ - * Paper.ellipse - [ method ] - ** - * Draws an ellipse. - ** - > Parameters - ** - - x (number) x coordinate of the centre - - y (number) y coordinate of the centre - - rx (number) horizontal radius - - ry (number) vertical radius - = (object) Raphaël element object with type “ellipse” - ** - > Usage - | var c = paper.ellipse(50, 50, 40, 20); - \*/ - paperproto.ellipse = function (x, y, rx, ry) { - var out = R._engine.ellipse(this, x || 0, y || 0, rx || 0, ry || 0); - this.__set__ && this.__set__.push(out); - return out; - }; - /*\ - * Paper.path - [ method ] - ** - * Creates a path element by given path data string. - > Parameters - - pathString (string) #optional path string in SVG format. - * Path string consists of one-letter commands, followed by comma seprarated arguments in numercal form. Example: - | "M10,20L30,40" - * Here we can see two commands: “M”, with arguments `(10, 20)` and “L” with arguments `(30, 40)`. Upper case letter mean command is absolute, lower case—relative. - * - #

                                                                                                                                                                                                                                                                                                                      Here is short list of commands available, for more details see SVG path string format.

                                                                                                                                                                                                                                                                                                                      - # - # - # - # - # - # - # - # - # - # - # - #
                                                                                                                                                                                                                                                                                                                      CommandNameParameters
                                                                                                                                                                                                                                                                                                                      Mmoveto(x y)+
                                                                                                                                                                                                                                                                                                                      Zclosepath(none)
                                                                                                                                                                                                                                                                                                                      Llineto(x y)+
                                                                                                                                                                                                                                                                                                                      Hhorizontal linetox+
                                                                                                                                                                                                                                                                                                                      Vvertical linetoy+
                                                                                                                                                                                                                                                                                                                      Ccurveto(x1 y1 x2 y2 x y)+
                                                                                                                                                                                                                                                                                                                      Ssmooth curveto(x2 y2 x y)+
                                                                                                                                                                                                                                                                                                                      Qquadratic Bézier curveto(x1 y1 x y)+
                                                                                                                                                                                                                                                                                                                      Tsmooth quadratic Bézier curveto(x y)+
                                                                                                                                                                                                                                                                                                                      Aelliptical arc(rx ry x-axis-rotation large-arc-flag sweep-flag x y)+
                                                                                                                                                                                                                                                                                                                      RCatmull-Rom curveto*x1 y1 (x y)+
                                                                                                                                                                                                                                                                                                                      - * * “Catmull-Rom curveto” is a not standard SVG command and added in 2.0 to make life easier. - * Note: there is a special case when path consist of just three commands: “M10,10R…z”. In this case path will smoothly connects to its beginning. - > Usage - | var c = paper.path("M10 10L90 90"); - | // draw a diagonal line: - | // move to 10,10, line to 90,90 - * For example of path strings, check out these icons: http://raphaeljs.com/icons/ - \*/ - paperproto.path = function (pathString) { - pathString && !R.is(pathString, string) && !R.is(pathString[0], array) && (pathString += E); - var out = R._engine.path(R.format[apply](R, arguments), this); - this.__set__ && this.__set__.push(out); - return out; - }; - /*\ - * Paper.image - [ method ] - ** - * Embeds an image into the surface. - ** - > Parameters - ** - - src (string) URI of the source image - - x (number) x coordinate position - - y (number) y coordinate position - - width (number) width of the image - - height (number) height of the image - = (object) Raphaël element object with type “image” - ** - > Usage - | var c = paper.image("apple.png", 10, 10, 80, 80); - \*/ - paperproto.image = function (src, x, y, w, h) { - var out = R._engine.image(this, src || "about:blank", x || 0, y || 0, w || 0, h || 0); - this.__set__ && this.__set__.push(out); - return out; - }; - /*\ - * Paper.text - [ method ] - ** - * Draws a text string. If you need line breaks, put “\n” in the string. - ** - > Parameters - ** - - x (number) x coordinate position - - y (number) y coordinate position - - text (string) The text string to draw - = (object) Raphaël element object with type “text” - ** - > Usage - | var t = paper.text(50, 50, "Raphaël\nkicks\nbutt!"); - \*/ - paperproto.text = function (x, y, text) { - var out = R._engine.text(this, x || 0, y || 0, Str(text)); - this.__set__ && this.__set__.push(out); - return out; - }; - /*\ - * Paper.set - [ method ] - ** - * Creates array-like object to keep and operate several elements at once. - * Warning: it doesn’t create any elements for itself in the page, it just groups existing elements. - * Sets act as pseudo elements — all methods available to an element can be used on a set. - = (object) array-like object that represents set of elements - ** - > Usage - | var st = paper.set(); - | st.push( - | paper.circle(10, 10, 5), - | paper.circle(30, 10, 5) - | ); - | st.attr({fill: "red"}); // changes the fill of both circles - \*/ - paperproto.set = function (itemsArray) { - !R.is(itemsArray, "array") && (itemsArray = Array.prototype.splice.call(arguments, 0, arguments.length)); - var out = new Set(itemsArray); - this.__set__ && this.__set__.push(out); - out["paper"] = this; - out["type"] = "set"; - return out; - }; - /*\ - * Paper.setStart - [ method ] - ** - * Creates @Paper.set. All elements that will be created after calling this method and before calling - * @Paper.setFinish will be added to the set. - ** - > Usage - | paper.setStart(); - | paper.circle(10, 10, 5), - | paper.circle(30, 10, 5) - | var st = paper.setFinish(); - | st.attr({fill: "red"}); // changes the fill of both circles - \*/ - paperproto.setStart = function (set) { - this.__set__ = set || this.set(); - }; - /*\ - * Paper.setFinish - [ method ] - ** - * See @Paper.setStart. This method finishes catching and returns resulting set. - ** - = (object) set - \*/ - paperproto.setFinish = function (set) { - var out = this.__set__; - delete this.__set__; - return out; - }; - /*\ - * Paper.getSize - [ method ] - ** - * Obtains current paper actual size. - ** - = (object) - \*/ - paperproto.getSize = function () { - var container = this.canvas.parentNode; - return { - width: container.offsetWidth, - height: container.offsetHeight - }; - }; - /*\ - * Paper.setSize - [ method ] - ** - * If you need to change dimensions of the canvas call this method - ** - > Parameters - ** - - width (number) new width of the canvas - - height (number) new height of the canvas - \*/ - paperproto.setSize = function (width, height) { - return R._engine.setSize.call(this, width, height); - }; - /*\ - * Paper.setViewBox - [ method ] - ** - * Sets the view box of the paper. Practically it gives you ability to zoom and pan whole paper surface by - * specifying new boundaries. - ** - > Parameters - ** - - x (number) new x position, default is `0` - - y (number) new y position, default is `0` - - w (number) new width of the canvas - - h (number) new height of the canvas - - fit (boolean) `true` if you want graphics to fit into new boundary box - \*/ - paperproto.setViewBox = function (x, y, w, h, fit) { - return R._engine.setViewBox.call(this, x, y, w, h, fit); - }; - /*\ - * Paper.top - [ property ] - ** - * Points to the topmost element on the paper - \*/ - /*\ - * Paper.bottom - [ property ] - ** - * Points to the bottom element on the paper - \*/ - paperproto.top = paperproto.bottom = null; - /*\ - * Paper.raphael - [ property ] - ** - * Points to the @Raphael object/function - \*/ - paperproto.raphael = R; - var getOffset = function (elem) { - var box = elem.getBoundingClientRect(), - doc = elem.ownerDocument, - body = doc.body, - docElem = doc.documentElement, - clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0, - top = box.top + (g.win.pageYOffset || docElem.scrollTop || body.scrollTop ) - clientTop, - left = box.left + (g.win.pageXOffset || docElem.scrollLeft || body.scrollLeft) - clientLeft; - return { - y: top, - x: left - }; - }; - /*\ - * Paper.getElementByPoint - [ method ] - ** - * Returns you topmost element under given point. - ** - = (object) Raphaël element object - > Parameters - ** - - x (number) x coordinate from the top left corner of the window - - y (number) y coordinate from the top left corner of the window - > Usage - | paper.getElementByPoint(mouseX, mouseY).attr({stroke: "#f00"}); - \*/ - paperproto.getElementByPoint = function (x, y) { - var paper = this, - svg = paper.canvas, - target = g.doc.elementFromPoint(x, y); - if (g.win.opera && target.tagName == "svg") { - var so = getOffset(svg), - sr = svg.createSVGRect(); - sr.x = x - so.x; - sr.y = y - so.y; - sr.width = sr.height = 1; - var hits = svg.getIntersectionList(sr, null); - if (hits.length) { - target = hits[hits.length - 1]; - } - } - if (!target) { - return null; - } - while (target.parentNode && target != svg.parentNode && !target.raphael) { - target = target.parentNode; - } - target == paper.canvas.parentNode && (target = svg); - target = target && target.raphael ? paper.getById(target.raphaelid) : null; - return target; - }; - - /*\ - * Paper.getElementsByBBox - [ method ] - ** - * Returns set of elements that have an intersecting bounding box - ** - > Parameters - ** - - bbox (object) bbox to check with - = (object) @Set - \*/ - paperproto.getElementsByBBox = function (bbox) { - var set = this.set(); - this.forEach(function (el) { - if (R.isBBoxIntersect(el.getBBox(), bbox)) { - set.push(el); - } - }); - return set; - }; - - /*\ - * Paper.getById - [ method ] - ** - * Returns you element by its internal ID. - ** - > Parameters - ** - - id (number) id - = (object) Raphaël element object - \*/ - paperproto.getById = function (id) { - var bot = this.bottom; - while (bot) { - if (bot.id == id) { - return bot; - } - bot = bot.next; - } - return null; - }; - /*\ - * Paper.forEach - [ method ] - ** - * Executes given function for each element on the paper - * - * If callback function returns `false` it will stop loop running. - ** - > Parameters - ** - - callback (function) function to run - - thisArg (object) context object for the callback - = (object) Paper object - > Usage - | paper.forEach(function (el) { - | el.attr({ stroke: "blue" }); - | }); - \*/ - paperproto.forEach = function (callback, thisArg) { - var bot = this.bottom; - while (bot) { - if (callback.call(thisArg, bot) === false) { - return this; - } - bot = bot.next; - } - return this; - }; - /*\ - * Paper.getElementsByPoint - [ method ] - ** - * Returns set of elements that have common point inside - ** - > Parameters - ** - - x (number) x coordinate of the point - - y (number) y coordinate of the point - = (object) @Set - \*/ - paperproto.getElementsByPoint = function (x, y) { - var set = this.set(); - this.forEach(function (el) { - if (el.isPointInside(x, y)) { - set.push(el); - } - }); - return set; - }; - function x_y() { - return this.x + S + this.y; - } - function x_y_w_h() { - return this.x + S + this.y + S + this.width + " \xd7 " + this.height; - } - /*\ - * Element.isPointInside - [ method ] - ** - * Determine if given point is inside this element’s shape - ** - > Parameters - ** - - x (number) x coordinate of the point - - y (number) y coordinate of the point - = (boolean) `true` if point inside the shape - \*/ - elproto.isPointInside = function (x, y) { - var rp = this.realPath = getPath[this.type](this); - if (this.attr('transform') && this.attr('transform').length) { - rp = R.transformPath(rp, this.attr('transform')); - } - return R.isPointInsidePath(rp, x, y); - }; - /*\ - * Element.getBBox - [ method ] - ** - * Return bounding box for a given element - ** - > Parameters - ** - - isWithoutTransform (boolean) flag, `true` if you want to have bounding box before transformations. Default is `false`. - = (object) Bounding box object: - o { - o x: (number) top left corner x - o y: (number) top left corner y - o x2: (number) bottom right corner x - o y2: (number) bottom right corner y - o width: (number) width - o height: (number) height - o } - \*/ - elproto.getBBox = function (isWithoutTransform) { - if (this.removed) { - return {}; - } - var _ = this._; - if (isWithoutTransform) { - if (_.dirty || !_.bboxwt) { - this.realPath = getPath[this.type](this); - _.bboxwt = pathDimensions(this.realPath); - _.bboxwt.toString = x_y_w_h; - _.dirty = 0; - } - return _.bboxwt; - } - if (_.dirty || _.dirtyT || !_.bbox) { - if (_.dirty || !this.realPath) { - _.bboxwt = 0; - this.realPath = getPath[this.type](this); - } - _.bbox = pathDimensions(mapPath(this.realPath, this.matrix)); - _.bbox.toString = x_y_w_h; - _.dirty = _.dirtyT = 0; - } - return _.bbox; - }; - /*\ - * Element.clone - [ method ] - ** - = (object) clone of a given element - ** - \*/ - elproto.clone = function () { - if (this.removed) { - return null; - } - var out = this.paper[this.type]().attr(this.attr()); - this.__set__ && this.__set__.push(out); - return out; - }; - /*\ - * Element.glow - [ method ] - ** - * Return set of elements that create glow-like effect around given element. See @Paper.set. - * - * Note: Glow is not connected to the element. If you change element attributes it won’t adjust itself. - ** - > Parameters - ** - - glow (object) #optional parameters object with all properties optional: - o { - o width (number) size of the glow, default is `10` - o fill (boolean) will it be filled, default is `false` - o opacity (number) opacity, default is `0.5` - o offsetx (number) horizontal offset, default is `0` - o offsety (number) vertical offset, default is `0` - o color (string) glow colour, default is `black` - o } - = (object) @Paper.set of elements that represents glow - \*/ - elproto.glow = function (glow) { - if (this.type == "text") { - return null; - } - glow = glow || {}; - var s = { - width: (glow.width || 10) + (+this.attr("stroke-width") || 1), - fill: glow.fill || false, - opacity: glow.opacity == null ? .5 : glow.opacity, - offsetx: glow.offsetx || 0, - offsety: glow.offsety || 0, - color: glow.color || "#000" - }, - c = s.width / 2, - r = this.paper, - out = r.set(), - path = this.realPath || getPath[this.type](this); - path = this.matrix ? mapPath(path, this.matrix) : path; - for (var i = 1; i < c + 1; i++) { - out.push(r.path(path).attr({ - stroke: s.color, - fill: s.fill ? s.color : "none", - "stroke-linejoin": "round", - "stroke-linecap": "round", - "stroke-width": +(s.width / c * i).toFixed(3), - opacity: +(s.opacity / c).toFixed(3) - })); - } - return out.insertBefore(this).translate(s.offsetx, s.offsety); - }; - var curveslengths = {}, - getPointAtSegmentLength = function (p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length) { - if (length == null) { - return bezlen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y); - } else { - return R.findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, getTatLen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length)); - } - }, - getLengthFactory = function (istotal, subpath) { - return function (path, length, onlystart) { - path = path2curve(path); - var x, y, p, l, sp = "", subpaths = {}, point, - len = 0; - for (var i = 0, ii = path.length; i < ii; i++) { - p = path[i]; - if (p[0] == "M") { - x = +p[1]; - y = +p[2]; - } else { - l = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6]); - if (len + l > length) { - if (subpath && !subpaths.start) { - point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len); - sp += ["C" + point.start.x, point.start.y, point.m.x, point.m.y, point.x, point.y]; - if (onlystart) {return sp;} - subpaths.start = sp; - sp = ["M" + point.x, point.y + "C" + point.n.x, point.n.y, point.end.x, point.end.y, p[5], p[6]].join(); - len += l; - x = +p[5]; - y = +p[6]; - continue; - } - if (!istotal && !subpath) { - point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len); - return {x: point.x, y: point.y, alpha: point.alpha}; - } - } - len += l; - x = +p[5]; - y = +p[6]; - } - sp += p.shift() + p; - } - subpaths.end = sp; - point = istotal ? len : subpath ? subpaths : R.findDotsAtSegment(x, y, p[0], p[1], p[2], p[3], p[4], p[5], 1); - point.alpha && (point = {x: point.x, y: point.y, alpha: point.alpha}); - return point; - }; - }; - var getTotalLength = getLengthFactory(1), - getPointAtLength = getLengthFactory(), - getSubpathsAtLength = getLengthFactory(0, 1); - /*\ - * Raphael.getTotalLength - [ method ] - ** - * Returns length of the given path in pixels. - ** - > Parameters - ** - - path (string) SVG path string. - ** - = (number) length. - \*/ - R.getTotalLength = getTotalLength; - /*\ - * Raphael.getPointAtLength - [ method ] - ** - * Return coordinates of the point located at the given length on the given path. - ** - > Parameters - ** - - path (string) SVG path string - - length (number) - ** - = (object) representation of the point: - o { - o x: (number) x coordinate - o y: (number) y coordinate - o alpha: (number) angle of derivative - o } - \*/ - R.getPointAtLength = getPointAtLength; - /*\ - * Raphael.getSubpath - [ method ] - ** - * Return subpath of a given path from given length to given length. - ** - > Parameters - ** - - path (string) SVG path string - - from (number) position of the start of the segment - - to (number) position of the end of the segment - ** - = (string) pathstring for the segment - \*/ - R.getSubpath = function (path, from, to) { - if (this.getTotalLength(path) - to < 1e-6) { - return getSubpathsAtLength(path, from).end; - } - var a = getSubpathsAtLength(path, to, 1); - return from ? getSubpathsAtLength(a, from).end : a; - }; - /*\ - * Element.getTotalLength - [ method ] - ** - * Returns length of the path in pixels. Only works for element of “path” type. - = (number) length. - \*/ - elproto.getTotalLength = function () { - var path = this.getPath(); - if (!path) { - return; - } - - if (this.node.getTotalLength) { - return this.node.getTotalLength(); - } - - return getTotalLength(path); - }; - /*\ - * Element.getPointAtLength - [ method ] - ** - * Return coordinates of the point located at the given length on the given path. Only works for element of “path” type. - ** - > Parameters - ** - - length (number) - ** - = (object) representation of the point: - o { - o x: (number) x coordinate - o y: (number) y coordinate - o alpha: (number) angle of derivative - o } - \*/ - elproto.getPointAtLength = function (length) { - var path = this.getPath(); - if (!path) { - return; - } - - return getPointAtLength(path, length); - }; - /*\ - * Element.getPath - [ method ] - ** - * Returns path of the element. Only works for elements of “path” type and simple elements like circle. - = (object) path - ** - \*/ - elproto.getPath = function () { - var path, - getPath = R._getPath[this.type]; - - if (this.type == "text" || this.type == "set") { - return; - } - - if (getPath) { - path = getPath(this); - } - - return path; - }; - /*\ - * Element.getSubpath - [ method ] - ** - * Return subpath of a given element from given length to given length. Only works for element of “path” type. - ** - > Parameters - ** - - from (number) position of the start of the segment - - to (number) position of the end of the segment - ** - = (string) pathstring for the segment - \*/ - elproto.getSubpath = function (from, to) { - var path = this.getPath(); - if (!path) { - return; - } - - return R.getSubpath(path, from, to); - }; - /*\ - * Raphael.easing_formulas - [ property ] - ** - * Object that contains easing formulas for animation. You could extend it with your own. By default it has following list of easing: - #
                                                                                                                                                                                                                                                                                                                        - #
                                                                                                                                                                                                                                                                                                                      • “linear”
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • “<” or “easeIn” or “ease-in”
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • “>” or “easeOut” or “ease-out”
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • “<>” or “easeInOut” or “ease-in-out”
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • “backIn” or “back-in”
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • “backOut” or “back-out”
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • “elastic”
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      • “bounce”
                                                                                                                                                                                                                                                                                                                      • - #
                                                                                                                                                                                                                                                                                                                      - #

                                                                                                                                                                                                                                                                                                                      See also Easing demo.

                                                                                                                                                                                                                                                                                                                      - \*/ - var ef = R.easing_formulas = { - linear: function (n) { - return n; - }, - "<": function (n) { - return pow(n, 1.7); - }, - ">": function (n) { - return pow(n, .48); - }, - "<>": function (n) { - var q = .48 - n / 1.04, - Q = math.sqrt(.1734 + q * q), - x = Q - q, - X = pow(abs(x), 1 / 3) * (x < 0 ? -1 : 1), - y = -Q - q, - Y = pow(abs(y), 1 / 3) * (y < 0 ? -1 : 1), - t = X + Y + .5; - return (1 - t) * 3 * t * t + t * t * t; - }, - backIn: function (n) { - var s = 1.70158; - return n * n * ((s + 1) * n - s); - }, - backOut: function (n) { - n = n - 1; - var s = 1.70158; - return n * n * ((s + 1) * n + s) + 1; - }, - elastic: function (n) { - if (n == !!n) { - return n; - } - return pow(2, -10 * n) * math.sin((n - .075) * (2 * PI) / .3) + 1; - }, - bounce: function (n) { - var s = 7.5625, - p = 2.75, - l; - if (n < (1 / p)) { - l = s * n * n; - } else { - if (n < (2 / p)) { - n -= (1.5 / p); - l = s * n * n + .75; - } else { - if (n < (2.5 / p)) { - n -= (2.25 / p); - l = s * n * n + .9375; - } else { - n -= (2.625 / p); - l = s * n * n + .984375; - } - } - } - return l; - } - }; - ef.easeIn = ef["ease-in"] = ef["<"]; - ef.easeOut = ef["ease-out"] = ef[">"]; - ef.easeInOut = ef["ease-in-out"] = ef["<>"]; - ef["back-in"] = ef.backIn; - ef["back-out"] = ef.backOut; - - var animationElements = [], - requestAnimFrame = window.requestAnimationFrame || - window.webkitRequestAnimationFrame || - window.mozRequestAnimationFrame || - window.oRequestAnimationFrame || - window.msRequestAnimationFrame || - function (callback) { - setTimeout(callback, 16); - }, - animation = function () { - var Now = +new Date, - l = 0; - for (; l < animationElements.length; l++) { - var e = animationElements[l]; - if (e.el.removed || e.paused) { - continue; - } - var time = Now - e.start, - ms = e.ms, - easing = e.easing, - from = e.from, - diff = e.diff, - to = e.to, - t = e.t, - that = e.el, - set = {}, - now, - init = {}, - key; - if (e.initstatus) { - time = (e.initstatus * e.anim.top - e.prev) / (e.percent - e.prev) * ms; - e.status = e.initstatus; - delete e.initstatus; - e.stop && animationElements.splice(l--, 1); - } else { - e.status = (e.prev + (e.percent - e.prev) * (time / ms)) / e.anim.top; - } - if (time < 0) { - continue; - } - if (time < ms) { - var pos = easing(time / ms); - for (var attr in from) if (from[has](attr)) { - switch (availableAnimAttrs[attr]) { - case nu: - now = +from[attr] + pos * ms * diff[attr]; - break; - case "colour": - now = "rgb(" + [ - upto255(round(from[attr].r + pos * ms * diff[attr].r)), - upto255(round(from[attr].g + pos * ms * diff[attr].g)), - upto255(round(from[attr].b + pos * ms * diff[attr].b)) - ].join(",") + ")"; - break; - case "path": - now = []; - for (var i = 0, ii = from[attr].length; i < ii; i++) { - now[i] = [from[attr][i][0]]; - for (var j = 1, jj = from[attr][i].length; j < jj; j++) { - now[i][j] = +from[attr][i][j] + pos * ms * diff[attr][i][j]; - } - now[i] = now[i].join(S); - } - now = now.join(S); - break; - case "transform": - if (diff[attr].real) { - now = []; - for (i = 0, ii = from[attr].length; i < ii; i++) { - now[i] = [from[attr][i][0]]; - for (j = 1, jj = from[attr][i].length; j < jj; j++) { - now[i][j] = from[attr][i][j] + pos * ms * diff[attr][i][j]; - } - } - } else { - var get = function (i) { - return +from[attr][i] + pos * ms * diff[attr][i]; - }; - // now = [["r", get(2), 0, 0], ["t", get(3), get(4)], ["s", get(0), get(1), 0, 0]]; - now = [["m", get(0), get(1), get(2), get(3), get(4), get(5)]]; - } - break; - case "csv": - if (attr == "clip-rect") { - now = []; - i = 4; - while (i--) { - now[i] = +from[attr][i] + pos * ms * diff[attr][i]; - } - } - break; - default: - var from2 = [][concat](from[attr]); - now = []; - i = that.paper.customAttributes[attr].length; - while (i--) { - now[i] = +from2[i] + pos * ms * diff[attr][i]; - } - break; - } - set[attr] = now; - } - that.attr(set); - (function (id, that, anim) { - setTimeout(function () { - eve("raphael.anim.frame." + id, that, anim); - }); - })(that.id, that, e.anim); - } else { - (function(f, el, a) { - setTimeout(function() { - eve("raphael.anim.frame." + el.id, el, a); - eve("raphael.anim.finish." + el.id, el, a); - R.is(f, "function") && f.call(el); - }); - })(e.callback, that, e.anim); - that.attr(to); - animationElements.splice(l--, 1); - if (e.repeat > 1 && !e.next) { - for (key in to) if (to[has](key)) { - init[key] = e.totalOrigin[key]; - } - e.el.attr(init); - runAnimation(e.anim, e.el, e.anim.percents[0], null, e.totalOrigin, e.repeat - 1); - } - if (e.next && !e.stop) { - runAnimation(e.anim, e.el, e.next, null, e.totalOrigin, e.repeat); - } - } - } - animationElements.length && requestAnimFrame(animation); - }, - upto255 = function (color) { - return color > 255 ? 255 : color < 0 ? 0 : color; - }; - /*\ - * Element.animateWith - [ method ] - ** - * Acts similar to @Element.animate, but ensure that given animation runs in sync with another given element. - ** - > Parameters - ** - - el (object) element to sync with - - anim (object) animation to sync with - - params (object) #optional final attributes for the element, see also @Element.attr - - ms (number) #optional number of milliseconds for animation to run - - easing (string) #optional easing type. Accept on of @Raphael.easing_formulas or CSS format: `cubic‐bezier(XX, XX, XX, XX)` - - callback (function) #optional callback function. Will be called at the end of animation. - * or - - element (object) element to sync with - - anim (object) animation to sync with - - animation (object) #optional animation object, see @Raphael.animation - ** - = (object) original element - \*/ - elproto.animateWith = function (el, anim, params, ms, easing, callback) { - var element = this; - if (element.removed) { - callback && callback.call(element); - return element; - } - var a = params instanceof Animation ? params : R.animation(params, ms, easing, callback), - x, y; - runAnimation(a, element, a.percents[0], null, element.attr()); - for (var i = 0, ii = animationElements.length; i < ii; i++) { - if (animationElements[i].anim == anim && animationElements[i].el == el) { - animationElements[ii - 1].start = animationElements[i].start; - break; - } - } - return element; - // - // - // var a = params ? R.animation(params, ms, easing, callback) : anim, - // status = element.status(anim); - // return this.animate(a).status(a, status * anim.ms / a.ms); - }; - function CubicBezierAtTime(t, p1x, p1y, p2x, p2y, duration) { - var cx = 3 * p1x, - bx = 3 * (p2x - p1x) - cx, - ax = 1 - cx - bx, - cy = 3 * p1y, - by = 3 * (p2y - p1y) - cy, - ay = 1 - cy - by; - function sampleCurveX(t) { - return ((ax * t + bx) * t + cx) * t; - } - function solve(x, epsilon) { - var t = solveCurveX(x, epsilon); - return ((ay * t + by) * t + cy) * t; - } - function solveCurveX(x, epsilon) { - var t0, t1, t2, x2, d2, i; - for(t2 = x, i = 0; i < 8; i++) { - x2 = sampleCurveX(t2) - x; - if (abs(x2) < epsilon) { - return t2; - } - d2 = (3 * ax * t2 + 2 * bx) * t2 + cx; - if (abs(d2) < 1e-6) { - break; - } - t2 = t2 - x2 / d2; - } - t0 = 0; - t1 = 1; - t2 = x; - if (t2 < t0) { - return t0; - } - if (t2 > t1) { - return t1; - } - while (t0 < t1) { - x2 = sampleCurveX(t2); - if (abs(x2 - x) < epsilon) { - return t2; - } - if (x > x2) { - t0 = t2; - } else { - t1 = t2; - } - t2 = (t1 - t0) / 2 + t0; - } - return t2; - } - return solve(t, 1 / (200 * duration)); - } - elproto.onAnimation = function (f) { - f ? eve.on("raphael.anim.frame." + this.id, f) : eve.unbind("raphael.anim.frame." + this.id); - return this; - }; - function Animation(anim, ms) { - var percents = [], - newAnim = {}; - this.ms = ms; - this.times = 1; - if (anim) { - for (var attr in anim) if (anim[has](attr)) { - newAnim[toFloat(attr)] = anim[attr]; - percents.push(toFloat(attr)); - } - percents.sort(sortByNumber); - } - this.anim = newAnim; - this.top = percents[percents.length - 1]; - this.percents = percents; - } - /*\ - * Animation.delay - [ method ] - ** - * Creates a copy of existing animation object with given delay. - ** - > Parameters - ** - - delay (number) number of ms to pass between animation start and actual animation - ** - = (object) new altered Animation object - | var anim = Raphael.animation({cx: 10, cy: 20}, 2e3); - | circle1.animate(anim); // run the given animation immediately - | circle2.animate(anim.delay(500)); // run the given animation after 500 ms - \*/ - Animation.prototype.delay = function (delay) { - var a = new Animation(this.anim, this.ms); - a.times = this.times; - a.del = +delay || 0; - return a; - }; - /*\ - * Animation.repeat - [ method ] - ** - * Creates a copy of existing animation object with given repetition. - ** - > Parameters - ** - - repeat (number) number iterations of animation. For infinite animation pass `Infinity` - ** - = (object) new altered Animation object - \*/ - Animation.prototype.repeat = function (times) { - var a = new Animation(this.anim, this.ms); - a.del = this.del; - a.times = math.floor(mmax(times, 0)) || 1; - return a; - }; - function runAnimation(anim, element, percent, status, totalOrigin, times) { - percent = toFloat(percent); - var params, - isInAnim, - isInAnimSet, - percents = [], - next, - prev, - timestamp, - ms = anim.ms, - from = {}, - to = {}, - diff = {}; - if (status) { - for (i = 0, ii = animationElements.length; i < ii; i++) { - var e = animationElements[i]; - if (e.el.id == element.id && e.anim == anim) { - if (e.percent != percent) { - animationElements.splice(i, 1); - isInAnimSet = 1; - } else { - isInAnim = e; - } - element.attr(e.totalOrigin); - break; - } - } - } else { - status = +to; // NaN - } - for (var i = 0, ii = anim.percents.length; i < ii; i++) { - if (anim.percents[i] == percent || anim.percents[i] > status * anim.top) { - percent = anim.percents[i]; - prev = anim.percents[i - 1] || 0; - ms = ms / anim.top * (percent - prev); - next = anim.percents[i + 1]; - params = anim.anim[percent]; - break; - } else if (status) { - element.attr(anim.anim[anim.percents[i]]); - } - } - if (!params) { - return; - } - if (!isInAnim) { - for (var attr in params) if (params[has](attr)) { - if (availableAnimAttrs[has](attr) || element.paper.customAttributes[has](attr)) { - from[attr] = element.attr(attr); - (from[attr] == null) && (from[attr] = availableAttrs[attr]); - to[attr] = params[attr]; - switch (availableAnimAttrs[attr]) { - case nu: - diff[attr] = (to[attr] - from[attr]) / ms; - break; - case "colour": - from[attr] = R.getRGB(from[attr]); - var toColour = R.getRGB(to[attr]); - diff[attr] = { - r: (toColour.r - from[attr].r) / ms, - g: (toColour.g - from[attr].g) / ms, - b: (toColour.b - from[attr].b) / ms - }; - break; - case "path": - var pathes = path2curve(from[attr], to[attr]), - toPath = pathes[1]; - from[attr] = pathes[0]; - diff[attr] = []; - for (i = 0, ii = from[attr].length; i < ii; i++) { - diff[attr][i] = [0]; - for (var j = 1, jj = from[attr][i].length; j < jj; j++) { - diff[attr][i][j] = (toPath[i][j] - from[attr][i][j]) / ms; - } - } - break; - case "transform": - var _ = element._, - eq = equaliseTransform(_[attr], to[attr]); - if (eq) { - from[attr] = eq.from; - to[attr] = eq.to; - diff[attr] = []; - diff[attr].real = true; - for (i = 0, ii = from[attr].length; i < ii; i++) { - diff[attr][i] = [from[attr][i][0]]; - for (j = 1, jj = from[attr][i].length; j < jj; j++) { - diff[attr][i][j] = (to[attr][i][j] - from[attr][i][j]) / ms; - } - } - } else { - var m = (element.matrix || new Matrix), - to2 = { - _: {transform: _.transform}, - getBBox: function () { - return element.getBBox(1); - } - }; - from[attr] = [ - m.a, - m.b, - m.c, - m.d, - m.e, - m.f - ]; - extractTransform(to2, to[attr]); - to[attr] = to2._.transform; - diff[attr] = [ - (to2.matrix.a - m.a) / ms, - (to2.matrix.b - m.b) / ms, - (to2.matrix.c - m.c) / ms, - (to2.matrix.d - m.d) / ms, - (to2.matrix.e - m.e) / ms, - (to2.matrix.f - m.f) / ms - ]; - // from[attr] = [_.sx, _.sy, _.deg, _.dx, _.dy]; - // var to2 = {_:{}, getBBox: function () { return element.getBBox(); }}; - // extractTransform(to2, to[attr]); - // diff[attr] = [ - // (to2._.sx - _.sx) / ms, - // (to2._.sy - _.sy) / ms, - // (to2._.deg - _.deg) / ms, - // (to2._.dx - _.dx) / ms, - // (to2._.dy - _.dy) / ms - // ]; - } - break; - case "csv": - var values = Str(params[attr])[split](separator), - from2 = Str(from[attr])[split](separator); - if (attr == "clip-rect") { - from[attr] = from2; - diff[attr] = []; - i = from2.length; - while (i--) { - diff[attr][i] = (values[i] - from[attr][i]) / ms; - } - } - to[attr] = values; - break; - default: - values = [][concat](params[attr]); - from2 = [][concat](from[attr]); - diff[attr] = []; - i = element.paper.customAttributes[attr].length; - while (i--) { - diff[attr][i] = ((values[i] || 0) - (from2[i] || 0)) / ms; - } - break; - } - } - } - var easing = params.easing, - easyeasy = R.easing_formulas[easing]; - if (!easyeasy) { - easyeasy = Str(easing).match(bezierrg); - if (easyeasy && easyeasy.length == 5) { - var curve = easyeasy; - easyeasy = function (t) { - return CubicBezierAtTime(t, +curve[1], +curve[2], +curve[3], +curve[4], ms); - }; - } else { - easyeasy = pipe; - } - } - timestamp = params.start || anim.start || +new Date; - e = { - anim: anim, - percent: percent, - timestamp: timestamp, - start: timestamp + (anim.del || 0), - status: 0, - initstatus: status || 0, - stop: false, - ms: ms, - easing: easyeasy, - from: from, - diff: diff, - to: to, - el: element, - callback: params.callback, - prev: prev, - next: next, - repeat: times || anim.times, - origin: element.attr(), - totalOrigin: totalOrigin - }; - animationElements.push(e); - if (status && !isInAnim && !isInAnimSet) { - e.stop = true; - e.start = new Date - ms * status; - if (animationElements.length == 1) { - return animation(); - } - } - if (isInAnimSet) { - e.start = new Date - e.ms * status; - } - animationElements.length == 1 && requestAnimFrame(animation); - } else { - isInAnim.initstatus = status; - isInAnim.start = new Date - isInAnim.ms * status; - } - eve("raphael.anim.start." + element.id, element, anim); - } - /*\ - * Raphael.animation - [ method ] - ** - * Creates an animation object that can be passed to the @Element.animate or @Element.animateWith methods. - * See also @Animation.delay and @Animation.repeat methods. - ** - > Parameters - ** - - params (object) final attributes for the element, see also @Element.attr - - ms (number) number of milliseconds for animation to run - - easing (string) #optional easing type. Accept one of @Raphael.easing_formulas or CSS format: `cubic‐bezier(XX, XX, XX, XX)` - - callback (function) #optional callback function. Will be called at the end of animation. - ** - = (object) @Animation - \*/ - R.animation = function (params, ms, easing, callback) { - if (params instanceof Animation) { - return params; - } - if (R.is(easing, "function") || !easing) { - callback = callback || easing || null; - easing = null; - } - params = Object(params); - ms = +ms || 0; - var p = {}, - json, - attr; - for (attr in params) if (params[has](attr) && toFloat(attr) != attr && toFloat(attr) + "%" != attr) { - json = true; - p[attr] = params[attr]; - } - if (!json) { - // if percent-like syntax is used and end-of-all animation callback used - if(callback){ - // find the last one - var lastKey = 0; - for(var i in params){ - var percent = toInt(i); - if(params[has](i) && percent > lastKey){ - lastKey = percent; - } - } - lastKey += '%'; - // if already defined callback in the last keyframe, skip - !params[lastKey].callback && (params[lastKey].callback = callback); - } - return new Animation(params, ms); - } else { - easing && (p.easing = easing); - callback && (p.callback = callback); - return new Animation({100: p}, ms); - } - }; - /*\ - * Element.animate - [ method ] - ** - * Creates and starts animation for given element. - ** - > Parameters - ** - - params (object) final attributes for the element, see also @Element.attr - - ms (number) number of milliseconds for animation to run - - easing (string) #optional easing type. Accept one of @Raphael.easing_formulas or CSS format: `cubic‐bezier(XX, XX, XX, XX)` - - callback (function) #optional callback function. Will be called at the end of animation. - * or - - animation (object) animation object, see @Raphael.animation - ** - = (object) original element - \*/ - elproto.animate = function (params, ms, easing, callback) { - var element = this; - if (element.removed) { - callback && callback.call(element); - return element; - } - var anim = params instanceof Animation ? params : R.animation(params, ms, easing, callback); - runAnimation(anim, element, anim.percents[0], null, element.attr()); - return element; - }; - /*\ - * Element.setTime - [ method ] - ** - * Sets the status of animation of the element in milliseconds. Similar to @Element.status method. - ** - > Parameters - ** - - anim (object) animation object - - value (number) number of milliseconds from the beginning of the animation - ** - = (object) original element if `value` is specified - * Note, that during animation following events are triggered: - * - * On each animation frame event `anim.frame.`, on start `anim.start.` and on end `anim.finish.`. - \*/ - elproto.setTime = function (anim, value) { - if (anim && value != null) { - this.status(anim, mmin(value, anim.ms) / anim.ms); - } - return this; - }; - /*\ - * Element.status - [ method ] - ** - * Gets or sets the status of animation of the element. - ** - > Parameters - ** - - anim (object) #optional animation object - - value (number) #optional 0 – 1. If specified, method works like a setter and sets the status of a given animation to the value. This will cause animation to jump to the given position. - ** - = (number) status - * or - = (array) status if `anim` is not specified. Array of objects in format: - o { - o anim: (object) animation object - o status: (number) status - o } - * or - = (object) original element if `value` is specified - \*/ - elproto.status = function (anim, value) { - var out = [], - i = 0, - len, - e; - if (value != null) { - runAnimation(anim, this, -1, mmin(value, 1)); - return this; - } else { - len = animationElements.length; - for (; i < len; i++) { - e = animationElements[i]; - if (e.el.id == this.id && (!anim || e.anim == anim)) { - if (anim) { - return e.status; - } - out.push({ - anim: e.anim, - status: e.status - }); - } - } - if (anim) { - return 0; - } - return out; - } - }; - /*\ - * Element.pause - [ method ] - ** - * Stops animation of the element with ability to resume it later on. - ** - > Parameters - ** - - anim (object) #optional animation object - ** - = (object) original element - \*/ - elproto.pause = function (anim) { - for (var i = 0; i < animationElements.length; i++) if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) { - if (eve("raphael.anim.pause." + this.id, this, animationElements[i].anim) !== false) { - animationElements[i].paused = true; - } - } - return this; - }; - /*\ - * Element.resume - [ method ] - ** - * Resumes animation if it was paused with @Element.pause method. - ** - > Parameters - ** - - anim (object) #optional animation object - ** - = (object) original element - \*/ - elproto.resume = function (anim) { - for (var i = 0; i < animationElements.length; i++) if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) { - var e = animationElements[i]; - if (eve("raphael.anim.resume." + this.id, this, e.anim) !== false) { - delete e.paused; - this.status(e.anim, e.status); - } - } - return this; - }; - /*\ - * Element.stop - [ method ] - ** - * Stops animation of the element. - ** - > Parameters - ** - - anim (object) #optional animation object - ** - = (object) original element - \*/ - elproto.stop = function (anim) { - for (var i = 0; i < animationElements.length; i++) if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) { - if (eve("raphael.anim.stop." + this.id, this, animationElements[i].anim) !== false) { - animationElements.splice(i--, 1); - } - } - return this; - }; - function stopAnimation(paper) { - for (var i = 0; i < animationElements.length; i++) if (animationElements[i].el.paper == paper) { - animationElements.splice(i--, 1); - } - } - eve.on("raphael.remove", stopAnimation); - eve.on("raphael.clear", stopAnimation); - elproto.toString = function () { - return "Rapha\xebl\u2019s object"; - }; - - // Set - var Set = function (items) { - this.items = []; - this.length = 0; - this.type = "set"; - if (items) { - for (var i = 0, ii = items.length; i < ii; i++) { - if (items[i] && (items[i].constructor == elproto.constructor || items[i].constructor == Set)) { - this[this.items.length] = this.items[this.items.length] = items[i]; - this.length++; - } - } - } - }, - setproto = Set.prototype; - /*\ - * Set.push - [ method ] - ** - * Adds each argument to the current set. - = (object) original element - \*/ - setproto.push = function () { - var item, - len; - for (var i = 0, ii = arguments.length; i < ii; i++) { - item = arguments[i]; - if (item && (item.constructor == elproto.constructor || item.constructor == Set)) { - len = this.items.length; - this[len] = this.items[len] = item; - this.length++; - } - } - return this; - }; - /*\ - * Set.pop - [ method ] - ** - * Removes last element and returns it. - = (object) element - \*/ - setproto.pop = function () { - this.length && delete this[this.length--]; - return this.items.pop(); - }; - /*\ - * Set.forEach - [ method ] - ** - * Executes given function for each element in the set. - * - * If function returns `false` it will stop loop running. - ** - > Parameters - ** - - callback (function) function to run - - thisArg (object) context object for the callback - = (object) Set object - \*/ - setproto.forEach = function (callback, thisArg) { - for (var i = 0, ii = this.items.length; i < ii; i++) { - if (callback.call(thisArg, this.items[i], i) === false) { - return this; - } - } - return this; - }; - for (var method in elproto) if (elproto[has](method)) { - setproto[method] = (function (methodname) { - return function () { - var arg = arguments; - return this.forEach(function (el) { - el[methodname][apply](el, arg); - }); - }; - })(method); - } - setproto.attr = function (name, value) { - if (name && R.is(name, array) && R.is(name[0], "object")) { - for (var j = 0, jj = name.length; j < jj; j++) { - this.items[j].attr(name[j]); - } - } else { - for (var i = 0, ii = this.items.length; i < ii; i++) { - this.items[i].attr(name, value); - } - } - return this; - }; - /*\ - * Set.clear - [ method ] - ** - * Removes all elements from the set - \*/ - setproto.clear = function () { - while (this.length) { - this.pop(); - } - }; - /*\ - * Set.splice - [ method ] - ** - * Removes given element from the set - ** - > Parameters - ** - - index (number) position of the deletion - - count (number) number of element to remove - - insertion… (object) #optional elements to insert - = (object) set elements that were deleted - \*/ - setproto.splice = function (index, count, insertion) { - index = index < 0 ? mmax(this.length + index, 0) : index; - count = mmax(0, mmin(this.length - index, count)); - var tail = [], - todel = [], - args = [], - i; - for (i = 2; i < arguments.length; i++) { - args.push(arguments[i]); - } - for (i = 0; i < count; i++) { - todel.push(this[index + i]); - } - for (; i < this.length - index; i++) { - tail.push(this[index + i]); - } - var arglen = args.length; - for (i = 0; i < arglen + tail.length; i++) { - this.items[index + i] = this[index + i] = i < arglen ? args[i] : tail[i - arglen]; - } - i = this.items.length = this.length -= count - arglen; - while (this[i]) { - delete this[i++]; - } - return new Set(todel); - }; - /*\ - * Set.exclude - [ method ] - ** - * Removes given element from the set - ** - > Parameters - ** - - element (object) element to remove - = (boolean) `true` if object was found & removed from the set - \*/ - setproto.exclude = function (el) { - for (var i = 0, ii = this.length; i < ii; i++) if (this[i] == el) { - this.splice(i, 1); - return true; - } - }; - setproto.animate = function (params, ms, easing, callback) { - (R.is(easing, "function") || !easing) && (callback = easing || null); - var len = this.items.length, - i = len, - item, - set = this, - collector; - if (!len) { - return this; - } - callback && (collector = function () { - !--len && callback.call(set); - }); - easing = R.is(easing, string) ? easing : collector; - var anim = R.animation(params, ms, easing, collector); - item = this.items[--i].animate(anim); - while (i--) { - this.items[i] && !this.items[i].removed && this.items[i].animateWith(item, anim, anim); - (this.items[i] && !this.items[i].removed) || len--; - } - return this; - }; - setproto.insertAfter = function (el) { - var i = this.items.length; - while (i--) { - this.items[i].insertAfter(el); - } - return this; - }; - setproto.getBBox = function () { - var x = [], - y = [], - x2 = [], - y2 = []; - for (var i = this.items.length; i--;) if (!this.items[i].removed) { - var box = this.items[i].getBBox(); - x.push(box.x); - y.push(box.y); - x2.push(box.x + box.width); - y2.push(box.y + box.height); - } - x = mmin[apply](0, x); - y = mmin[apply](0, y); - x2 = mmax[apply](0, x2); - y2 = mmax[apply](0, y2); - return { - x: x, - y: y, - x2: x2, - y2: y2, - width: x2 - x, - height: y2 - y - }; - }; - setproto.clone = function (s) { - s = this.paper.set(); - for (var i = 0, ii = this.items.length; i < ii; i++) { - s.push(this.items[i].clone()); - } - return s; - }; - setproto.toString = function () { - return "Rapha\xebl\u2018s set"; - }; - - setproto.glow = function(glowConfig) { - var ret = this.paper.set(); - this.forEach(function(shape, index){ - var g = shape.glow(glowConfig); - if(g != null){ - g.forEach(function(shape2, index2){ - ret.push(shape2); - }); - } - }); - return ret; - }; - - - /*\ - * Set.isPointInside - [ method ] - ** - * Determine if given point is inside this set’s elements - ** - > Parameters - ** - - x (number) x coordinate of the point - - y (number) y coordinate of the point - = (boolean) `true` if point is inside any of the set's elements - \*/ - setproto.isPointInside = function (x, y) { - var isPointInside = false; - this.forEach(function (el) { - if (el.isPointInside(x, y)) { - isPointInside = true; - return false; // stop loop - } - }); - return isPointInside; - }; - - /*\ - * Raphael.registerFont - [ method ] - ** - * Adds given font to the registered set of font for Raphaël. Should be used as an internal call from within Cufón’s font file. - * Returns original parameter, so it could be used with chaining. - # More about Cufón and how to convert your font form TTF, OTF, etc to JavaScript file. - ** - > Parameters - ** - - font (object) the font to register - = (object) the font you passed in - > Usage - | Cufon.registerFont(Raphael.registerFont({…})); - \*/ - R.registerFont = function (font) { - if (!font.face) { - return font; - } - this.fonts = this.fonts || {}; - var fontcopy = { - w: font.w, - face: {}, - glyphs: {} - }, - family = font.face["font-family"]; - for (var prop in font.face) if (font.face[has](prop)) { - fontcopy.face[prop] = font.face[prop]; - } - if (this.fonts[family]) { - this.fonts[family].push(fontcopy); - } else { - this.fonts[family] = [fontcopy]; - } - if (!font.svg) { - fontcopy.face["units-per-em"] = toInt(font.face["units-per-em"], 10); - for (var glyph in font.glyphs) if (font.glyphs[has](glyph)) { - var path = font.glyphs[glyph]; - fontcopy.glyphs[glyph] = { - w: path.w, - k: {}, - d: path.d && "M" + path.d.replace(/[mlcxtrv]/g, function (command) { - return {l: "L", c: "C", x: "z", t: "m", r: "l", v: "c"}[command] || "M"; - }) + "z" - }; - if (path.k) { - for (var k in path.k) if (path[has](k)) { - fontcopy.glyphs[glyph].k[k] = path.k[k]; - } - } - } - } - return font; - }; - /*\ - * Paper.getFont - [ method ] - ** - * Finds font object in the registered font by given parameters. You could specify only one word from the font name, like “Myriad” for “Myriad Pro”. - ** - > Parameters - ** - - family (string) font family name or any word from it - - weight (string) #optional font weight - - style (string) #optional font style - - stretch (string) #optional font stretch - = (object) the font object - > Usage - | paper.print(100, 100, "Test string", paper.getFont("Times", 800), 30); - \*/ - paperproto.getFont = function (family, weight, style, stretch) { - stretch = stretch || "normal"; - style = style || "normal"; - weight = +weight || {normal: 400, bold: 700, lighter: 300, bolder: 800}[weight] || 400; - if (!R.fonts) { - return; - } - var font = R.fonts[family]; - if (!font) { - var name = new RegExp("(^|\\s)" + family.replace(/[^\w\d\s+!~.:_-]/g, E) + "(\\s|$)", "i"); - for (var fontName in R.fonts) if (R.fonts[has](fontName)) { - if (name.test(fontName)) { - font = R.fonts[fontName]; - break; - } - } - } - var thefont; - if (font) { - for (var i = 0, ii = font.length; i < ii; i++) { - thefont = font[i]; - if (thefont.face["font-weight"] == weight && (thefont.face["font-style"] == style || !thefont.face["font-style"]) && thefont.face["font-stretch"] == stretch) { - break; - } - } - } - return thefont; - }; - /*\ - * Paper.print - [ method ] - ** - * Creates path that represent given text written using given font at given position with given size. - * Result of the method is path element that contains whole text as a separate path. - ** - > Parameters - ** - - x (number) x position of the text - - y (number) y position of the text - - string (string) text to print - - font (object) font object, see @Paper.getFont - - size (number) #optional size of the font, default is `16` - - origin (string) #optional could be `"baseline"` or `"middle"`, default is `"middle"` - - letter_spacing (number) #optional number in range `-1..1`, default is `0` - - line_spacing (number) #optional number in range `1..3`, default is `1` - = (object) resulting path element, which consist of all letters - > Usage - | var txt = r.print(10, 50, "print", r.getFont("Museo"), 30).attr({fill: "#fff"}); - \*/ - paperproto.print = function (x, y, string, font, size, origin, letter_spacing, line_spacing) { - origin = origin || "middle"; // baseline|middle - letter_spacing = mmax(mmin(letter_spacing || 0, 1), -1); - line_spacing = mmax(mmin(line_spacing || 1, 3), 1); - var letters = Str(string)[split](E), - shift = 0, - notfirst = 0, - path = E, - scale; - R.is(font, "string") && (font = this.getFont(font)); - if (font) { - scale = (size || 16) / font.face["units-per-em"]; - var bb = font.face.bbox[split](separator), - top = +bb[0], - lineHeight = bb[3] - bb[1], - shifty = 0, - height = +bb[1] + (origin == "baseline" ? lineHeight + (+font.face.descent) : lineHeight / 2); - for (var i = 0, ii = letters.length; i < ii; i++) { - if (letters[i] == "\n") { - shift = 0; - curr = 0; - notfirst = 0; - shifty += lineHeight * line_spacing; - } else { - var prev = notfirst && font.glyphs[letters[i - 1]] || {}, - curr = font.glyphs[letters[i]]; - shift += notfirst ? (prev.w || font.w) + (prev.k && prev.k[letters[i]] || 0) + (font.w * letter_spacing) : 0; - notfirst = 1; - } - if (curr && curr.d) { - path += R.transformPath(curr.d, ["t", shift * scale, shifty * scale, "s", scale, scale, top, height, "t", (x - top) / scale, (y - height) / scale]); - } - } - } - return this.path(path).attr({ - fill: "#000", - stroke: "none" - }); - }; - - /*\ - * Paper.add - [ method ] - ** - * Imports elements in JSON array in format `{type: type, }` - ** - > Parameters - ** - - json (array) - = (object) resulting set of imported elements - > Usage - | paper.add([ - | { - | type: "circle", - | cx: 10, - | cy: 10, - | r: 5 - | }, - | { - | type: "rect", - | x: 10, - | y: 10, - | width: 10, - | height: 10, - | fill: "#fc0" - | } - | ]); - \*/ - paperproto.add = function (json) { - if (R.is(json, "array")) { - var res = this.set(), - i = 0, - ii = json.length, - j; - for (; i < ii; i++) { - j = json[i] || {}; - elements[has](j.type) && res.push(this[j.type]().attr(j)); - } - } - return res; - }; - - /*\ - * Raphael.format - [ method ] - ** - * Simple format function. Replaces construction of type “`{}`” to the corresponding argument. - ** - > Parameters - ** - - token (string) string to format - - … (string) rest of arguments will be treated as parameters for replacement - = (string) formated string - > Usage - | var x = 10, - | y = 20, - | width = 40, - | height = 50; - | // this will draw a rectangular shape equivalent to "M10,20h40v50h-40z" - | paper.path(Raphael.format("M{0},{1}h{2}v{3}h{4}z", x, y, width, height, -width)); - \*/ - R.format = function (token, params) { - var args = R.is(params, array) ? [0][concat](params) : arguments; - token && R.is(token, string) && args.length - 1 && (token = token.replace(formatrg, function (str, i) { - return args[++i] == null ? E : args[i]; - })); - return token || E; - }; - /*\ - * Raphael.fullfill - [ method ] - ** - * A little bit more advanced format function than @Raphael.format. Replaces construction of type “`{}`” to the corresponding argument. - ** - > Parameters - ** - - token (string) string to format - - json (object) object which properties will be used as a replacement - = (string) formated string - > Usage - | // this will draw a rectangular shape equivalent to "M10,20h40v50h-40z" - | paper.path(Raphael.fullfill("M{x},{y}h{dim.width}v{dim.height}h{dim['negative width']}z", { - | x: 10, - | y: 20, - | dim: { - | width: 40, - | height: 50, - | "negative width": -40 - | } - | })); - \*/ - R.fullfill = (function () { - var tokenRegex = /\{([^\}]+)\}/g, - objNotationRegex = /(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g, // matches .xxxxx or ["xxxxx"] to run over object properties - replacer = function (all, key, obj) { - var res = obj; - key.replace(objNotationRegex, function (all, name, quote, quotedName, isFunc) { - name = name || quotedName; - if (res) { - if (name in res) { - res = res[name]; - } - typeof res == "function" && isFunc && (res = res()); - } - }); - res = (res == null || res == obj ? all : res) + ""; - return res; - }; - return function (str, obj) { - return String(str).replace(tokenRegex, function (all, key) { - return replacer(all, key, obj); - }); - }; - })(); - /*\ - * Raphael.ninja - [ method ] - ** - * If you want to leave no trace of Raphaël (Well, Raphaël creates only one global variable `Raphael`, but anyway.) You can use `ninja` method. - * Beware, that in this case plugins could stop working, because they are depending on global variable existence. - ** - = (object) Raphael object - > Usage - | (function (local_raphael) { - | var paper = local_raphael(10, 10, 320, 200); - | … - | })(Raphael.ninja()); - \*/ - R.ninja = function () { - oldRaphael.was ? (g.win.Raphael = oldRaphael.is) : delete Raphael; - return R; - }; - /*\ - * Raphael.st - [ property (object) ] - ** - * You can add your own method to elements and sets. It is wise to add a set method for each element method - * you added, so you will be able to call the same method on sets too. - ** - * See also @Raphael.el. - > Usage - | Raphael.el.red = function () { - | this.attr({fill: "#f00"}); - | }; - | Raphael.st.red = function () { - | this.forEach(function (el) { - | el.red(); - | }); - | }; - | // then use it - | paper.set(paper.circle(100, 100, 20), paper.circle(110, 100, 20)).red(); - \*/ - R.st = setproto; - - eve.on("raphael.DOMload", function () { - loaded = true; - }); - - // Firefox <3.6 fix: http://webreflection.blogspot.com/2009/11/195-chars-to-help-lazy-loading.html - (function (doc, loaded, f) { - if (doc.readyState == null && doc.addEventListener){ - doc.addEventListener(loaded, f = function () { - doc.removeEventListener(loaded, f, false); - doc.readyState = "complete"; - }, false); - doc.readyState = "loading"; - } - function isLoaded() { - (/in/).test(doc.readyState) ? setTimeout(isLoaded, 9) : R.eve("raphael.DOMload"); - } - isLoaded(); - })(document, "DOMContentLoaded"); - - return R; -})); - -// ┌─────────────────────────────────────────────────────────────────────┐ \\ -// │ Raphaël 2.1.4 - JavaScript Vector Library │ \\ -// ├─────────────────────────────────────────────────────────────────────┤ \\ -// │ SVG Module │ \\ -// ├─────────────────────────────────────────────────────────────────────┤ \\ -// │ Copyright (c) 2008-2011 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ -// │ Copyright (c) 2008-2011 Sencha Labs (http://sencha.com) │ \\ -// │ Licensed under the MIT (http://raphaeljs.com/license.html) license. │ \\ -// └─────────────────────────────────────────────────────────────────────┘ \\ - -(function (glob, factory) { - if (typeof define === "function" && define.amd) { - define("raphael.svg", ["raphael.core"], function(raphael) { - return factory(raphael); - }); - } else if (typeof exports === "object") { - factory(require("raphael.core")); - } else { - factory(glob.Raphael); - } -}(this, function(R) { - if (R && !R.svg) { - return; - } - - var has = "hasOwnProperty", - Str = String, - toFloat = parseFloat, - toInt = parseInt, - math = Math, - mmax = math.max, - abs = math.abs, - pow = math.pow, - separator = /[, ]+/, - eve = R.eve, - E = "", - S = " "; - var xlink = "http://www.w3.org/1999/xlink", - markers = { - block: "M5,0 0,2.5 5,5z", - classic: "M5,0 0,2.5 5,5 3.5,3 3.5,2z", - diamond: "M2.5,0 5,2.5 2.5,5 0,2.5z", - open: "M6,1 1,3.5 6,6", - oval: "M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z" - }, - markerCounter = {}; - R.toString = function () { - return "Your browser supports SVG.\nYou are running Rapha\xebl " + this.version; - }; - var $ = function (el, attr) { - if (attr) { - if (typeof el == "string") { - el = $(el); - } - for (var key in attr) if (attr[has](key)) { - if (key.substring(0, 6) == "xlink:") { - el.setAttributeNS(xlink, key.substring(6), Str(attr[key])); - } else { - el.setAttribute(key, Str(attr[key])); - } - } - } else { - el = R._g.doc.createElementNS("http://www.w3.org/2000/svg", el); - el.style && (el.style.webkitTapHighlightColor = "rgba(0,0,0,0)"); - } - return el; - }, - addGradientFill = function (element, gradient) { - var type = "linear", - id = element.id + gradient, - fx = .5, fy = .5, - o = element.node, - SVG = element.paper, - s = o.style, - el = R._g.doc.getElementById(id); - if (!el) { - gradient = Str(gradient).replace(R._radial_gradient, function (all, _fx, _fy) { - type = "radial"; - if (_fx && _fy) { - fx = toFloat(_fx); - fy = toFloat(_fy); - var dir = ((fy > .5) * 2 - 1); - pow(fx - .5, 2) + pow(fy - .5, 2) > .25 && - (fy = math.sqrt(.25 - pow(fx - .5, 2)) * dir + .5) && - fy != .5 && - (fy = fy.toFixed(5) - 1e-5 * dir); - } - return E; - }); - gradient = gradient.split(/\s*\-\s*/); - if (type == "linear") { - var angle = gradient.shift(); - angle = -toFloat(angle); - if (isNaN(angle)) { - return null; - } - var vector = [0, 0, math.cos(R.rad(angle)), math.sin(R.rad(angle))], - max = 1 / (mmax(abs(vector[2]), abs(vector[3])) || 1); - vector[2] *= max; - vector[3] *= max; - if (vector[2] < 0) { - vector[0] = -vector[2]; - vector[2] = 0; - } - if (vector[3] < 0) { - vector[1] = -vector[3]; - vector[3] = 0; - } - } - var dots = R._parseDots(gradient); - if (!dots) { - return null; - } - id = id.replace(/[\(\)\s,\xb0#]/g, "_"); - - if (element.gradient && id != element.gradient.id) { - SVG.defs.removeChild(element.gradient); - delete element.gradient; - } - - if (!element.gradient) { - el = $(type + "Gradient", {id: id}); - element.gradient = el; - $(el, type == "radial" ? { - fx: fx, - fy: fy - } : { - x1: vector[0], - y1: vector[1], - x2: vector[2], - y2: vector[3], - gradientTransform: element.matrix.invert() - }); - SVG.defs.appendChild(el); - for (var i = 0, ii = dots.length; i < ii; i++) { - el.appendChild($("stop", { - offset: dots[i].offset ? dots[i].offset : i ? "100%" : "0%", - "stop-color": dots[i].color || "#fff", - "stop-opacity": isFinite(dots[i].opacity) ? dots[i].opacity : 1 - })); - } - } - } - $(o, { - fill: "url('" + document.location.origin + document.location.pathname + "#" + id + "')", - opacity: 1, - "fill-opacity": 1 - }); - s.fill = E; - s.opacity = 1; - s.fillOpacity = 1; - return 1; - }, - updatePosition = function (o) { - var bbox = o.getBBox(1); - $(o.pattern, {patternTransform: o.matrix.invert() + " translate(" + bbox.x + "," + bbox.y + ")"}); - }, - addArrow = function (o, value, isEnd) { - if (o.type == "path") { - var values = Str(value).toLowerCase().split("-"), - p = o.paper, - se = isEnd ? "end" : "start", - node = o.node, - attrs = o.attrs, - stroke = attrs["stroke-width"], - i = values.length, - type = "classic", - from, - to, - dx, - refX, - attr, - w = 3, - h = 3, - t = 5; - while (i--) { - switch (values[i]) { - case "block": - case "classic": - case "oval": - case "diamond": - case "open": - case "none": - type = values[i]; - break; - case "wide": h = 5; break; - case "narrow": h = 2; break; - case "long": w = 5; break; - case "short": w = 2; break; - } - } - if (type == "open") { - w += 2; - h += 2; - t += 2; - dx = 1; - refX = isEnd ? 4 : 1; - attr = { - fill: "none", - stroke: attrs.stroke - }; - } else { - refX = dx = w / 2; - attr = { - fill: attrs.stroke, - stroke: "none" - }; - } - if (o._.arrows) { - if (isEnd) { - o._.arrows.endPath && markerCounter[o._.arrows.endPath]--; - o._.arrows.endMarker && markerCounter[o._.arrows.endMarker]--; - } else { - o._.arrows.startPath && markerCounter[o._.arrows.startPath]--; - o._.arrows.startMarker && markerCounter[o._.arrows.startMarker]--; - } - } else { - o._.arrows = {}; - } - if (type != "none") { - var pathId = "raphael-marker-" + type, - markerId = "raphael-marker-" + se + type + w + h + "-obj" + o.id; - if (!R._g.doc.getElementById(pathId)) { - p.defs.appendChild($($("path"), { - "stroke-linecap": "round", - d: markers[type], - id: pathId - })); - markerCounter[pathId] = 1; - } else { - markerCounter[pathId]++; - } - var marker = R._g.doc.getElementById(markerId), - use; - if (!marker) { - marker = $($("marker"), { - id: markerId, - markerHeight: h, - markerWidth: w, - orient: "auto", - refX: refX, - refY: h / 2 - }); - use = $($("use"), { - "xlink:href": "#" + pathId, - transform: (isEnd ? "rotate(180 " + w / 2 + " " + h / 2 + ") " : E) + "scale(" + w / t + "," + h / t + ")", - "stroke-width": (1 / ((w / t + h / t) / 2)).toFixed(4) - }); - marker.appendChild(use); - p.defs.appendChild(marker); - markerCounter[markerId] = 1; - } else { - markerCounter[markerId]++; - use = marker.getElementsByTagName("use")[0]; - } - $(use, attr); - var delta = dx * (type != "diamond" && type != "oval"); - if (isEnd) { - from = o._.arrows.startdx * stroke || 0; - to = R.getTotalLength(attrs.path) - delta * stroke; - } else { - from = delta * stroke; - to = R.getTotalLength(attrs.path) - (o._.arrows.enddx * stroke || 0); - } - attr = {}; - attr["marker-" + se] = "url(#" + markerId + ")"; - if (to || from) { - attr.d = R.getSubpath(attrs.path, from, to); - } - $(node, attr); - o._.arrows[se + "Path"] = pathId; - o._.arrows[se + "Marker"] = markerId; - o._.arrows[se + "dx"] = delta; - o._.arrows[se + "Type"] = type; - o._.arrows[se + "String"] = value; - } else { - if (isEnd) { - from = o._.arrows.startdx * stroke || 0; - to = R.getTotalLength(attrs.path) - from; - } else { - from = 0; - to = R.getTotalLength(attrs.path) - (o._.arrows.enddx * stroke || 0); - } - o._.arrows[se + "Path"] && $(node, {d: R.getSubpath(attrs.path, from, to)}); - delete o._.arrows[se + "Path"]; - delete o._.arrows[se + "Marker"]; - delete o._.arrows[se + "dx"]; - delete o._.arrows[se + "Type"]; - delete o._.arrows[se + "String"]; - } - for (attr in markerCounter) if (markerCounter[has](attr) && !markerCounter[attr]) { - var item = R._g.doc.getElementById(attr); - item && item.parentNode.removeChild(item); - } - } - }, - dasharray = { - "-": [3, 1], - ".": [1, 1], - "-.": [3, 1, 1, 1], - "-..": [3, 1, 1, 1, 1, 1], - ". ": [1, 3], - "- ": [4, 3], - "--": [8, 3], - "- .": [4, 3, 1, 3], - "--.": [8, 3, 1, 3], - "--..": [8, 3, 1, 3, 1, 3] - }, - addDashes = function (o, value, params) { - value = dasharray[Str(value).toLowerCase()]; - if (value) { - var width = o.attrs["stroke-width"] || "1", - butt = {round: width, square: width, butt: 0}[o.attrs["stroke-linecap"] || params["stroke-linecap"]] || 0, - dashes = [], - i = value.length; - while (i--) { - dashes[i] = value[i] * width + ((i % 2) ? 1 : -1) * butt; - } - $(o.node, {"stroke-dasharray": dashes.join(",")}); - } - else { - $(o.node, {"stroke-dasharray": "none"}); - } - }, - setFillAndStroke = function (o, params) { - var node = o.node, - attrs = o.attrs, - vis = node.style.visibility; - node.style.visibility = "hidden"; - for (var att in params) { - if (params[has](att)) { - if (!R._availableAttrs[has](att)) { - continue; - } - var value = params[att]; - attrs[att] = value; - switch (att) { - case "blur": - o.blur(value); - break; - case "title": - var title = node.getElementsByTagName("title"); - - // Use the existing . - if (title.length && (title = title[0])) { - title.firstChild.nodeValue = value; - } else { - title = $("title"); - var val = R._g.doc.createTextNode(value); - title.appendChild(val); - node.appendChild(title); - } - break; - case "href": - case "target": - var pn = node.parentNode; - if (pn.tagName.toLowerCase() != "a") { - var hl = $("a"); - pn.insertBefore(hl, node); - hl.appendChild(node); - pn = hl; - } - if (att == "target") { - pn.setAttributeNS(xlink, "show", value == "blank" ? "new" : value); - } else { - pn.setAttributeNS(xlink, att, value); - } - break; - case "cursor": - node.style.cursor = value; - break; - case "transform": - o.transform(value); - break; - case "arrow-start": - addArrow(o, value); - break; - case "arrow-end": - addArrow(o, value, 1); - break; - case "clip-rect": - var rect = Str(value).split(separator); - if (rect.length == 4) { - o.clip && o.clip.parentNode.parentNode.removeChild(o.clip.parentNode); - var el = $("clipPath"), - rc = $("rect"); - el.id = R.createUUID(); - $(rc, { - x: rect[0], - y: rect[1], - width: rect[2], - height: rect[3] - }); - el.appendChild(rc); - o.paper.defs.appendChild(el); - $(node, {"clip-path": "url(#" + el.id + ")"}); - o.clip = rc; - } - if (!value) { - var path = node.getAttribute("clip-path"); - if (path) { - var clip = R._g.doc.getElementById(path.replace(/(^url\(#|\)$)/g, E)); - clip && clip.parentNode.removeChild(clip); - $(node, {"clip-path": E}); - delete o.clip; - } - } - break; - case "path": - if (o.type == "path") { - $(node, {d: value ? attrs.path = R._pathToAbsolute(value) : "M0,0"}); - o._.dirty = 1; - if (o._.arrows) { - "startString" in o._.arrows && addArrow(o, o._.arrows.startString); - "endString" in o._.arrows && addArrow(o, o._.arrows.endString, 1); - } - } - break; - case "width": - node.setAttribute(att, value); - o._.dirty = 1; - if (attrs.fx) { - att = "x"; - value = attrs.x; - } else { - break; - } - case "x": - if (attrs.fx) { - value = -attrs.x - (attrs.width || 0); - } - case "rx": - if (att == "rx" && o.type == "rect") { - break; - } - case "cx": - node.setAttribute(att, value); - o.pattern && updatePosition(o); - o._.dirty = 1; - break; - case "height": - node.setAttribute(att, value); - o._.dirty = 1; - if (attrs.fy) { - att = "y"; - value = attrs.y; - } else { - break; - } - case "y": - if (attrs.fy) { - value = -attrs.y - (attrs.height || 0); - } - case "ry": - if (att == "ry" && o.type == "rect") { - break; - } - case "cy": - node.setAttribute(att, value); - o.pattern && updatePosition(o); - o._.dirty = 1; - break; - case "r": - if (o.type == "rect") { - $(node, {rx: value, ry: value}); - } else { - node.setAttribute(att, value); - } - o._.dirty = 1; - break; - case "src": - if (o.type == "image") { - node.setAttributeNS(xlink, "href", value); - } - break; - case "stroke-width": - if (o._.sx != 1 || o._.sy != 1) { - value /= mmax(abs(o._.sx), abs(o._.sy)) || 1; - } - node.setAttribute(att, value); - if (attrs["stroke-dasharray"]) { - addDashes(o, attrs["stroke-dasharray"], params); - } - if (o._.arrows) { - "startString" in o._.arrows && addArrow(o, o._.arrows.startString); - "endString" in o._.arrows && addArrow(o, o._.arrows.endString, 1); - } - break; - case "stroke-dasharray": - addDashes(o, value, params); - break; - case "fill": - var isURL = Str(value).match(R._ISURL); - if (isURL) { - el = $("pattern"); - var ig = $("image"); - el.id = R.createUUID(); - $(el, {x: 0, y: 0, patternUnits: "userSpaceOnUse", height: 1, width: 1}); - $(ig, {x: 0, y: 0, "xlink:href": isURL[1]}); - el.appendChild(ig); - - (function (el) { - R._preload(isURL[1], function () { - var w = this.offsetWidth, - h = this.offsetHeight; - $(el, {width: w, height: h}); - $(ig, {width: w, height: h}); - }); - })(el); - o.paper.defs.appendChild(el); - $(node, {fill: "url(#" + el.id + ")"}); - o.pattern = el; - o.pattern && updatePosition(o); - break; - } - var clr = R.getRGB(value); - if (!clr.error) { - delete params.gradient; - delete attrs.gradient; - !R.is(attrs.opacity, "undefined") && - R.is(params.opacity, "undefined") && - $(node, {opacity: attrs.opacity}); - !R.is(attrs["fill-opacity"], "undefined") && - R.is(params["fill-opacity"], "undefined") && - $(node, {"fill-opacity": attrs["fill-opacity"]}); - } else if ((o.type == "circle" || o.type == "ellipse" || Str(value).charAt() != "r") && addGradientFill(o, value)) { - if ("opacity" in attrs || "fill-opacity" in attrs) { - var gradient = R._g.doc.getElementById(node.getAttribute("fill").replace(/^url\(#|\)$/g, E)); - if (gradient) { - var stops = gradient.getElementsByTagName("stop"); - $(stops[stops.length - 1], {"stop-opacity": ("opacity" in attrs ? attrs.opacity : 1) * ("fill-opacity" in attrs ? attrs["fill-opacity"] : 1)}); - } - } - attrs.gradient = value; - attrs.fill = "none"; - break; - } - clr[has]("opacity") && $(node, {"fill-opacity": clr.opacity > 1 ? clr.opacity / 100 : clr.opacity}); - case "stroke": - clr = R.getRGB(value); - node.setAttribute(att, clr.hex); - att == "stroke" && clr[has]("opacity") && $(node, {"stroke-opacity": clr.opacity > 1 ? clr.opacity / 100 : clr.opacity}); - if (att == "stroke" && o._.arrows) { - "startString" in o._.arrows && addArrow(o, o._.arrows.startString); - "endString" in o._.arrows && addArrow(o, o._.arrows.endString, 1); - } - break; - case "gradient": - (o.type == "circle" || o.type == "ellipse" || Str(value).charAt() != "r") && addGradientFill(o, value); - break; - case "opacity": - if (attrs.gradient && !attrs[has]("stroke-opacity")) { - $(node, {"stroke-opacity": value > 1 ? value / 100 : value}); - } - // fall - case "fill-opacity": - if (attrs.gradient) { - gradient = R._g.doc.getElementById(node.getAttribute("fill").replace(/^url\(#|\)$/g, E)); - if (gradient) { - stops = gradient.getElementsByTagName("stop"); - $(stops[stops.length - 1], {"stop-opacity": value}); - } - break; - } - default: - att == "font-size" && (value = toInt(value, 10) + "px"); - var cssrule = att.replace(/(\-.)/g, function (w) { - return w.substring(1).toUpperCase(); - }); - node.style[cssrule] = value; - o._.dirty = 1; - node.setAttribute(att, value); - break; - } - } - } - - tuneText(o, params); - node.style.visibility = vis; - }, - leading = 1.2, - tuneText = function (el, params) { - if (el.type != "text" || !(params[has]("text") || params[has]("font") || params[has]("font-size") || params[has]("x") || params[has]("y"))) { - return; - } - var a = el.attrs, - node = el.node, - fontSize = node.firstChild ? toInt(R._g.doc.defaultView.getComputedStyle(node.firstChild, E).getPropertyValue("font-size"), 10) : 10; - - if (params[has]("text")) { - a.text = params.text; - while (node.firstChild) { - node.removeChild(node.firstChild); - } - var texts = Str(params.text).split("\n"), - tspans = [], - tspan; - for (var i = 0, ii = texts.length; i < ii; i++) { - tspan = $("tspan"); - i && $(tspan, {dy: fontSize * leading, x: a.x}); - tspan.appendChild(R._g.doc.createTextNode(texts[i])); - node.appendChild(tspan); - tspans[i] = tspan; - } - } else { - tspans = node.getElementsByTagName("tspan"); - for (i = 0, ii = tspans.length; i < ii; i++) if (i) { - $(tspans[i], {dy: fontSize * leading, x: a.x}); - } else { - $(tspans[0], {dy: 0}); - } - } - $(node, {x: a.x, y: a.y}); - el._.dirty = 1; - var bb = el._getBBox(), - dif = a.y - (bb.y + bb.height / 2); - dif && R.is(dif, "finite") && $(tspans[0], {dy: dif}); - }, - getRealNode = function (node) { - if (node.parentNode && node.parentNode.tagName.toLowerCase() === "a") { - return node.parentNode; - } else { - return node; - } - }, - Element = function (node, svg) { - var X = 0, - Y = 0; - /*\ - * Element.node - [ property (object) ] - ** - * Gives you a reference to the DOM object, so you can assign event handlers or just mess around. - ** - * Note: Don’t mess with it. - > Usage - | // draw a circle at coordinate 10,10 with radius of 10 - | var c = paper.circle(10, 10, 10); - | c.node.onclick = function () { - | c.attr("fill", "red"); - | }; - \*/ - this[0] = this.node = node; - /*\ - * Element.raphael - [ property (object) ] - ** - * Internal reference to @Raphael object. In case it is not available. - > Usage - | Raphael.el.red = function () { - | var hsb = this.paper.raphael.rgb2hsb(this.attr("fill")); - | hsb.h = 1; - | this.attr({fill: this.paper.raphael.hsb2rgb(hsb).hex}); - | } - \*/ - node.raphael = true; - /*\ - * Element.id - [ property (number) ] - ** - * Unique id of the element. Especially useful when you want to listen to events of the element, - * because all events are fired in format `<module>.<action>.<id>`. Also useful for @Paper.getById method. - \*/ - this.id = R._oid++; - node.raphaelid = this.id; - this.matrix = R.matrix(); - this.realPath = null; - /*\ - * Element.paper - [ property (object) ] - ** - * Internal reference to “paper” where object drawn. Mainly for use in plugins and element extensions. - > Usage - | Raphael.el.cross = function () { - | this.attr({fill: "red"}); - | this.paper.path("M10,10L50,50M50,10L10,50") - | .attr({stroke: "red"}); - | } - \*/ - this.paper = svg; - this.attrs = this.attrs || {}; - this._ = { - transform: [], - sx: 1, - sy: 1, - deg: 0, - dx: 0, - dy: 0, - dirty: 1 - }; - !svg.bottom && (svg.bottom = this); - /*\ - * Element.prev - [ property (object) ] - ** - * Reference to the previous element in the hierarchy. - \*/ - this.prev = svg.top; - svg.top && (svg.top.next = this); - svg.top = this; - /*\ - * Element.next - [ property (object) ] - ** - * Reference to the next element in the hierarchy. - \*/ - this.next = null; - }, - elproto = R.el; - - Element.prototype = elproto; - elproto.constructor = Element; - - R._engine.path = function (pathString, SVG) { - var el = $("path"); - SVG.canvas && SVG.canvas.appendChild(el); - var p = new Element(el, SVG); - p.type = "path"; - setFillAndStroke(p, { - fill: "none", - stroke: "#000", - path: pathString - }); - return p; - }; - /*\ - * Element.rotate - [ method ] - ** - * Deprecated! Use @Element.transform instead. - * Adds rotation by given angle around given point to the list of - * transformations of the element. - > Parameters - - deg (number) angle in degrees - - cx (number) #optional x coordinate of the centre of rotation - - cy (number) #optional y coordinate of the centre of rotation - * If cx & cy aren’t specified centre of the shape is used as a point of rotation. - = (object) @Element - \*/ - elproto.rotate = function (deg, cx, cy) { - if (this.removed) { - return this; - } - deg = Str(deg).split(separator); - if (deg.length - 1) { - cx = toFloat(deg[1]); - cy = toFloat(deg[2]); - } - deg = toFloat(deg[0]); - (cy == null) && (cx = cy); - if (cx == null || cy == null) { - var bbox = this.getBBox(1); - cx = bbox.x + bbox.width / 2; - cy = bbox.y + bbox.height / 2; - } - this.transform(this._.transform.concat([["r", deg, cx, cy]])); - return this; - }; - /*\ - * Element.scale - [ method ] - ** - * Deprecated! Use @Element.transform instead. - * Adds scale by given amount relative to given point to the list of - * transformations of the element. - > Parameters - - sx (number) horisontal scale amount - - sy (number) vertical scale amount - - cx (number) #optional x coordinate of the centre of scale - - cy (number) #optional y coordinate of the centre of scale - * If cx & cy aren’t specified centre of the shape is used instead. - = (object) @Element - \*/ - elproto.scale = function (sx, sy, cx, cy) { - if (this.removed) { - return this; - } - sx = Str(sx).split(separator); - if (sx.length - 1) { - sy = toFloat(sx[1]); - cx = toFloat(sx[2]); - cy = toFloat(sx[3]); - } - sx = toFloat(sx[0]); - (sy == null) && (sy = sx); - (cy == null) && (cx = cy); - if (cx == null || cy == null) { - var bbox = this.getBBox(1); - } - cx = cx == null ? bbox.x + bbox.width / 2 : cx; - cy = cy == null ? bbox.y + bbox.height / 2 : cy; - this.transform(this._.transform.concat([["s", sx, sy, cx, cy]])); - return this; - }; - /*\ - * Element.translate - [ method ] - ** - * Deprecated! Use @Element.transform instead. - * Adds translation by given amount to the list of transformations of the element. - > Parameters - - dx (number) horisontal shift - - dy (number) vertical shift - = (object) @Element - \*/ - elproto.translate = function (dx, dy) { - if (this.removed) { - return this; - } - dx = Str(dx).split(separator); - if (dx.length - 1) { - dy = toFloat(dx[1]); - } - dx = toFloat(dx[0]) || 0; - dy = +dy || 0; - this.transform(this._.transform.concat([["t", dx, dy]])); - return this; - }; - /*\ - * Element.transform - [ method ] - ** - * Adds transformation to the element which is separate to other attributes, - * i.e. translation doesn’t change `x` or `y` of the rectange. The format - * of transformation string is similar to the path string syntax: - | "t100,100r30,100,100s2,2,100,100r45s1.5" - * Each letter is a command. There are four commands: `t` is for translate, `r` is for rotate, `s` is for - * scale and `m` is for matrix. - * - * There are also alternative “absolute” translation, rotation and scale: `T`, `R` and `S`. They will not take previous transformation into account. For example, `...T100,0` will always move element 100 px horisontally, while `...t100,0` could move it vertically if there is `r90` before. Just compare results of `r90t100,0` and `r90T100,0`. - * - * So, the example line above could be read like “translate by 100, 100; rotate 30° around 100, 100; scale twice around 100, 100; - * rotate 45° around centre; scale 1.5 times relative to centre”. As you can see rotate and scale commands have origin - * coordinates as optional parameters, the default is the centre point of the element. - * Matrix accepts six parameters. - > Usage - | var el = paper.rect(10, 20, 300, 200); - | // translate 100, 100, rotate 45°, translate -100, 0 - | el.transform("t100,100r45t-100,0"); - | // if you want you can append or prepend transformations - | el.transform("...t50,50"); - | el.transform("s2..."); - | // or even wrap - | el.transform("t50,50...t-50-50"); - | // to reset transformation call method with empty string - | el.transform(""); - | // to get current value call it without parameters - | console.log(el.transform()); - > Parameters - - tstr (string) #optional transformation string - * If tstr isn’t specified - = (string) current transformation string - * else - = (object) @Element - \*/ - elproto.transform = function (tstr) { - var _ = this._; - if (tstr == null) { - return _.transform; - } - R._extractTransform(this, tstr); - - this.clip && $(this.clip, {transform: this.matrix.invert()}); - this.pattern && updatePosition(this); - this.node && $(this.node, {transform: this.matrix}); - - if (_.sx != 1 || _.sy != 1) { - var sw = this.attrs[has]("stroke-width") ? this.attrs["stroke-width"] : 1; - this.attr({"stroke-width": sw}); - } - - return this; - }; - /*\ - * Element.hide - [ method ] - ** - * Makes element invisible. See @Element.show. - = (object) @Element - \*/ - elproto.hide = function () { - if(!this.removed) this.node.style.display = "none"; - return this; - }; - /*\ - * Element.show - [ method ] - ** - * Makes element visible. See @Element.hide. - = (object) @Element - \*/ - elproto.show = function () { - if(!this.removed) this.node.style.display = ""; - return this; - }; - /*\ - * Element.remove - [ method ] - ** - * Removes element from the paper. - \*/ - elproto.remove = function () { - var node = getRealNode(this.node); - if (this.removed || !node.parentNode) { - return; - } - var paper = this.paper; - paper.__set__ && paper.__set__.exclude(this); - eve.unbind("raphael.*.*." + this.id); - if (this.gradient) { - paper.defs.removeChild(this.gradient); - } - R._tear(this, paper); - - node.parentNode.removeChild(node); - - // Remove custom data for element - this.removeData(); - - for (var i in this) { - this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null; - } - this.removed = true; - }; - elproto._getBBox = function () { - if (this.node.style.display == "none") { - this.show(); - var hide = true; - } - var canvasHidden = false, - containerStyle; - if (this.paper.canvas.parentElement) { - containerStyle = this.paper.canvas.parentElement.style; - } //IE10+ can't find parentElement - else if (this.paper.canvas.parentNode) { - containerStyle = this.paper.canvas.parentNode.style; - } - - if(containerStyle && containerStyle.display == "none") { - canvasHidden = true; - containerStyle.display = ""; - } - var bbox = {}; - try { - bbox = this.node.getBBox(); - } catch(e) { - // Firefox 3.0.x, 25.0.1 (probably more versions affected) play badly here - possible fix - bbox = { - x: this.node.clientLeft, - y: this.node.clientTop, - width: this.node.clientWidth, - height: this.node.clientHeight - } - } finally { - bbox = bbox || {}; - if(canvasHidden){ - containerStyle.display = "none"; - } - } - hide && this.hide(); - return bbox; - }; - /*\ - * Element.attr - [ method ] - ** - * Sets the attributes of the element. - > Parameters - - attrName (string) attribute’s name - - value (string) value - * or - - params (object) object of name/value pairs - * or - - attrName (string) attribute’s name - * or - - attrNames (array) in this case method returns array of current values for given attribute names - = (object) @Element if attrsName & value or params are passed in. - = (...) value of the attribute if only attrsName is passed in. - = (array) array of values of the attribute if attrsNames is passed in. - = (object) object of attributes if nothing is passed in. - > Possible parameters - # <p>Please refer to the <a href="http://www.w3.org/TR/SVG/" title="The W3C Recommendation for the SVG language describes these properties in detail.">SVG specification</a> for an explanation of these parameters.</p> - o arrow-end (string) arrowhead on the end of the path. The format for string is `<type>[-<width>[-<length>]]`. Possible types: `classic`, `block`, `open`, `oval`, `diamond`, `none`, width: `wide`, `narrow`, `medium`, length: `long`, `short`, `midium`. - o clip-rect (string) comma or space separated values: x, y, width and height - o cursor (string) CSS type of the cursor - o cx (number) the x-axis coordinate of the center of the circle, or ellipse - o cy (number) the y-axis coordinate of the center of the circle, or ellipse - o fill (string) colour, gradient or image - o fill-opacity (number) - o font (string) - o font-family (string) - o font-size (number) font size in pixels - o font-weight (string) - o height (number) - o href (string) URL, if specified element behaves as hyperlink - o opacity (number) - o path (string) SVG path string format - o r (number) radius of the circle, ellipse or rounded corner on the rect - o rx (number) horisontal radius of the ellipse - o ry (number) vertical radius of the ellipse - o src (string) image URL, only works for @Element.image element - o stroke (string) stroke colour - o stroke-dasharray (string) [“”, “none”, “`-`”, “`.`”, “`-.`”, “`-..`”, “`. `”, “`- `”, “`--`”, “`- .`”, “`--.`”, “`--..`”] - o stroke-linecap (string) [“`butt`”, “`square`”, “`round`”] - o stroke-linejoin (string) [“`bevel`”, “`round`”, “`miter`”] - o stroke-miterlimit (number) - o stroke-opacity (number) - o stroke-width (number) stroke width in pixels, default is '1' - o target (string) used with href - o text (string) contents of the text element. Use `\n` for multiline text - o text-anchor (string) [“`start`”, “`middle`”, “`end`”], default is “`middle`” - o title (string) will create tooltip with a given text - o transform (string) see @Element.transform - o width (number) - o x (number) - o y (number) - > Gradients - * Linear gradient format: “`‹angle›-‹colour›[-‹colour›[:‹offset›]]*-‹colour›`”, example: “`90-#fff-#000`” – 90° - * gradient from white to black or “`0-#fff-#f00:20-#000`” – 0° gradient from white via red (at 20%) to black. - * - * radial gradient: “`r[(‹fx›, ‹fy›)]‹colour›[-‹colour›[:‹offset›]]*-‹colour›`”, example: “`r#fff-#000`” – - * gradient from white to black or “`r(0.25, 0.75)#fff-#000`” – gradient from white to black with focus point - * at 0.25, 0.75. Focus point coordinates are in 0..1 range. Radial gradients can only be applied to circles and ellipses. - > Path String - # <p>Please refer to <a href="http://www.w3.org/TR/SVG/paths.html#PathData" title="Details of a path’s data attribute’s format are described in the SVG specification.">SVG documentation regarding path string</a>. Raphaël fully supports it.</p> - > Colour Parsing - # <ul> - # <li>Colour name (“<code>red</code>”, “<code>green</code>”, “<code>cornflowerblue</code>”, etc)</li> - # <li>#••• — shortened HTML colour: (“<code>#000</code>”, “<code>#fc0</code>”, etc)</li> - # <li>#•••••• — full length HTML colour: (“<code>#000000</code>”, “<code>#bd2300</code>”)</li> - # <li>rgb(•••, •••, •••) — red, green and blue channels’ values: (“<code>rgb(200, 100, 0)</code>”)</li> - # <li>rgb(•••%, •••%, •••%) — same as above, but in %: (“<code>rgb(100%, 175%, 0%)</code>”)</li> - # <li>rgba(•••, •••, •••, •••) — red, green and blue channels’ values: (“<code>rgba(200, 100, 0, .5)</code>”)</li> - # <li>rgba(•••%, •••%, •••%, •••%) — same as above, but in %: (“<code>rgba(100%, 175%, 0%, 50%)</code>”)</li> - # <li>hsb(•••, •••, •••) — hue, saturation and brightness values: (“<code>hsb(0.5, 0.25, 1)</code>”)</li> - # <li>hsb(•••%, •••%, •••%) — same as above, but in %</li> - # <li>hsba(•••, •••, •••, •••) — same as above, but with opacity</li> - # <li>hsl(•••, •••, •••) — almost the same as hsb, see <a href="http://en.wikipedia.org/wiki/HSL_and_HSV" title="HSL and HSV - Wikipedia, the free encyclopedia">Wikipedia page</a></li> - # <li>hsl(•••%, •••%, •••%) — same as above, but in %</li> - # <li>hsla(•••, •••, •••, •••) — same as above, but with opacity</li> - # <li>Optionally for hsb and hsl you could specify hue as a degree: “<code>hsl(240deg, 1, .5)</code>” or, if you want to go fancy, “<code>hsl(240°, 1, .5)</code>”</li> - # </ul> - \*/ - elproto.attr = function (name, value) { - if (this.removed) { - return this; - } - if (name == null) { - var res = {}; - for (var a in this.attrs) if (this.attrs[has](a)) { - res[a] = this.attrs[a]; - } - res.gradient && res.fill == "none" && (res.fill = res.gradient) && delete res.gradient; - res.transform = this._.transform; - return res; - } - if (value == null && R.is(name, "string")) { - if (name == "fill" && this.attrs.fill == "none" && this.attrs.gradient) { - return this.attrs.gradient; - } - if (name == "transform") { - return this._.transform; - } - var names = name.split(separator), - out = {}; - for (var i = 0, ii = names.length; i < ii; i++) { - name = names[i]; - if (name in this.attrs) { - out[name] = this.attrs[name]; - } else if (R.is(this.paper.customAttributes[name], "function")) { - out[name] = this.paper.customAttributes[name].def; - } else { - out[name] = R._availableAttrs[name]; - } - } - return ii - 1 ? out : out[names[0]]; - } - if (value == null && R.is(name, "array")) { - out = {}; - for (i = 0, ii = name.length; i < ii; i++) { - out[name[i]] = this.attr(name[i]); - } - return out; - } - if (value != null) { - var params = {}; - params[name] = value; - } else if (name != null && R.is(name, "object")) { - params = name; - } - for (var key in params) { - eve("raphael.attr." + key + "." + this.id, this, params[key]); - } - for (key in this.paper.customAttributes) if (this.paper.customAttributes[has](key) && params[has](key) && R.is(this.paper.customAttributes[key], "function")) { - var par = this.paper.customAttributes[key].apply(this, [].concat(params[key])); - this.attrs[key] = params[key]; - for (var subkey in par) if (par[has](subkey)) { - params[subkey] = par[subkey]; - } - } - setFillAndStroke(this, params); - return this; - }; - /*\ - * Element.toFront - [ method ] - ** - * Moves the element so it is the closest to the viewer’s eyes, on top of other elements. - = (object) @Element - \*/ - elproto.toFront = function () { - if (this.removed) { - return this; - } - var node = getRealNode(this.node); - node.parentNode.appendChild(node); - var svg = this.paper; - svg.top != this && R._tofront(this, svg); - return this; - }; - /*\ - * Element.toBack - [ method ] - ** - * Moves the element so it is the furthest from the viewer’s eyes, behind other elements. - = (object) @Element - \*/ - elproto.toBack = function () { - if (this.removed) { - return this; - } - var node = getRealNode(this.node); - var parentNode = node.parentNode; - parentNode.insertBefore(node, parentNode.firstChild); - R._toback(this, this.paper); - var svg = this.paper; - return this; - }; - /*\ - * Element.insertAfter - [ method ] - ** - * Inserts current object after the given one. - = (object) @Element - \*/ - elproto.insertAfter = function (element) { - if (this.removed || !element) { - return this; - } - - var node = getRealNode(this.node); - var afterNode = getRealNode(element.node || element[element.length - 1].node); - if (afterNode.nextSibling) { - afterNode.parentNode.insertBefore(node, afterNode.nextSibling); - } else { - afterNode.parentNode.appendChild(node); - } - R._insertafter(this, element, this.paper); - return this; - }; - /*\ - * Element.insertBefore - [ method ] - ** - * Inserts current object before the given one. - = (object) @Element - \*/ - elproto.insertBefore = function (element) { - if (this.removed || !element) { - return this; - } - - var node = getRealNode(this.node); - var beforeNode = getRealNode(element.node || element[0].node); - beforeNode.parentNode.insertBefore(node, beforeNode); - R._insertbefore(this, element, this.paper); - return this; - }; - elproto.blur = function (size) { - // Experimental. No Safari support. Use it on your own risk. - var t = this; - if (+size !== 0) { - var fltr = $("filter"), - blur = $("feGaussianBlur"); - t.attrs.blur = size; - fltr.id = R.createUUID(); - $(blur, {stdDeviation: +size || 1.5}); - fltr.appendChild(blur); - t.paper.defs.appendChild(fltr); - t._blur = fltr; - $(t.node, {filter: "url(#" + fltr.id + ")"}); - } else { - if (t._blur) { - t._blur.parentNode.removeChild(t._blur); - delete t._blur; - delete t.attrs.blur; - } - t.node.removeAttribute("filter"); - } - return t; - }; - R._engine.circle = function (svg, x, y, r) { - var el = $("circle"); - svg.canvas && svg.canvas.appendChild(el); - var res = new Element(el, svg); - res.attrs = {cx: x, cy: y, r: r, fill: "none", stroke: "#000"}; - res.type = "circle"; - $(el, res.attrs); - return res; - }; - R._engine.rect = function (svg, x, y, w, h, r) { - var el = $("rect"); - svg.canvas && svg.canvas.appendChild(el); - var res = new Element(el, svg); - res.attrs = {x: x, y: y, width: w, height: h, rx: r || 0, ry: r || 0, fill: "none", stroke: "#000"}; - res.type = "rect"; - $(el, res.attrs); - return res; - }; - R._engine.ellipse = function (svg, x, y, rx, ry) { - var el = $("ellipse"); - svg.canvas && svg.canvas.appendChild(el); - var res = new Element(el, svg); - res.attrs = {cx: x, cy: y, rx: rx, ry: ry, fill: "none", stroke: "#000"}; - res.type = "ellipse"; - $(el, res.attrs); - return res; - }; - R._engine.image = function (svg, src, x, y, w, h) { - var el = $("image"); - $(el, {x: x, y: y, width: w, height: h, preserveAspectRatio: "none"}); - el.setAttributeNS(xlink, "href", src); - svg.canvas && svg.canvas.appendChild(el); - var res = new Element(el, svg); - res.attrs = {x: x, y: y, width: w, height: h, src: src}; - res.type = "image"; - return res; - }; - R._engine.text = function (svg, x, y, text) { - var el = $("text"); - svg.canvas && svg.canvas.appendChild(el); - var res = new Element(el, svg); - res.attrs = { - x: x, - y: y, - "text-anchor": "middle", - text: text, - "font-family": R._availableAttrs["font-family"], - "font-size": R._availableAttrs["font-size"], - stroke: "none", - fill: "#000" - }; - res.type = "text"; - setFillAndStroke(res, res.attrs); - return res; - }; - R._engine.setSize = function (width, height) { - this.width = width || this.width; - this.height = height || this.height; - this.canvas.setAttribute("width", this.width); - this.canvas.setAttribute("height", this.height); - if (this._viewBox) { - this.setViewBox.apply(this, this._viewBox); - } - return this; - }; - R._engine.create = function () { - var con = R._getContainer.apply(0, arguments), - container = con && con.container, - x = con.x, - y = con.y, - width = con.width, - height = con.height; - if (!container) { - throw new Error("SVG container not found."); - } - var cnvs = $("svg"), - css = "overflow:hidden;", - isFloating; - x = x || 0; - y = y || 0; - width = width || 512; - height = height || 342; - $(cnvs, { - height: height, - version: 1.1, - width: width, - xmlns: "http://www.w3.org/2000/svg", - "xmlns:xlink": "http://www.w3.org/1999/xlink" - }); - if (container == 1) { - cnvs.style.cssText = css + "position:absolute;left:" + x + "px;top:" + y + "px"; - R._g.doc.body.appendChild(cnvs); - isFloating = 1; - } else { - cnvs.style.cssText = css + "position:relative"; - if (container.firstChild) { - container.insertBefore(cnvs, container.firstChild); - } else { - container.appendChild(cnvs); - } - } - container = new R._Paper; - container.width = width; - container.height = height; - container.canvas = cnvs; - container.clear(); - container._left = container._top = 0; - isFloating && (container.renderfix = function () {}); - container.renderfix(); - return container; - }; - R._engine.setViewBox = function (x, y, w, h, fit) { - eve("raphael.setViewBox", this, this._viewBox, [x, y, w, h, fit]); - var paperSize = this.getSize(), - size = mmax(w / paperSize.width, h / paperSize.height), - top = this.top, - aspectRatio = fit ? "xMidYMid meet" : "xMinYMin", - vb, - sw; - if (x == null) { - if (this._vbSize) { - size = 1; - } - delete this._vbSize; - vb = "0 0 " + this.width + S + this.height; - } else { - this._vbSize = size; - vb = x + S + y + S + w + S + h; - } - $(this.canvas, { - viewBox: vb, - preserveAspectRatio: aspectRatio - }); - while (size && top) { - sw = "stroke-width" in top.attrs ? top.attrs["stroke-width"] : 1; - top.attr({"stroke-width": sw}); - top._.dirty = 1; - top._.dirtyT = 1; - top = top.prev; - } - this._viewBox = [x, y, w, h, !!fit]; - return this; - }; - /*\ - * Paper.renderfix - [ method ] - ** - * Fixes the issue of Firefox and IE9 regarding subpixel rendering. If paper is dependant - * on other elements after reflow it could shift half pixel which cause for lines to lost their crispness. - * This method fixes the issue. - ** - Special thanks to Mariusz Nowak (http://www.medikoo.com/) for this method. - \*/ - R.prototype.renderfix = function () { - var cnvs = this.canvas, - s = cnvs.style, - pos; - try { - pos = cnvs.getScreenCTM() || cnvs.createSVGMatrix(); - } catch (e) { - pos = cnvs.createSVGMatrix(); - } - var left = -pos.e % 1, - top = -pos.f % 1; - if (left || top) { - if (left) { - this._left = (this._left + left) % 1; - s.left = this._left + "px"; - } - if (top) { - this._top = (this._top + top) % 1; - s.top = this._top + "px"; - } - } - }; - /*\ - * Paper.clear - [ method ] - ** - * Clears the paper, i.e. removes all the elements. - \*/ - R.prototype.clear = function () { - R.eve("raphael.clear", this); - var c = this.canvas; - while (c.firstChild) { - c.removeChild(c.firstChild); - } - this.bottom = this.top = null; - (this.desc = $("desc")).appendChild(R._g.doc.createTextNode("Created with Rapha\xebl " + R.version)); - c.appendChild(this.desc); - c.appendChild(this.defs = $("defs")); - }; - /*\ - * Paper.remove - [ method ] - ** - * Removes the paper from the DOM. - \*/ - R.prototype.remove = function () { - eve("raphael.remove", this); - this.canvas.parentNode && this.canvas.parentNode.removeChild(this.canvas); - for (var i in this) { - this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null; - } - }; - var setproto = R.st; - for (var method in elproto) if (elproto[has](method) && !setproto[has](method)) { - setproto[method] = (function (methodname) { - return function () { - var arg = arguments; - return this.forEach(function (el) { - el[methodname].apply(el, arg); - }); - }; - })(method); - } -})); - -// ┌─────────────────────────────────────────────────────────────────────┐ \\ -// │ Raphaël 2.1.4 - JavaScript Vector Library │ \\ -// ├─────────────────────────────────────────────────────────────────────┤ \\ -// │ VML Module │ \\ -// ├─────────────────────────────────────────────────────────────────────┤ \\ -// │ Copyright (c) 2008-2011 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ -// │ Copyright (c) 2008-2011 Sencha Labs (http://sencha.com) │ \\ -// │ Licensed under the MIT (http://raphaeljs.com/license.html) license. │ \\ -// └─────────────────────────────────────────────────────────────────────┘ \\ - -(function (glob, factory) { - if (typeof define === "function" && define.amd) { - define("raphael.vml", ["raphael.core"], function(raphael) { - return factory(raphael); - }); - } else if (typeof exports === "object") { - factory(require("raphael")); - } else { - factory(glob.Raphael); - } -}(this, function(R) { - if (R && !R.vml) { - return; - } - - var has = "hasOwnProperty", - Str = String, - toFloat = parseFloat, - math = Math, - round = math.round, - mmax = math.max, - mmin = math.min, - abs = math.abs, - fillString = "fill", - separator = /[, ]+/, - eve = R.eve, - ms = " progid:DXImageTransform.Microsoft", - S = " ", - E = "", - map = {M: "m", L: "l", C: "c", Z: "x", m: "t", l: "r", c: "v", z: "x"}, - bites = /([clmz]),?([^clmz]*)/gi, - blurregexp = / progid:\S+Blur\([^\)]+\)/g, - val = /-?[^,\s-]+/g, - cssDot = "position:absolute;left:0;top:0;width:1px;height:1px;behavior:url(#default#VML)", - zoom = 21600, - pathTypes = {path: 1, rect: 1, image: 1}, - ovalTypes = {circle: 1, ellipse: 1}, - path2vml = function (path) { - var total = /[ahqstv]/ig, - command = R._pathToAbsolute; - Str(path).match(total) && (command = R._path2curve); - total = /[clmz]/g; - if (command == R._pathToAbsolute && !Str(path).match(total)) { - var res = Str(path).replace(bites, function (all, command, args) { - var vals = [], - isMove = command.toLowerCase() == "m", - res = map[command]; - args.replace(val, function (value) { - if (isMove && vals.length == 2) { - res += vals + map[command == "m" ? "l" : "L"]; - vals = []; - } - vals.push(round(value * zoom)); - }); - return res + vals; - }); - return res; - } - var pa = command(path), p, r; - res = []; - for (var i = 0, ii = pa.length; i < ii; i++) { - p = pa[i]; - r = pa[i][0].toLowerCase(); - r == "z" && (r = "x"); - for (var j = 1, jj = p.length; j < jj; j++) { - r += round(p[j] * zoom) + (j != jj - 1 ? "," : E); - } - res.push(r); - } - return res.join(S); - }, - compensation = function (deg, dx, dy) { - var m = R.matrix(); - m.rotate(-deg, .5, .5); - return { - dx: m.x(dx, dy), - dy: m.y(dx, dy) - }; - }, - setCoords = function (p, sx, sy, dx, dy, deg) { - var _ = p._, - m = p.matrix, - fillpos = _.fillpos, - o = p.node, - s = o.style, - y = 1, - flip = "", - dxdy, - kx = zoom / sx, - ky = zoom / sy; - s.visibility = "hidden"; - if (!sx || !sy) { - return; - } - o.coordsize = abs(kx) + S + abs(ky); - s.rotation = deg * (sx * sy < 0 ? -1 : 1); - if (deg) { - var c = compensation(deg, dx, dy); - dx = c.dx; - dy = c.dy; - } - sx < 0 && (flip += "x"); - sy < 0 && (flip += " y") && (y = -1); - s.flip = flip; - o.coordorigin = (dx * -kx) + S + (dy * -ky); - if (fillpos || _.fillsize) { - var fill = o.getElementsByTagName(fillString); - fill = fill && fill[0]; - o.removeChild(fill); - if (fillpos) { - c = compensation(deg, m.x(fillpos[0], fillpos[1]), m.y(fillpos[0], fillpos[1])); - fill.position = c.dx * y + S + c.dy * y; - } - if (_.fillsize) { - fill.size = _.fillsize[0] * abs(sx) + S + _.fillsize[1] * abs(sy); - } - o.appendChild(fill); - } - s.visibility = "visible"; - }; - R.toString = function () { - return "Your browser doesn\u2019t support SVG. Falling down to VML.\nYou are running Rapha\xebl " + this.version; - }; - var addArrow = function (o, value, isEnd) { - var values = Str(value).toLowerCase().split("-"), - se = isEnd ? "end" : "start", - i = values.length, - type = "classic", - w = "medium", - h = "medium"; - while (i--) { - switch (values[i]) { - case "block": - case "classic": - case "oval": - case "diamond": - case "open": - case "none": - type = values[i]; - break; - case "wide": - case "narrow": h = values[i]; break; - case "long": - case "short": w = values[i]; break; - } - } - var stroke = o.node.getElementsByTagName("stroke")[0]; - stroke[se + "arrow"] = type; - stroke[se + "arrowlength"] = w; - stroke[se + "arrowwidth"] = h; - }, - setFillAndStroke = function (o, params) { - // o.paper.canvas.style.display = "none"; - o.attrs = o.attrs || {}; - var node = o.node, - a = o.attrs, - s = node.style, - xy, - newpath = pathTypes[o.type] && (params.x != a.x || params.y != a.y || params.width != a.width || params.height != a.height || params.cx != a.cx || params.cy != a.cy || params.rx != a.rx || params.ry != a.ry || params.r != a.r), - isOval = ovalTypes[o.type] && (a.cx != params.cx || a.cy != params.cy || a.r != params.r || a.rx != params.rx || a.ry != params.ry), - res = o; - - - for (var par in params) if (params[has](par)) { - a[par] = params[par]; - } - if (newpath) { - a.path = R._getPath[o.type](o); - o._.dirty = 1; - } - params.href && (node.href = params.href); - params.title && (node.title = params.title); - params.target && (node.target = params.target); - params.cursor && (s.cursor = params.cursor); - "blur" in params && o.blur(params.blur); - if (params.path && o.type == "path" || newpath) { - node.path = path2vml(~Str(a.path).toLowerCase().indexOf("r") ? R._pathToAbsolute(a.path) : a.path); - o._.dirty = 1; - if (o.type == "image") { - o._.fillpos = [a.x, a.y]; - o._.fillsize = [a.width, a.height]; - setCoords(o, 1, 1, 0, 0, 0); - } - } - "transform" in params && o.transform(params.transform); - if (isOval) { - var cx = +a.cx, - cy = +a.cy, - rx = +a.rx || +a.r || 0, - ry = +a.ry || +a.r || 0; - node.path = R.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x", round((cx - rx) * zoom), round((cy - ry) * zoom), round((cx + rx) * zoom), round((cy + ry) * zoom), round(cx * zoom)); - o._.dirty = 1; - } - if ("clip-rect" in params) { - var rect = Str(params["clip-rect"]).split(separator); - if (rect.length == 4) { - rect[2] = +rect[2] + (+rect[0]); - rect[3] = +rect[3] + (+rect[1]); - var div = node.clipRect || R._g.doc.createElement("div"), - dstyle = div.style; - dstyle.clip = R.format("rect({1}px {2}px {3}px {0}px)", rect); - if (!node.clipRect) { - dstyle.position = "absolute"; - dstyle.top = 0; - dstyle.left = 0; - dstyle.width = o.paper.width + "px"; - dstyle.height = o.paper.height + "px"; - node.parentNode.insertBefore(div, node); - div.appendChild(node); - node.clipRect = div; - } - } - if (!params["clip-rect"]) { - node.clipRect && (node.clipRect.style.clip = "auto"); - } - } - if (o.textpath) { - var textpathStyle = o.textpath.style; - params.font && (textpathStyle.font = params.font); - params["font-family"] && (textpathStyle.fontFamily = '"' + params["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g, E) + '"'); - params["font-size"] && (textpathStyle.fontSize = params["font-size"]); - params["font-weight"] && (textpathStyle.fontWeight = params["font-weight"]); - params["font-style"] && (textpathStyle.fontStyle = params["font-style"]); - } - if ("arrow-start" in params) { - addArrow(res, params["arrow-start"]); - } - if ("arrow-end" in params) { - addArrow(res, params["arrow-end"], 1); - } - if (params.opacity != null || - params["stroke-width"] != null || - params.fill != null || - params.src != null || - params.stroke != null || - params["stroke-width"] != null || - params["stroke-opacity"] != null || - params["fill-opacity"] != null || - params["stroke-dasharray"] != null || - params["stroke-miterlimit"] != null || - params["stroke-linejoin"] != null || - params["stroke-linecap"] != null) { - var fill = node.getElementsByTagName(fillString), - newfill = false; - fill = fill && fill[0]; - !fill && (newfill = fill = createNode(fillString)); - if (o.type == "image" && params.src) { - fill.src = params.src; - } - params.fill && (fill.on = true); - if (fill.on == null || params.fill == "none" || params.fill === null) { - fill.on = false; - } - if (fill.on && params.fill) { - var isURL = Str(params.fill).match(R._ISURL); - if (isURL) { - fill.parentNode == node && node.removeChild(fill); - fill.rotate = true; - fill.src = isURL[1]; - fill.type = "tile"; - var bbox = o.getBBox(1); - fill.position = bbox.x + S + bbox.y; - o._.fillpos = [bbox.x, bbox.y]; - - R._preload(isURL[1], function () { - o._.fillsize = [this.offsetWidth, this.offsetHeight]; - }); - } else { - fill.color = R.getRGB(params.fill).hex; - fill.src = E; - fill.type = "solid"; - if (R.getRGB(params.fill).error && (res.type in {circle: 1, ellipse: 1} || Str(params.fill).charAt() != "r") && addGradientFill(res, params.fill, fill)) { - a.fill = "none"; - a.gradient = params.fill; - fill.rotate = false; - } - } - } - if ("fill-opacity" in params || "opacity" in params) { - var opacity = ((+a["fill-opacity"] + 1 || 2) - 1) * ((+a.opacity + 1 || 2) - 1) * ((+R.getRGB(params.fill).o + 1 || 2) - 1); - opacity = mmin(mmax(opacity, 0), 1); - fill.opacity = opacity; - if (fill.src) { - fill.color = "none"; - } - } - node.appendChild(fill); - var stroke = (node.getElementsByTagName("stroke") && node.getElementsByTagName("stroke")[0]), - newstroke = false; - !stroke && (newstroke = stroke = createNode("stroke")); - if ((params.stroke && params.stroke != "none") || - params["stroke-width"] || - params["stroke-opacity"] != null || - params["stroke-dasharray"] || - params["stroke-miterlimit"] || - params["stroke-linejoin"] || - params["stroke-linecap"]) { - stroke.on = true; - } - (params.stroke == "none" || params.stroke === null || stroke.on == null || params.stroke == 0 || params["stroke-width"] == 0) && (stroke.on = false); - var strokeColor = R.getRGB(params.stroke); - stroke.on && params.stroke && (stroke.color = strokeColor.hex); - opacity = ((+a["stroke-opacity"] + 1 || 2) - 1) * ((+a.opacity + 1 || 2) - 1) * ((+strokeColor.o + 1 || 2) - 1); - var width = (toFloat(params["stroke-width"]) || 1) * .75; - opacity = mmin(mmax(opacity, 0), 1); - params["stroke-width"] == null && (width = a["stroke-width"]); - params["stroke-width"] && (stroke.weight = width); - width && width < 1 && (opacity *= width) && (stroke.weight = 1); - stroke.opacity = opacity; - - params["stroke-linejoin"] && (stroke.joinstyle = params["stroke-linejoin"] || "miter"); - stroke.miterlimit = params["stroke-miterlimit"] || 8; - params["stroke-linecap"] && (stroke.endcap = params["stroke-linecap"] == "butt" ? "flat" : params["stroke-linecap"] == "square" ? "square" : "round"); - if ("stroke-dasharray" in params) { - var dasharray = { - "-": "shortdash", - ".": "shortdot", - "-.": "shortdashdot", - "-..": "shortdashdotdot", - ". ": "dot", - "- ": "dash", - "--": "longdash", - "- .": "dashdot", - "--.": "longdashdot", - "--..": "longdashdotdot" - }; - stroke.dashstyle = dasharray[has](params["stroke-dasharray"]) ? dasharray[params["stroke-dasharray"]] : E; - } - newstroke && node.appendChild(stroke); - } - if (res.type == "text") { - res.paper.canvas.style.display = E; - var span = res.paper.span, - m = 100, - fontSize = a.font && a.font.match(/\d+(?:\.\d*)?(?=px)/); - s = span.style; - a.font && (s.font = a.font); - a["font-family"] && (s.fontFamily = a["font-family"]); - a["font-weight"] && (s.fontWeight = a["font-weight"]); - a["font-style"] && (s.fontStyle = a["font-style"]); - fontSize = toFloat(a["font-size"] || fontSize && fontSize[0]) || 10; - s.fontSize = fontSize * m + "px"; - res.textpath.string && (span.innerHTML = Str(res.textpath.string).replace(/</g, "<").replace(/&/g, "&").replace(/\n/g, "<br>")); - var brect = span.getBoundingClientRect(); - res.W = a.w = (brect.right - brect.left) / m; - res.H = a.h = (brect.bottom - brect.top) / m; - // res.paper.canvas.style.display = "none"; - res.X = a.x; - res.Y = a.y + res.H / 2; - - ("x" in params || "y" in params) && (res.path.v = R.format("m{0},{1}l{2},{1}", round(a.x * zoom), round(a.y * zoom), round(a.x * zoom) + 1)); - var dirtyattrs = ["x", "y", "text", "font", "font-family", "font-weight", "font-style", "font-size"]; - for (var d = 0, dd = dirtyattrs.length; d < dd; d++) if (dirtyattrs[d] in params) { - res._.dirty = 1; - break; - } - - // text-anchor emulation - switch (a["text-anchor"]) { - case "start": - res.textpath.style["v-text-align"] = "left"; - res.bbx = res.W / 2; - break; - case "end": - res.textpath.style["v-text-align"] = "right"; - res.bbx = -res.W / 2; - break; - default: - res.textpath.style["v-text-align"] = "center"; - res.bbx = 0; - break; - } - res.textpath.style["v-text-kern"] = true; - } - // res.paper.canvas.style.display = E; - }, - addGradientFill = function (o, gradient, fill) { - o.attrs = o.attrs || {}; - var attrs = o.attrs, - pow = Math.pow, - opacity, - oindex, - type = "linear", - fxfy = ".5 .5"; - o.attrs.gradient = gradient; - gradient = Str(gradient).replace(R._radial_gradient, function (all, fx, fy) { - type = "radial"; - if (fx && fy) { - fx = toFloat(fx); - fy = toFloat(fy); - pow(fx - .5, 2) + pow(fy - .5, 2) > .25 && (fy = math.sqrt(.25 - pow(fx - .5, 2)) * ((fy > .5) * 2 - 1) + .5); - fxfy = fx + S + fy; - } - return E; - }); - gradient = gradient.split(/\s*\-\s*/); - if (type == "linear") { - var angle = gradient.shift(); - angle = -toFloat(angle); - if (isNaN(angle)) { - return null; - } - } - var dots = R._parseDots(gradient); - if (!dots) { - return null; - } - o = o.shape || o.node; - if (dots.length) { - o.removeChild(fill); - fill.on = true; - fill.method = "none"; - fill.color = dots[0].color; - fill.color2 = dots[dots.length - 1].color; - var clrs = []; - for (var i = 0, ii = dots.length; i < ii; i++) { - dots[i].offset && clrs.push(dots[i].offset + S + dots[i].color); - } - fill.colors = clrs.length ? clrs.join() : "0% " + fill.color; - if (type == "radial") { - fill.type = "gradientTitle"; - fill.focus = "100%"; - fill.focussize = "0 0"; - fill.focusposition = fxfy; - fill.angle = 0; - } else { - // fill.rotate= true; - fill.type = "gradient"; - fill.angle = (270 - angle) % 360; - } - o.appendChild(fill); - } - return 1; - }, - Element = function (node, vml) { - this[0] = this.node = node; - node.raphael = true; - this.id = R._oid++; - node.raphaelid = this.id; - this.X = 0; - this.Y = 0; - this.attrs = {}; - this.paper = vml; - this.matrix = R.matrix(); - this._ = { - transform: [], - sx: 1, - sy: 1, - dx: 0, - dy: 0, - deg: 0, - dirty: 1, - dirtyT: 1 - }; - !vml.bottom && (vml.bottom = this); - this.prev = vml.top; - vml.top && (vml.top.next = this); - vml.top = this; - this.next = null; - }; - var elproto = R.el; - - Element.prototype = elproto; - elproto.constructor = Element; - elproto.transform = function (tstr) { - if (tstr == null) { - return this._.transform; - } - var vbs = this.paper._viewBoxShift, - vbt = vbs ? "s" + [vbs.scale, vbs.scale] + "-1-1t" + [vbs.dx, vbs.dy] : E, - oldt; - if (vbs) { - oldt = tstr = Str(tstr).replace(/\.{3}|\u2026/g, this._.transform || E); - } - R._extractTransform(this, vbt + tstr); - var matrix = this.matrix.clone(), - skew = this.skew, - o = this.node, - split, - isGrad = ~Str(this.attrs.fill).indexOf("-"), - isPatt = !Str(this.attrs.fill).indexOf("url("); - matrix.translate(1, 1); - if (isPatt || isGrad || this.type == "image") { - skew.matrix = "1 0 0 1"; - skew.offset = "0 0"; - split = matrix.split(); - if ((isGrad && split.noRotation) || !split.isSimple) { - o.style.filter = matrix.toFilter(); - var bb = this.getBBox(), - bbt = this.getBBox(1), - dx = bb.x - bbt.x, - dy = bb.y - bbt.y; - o.coordorigin = (dx * -zoom) + S + (dy * -zoom); - setCoords(this, 1, 1, dx, dy, 0); - } else { - o.style.filter = E; - setCoords(this, split.scalex, split.scaley, split.dx, split.dy, split.rotate); - } - } else { - o.style.filter = E; - skew.matrix = Str(matrix); - skew.offset = matrix.offset(); - } - if (oldt !== null) { // empty string value is true as well - this._.transform = oldt; - R._extractTransform(this, oldt); - } - return this; - }; - elproto.rotate = function (deg, cx, cy) { - if (this.removed) { - return this; - } - if (deg == null) { - return; - } - deg = Str(deg).split(separator); - if (deg.length - 1) { - cx = toFloat(deg[1]); - cy = toFloat(deg[2]); - } - deg = toFloat(deg[0]); - (cy == null) && (cx = cy); - if (cx == null || cy == null) { - var bbox = this.getBBox(1); - cx = bbox.x + bbox.width / 2; - cy = bbox.y + bbox.height / 2; - } - this._.dirtyT = 1; - this.transform(this._.transform.concat([["r", deg, cx, cy]])); - return this; - }; - elproto.translate = function (dx, dy) { - if (this.removed) { - return this; - } - dx = Str(dx).split(separator); - if (dx.length - 1) { - dy = toFloat(dx[1]); - } - dx = toFloat(dx[0]) || 0; - dy = +dy || 0; - if (this._.bbox) { - this._.bbox.x += dx; - this._.bbox.y += dy; - } - this.transform(this._.transform.concat([["t", dx, dy]])); - return this; - }; - elproto.scale = function (sx, sy, cx, cy) { - if (this.removed) { - return this; - } - sx = Str(sx).split(separator); - if (sx.length - 1) { - sy = toFloat(sx[1]); - cx = toFloat(sx[2]); - cy = toFloat(sx[3]); - isNaN(cx) && (cx = null); - isNaN(cy) && (cy = null); - } - sx = toFloat(sx[0]); - (sy == null) && (sy = sx); - (cy == null) && (cx = cy); - if (cx == null || cy == null) { - var bbox = this.getBBox(1); - } - cx = cx == null ? bbox.x + bbox.width / 2 : cx; - cy = cy == null ? bbox.y + bbox.height / 2 : cy; - - this.transform(this._.transform.concat([["s", sx, sy, cx, cy]])); - this._.dirtyT = 1; - return this; - }; - elproto.hide = function () { - !this.removed && (this.node.style.display = "none"); - return this; - }; - elproto.show = function () { - !this.removed && (this.node.style.display = E); - return this; - }; - // Needed to fix the vml setViewBox issues - elproto.auxGetBBox = R.el.getBBox; - elproto.getBBox = function(){ - var b = this.auxGetBBox(); - if (this.paper && this.paper._viewBoxShift) - { - var c = {}; - var z = 1/this.paper._viewBoxShift.scale; - c.x = b.x - this.paper._viewBoxShift.dx; - c.x *= z; - c.y = b.y - this.paper._viewBoxShift.dy; - c.y *= z; - c.width = b.width * z; - c.height = b.height * z; - c.x2 = c.x + c.width; - c.y2 = c.y + c.height; - return c; - } - return b; - }; - elproto._getBBox = function () { - if (this.removed) { - return {}; - } - return { - x: this.X + (this.bbx || 0) - this.W / 2, - y: this.Y - this.H, - width: this.W, - height: this.H - }; - }; - elproto.remove = function () { - if (this.removed || !this.node.parentNode) { - return; - } - this.paper.__set__ && this.paper.__set__.exclude(this); - R.eve.unbind("raphael.*.*." + this.id); - R._tear(this, this.paper); - this.node.parentNode.removeChild(this.node); - this.shape && this.shape.parentNode.removeChild(this.shape); - for (var i in this) { - this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null; - } - this.removed = true; - }; - elproto.attr = function (name, value) { - if (this.removed) { - return this; - } - if (name == null) { - var res = {}; - for (var a in this.attrs) if (this.attrs[has](a)) { - res[a] = this.attrs[a]; - } - res.gradient && res.fill == "none" && (res.fill = res.gradient) && delete res.gradient; - res.transform = this._.transform; - return res; - } - if (value == null && R.is(name, "string")) { - if (name == fillString && this.attrs.fill == "none" && this.attrs.gradient) { - return this.attrs.gradient; - } - var names = name.split(separator), - out = {}; - for (var i = 0, ii = names.length; i < ii; i++) { - name = names[i]; - if (name in this.attrs) { - out[name] = this.attrs[name]; - } else if (R.is(this.paper.customAttributes[name], "function")) { - out[name] = this.paper.customAttributes[name].def; - } else { - out[name] = R._availableAttrs[name]; - } - } - return ii - 1 ? out : out[names[0]]; - } - if (this.attrs && value == null && R.is(name, "array")) { - out = {}; - for (i = 0, ii = name.length; i < ii; i++) { - out[name[i]] = this.attr(name[i]); - } - return out; - } - var params; - if (value != null) { - params = {}; - params[name] = value; - } - value == null && R.is(name, "object") && (params = name); - for (var key in params) { - eve("raphael.attr." + key + "." + this.id, this, params[key]); - } - if (params) { - for (key in this.paper.customAttributes) if (this.paper.customAttributes[has](key) && params[has](key) && R.is(this.paper.customAttributes[key], "function")) { - var par = this.paper.customAttributes[key].apply(this, [].concat(params[key])); - this.attrs[key] = params[key]; - for (var subkey in par) if (par[has](subkey)) { - params[subkey] = par[subkey]; - } - } - // this.paper.canvas.style.display = "none"; - if (params.text && this.type == "text") { - this.textpath.string = params.text; - } - setFillAndStroke(this, params); - // this.paper.canvas.style.display = E; - } - return this; - }; - elproto.toFront = function () { - !this.removed && this.node.parentNode.appendChild(this.node); - this.paper && this.paper.top != this && R._tofront(this, this.paper); - return this; - }; - elproto.toBack = function () { - if (this.removed) { - return this; - } - if (this.node.parentNode.firstChild != this.node) { - this.node.parentNode.insertBefore(this.node, this.node.parentNode.firstChild); - R._toback(this, this.paper); - } - return this; - }; - elproto.insertAfter = function (element) { - if (this.removed) { - return this; - } - if (element.constructor == R.st.constructor) { - element = element[element.length - 1]; - } - if (element.node.nextSibling) { - element.node.parentNode.insertBefore(this.node, element.node.nextSibling); - } else { - element.node.parentNode.appendChild(this.node); - } - R._insertafter(this, element, this.paper); - return this; - }; - elproto.insertBefore = function (element) { - if (this.removed) { - return this; - } - if (element.constructor == R.st.constructor) { - element = element[0]; - } - element.node.parentNode.insertBefore(this.node, element.node); - R._insertbefore(this, element, this.paper); - return this; - }; - elproto.blur = function (size) { - var s = this.node.runtimeStyle, - f = s.filter; - f = f.replace(blurregexp, E); - if (+size !== 0) { - this.attrs.blur = size; - s.filter = f + S + ms + ".Blur(pixelradius=" + (+size || 1.5) + ")"; - s.margin = R.format("-{0}px 0 0 -{0}px", round(+size || 1.5)); - } else { - s.filter = f; - s.margin = 0; - delete this.attrs.blur; - } - return this; - }; - - R._engine.path = function (pathString, vml) { - var el = createNode("shape"); - el.style.cssText = cssDot; - el.coordsize = zoom + S + zoom; - el.coordorigin = vml.coordorigin; - var p = new Element(el, vml), - attr = {fill: "none", stroke: "#000"}; - pathString && (attr.path = pathString); - p.type = "path"; - p.path = []; - p.Path = E; - setFillAndStroke(p, attr); - vml.canvas.appendChild(el); - var skew = createNode("skew"); - skew.on = true; - el.appendChild(skew); - p.skew = skew; - p.transform(E); - return p; - }; - R._engine.rect = function (vml, x, y, w, h, r) { - var path = R._rectPath(x, y, w, h, r), - res = vml.path(path), - a = res.attrs; - res.X = a.x = x; - res.Y = a.y = y; - res.W = a.width = w; - res.H = a.height = h; - a.r = r; - a.path = path; - res.type = "rect"; - return res; - }; - R._engine.ellipse = function (vml, x, y, rx, ry) { - var res = vml.path(), - a = res.attrs; - res.X = x - rx; - res.Y = y - ry; - res.W = rx * 2; - res.H = ry * 2; - res.type = "ellipse"; - setFillAndStroke(res, { - cx: x, - cy: y, - rx: rx, - ry: ry - }); - return res; - }; - R._engine.circle = function (vml, x, y, r) { - var res = vml.path(), - a = res.attrs; - res.X = x - r; - res.Y = y - r; - res.W = res.H = r * 2; - res.type = "circle"; - setFillAndStroke(res, { - cx: x, - cy: y, - r: r - }); - return res; - }; - R._engine.image = function (vml, src, x, y, w, h) { - var path = R._rectPath(x, y, w, h), - res = vml.path(path).attr({stroke: "none"}), - a = res.attrs, - node = res.node, - fill = node.getElementsByTagName(fillString)[0]; - a.src = src; - res.X = a.x = x; - res.Y = a.y = y; - res.W = a.width = w; - res.H = a.height = h; - a.path = path; - res.type = "image"; - fill.parentNode == node && node.removeChild(fill); - fill.rotate = true; - fill.src = src; - fill.type = "tile"; - res._.fillpos = [x, y]; - res._.fillsize = [w, h]; - node.appendChild(fill); - setCoords(res, 1, 1, 0, 0, 0); - return res; - }; - R._engine.text = function (vml, x, y, text) { - var el = createNode("shape"), - path = createNode("path"), - o = createNode("textpath"); - x = x || 0; - y = y || 0; - text = text || ""; - path.v = R.format("m{0},{1}l{2},{1}", round(x * zoom), round(y * zoom), round(x * zoom) + 1); - path.textpathok = true; - o.string = Str(text); - o.on = true; - el.style.cssText = cssDot; - el.coordsize = zoom + S + zoom; - el.coordorigin = "0 0"; - var p = new Element(el, vml), - attr = { - fill: "#000", - stroke: "none", - font: R._availableAttrs.font, - text: text - }; - p.shape = el; - p.path = path; - p.textpath = o; - p.type = "text"; - p.attrs.text = Str(text); - p.attrs.x = x; - p.attrs.y = y; - p.attrs.w = 1; - p.attrs.h = 1; - setFillAndStroke(p, attr); - el.appendChild(o); - el.appendChild(path); - vml.canvas.appendChild(el); - var skew = createNode("skew"); - skew.on = true; - el.appendChild(skew); - p.skew = skew; - p.transform(E); - return p; - }; - R._engine.setSize = function (width, height) { - var cs = this.canvas.style; - this.width = width; - this.height = height; - width == +width && (width += "px"); - height == +height && (height += "px"); - cs.width = width; - cs.height = height; - cs.clip = "rect(0 " + width + " " + height + " 0)"; - if (this._viewBox) { - R._engine.setViewBox.apply(this, this._viewBox); - } - return this; - }; - R._engine.setViewBox = function (x, y, w, h, fit) { - R.eve("raphael.setViewBox", this, this._viewBox, [x, y, w, h, fit]); - var paperSize = this.getSize(), - width = paperSize.width, - height = paperSize.height, - H, W; - if (fit) { - H = height / h; - W = width / w; - if (w * H < width) { - x -= (width - w * H) / 2 / H; - } - if (h * W < height) { - y -= (height - h * W) / 2 / W; - } - } - this._viewBox = [x, y, w, h, !!fit]; - this._viewBoxShift = { - dx: -x, - dy: -y, - scale: paperSize - }; - this.forEach(function (el) { - el.transform("..."); - }); - return this; - }; - var createNode; - R._engine.initWin = function (win) { - var doc = win.document; - if (doc.styleSheets.length < 31) { - doc.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)"); - } else { - // no more room, add to the existing one - // http://msdn.microsoft.com/en-us/library/ms531194%28VS.85%29.aspx - doc.styleSheets[0].addRule(".rvml", "behavior:url(#default#VML)"); - } - try { - !doc.namespaces.rvml && doc.namespaces.add("rvml", "urn:schemas-microsoft-com:vml"); - createNode = function (tagName) { - return doc.createElement('<rvml:' + tagName + ' class="rvml">'); - }; - } catch (e) { - createNode = function (tagName) { - return doc.createElement('<' + tagName + ' xmlns="urn:schemas-microsoft.com:vml" class="rvml">'); - }; - } - }; - R._engine.initWin(R._g.win); - R._engine.create = function () { - var con = R._getContainer.apply(0, arguments), - container = con.container, - height = con.height, - s, - width = con.width, - x = con.x, - y = con.y; - if (!container) { - throw new Error("VML container not found."); - } - var res = new R._Paper, - c = res.canvas = R._g.doc.createElement("div"), - cs = c.style; - x = x || 0; - y = y || 0; - width = width || 512; - height = height || 342; - res.width = width; - res.height = height; - width == +width && (width += "px"); - height == +height && (height += "px"); - res.coordsize = zoom * 1e3 + S + zoom * 1e3; - res.coordorigin = "0 0"; - res.span = R._g.doc.createElement("span"); - res.span.style.cssText = "position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;"; - c.appendChild(res.span); - cs.cssText = R.format("top:0;left:0;display:inline-block;position:absolute;clip:rect(0 {0} {1} 0);", width, height); - if (container == 1) { - R._g.doc.body.appendChild(c); - cs.left = x + "px"; - cs.top = y + "px"; - cs.position = "absolute"; - } else { - if (container.firstChild) { - container.insertBefore(c, container.firstChild); - } else { - container.appendChild(c); - } - } - res.renderfix = function () {}; - return res; - }; - R.prototype.clear = function () { - R.eve("raphael.clear", this); - this.canvas.innerHTML = E; - this.span = R._g.doc.createElement("span"); - this.span.style.cssText = "position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;"; - this.canvas.appendChild(this.span); - this.bottom = this.top = null; - }; - R.prototype.remove = function () { - R.eve("raphael.remove", this); - this.canvas.parentNode.removeChild(this.canvas); - for (var i in this) { - this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null; - } - return true; - }; - - var setproto = R.st; - for (var method in elproto) if (elproto[has](method) && !setproto[has](method)) { - setproto[method] = (function (methodname) { - return function () { - var arg = arguments; - return this.forEach(function (el) { - el[methodname].apply(el, arg); - }); - }; - })(method); - } -})); - -// ┌────────────────────────────────────────────────────────────────────┐ \\ -// │ Raphaël 2.1.4 - JavaScript Vector Library │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Copyright © 2008-2012 Dmitry Baranovskiy (http://raphaeljs.com) │ \\ -// │ Copyright © 2008-2012 Sencha Labs (http://sencha.com) │ \\ -// ├────────────────────────────────────────────────────────────────────┤ \\ -// │ Licensed under the MIT (http://raphaeljs.com/license.html) license.│ \\ -// └────────────────────────────────────────────────────────────────────┘ \\ - -(function (glob, factory) { - if (typeof define === "function" && define.amd) { - define("raphael", ["raphael.core", "raphael.svg", "raphael.vml"], function(Raphael) { - return factory(Raphael); - }); - } else if (typeof exports === "object") { - var raphael = require("raphael.core"); - - require("raphael.svg"); - require("raphael.vml"); - - module.exports = factory(raphael); - } else { - //glob.Raphael = factory(glob.Raphael); - } -}(this, function (Raphael) { - return Raphael.ninja(); -})); \ No newline at end of file diff --git a/src/base/svg/svg.js b/src/base/svg/svg.js deleted file mode 100644 index dd5a1fee2f..0000000000 --- a/src/base/svg/svg.js +++ /dev/null @@ -1,107 +0,0 @@ -/** - * svg绘图 - * - * Created by GUY on 2015/12/3. - * @class BI.Svg - * @extends BI.Widget - */ -BI.Svg = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.Svg.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-svg" - }) - }, - - _init: function () { - BI.Svg.superclass._init.apply(this, arguments); - this.paper = Raphael(this.element[0]); - - this.element.css("overflow", "hidden"); - $(this.paper.canvas).width("100%").height("100%").css({"left": "0", "top": "0"}).appendTo(this.element); - - this.top = this.paper.top; - this.bottom = this.paper.bottom; - this.customAttributes = this.paper.customAttributes; - this.ca = this.paper.ca; - this.raphael = this.paper.raphael; - }, - - add: function () { - return this.paper.add.apply(this.paper, arguments); - }, - - path: function () { - return this.paper.path.apply(this.paper, arguments); - }, - - image: function () { - return this.paper.image.apply(this.paper, arguments); - }, - - rect: function () { - return this.paper.rect.apply(this.paper, arguments); - }, - - circle: function () { - return this.paper.circle.apply(this.paper, arguments); - }, - - ellipse: function () { - return this.paper.ellipse.apply(this.paper, arguments); - }, - - text: function () { - return this.paper.text.apply(this.paper, arguments); - }, - - print: function () { - return this.paper.print.apply(this.paper, arguments); - }, - - - setStart: function () { - return this.paper.setStart.apply(this.paper, arguments); - }, - - setFinish: function () { - return this.paper.setFinish.apply(this.paper, arguments); - }, - - setSize: function () { - return this.paper.setSize.apply(this.paper, arguments); - }, - - setViewBox: function () { - return this.paper.setViewBox.apply(this.paper, arguments); - }, - - - getById: function () { - return this.paper.getById.apply(this.paper, arguments); - }, - - getElementByPoint: function () { - return this.paper.getElementByPoint.apply(this.paper, arguments); - }, - - getElementsByPoint: function () { - return this.paper.getElementsByPoint.apply(this.paper, arguments); - }, - - getFont: function () { - return this.paper.getFont.apply(this.paper, arguments); - }, - - - set: function () { - return this.paper.set.apply(this.paper, arguments); - }, - remove: function () { - return this.paper.remove.apply(this.paper, arguments); - }, - clear: function () { - return this.paper.clear.apply(this.paper, arguments); - } -}); -BI.shortcut("bi.svg", BI.Svg); \ No newline at end of file diff --git a/src/base/table/native.scrollbar.js b/src/base/table/native.scrollbar.js deleted file mode 100644 index ac629be71b..0000000000 --- a/src/base/table/native.scrollbar.js +++ /dev/null @@ -1,155 +0,0 @@ -/** - * - * 原生表格滚动条,为了IE8的兼容 - * - * Created by GUY on 2016/1/12. - * @class BI.NativeTableScrollbar - * @extends BI.Widget - */ -BI.NativeTableScrollbar = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.NativeTableScrollbar.superclass._defaultConfig.apply(this, arguments), { - attributes: { - tabIndex: 0 - }, - contentSize: 0, - defaultPosition: 0, - position: 0, - size: 0 - }) - }, - - render: function () { - var self = this, o = this.options; - //把滚动台size改掉 - this.element.width(36); - - var throttle = BI.throttle(function () { - self.fireEvent(BI.NativeTableScrollbar.EVENT_SCROLL, self.element.scrollTop()); - }, 150, {leading: false}); - this.element.scroll(function () { - throttle(); - }); - return { - type: "bi.default", - scrolly: true, - items: [{ - type: "bi.layout", - width: 1, - ref: function (_ref) { - self.inner = _ref; - } - }] - } - }, - - mounted: function () { - this._populate(); - }, - - _populate: function () { - var self = this, o = this.options; - if (o.size < 1 || o.contentSize <= o.size) { - this.setVisible(false); - return; - } - this.setVisible(true); - try { - this.element.scrollTop(o.position); - } catch (e) { - - } - this.inner.element.height(o.contentSize); - }, - - setContentSize: function (contentSize) { - this.options.contentSize = contentSize; - }, - - setPosition: function (position) { - this.options.position = position; - }, - - setSize: function (size) { - this.setHeight(size); - this.options.size = size; - }, - - populate: function () { - this._populate(); - } -}); -BI.NativeTableScrollbar.EVENT_SCROLL = "EVENT_SCROLL"; -BI.shortcut("bi.native_table_scrollbar", BI.NativeTableScrollbar); - - -BI.NativeTableHorizontalScrollbar = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.NativeTableHorizontalScrollbar.superclass._defaultConfig.apply(this, arguments), { - attributes: { - tabIndex: 0 - }, - contentSize: 0, - position: 0, - size: 0 - }) - }, - - render: function () { - var self = this, o = this.options; - //把滚动台size改掉 - this.element.height(36); - - var throttle = BI.throttle(function () { - self.fireEvent(BI.NativeTableScrollbar.EVENT_SCROLL, self.element.scrollLeft()); - }, 150, {leading: false}); - this.element.scroll(function () { - throttle(); - }); - return { - type: "bi.default", - scrollx: true, - items: [{ - type: "bi.layout", - height: 1, - ref: function (_ref) { - self.inner = _ref; - } - }] - } - }, - - setContentSize: function (contentSize) { - this.options.contentSize = contentSize; - }, - - setPosition: function (position) { - this.options.position = position; - }, - - setSize: function (size) { - this.setWidth(size); - this.options.size = size; - }, - - _populate: function () { - var self = this, o = this.options; - if (o.size < 1 || o.contentSize <= o.size) { - this.setVisible(false); - return; - } - this.setVisible(true); - try { - this.element.scrollLeft(o.position); - } catch (e) { - - } - this.inner.element.width(o.contentSize); - }, - - populate: function () { - this._populate(); - } -}); -BI.NativeTableHorizontalScrollbar.EVENT_SCROLL = "EVENT_SCROLL"; -BI.shortcut("bi.native_table_horizontal_scrollbar", BI.NativeTableHorizontalScrollbar); \ No newline at end of file diff --git a/src/base/table/table.cell.js b/src/base/table/table.cell.js deleted file mode 100644 index fa2ac35646..0000000000 --- a/src/base/table/table.cell.js +++ /dev/null @@ -1,33 +0,0 @@ -/** - * - * 表格 - * - * Created by GUY on 2015/9/22. - * @class BI.TableCell - * @extends BI.Single - */ -BI.TableCell = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.TableCell.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-table-cell", - textAlign: "left", - text: "" - }) - }, - - _init: function () { - BI.TableCell.superclass._init.apply(this, arguments); - BI.createWidget({ - type: "bi.label", - element: this, - whiteSpace: "nowrap", - textAlign: this.options.textAlign, - height: this.options.height, - text: this.options.text, - value: this.options.value, - lgap: 5 - }) - } -}); - -BI.shortcut("bi.table_cell", BI.TableCell); \ No newline at end of file diff --git a/src/base/table/table.collection.cell.js b/src/base/table/table.collection.cell.js deleted file mode 100644 index 5c51053991..0000000000 --- a/src/base/table/table.collection.cell.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * - * 表格单元格 - * - * Created by GUY on 2016/1/12. - * @class BI.CollectionTableCell - * @extends BI.Widget - */ -BI.CollectionTableCell = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.CollectionTableCell.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-collection-table-cell bi-border-right bi-border-bottom", - width: 0, - height: 0, - _left: 0, - _top: 0, - cell: {} - }) - }, - - _init: function () { - BI.CollectionTableCell.superclass._init.apply(this, arguments); - var o = this.options; - this.cell = BI.createWidget(BI.extend({ - type: "bi.label" - }, o.cell, { - cls: (o.cell.cls || "") + " collection-table-cell-wrapper", - width: o.width - (o._left === 0 ? 1 : 0) - 1, - height: o.height - (o._top === 0 ? 1 : 0) - 1 - })); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.cell, - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - }, - - setWidth: function (width) { - BI.CollectionTableCell.superclass.setWidth.apply(this, arguments); - var o = this.options; - this.cell.setWidth(o.width - (o._left === 0 ? 1 : 0) - 1); - }, - - setHeight: function (height) { - BI.CollectionTableCell.superclass.setHeight.apply(this, arguments); - var o = this.options; - this.cell.setHeight(o.height - (o._top === 0 ? 1 : 0) - 1); - } -}); - -BI.shortcut("bi.collection_table_cell", BI.CollectionTableCell); \ No newline at end of file diff --git a/src/base/table/table.collection.js b/src/base/table/table.collection.js deleted file mode 100644 index ee5aea9aa8..0000000000 --- a/src/base/table/table.collection.js +++ /dev/null @@ -1,557 +0,0 @@ -/** - * CollectionTable - * - * Created by GUY on 2016/1/12. - * @class BI.CollectionTable - * @extends BI.Widget - */ -BI.CollectionTable = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.CollectionTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-collection-table", - headerRowSize: 25, - rowSize: 25, - columnSize: [], - isNeedFreeze: false, - freezeCols: [], - isNeedMerge: false, - mergeCols: [], - mergeRule: BI.emptyFn, - header: [], - items: [], - regionColumnSize: [] - }); - }, - - render: function () { - var self = this, o = this.options; - this._width = 0; - this._height = 0; - this._scrollBarSize = BI.DOM.getScrollWidth(); - this.topLeftCollection = BI.createWidget({ - type: "bi.collection_view", - cellSizeAndPositionGetter: function (index) { - return self.topLeftItems[index]; - } - }); - this.topLeftCollection.on(BI.CollectionView.EVENT_SCROLL, function (scroll) { - self.bottomLeftCollection.setScrollLeft(scroll.scrollLeft); - self._populateScrollbar(); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.topRightCollection = BI.createWidget({ - type: "bi.collection_view", - cellSizeAndPositionGetter: function (index) { - return self.topRightItems[index]; - } - }); - this.topRightCollection.on(BI.CollectionView.EVENT_SCROLL, function (scroll) { - self.bottomRightCollection.setScrollLeft(scroll.scrollLeft); - self._populateScrollbar(); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.bottomLeftCollection = BI.createWidget({ - type: "bi.collection_view", - cellSizeAndPositionGetter: function (index) { - return self.bottomLeftItems[index]; - } - }); - this.bottomLeftCollection.on(BI.CollectionView.EVENT_SCROLL, function (scroll) { - self.bottomRightCollection.setScrollTop(scroll.scrollTop); - self.topLeftCollection.setScrollLeft(scroll.scrollLeft); - self._populateScrollbar(); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.bottomRightCollection = BI.createWidget({ - type: "bi.collection_view", - cellSizeAndPositionGetter: function (index) { - return self.bottomRightItems[index]; - } - }); - this.bottomRightCollection.on(BI.CollectionView.EVENT_SCROLL, function (scroll) { - self.bottomLeftCollection.setScrollTop(scroll.scrollTop); - self.topRightCollection.setScrollLeft(scroll.scrollLeft); - self._populateScrollbar(); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.topLeft = BI.createWidget({ - type: "bi.vertical", - scrollable: false, - scrolly: false, - items: [this.topLeftCollection] - }); - this.topRight = BI.createWidget({ - type: "bi.vertical", - scrollable: false, - scrolly: false, - items: [this.topRightCollection] - }); - this.bottomLeft = BI.createWidget({ - type: "bi.vertical", - scrollable: false, - scrolly: false, - items: [this.bottomLeftCollection] - }); - this.bottomRight = BI.createWidget({ - type: "bi.vertical", - scrollable: false, - scrolly: false, - items: [this.bottomRightCollection] - }); - this.contextLayout = BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.topLeft, - top: 0, - left: 0 - }, { - el: this.topRight, - top: 0 - }, { - el: this.bottomLeft, - left: 0 - }, { - el: this.bottomRight - }] - }); - - this.topScrollbar = BI.createWidget({ - type: "bi.grid_table_scrollbar", - width: BI.GridTableScrollbar.SIZE - }); - this.topScrollbar.on(BI.GridTableScrollbar.EVENT_SCROLL, function (scrollTop) { - self.bottomLeftCollection.setScrollTop(scrollTop); - self.bottomRightCollection.setScrollTop(scrollTop); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.leftScrollbar = BI.createWidget({ - type: "bi.grid_table_horizontal_scrollbar", - height: BI.GridTableScrollbar.SIZE - }); - this.leftScrollbar.on(BI.GridTableScrollbar.EVENT_SCROLL, function (scrollLeft) { - self.topLeftCollection.setScrollLeft(scrollLeft); - self.bottomLeftCollection.setScrollLeft(scrollLeft); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.rightScrollbar = BI.createWidget({ - type: "bi.grid_table_horizontal_scrollbar", - height: BI.GridTableScrollbar.SIZE - }); - this.rightScrollbar.on(BI.GridTableScrollbar.EVENT_SCROLL, function (scrollLeft) { - self.topRightCollection.setScrollLeft(scrollLeft); - self.bottomRightCollection.setScrollLeft(scrollLeft); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.scrollBarLayout = BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.topScrollbar, - right: 0, - top: 0 - }, { - el: this.leftScrollbar, - left: 0 - }, { - el: this.rightScrollbar, - }] - }); - this._width = o.width - BI.GridTableScrollbar.SIZE; - this._height = o.height - BI.GridTableScrollbar.SIZE; - }, - - mounted: function () { - var o = this.options; - if (o.items.length > 0 || o.header.length > 0) { - this._digest(); - this._populate(); - } - }, - - _getFreezeColLength: function () { - return this.options.isNeedFreeze ? this.options.freezeCols.length : 0; - }, - - _getFreezeHeaderHeight: function () { - var o = this.options; - if (o.header.length * o.headerRowSize >= this._height) { - return 0; - } - return o.header.length * o.headerRowSize; - }, - - _getActualItems: function () { - var o = this.options; - if (o.header.length * o.headerRowSize >= this._height) { - return o.header.concat(o.items); - } - return o.items; - }, - - _populateScrollbar: function () { - var o = this.options; - var regionSize = this.getRegionSize(), totalLeftColumnSize = 0, totalRightColumnSize = 0, totalColumnSize = 0, - summaryColumnSizeArray = []; - BI.each(o.columnSize, function (i, size) { - if (o.isNeedFreeze === true && o.freezeCols.contains(i)) { - totalLeftColumnSize += size; - } else { - totalRightColumnSize += size; - } - totalColumnSize += size; - if (i === 0) { - summaryColumnSizeArray[i] = size; - } else { - summaryColumnSizeArray[i] = summaryColumnSizeArray[i - 1] + size; - } - }); - this.topScrollbar.setContentSize(this._getActualItems().length * o.rowSize); - this.topScrollbar.setSize(this._height - this._getFreezeHeaderHeight()); - this.topScrollbar.setPosition(this.bottomRightCollection.getScrollTop()); - this.topScrollbar.populate(); - - this.leftScrollbar.setContentSize(totalLeftColumnSize); - this.leftScrollbar.setSize(regionSize); - this.leftScrollbar.setPosition(this.bottomLeftCollection.getScrollLeft()); - this.leftScrollbar.populate(); - - this.rightScrollbar.setContentSize(totalRightColumnSize); - this.rightScrollbar.setSize(this._width - regionSize); - this.rightScrollbar.setPosition(this.bottomRightCollection.getScrollLeft()); - this.rightScrollbar.populate(); - - var items = this.scrollBarLayout.attr("items"); - items[0].top = this._getFreezeHeaderHeight(); - items[1].top = this._height; - items[2].top = this._height; - items[2].left = regionSize; - this.scrollBarLayout.attr("items", items); - this.scrollBarLayout.resize(); - }, - - _populateTable: function () { - var self = this, o = this.options; - var regionSize = this.getRegionSize(), totalLeftColumnSize = 0, totalRightColumnSize = 0, totalColumnSize = 0, - summaryColumnSizeArray = []; - BI.each(o.columnSize, function (i, size) { - if (o.isNeedFreeze === true && o.freezeCols.contains(i)) { - totalLeftColumnSize += size; - } else { - totalRightColumnSize += size; - } - totalColumnSize += size; - if (i === 0) { - summaryColumnSizeArray[i] = size; - } else { - summaryColumnSizeArray[i] = summaryColumnSizeArray[i - 1] + size; - } - }); - - var otlw = regionSize; - var otlh = this._getFreezeHeaderHeight(); - var otrw = this._width - regionSize; - var otrh = this._getFreezeHeaderHeight(); - var oblw = regionSize; - var oblh = this._height - otlh; - var obrw = this._width - regionSize; - var obrh = this._height - otrh; - - var tlw = otlw + this._scrollBarSize; - var tlh = otlh + this._scrollBarSize; - var trw = otrw + this._scrollBarSize; - var trh = otrh + this._scrollBarSize; - var blw = oblw + this._scrollBarSize; - var blh = oblh + this._scrollBarSize; - var brw = obrw + this._scrollBarSize; - var brh = obrh + this._scrollBarSize; - - var digest = function (el) { - el.element.css({ - overflow: "scroll", - overflowX: "scroll", - overflowY: "scroll" - }) - }; - - this.topLeft.setWidth(otlw); - this.topLeft.setHeight(otlh); - this.topRight.setWidth(otrw); - this.topRight.setHeight(otrh); - this.bottomLeft.setWidth(oblw); - this.bottomLeft.setHeight(oblh); - this.bottomRight.setWidth(obrw); - this.bottomRight.setHeight(obrh); - - this.topLeftCollection.setWidth(tlw); - this.topLeftCollection.setHeight(tlh); - this.topRightCollection.setWidth(trw); - this.topRightCollection.setHeight(trh); - this.bottomLeftCollection.setWidth(blw); - this.bottomLeftCollection.setHeight(blh); - this.bottomRightCollection.setWidth(brw); - this.bottomRightCollection.setHeight(brh); - - digest(this.topLeftCollection); - digest(this.topRightCollection); - digest(this.bottomLeftCollection); - digest(this.bottomRightCollection); - - var items = this.contextLayout.attr("items"); - items[1].left = regionSize; - items[2].top = this._getFreezeHeaderHeight(); - items[3].left = regionSize; - items[3].top = this._getFreezeHeaderHeight(); - this.contextLayout.attr("items", items); - this.contextLayout.resize(); - - var leftHeader = [], rightHeader = [], leftItems = [], rightItems = []; - var run = function (positions, items, rendered) { - BI.each(positions, function (i, item) { - var cell = { - type: "bi.collection_table_cell", - cell: items[item.row][item.col] - }; - rendered.push(cell); - }); - }; - run(this.topLeftItems, o.header, leftHeader); - run(this.topRightItems, o.header, rightHeader); - run(this.bottomLeftItems, this._getActualItems(), leftItems); - run(this.bottomRightItems, this._getActualItems(), rightItems); - - this.topLeftCollection._populate(leftHeader); - this.topRightCollection._populate(rightHeader); - this.bottomLeftCollection._populate(leftItems); - this.bottomRightCollection._populate(rightItems); - }, - - _digest: function () { - var o = this.options; - var freezeColLength = this._getFreezeColLength(); - //如果表头位置不够,取消表头冻结 - if (this._getFreezeHeaderHeight() <= 0) { - this.topLeftItems = []; - this.topRightItems = []; - this.bottomLeftItems = this._serialize(this._getActualItems(), 0, freezeColLength, o.rowSize, o.columnSize, o.mergeCols, BI.range(o.header.length)); - this.bottomRightItems = this._serialize(this._getActualItems(), freezeColLength, o.columnSize.length, o.rowSize, o.columnSize, o.mergeCols, BI.range(o.header.length)); - } else { - this.topLeftItems = this._serialize(o.header, 0, freezeColLength, o.headerRowSize, o.columnSize, o.mergeCols); - this.topRightItems = this._serialize(o.header, freezeColLength, o.columnSize.length, o.headerRowSize, o.columnSize, true); - this.bottomLeftItems = this._serialize(o.items, 0, freezeColLength, o.rowSize, o.columnSize, o.mergeCols); - this.bottomRightItems = this._serialize(o.items, freezeColLength, o.columnSize.length, o.rowSize, o.columnSize, o.mergeCols); - } - }, - - _serialize: function (items, startCol, endCol, rowHeight, columnSize, mergeCols, mergeRows) { - mergeCols = mergeCols || []; - mergeRows = mergeRows || []; - var self = this, o = this.options; - var result = [], cache = {}, preCol = {}, preRow = {}, map = {}; - var summaryColumnSize = []; - for (var i = startCol; i < endCol; i++) { - if (i === startCol) { - summaryColumnSize[i] = columnSize[i]; - } else { - summaryColumnSize[i] = summaryColumnSize[i - 1] + columnSize[i]; - } - } - var mergeRow = function (i, j) { - preCol[j]._height += rowHeight; - preCol[j].__mergeRows.push(i); - }; - - var mergeCol = function (i, j) { - preRow[i]._width += columnSize[j]; - preRow[i].__mergeCols.push(j); - }; - - var createOneEl = function (r, c) { - var width = columnSize[c]; - var height = rowHeight; - map[r][c]._row = r; - map[r][c]._col = c; - map[r][c]._width = width; - map[r][c]._height = height; - preCol[c] = map[r][c]; - preCol[c].__mergeRows = [r]; - preRow[r] = map[r][c]; - preRow[r].__mergeCols = [c]; - - result.push({ - x: summaryColumnSize[c] - columnSize[c], - y: +r * rowHeight, - item: map[r][c] - }); - }; - - BI.each(items, function (i, cols) { - for (var j = startCol; j < endCol; j++) { - if (!cache[i]) { - cache[i] = {}; - } - if (!map[i]) { - map[i] = {}; - } - cache[i][j] = cols[j]; - map[i][j] = {}; - if (mergeCols === true || mergeCols.indexOf(j) > -1 || mergeRows === true || mergeRows.indexOf(i) > -1) { - if (i === 0 && j === startCol) { - createOneEl(0, startCol); - } else if (j === startCol && i > 0) { - var isNeedMergeRow = o.mergeRule(cache[i][j], cache[i - 1][j]); - if (isNeedMergeRow === true) { - mergeRow(i, j); - preRow[i] = preCol[j]; - } else { - createOneEl(i, j); - } - } else if (i === 0 && j > startCol) { - var isNeedMergeCol = o.mergeRule(cache[i][j], cache[i][j - 1]); - if (isNeedMergeCol === true) { - mergeCol(i, j); - preCol[j] = preRow[i]; - } else { - createOneEl(i, j); - } - } else { - var isNeedMergeRow = o.mergeRule(cache[i][j], cache[i - 1][j]); - var isNeedMergeCol = o.mergeRule(cache[i][j], cache[i][j - 1]); - if (isNeedMergeCol && isNeedMergeRow) { - continue; - //mergeRow(i, j);//优先合并列 - } - if (isNeedMergeCol) { - mergeCol(i, j); - } - if (isNeedMergeRow) { - mergeRow(i, j); - } - if (!isNeedMergeCol && !isNeedMergeRow) { - createOneEl(i, j); - } - } - } else { - createOneEl(i, j); - } - } - }); - return BI.map(result, function (i, item) { - return { - x: item.x, - y: item.y, - row: item.item._row, - col: item.item._col, - width: item.item._width, - height: item.item._height - } - }); - }, - - _populate: function () { - if (this._width <= 0 || this._height <= 0) { - return; - } - if (this._isNeedDigest === true) { - this._digest(); - } - this._isNeedDigest = false; - this._populateTable(); - this._populateScrollbar(); - }, - - getRegionSize: function () { - var o = this.options; - var regionSize = o.regionColumnSize[0] || 0; - if (o.isNeedFreeze === false || o.freezeCols.length === 0) { - return 0; - } - if (!regionSize) { - BI.each(o.freezeCols, function (i, col) { - regionSize += o.columnSize[col]; - }); - } - return regionSize; - }, - - setVerticalScroll: function (scrollTop) { - this.bottomLeftCollection.setScrollTop(scrollTop); - this.bottomRightCollection.setScrollTop(scrollTop); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - this.topLeftCollection.setScrollLeft(scrollLeft); - this.bottomLeftCollection.setScrollLeft(scrollLeft); - }, - - setRightHorizontalScroll: function (scrollLeft) { - this.topRightCollection.setScrollLeft(scrollLeft); - this.bottomRightCollection.setScrollLeft(scrollLeft); - }, - - getVerticalScroll: function () { - return this.bottomRightCollection.getScrollTop(); - }, - - getLeftHorizontalScroll: function () { - return this.bottomLeftCollection.getScrollLeft(); - }, - - getRightHorizontalScroll: function () { - return this.bottomRightCollection.getScrollLeft(); - }, - - setWidth: function (width) { - BI.CollectionTable.superclass.setWidth.apply(this, arguments); - this._width = this.options.width - BI.GridTableScrollbar.SIZE; - }, - - setHeight: function (height) { - BI.CollectionTable.superclass.setHeight.apply(this, arguments); - this._height = this.options.height - BI.GridTableScrollbar.SIZE; - }, - - setColumnSize: function (columnSize) { - this._isNeedDigest = true; - this.options.columnSize = columnSize; - }, - - setRegionColumnSize: function (regionColumnSize) { - this._isNeedDigest = true; - this.options.regionColumnSize = regionColumnSize; - }, - - getColumnSize: function () { - return this.options.columnSize; - }, - - getRegionColumnSize: function () { - return this.options.regionColumnSize; - }, - - populate: function (items, header) { - if (items && items !== this.options.items) { - this._isNeedDigest = true; - this.options.items = items; - this._restore(); - } - if (header && header !== this.options.header) { - this._isNeedDigest = true; - this.options.header = header; - this._restore(); - } - this._populate(); - }, - - _restore: function () { - this.topLeftCollection.restore(); - this.topRightCollection.restore(); - this.bottomLeftCollection.restore(); - this.bottomRightCollection.restore(); - }, - - restore: function () { - this._restore(); - } -}); -BI.shortcut('bi.collection_table', BI.CollectionTable); \ No newline at end of file diff --git a/src/base/table/table.collection.quick.js b/src/base/table/table.collection.quick.js deleted file mode 100644 index ad8c014bdf..0000000000 --- a/src/base/table/table.collection.quick.js +++ /dev/null @@ -1,191 +0,0 @@ -/** - * QuickCollectionTable - * - * Created by GUY on 2016/1/12. - * @class BI.QuickCollectionTable - * @extends BI.CollectionTable - */ -BI.QuickCollectionTable = BI.inherit(BI.CollectionTable, { - _defaultConfig: function () { - return BI.extend(BI.QuickCollectionTable.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-quick-collection-table" - }); - }, - - render: function () { - BI.QuickCollectionTable.superclass.render.apply(this, arguments); - var self = this, o = this.options; - this.topLeftCollection.setOverflowX(false); - this.topLeftCollection.setOverflowY(false); - this.topRightCollection.setOverflowX(false); - this.topRightCollection.setOverflowY(false); - this.bottomLeftCollection.setOverflowX(false); - this.bottomLeftCollection.setOverflowY(false); - this.bottomRightCollection.setOverflowX(false); - this.bottomRightCollection.setOverflowY(false); - }, - - mounted: function () { - BI.QuickCollectionTable.superclass.mounted.apply(this, arguments); - var self = this; - this._topLeftWheelHandler = new BI.WheelHandler( - BI.bind(this._onWheelLeft, this), - BI.bind(this._shouldHandleLeftX, this), - BI.bind(this._shouldHandleY, this) - ); - this._topRightWheelHandler = new BI.WheelHandler( - BI.bind(this._onWheelRight, this), - BI.bind(this._shouldHandleRightX, this), - BI.bind(this._shouldHandleY, this) - ); - this._bottomLeftWheelHandler = new BI.WheelHandler( - BI.bind(this._onWheelLeft, this), - BI.bind(this._shouldHandleLeftX, this), - BI.bind(this._shouldHandleY, this) - ); - this._bottomRightWheelHandler = new BI.WheelHandler( - BI.bind(this._onWheelRight, this), - BI.bind(this._shouldHandleRightX, this), - BI.bind(this._shouldHandleY, this) - ); - this.topLeftCollection.element.mousewheel(function (e) { - self._topLeftWheelHandler.onWheel(e.originalEvent); - }); - this.topRightCollection.element.mousewheel(function (e) { - self._topRightWheelHandler.onWheel(e.originalEvent); - }); - this.bottomLeftCollection.element.mousewheel(function (e) { - self._bottomLeftWheelHandler.onWheel(e.originalEvent); - }); - this.bottomRightCollection.element.mousewheel(function (e) { - self._bottomRightWheelHandler.onWheel(e.originalEvent); - }); - }, - - _shouldHandleLeftX: function (delta) { - if (delta > 0) { - return this.bottomLeftCollection.getScrollLeft() < this.bottomLeftCollection.getMaxScrollLeft(); - } else { - return this.bottomLeftCollection.getScrollLeft() > 0; - } - }, - - _shouldHandleRightX: function (delta) { - if (delta > 0) { - return this.bottomRightCollection.getScrollLeft() < this.bottomRightCollection.getMaxScrollLeft(); - } else { - return this.bottomRightCollection.getScrollLeft() > 0; - } - }, - - _shouldHandleY: function (delta) { - if (delta > 0) { - return this.bottomRightCollection.getScrollTop() < this.bottomRightCollection.getMaxScrollTop(); - } else { - return this.bottomRightCollection.getScrollTop() > 0; - } - }, - - _onWheelLeft: function (deltaX, deltaY) { - var self = this; - var scrollTop = this.bottomLeftCollection.getScrollTop(); - var scrollLeft = this.bottomLeftCollection.getScrollLeft(); - scrollTop += deltaY; - scrollLeft += deltaX; - this.bottomLeftCollection.setScrollTop(scrollTop); - this.bottomRightCollection.setScrollTop(scrollTop); - this.topLeftCollection.setScrollLeft(scrollLeft); - this.bottomLeftCollection.setScrollLeft(scrollLeft); - self._populateScrollbar(); - this.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }, - - _onWheelRight: function (deltaX, deltaY) { - var self = this; - var scrollTop = this.bottomRightCollection.getScrollTop(); - var scrollLeft = this.bottomRightCollection.getScrollLeft(); - scrollTop += deltaY; - scrollLeft += deltaX; - this.bottomLeftCollection.setScrollTop(scrollTop); - this.bottomRightCollection.setScrollTop(scrollTop); - this.topRightCollection.setScrollLeft(scrollLeft); - this.bottomRightCollection.setScrollLeft(scrollLeft); - self._populateScrollbar(); - this.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }, - - _populateTable: function () { - var self = this, o = this.options; - var regionSize = this.getRegionSize(), totalLeftColumnSize = 0, totalRightColumnSize = 0, totalColumnSize = 0, - summaryColumnSizeArray = [] - BI.each(o.columnSize, function (i, size) { - if (o.isNeedFreeze === true && o.freezeCols.contains(i)) { - totalLeftColumnSize += size; - } else { - totalRightColumnSize += size; - } - totalColumnSize += size; - if (i === 0) { - summaryColumnSizeArray[i] = size; - } else { - summaryColumnSizeArray[i] = summaryColumnSizeArray[i - 1] + size; - } - }); - - var otlw = regionSize; - var otlh = this._getFreezeHeaderHeight(); - var otrw = this._width - regionSize; - var otrh = this._getFreezeHeaderHeight(); - var oblw = regionSize; - var oblh = this._height - otlh; - var obrw = this._width - regionSize; - var obrh = this._height - otrh; - - this.topLeft.setWidth(otlw); - this.topLeft.setHeight(otlh); - this.topRight.setWidth(otrw); - this.topRight.setHeight(otrh); - this.bottomLeft.setWidth(oblw); - this.bottomLeft.setHeight(oblh); - this.bottomRight.setWidth(obrw); - this.bottomRight.setHeight(obrh); - - this.topLeftCollection.setWidth(otlw); - this.topLeftCollection.setHeight(otlh); - this.topRightCollection.setWidth(otrw); - this.topRightCollection.setHeight(otrh); - this.bottomLeftCollection.setWidth(oblw); - this.bottomLeftCollection.setHeight(oblh); - this.bottomRightCollection.setWidth(obrw); - this.bottomRightCollection.setHeight(obrh); - - var items = this.contextLayout.attr("items"); - items[1].left = regionSize; - items[2].top = this._getFreezeHeaderHeight(); - items[3].left = regionSize; - items[3].top = this._getFreezeHeaderHeight(); - this.contextLayout.attr("items", items); - this.contextLayout.resize(); - - var leftHeader = [], rightHeader = [], leftItems = [], rightItems = []; - var run = function (positions, items, rendered) { - BI.each(positions, function (i, item) { - var cell = { - type: "bi.collection_table_cell", - cell: items[item.row][item.col] - }; - rendered.push(cell); - }); - }; - run(this.topLeftItems, o.header, leftHeader); - run(this.topRightItems, o.header, rightHeader); - run(this.bottomLeftItems, this._getActualItems(), leftItems); - run(this.bottomRightItems, this._getActualItems(), rightItems); - - this.topLeftCollection.populate(leftHeader); - this.topRightCollection.populate(rightHeader); - this.bottomLeftCollection.populate(leftItems); - this.bottomRightCollection.populate(rightItems); - } -}); -BI.shortcut('bi.quick_collection_table', BI.QuickCollectionTable); \ No newline at end of file diff --git a/src/base/table/table.grid.cell.js b/src/base/table/table.grid.cell.js deleted file mode 100644 index eaccd5a2b9..0000000000 --- a/src/base/table/table.grid.cell.js +++ /dev/null @@ -1,59 +0,0 @@ -/** - * - * 表格单元格 - * - * Created by GUY on 2016/1/12. - * @class BI.GridTableCell - * @extends BI.Widget - */ -BI.GridTableCell = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.GridTableCell.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-grid-table-cell bi-border-right bi-border-bottom", - width: 0, - height: 0, - _rowIndex: 0, - _columnIndex: 0, - _left: 0, - _top: 0, - cell: {} - }) - }, - - _init: function () { - BI.GridTableCell.superclass._init.apply(this, arguments); - var o = this.options; - this.cell = BI.createWidget(BI.extend({ - type: "bi.label" - }, o.cell, { - cls: (o.cell.cls || "") + "grid-table-cell-wrapper", - width: o.width - (o._columnIndex === 0 ? 1 : 0) - 1, - height: o.height - (o._rowIndex === 0 ? 1 : 0) - 1 - })); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.cell, - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - }, - - setWidth: function (width) { - BI.GridTableCell.superclass.setWidth.apply(this, arguments); - var o = this.options; - this.cell.setWidth(o.width - (o._columnIndex === 0 ? 1 : 0) - 1); - }, - - setHeight: function (height) { - BI.GridTableCell.superclass.setHeight.apply(this, arguments); - var o = this.options; - this.cell.setHeight(o.height - (o._rowIndex === 0 ? 1 : 0) - 1); - } -}); - -BI.shortcut("bi.grid_table_cell", BI.GridTableCell); \ No newline at end of file diff --git a/src/base/table/table.grid.js b/src/base/table/table.grid.js deleted file mode 100644 index 1eae8487b8..0000000000 --- a/src/base/table/table.grid.js +++ /dev/null @@ -1,473 +0,0 @@ -/** - * GridTable - * - * Created by GUY on 2016/1/12. - * @class BI.GridTable - * @extends BI.Widget - */ -BI.GridTable = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.GridTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-grid-table", - headerRowSize: 25, - rowSize: 25, - columnSize: [], - isNeedFreeze: false, - freezeCols: [], - header: [], - items: [], - regionColumnSize: [] - }); - }, - - render: function () { - var self = this, o = this.options; - this._width = 0; - this._height = 0; - this._scrollBarSize = BI.DOM.getScrollWidth(); - var rowHeightGetter = function () { - return o.rowSize; - }; - var columnLeftWidthGetter = function (index) { - return o.columnSize[index]; - }; - var columnRightWidthGetter = function (index) { - return o.columnSize[index + self._getFreezeColLength()]; - }; - this.topLeftGrid = BI.createWidget({ - type: "bi.grid_view", - rowHeightGetter: rowHeightGetter, - columnWidthGetter: columnLeftWidthGetter - }); - this.topLeftGrid.on(BI.GridView.EVENT_SCROLL, function (scroll) { - self.bottomLeftGrid.setScrollLeft(scroll.scrollLeft); - self._populateScrollbar(); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.topRightGrid = BI.createWidget({ - type: "bi.grid_view", - rowHeightGetter: rowHeightGetter, - columnWidthGetter: columnRightWidthGetter - }); - this.topRightGrid.on(BI.GridView.EVENT_SCROLL, function (scroll) { - self.bottomRightGrid.setScrollLeft(scroll.scrollLeft); - self._populateScrollbar(); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.bottomLeftGrid = BI.createWidget({ - type: "bi.grid_view", - rowHeightGetter: rowHeightGetter, - columnWidthGetter: columnLeftWidthGetter - }); - this.bottomLeftGrid.on(BI.GridView.EVENT_SCROLL, function (scroll) { - self.bottomRightGrid.setScrollTop(scroll.scrollTop); - self.topLeftGrid.setScrollLeft(scroll.scrollLeft); - self._populateScrollbar(); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.bottomRightGrid = BI.createWidget({ - type: "bi.grid_view", - rowHeightGetter: rowHeightGetter, - columnWidthGetter: columnRightWidthGetter - }); - this.bottomRightGrid.on(BI.GridView.EVENT_SCROLL, function (scroll) { - self.bottomLeftGrid.setScrollTop(scroll.scrollTop); - self.topRightGrid.setScrollLeft(scroll.scrollLeft); - self._populateScrollbar(); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.topLeft = BI.createWidget({ - type: "bi.vertical", - scrollable: false, - scrolly: false, - items: [this.topLeftGrid] - }); - this.topRight = BI.createWidget({ - type: "bi.vertical", - scrollable: false, - scrolly: false, - items: [this.topRightGrid] - }); - this.bottomLeft = BI.createWidget({ - type: "bi.vertical", - scrollable: false, - scrolly: false, - items: [this.bottomLeftGrid] - }); - this.bottomRight = BI.createWidget({ - type: "bi.vertical", - scrollable: false, - scrolly: false, - items: [this.bottomRightGrid] - }); - this.contextLayout = BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.topLeft, - top: 0, - left: 0 - }, { - el: this.topRight, - top: 0 - }, { - el: this.bottomLeft, - left: 0 - }, { - el: this.bottomRight - }] - }); - - this.topScrollbar = BI.createWidget({ - type: "bi.grid_table_scrollbar", - width: BI.GridTableScrollbar.SIZE - }); - this.topScrollbar.on(BI.GridTableScrollbar.EVENT_SCROLL, function (scrollTop) { - self.bottomLeftGrid.setScrollTop(scrollTop); - self.bottomRightGrid.setScrollTop(scrollTop); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.leftScrollbar = BI.createWidget({ - type: "bi.grid_table_horizontal_scrollbar", - height: BI.GridTableScrollbar.SIZE - }); - this.leftScrollbar.on(BI.GridTableHorizontalScrollbar.EVENT_SCROLL, function (scrollLeft) { - self.topLeftGrid.setScrollLeft(scrollLeft); - self.bottomLeftGrid.setScrollLeft(scrollLeft); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.rightScrollbar = BI.createWidget({ - type: "bi.grid_table_horizontal_scrollbar", - height: BI.GridTableScrollbar.SIZE - }); - this.rightScrollbar.on(BI.GridTableHorizontalScrollbar.EVENT_SCROLL, function (scrollLeft) { - self.topRightGrid.setScrollLeft(scrollLeft); - self.bottomRightGrid.setScrollLeft(scrollLeft); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.scrollBarLayout = BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.topScrollbar, - right: 0, - top: 0 - }, { - el: this.leftScrollbar, - left: 0 - }, { - el: this.rightScrollbar - }] - }); - this._width = o.width - BI.GridTableScrollbar.SIZE; - this._height = o.height - BI.GridTableScrollbar.SIZE; - this.header = this._getHeader(); - this.items = this._getItems(); - }, - - mounted: function () { - var o = this.options; - if (o.items.length > 0 || o.header.length > 0) { - this._populate(); - } - }, - - _getFreezeColLength: function () { - return this.options.isNeedFreeze ? this.options.freezeCols.length : 0; - }, - - _getFreezeHeaderHeight: function () { - var o = this.options; - if (o.header.length * o.headerRowSize >= this._height) { - return 0; - } - return o.header.length * o.headerRowSize; - }, - - _getActualItems: function () { - var o = this.options; - if (o.header.length * o.headerRowSize >= this._height) { - return o.header.concat(o.items); - } - return o.items; - }, - - _populateScrollbar: function () { - var o = this.options; - var regionSize = this.getRegionSize(), totalLeftColumnSize = 0, totalRightColumnSize = 0, totalColumnSize = 0, - summaryColumnSizeArray = []; - BI.each(o.columnSize, function (i, size) { - if (o.isNeedFreeze === true && o.freezeCols.contains(i)) { - totalLeftColumnSize += size; - } else { - totalRightColumnSize += size; - } - totalColumnSize += size; - if (i === 0) { - summaryColumnSizeArray[i] = size; - } else { - summaryColumnSizeArray[i] = summaryColumnSizeArray[i - 1] + size; - } - }); - this.topScrollbar.setContentSize(this._getActualItems().length * o.rowSize); - this.topScrollbar.setSize(this._height - this._getFreezeHeaderHeight()); - this.topScrollbar.setPosition(Math.min(this.bottomLeftGrid.getScrollTop(), this.bottomRightGrid.getScrollTop())); - this.topScrollbar.populate(); - - this.leftScrollbar.setContentSize(totalLeftColumnSize); - this.leftScrollbar.setSize(regionSize); - this.leftScrollbar.setPosition(this.bottomLeftGrid.getScrollLeft()); - this.leftScrollbar.populate(); - - this.rightScrollbar.setContentSize(totalRightColumnSize); - this.rightScrollbar.setSize(this._width - regionSize); - this.rightScrollbar.setPosition(this.bottomRightGrid.getScrollLeft()); - this.rightScrollbar.populate(); - - var items = this.scrollBarLayout.attr("items"); - items[0].top = this._getFreezeHeaderHeight(); - items[1].top = this._height; - items[2].top = this._height; - items[2].left = regionSize; - this.scrollBarLayout.attr("items", items); - this.scrollBarLayout.resize(); - }, - - _getHeader: function () { - var o = this.options; - var freezeColLength = this._getFreezeColLength(); - var leftHeader = [], rightHeader = []; - BI.each(o.header, function (i, cols) { - leftHeader[i] = []; - rightHeader[i] = []; - BI.each(cols, function (j, col) { - var cell = { - type: "bi.grid_table_cell", - cell: col - }; - if (j < freezeColLength) { - leftHeader[i].push(cell); - } else { - rightHeader[i].push(cell); - } - }); - }); - return [leftHeader, rightHeader]; - }, - - _getItems: function () { - var o = this.options; - var freezeColLength = this._getFreezeColLength(); - var leftItems = [], rightItems = []; - BI.each(this._getActualItems(), function (i, cols) { - leftItems[i] = []; - rightItems[i] = []; - BI.each(cols, function (j, col) { - var cell = { - type: "bi.grid_table_cell", - cell: col - }; - if (j < freezeColLength) { - leftItems[i].push(cell); - } else { - rightItems[i].push(cell); - } - }); - }); - return [leftItems, rightItems]; - }, - - _populateTable: function () { - var self = this, o = this.options; - var regionSize = this.getRegionSize(), totalLeftColumnSize = 0, totalRightColumnSize = 0, totalColumnSize = 0, - summaryColumnSizeArray = []; - var freezeColLength = this._getFreezeColLength(); - BI.each(o.columnSize, function (i, size) { - if (o.isNeedFreeze === true && o.freezeCols.contains(i)) { - totalLeftColumnSize += size; - } else { - totalRightColumnSize += size; - } - totalColumnSize += size; - if (i === 0) { - summaryColumnSizeArray[i] = size; - } else { - summaryColumnSizeArray[i] = summaryColumnSizeArray[i - 1] + size; - } - }); - - var otlw = regionSize; - var otlh = this._getFreezeHeaderHeight(); - var otrw = this._width - regionSize; - var otrh = this._getFreezeHeaderHeight(); - var oblw = regionSize; - var oblh = this._height - otlh; - var obrw = this._width - regionSize; - var obrh = this._height - otrh; - - var tlw = otlw + this._scrollBarSize; - var tlh = otlh + this._scrollBarSize; - var trw = otrw + this._scrollBarSize; - var trh = otrh + this._scrollBarSize; - var blw = oblw + this._scrollBarSize; - var blh = oblh + this._scrollBarSize; - var brw = obrw + this._scrollBarSize; - var brh = obrh + this._scrollBarSize; - - var digest = function (el) { - el.element.css({ - overflow: "scroll", - overflowX: "scroll", - overflowY: "scroll" - }) - }; - - this.topLeft.setWidth(otlw); - this.topLeft.setHeight(otlh); - this.topRight.setWidth(otrw); - this.topRight.setHeight(otrh); - this.bottomLeft.setWidth(oblw); - this.bottomLeft.setHeight(oblh); - this.bottomRight.setWidth(obrw); - this.bottomRight.setHeight(obrh); - - this.topLeftGrid.setWidth(tlw); - this.topLeftGrid.setHeight(tlh); - this.topRightGrid.setWidth(trw); - this.topRightGrid.setHeight(trh); - this.bottomLeftGrid.setWidth(blw); - this.bottomLeftGrid.setHeight(blh); - this.bottomRightGrid.setWidth(brw); - this.bottomRightGrid.setHeight(brh); - - digest(this.topLeftGrid); - digest(this.topRightGrid); - digest(this.bottomLeftGrid); - digest(this.bottomRightGrid); - - this.topLeftGrid.setEstimatedColumnSize(freezeColLength > 0 ? totalLeftColumnSize / freezeColLength : 0); - this.topLeftGrid.setEstimatedRowSize(o.headerRowSize); - this.topRightGrid.setEstimatedColumnSize((o.columnSize.length - freezeColLength) > 0 ? (totalRightColumnSize / (o.columnSize.length - freezeColLength)) : 0); - this.topRightGrid.setEstimatedRowSize(o.headerRowSize); - this.bottomLeftGrid.setEstimatedColumnSize(freezeColLength > 0 ? totalLeftColumnSize / freezeColLength : 0); - this.bottomLeftGrid.setEstimatedRowSize(o.rowSize); - this.bottomRightGrid.setEstimatedColumnSize((o.columnSize.length - freezeColLength) > 0 ? (totalRightColumnSize / (o.columnSize.length - freezeColLength)) : 0); - this.bottomRightGrid.setEstimatedRowSize(o.rowSize); - - var items = this.contextLayout.attr("items"); - items[1].left = regionSize; - items[2].top = this._getFreezeHeaderHeight(); - items[3].left = regionSize; - items[3].top = this._getFreezeHeaderHeight(); - this.contextLayout.attr("items", items); - this.contextLayout.resize(); - - this.topLeftGrid._populate(this.header[0]); - this.topRightGrid._populate(this.header[1]); - this.bottomLeftGrid._populate(this.items[0]); - this.bottomRightGrid._populate(this.items[1]); - }, - - _populate: function () { - if (this._width <= 0 || this._height <= 0) { - return; - } - this._populateTable(); - this._populateScrollbar(); - }, - - getRegionSize: function () { - var o = this.options; - var regionSize = o.regionColumnSize[0] || 0; - if (o.isNeedFreeze === false || o.freezeCols.length === 0) { - return 0; - } - if (!regionSize) { - BI.each(o.freezeCols, function (i, col) { - regionSize += o.columnSize[col]; - }); - } - return regionSize; - }, - - setVerticalScroll: function (scrollTop) { - this.bottomLeftGrid.setScrollTop(scrollTop); - this.bottomRightGrid.setScrollTop(scrollTop); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - this.topLeftGrid.setScrollLeft(scrollLeft); - this.bottomLeftGrid.setScrollLeft(scrollLeft); - }, - - setRightHorizontalScroll: function (scrollLeft) { - this.topRightGrid.setScrollLeft(scrollLeft); - this.bottomRightGrid.setScrollLeft(scrollLeft); - }, - - getVerticalScroll: function () { - return this.bottomRightGrid.getScrollTop(); - }, - - getLeftHorizontalScroll: function () { - return this.bottomLeftGrid.getScrollLeft(); - }, - - getRightHorizontalScroll: function () { - return this.bottomRightGrid.getScrollLeft(); - }, - - setWidth: function (width) { - BI.GridTable.superclass.setWidth.apply(this, arguments); - this._width = this.options.width - BI.GridTableScrollbar.SIZE; - }, - - setHeight: function (height) { - BI.GridTable.superclass.setHeight.apply(this, arguments); - this._height = this.options.height - BI.GridTableScrollbar.SIZE; - }, - - setColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - this._isNeedDigest = true; - }, - - setRegionColumnSize: function (regionColumnSize) { - this.options.regionColumnSize = regionColumnSize; - this._isNeedDigest = true; - }, - - getColumnSize: function () { - return this.options.columnSize; - }, - - getRegionColumnSize: function () { - return this.options.regionColumnSize; - }, - - populate: function (items, header) { - if (items && this.options.items !== items) { - this.options.items = items; - this.items = this._getItems(); - this._restore(); - } - if (header && this.options.header !== header) { - this.options.header = header; - this.header = this._getHeader(); - this._restore(); - } - this._populate(); - }, - - _restore: function () { - this.topLeftGrid.restore(); - this.topRightGrid.restore(); - this.bottomLeftGrid.restore(); - this.bottomRightGrid.restore(); - }, - - restore: function () { - this._restore(); - } -}); -BI.shortcut('bi.grid_table', BI.GridTable); \ No newline at end of file diff --git a/src/base/table/table.grid.quick.js b/src/base/table/table.grid.quick.js deleted file mode 100644 index 46f9794681..0000000000 --- a/src/base/table/table.grid.quick.js +++ /dev/null @@ -1,218 +0,0 @@ -/** - * QuickGridTable - * - * Created by GUY on 2016/1/12. - * @class BI.QuickGridTable - * @extends BI.GridTable - */ -BI.QuickGridTable = BI.inherit(BI.GridTable, { - _defaultConfig: function () { - return BI.extend(BI.QuickGridTable.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-quick-grid-table" - }); - }, - - render: function () { - BI.QuickGridTable.superclass.render.apply(this, arguments); - var self = this, o = this.options; - this.topLeftGrid.setOverflowX(false); - this.topLeftGrid.setOverflowY(false); - this.topRightGrid.setOverflowX(false); - this.topRightGrid.setOverflowY(false); - this.bottomLeftGrid.setOverflowX(false); - this.bottomLeftGrid.setOverflowY(false); - this.bottomRightGrid.setOverflowX(false); - this.bottomRightGrid.setOverflowY(false); - }, - - mounted: function () { - BI.QuickGridTable.superclass.mounted.apply(this, arguments); - var self = this; - this._topLeftWheelHandler = new BI.WheelHandler( - BI.bind(this._onWheelLeft, this), - BI.bind(this._shouldHandleLeftX, this), - BI.bind(this._shouldHandleY, this) - ); - this._topRightWheelHandler = new BI.WheelHandler( - BI.bind(this._onWheelRight, this), - BI.bind(this._shouldHandleRightX, this), - BI.bind(this._shouldHandleY, this) - ); - this._bottomLeftWheelHandler = new BI.WheelHandler( - BI.bind(this._onWheelLeft, this), - BI.bind(this._shouldHandleLeftX, this), - BI.bind(this._shouldHandleY, this) - ); - this._bottomRightWheelHandler = new BI.WheelHandler( - BI.bind(this._onWheelRight, this), - BI.bind(this._shouldHandleRightX, this), - BI.bind(this._shouldHandleY, this) - ); - this.topLeftGrid.element.mousewheel(function (e) { - self._topLeftWheelHandler.onWheel(e.originalEvent); - }); - this.topRightGrid.element.mousewheel(function (e) { - self._topRightWheelHandler.onWheel(e.originalEvent); - }); - this.bottomLeftGrid.element.mousewheel(function (e) { - self._bottomLeftWheelHandler.onWheel(e.originalEvent); - }); - this.bottomRightGrid.element.mousewheel(function (e) { - self._bottomRightWheelHandler.onWheel(e.originalEvent); - }); - }, - - _shouldHandleLeftX: function (delta) { - if (delta > 0) { - return this.bottomLeftGrid.getScrollLeft() < this.bottomLeftGrid.getMaxScrollLeft(); - } else { - return this.bottomLeftGrid.getScrollLeft() > 0; - } - }, - - _shouldHandleRightX: function (delta) { - if (delta > 0) { - return this.bottomRightGrid.getScrollLeft() < this.bottomRightGrid.getMaxScrollLeft(); - } else { - return this.bottomRightGrid.getScrollLeft() > 0; - } - }, - - _shouldHandleY: function (delta) { - if (delta > 0) { - return this.bottomRightGrid.getScrollTop() < this.bottomRightGrid.getMaxScrollTop(); - } else { - return this.bottomRightGrid.getScrollTop() > 0; - } - }, - - _onWheelLeft: function (deltaX, deltaY) { - var self = this; - var scrollTop = this.bottomLeftGrid.getScrollTop(); - var scrollLeft = this.bottomLeftGrid.getScrollLeft(); - scrollTop += deltaY; - scrollLeft += deltaX; - this.bottomLeftGrid.setScrollTop(scrollTop); - this.bottomRightGrid.setScrollTop(scrollTop); - this.topLeftGrid.setScrollLeft(scrollLeft); - this.bottomLeftGrid.setScrollLeft(scrollLeft); - self._populateScrollbar(); - this.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }, - - _onWheelRight: function (deltaX, deltaY) { - var self = this; - var scrollTop = this.bottomRightGrid.getScrollTop(); - var scrollLeft = this.bottomRightGrid.getScrollLeft(); - scrollTop += deltaY; - scrollLeft += deltaX; - this.bottomLeftGrid.setScrollTop(scrollTop); - this.bottomRightGrid.setScrollTop(scrollTop); - this.topRightGrid.setScrollLeft(scrollLeft); - this.bottomRightGrid.setScrollLeft(scrollLeft); - self._populateScrollbar(); - this.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }, - - _populateTable: function () { - var self = this, o = this.options; - var regionSize = this.getRegionSize(), totalLeftColumnSize = 0, totalRightColumnSize = 0, totalColumnSize = 0, - summaryColumnSizeArray = []; - var freezeColLength = this._getFreezeColLength(); - BI.each(o.columnSize, function (i, size) { - if (o.isNeedFreeze === true && o.freezeCols.contains(i)) { - totalLeftColumnSize += size; - } else { - totalRightColumnSize += size; - } - totalColumnSize += size; - if (i === 0) { - summaryColumnSizeArray[i] = size; - } else { - summaryColumnSizeArray[i] = summaryColumnSizeArray[i - 1] + size; - } - }); - - var otlw = regionSize; - var otlh = this._getFreezeHeaderHeight(); - var otrw = this._width - regionSize; - var otrh = this._getFreezeHeaderHeight(); - var oblw = regionSize; - var oblh = this._height - otlh; - var obrw = this._width - regionSize; - var obrh = this._height - otrh; - - this.topLeft.setWidth(otlw); - this.topLeft.setHeight(otlh); - this.topRight.setWidth(otrw); - this.topRight.setHeight(otrh); - this.bottomLeft.setWidth(oblw); - this.bottomLeft.setHeight(oblh); - this.bottomRight.setWidth(obrw); - this.bottomRight.setHeight(obrh); - - this.topLeftGrid.setWidth(otlw); - this.topLeftGrid.setHeight(otlh); - this.topRightGrid.setWidth(otrw); - this.topRightGrid.setHeight(otrh); - this.bottomLeftGrid.setWidth(oblw); - this.bottomLeftGrid.setHeight(oblh); - this.bottomRightGrid.setWidth(obrw); - this.bottomRightGrid.setHeight(obrh); - - this.topLeftGrid.setEstimatedColumnSize(freezeColLength > 0 ? totalLeftColumnSize / freezeColLength : 0); - this.topLeftGrid.setEstimatedRowSize(o.headerRowSize); - this.topRightGrid.setEstimatedColumnSize((o.columnSize.length - freezeColLength) > 0 ? (totalRightColumnSize / (o.columnSize.length - freezeColLength)) : 0); - this.topRightGrid.setEstimatedRowSize(o.headerRowSize); - this.bottomLeftGrid.setEstimatedColumnSize(freezeColLength > 0 ? totalLeftColumnSize / freezeColLength : 0); - this.bottomLeftGrid.setEstimatedRowSize(o.rowSize); - this.bottomRightGrid.setEstimatedColumnSize((o.columnSize.length - freezeColLength) > 0 ? (totalRightColumnSize / (o.columnSize.length - freezeColLength)) : 0); - this.bottomRightGrid.setEstimatedRowSize(o.rowSize); - - var items = this.contextLayout.attr("items"); - items[1].left = regionSize; - items[2].top = this._getFreezeHeaderHeight(); - items[3].left = regionSize; - items[3].top = this._getFreezeHeaderHeight(); - this.contextLayout.attr("items", items); - this.contextLayout.resize(); - - var leftHeader = [], rightHeader = [], leftItems = [], rightItems = []; - BI.each(o.header, function (i, cols) { - leftHeader[i] = []; - rightHeader[i] = []; - BI.each(cols, function (j, col) { - var cell = { - type: "bi.grid_table_cell", - cell: col - }; - if (j < freezeColLength) { - leftHeader[i].push(cell); - } else { - rightHeader[i].push(cell); - } - }); - }); - BI.each(this._getActualItems(), function (i, cols) { - leftItems[i] = []; - rightItems[i] = []; - BI.each(cols, function (j, col) { - var cell = { - type: "bi.grid_table_cell", - cell: col - }; - if (j < freezeColLength) { - leftItems[i].push(cell); - } else { - rightItems[i].push(cell); - } - }); - }); - - this.topLeftGrid.populate(leftHeader); - this.topRightGrid.populate(rightHeader); - this.bottomLeftGrid.populate(leftItems); - this.bottomRightGrid.populate(rightItems); - } -}); -BI.shortcut('bi.quick_grid_table', BI.QuickGridTable); \ No newline at end of file diff --git a/src/base/table/table.grid.scrollbar.js b/src/base/table/table.grid.scrollbar.js deleted file mode 100644 index 7f1bcb3841..0000000000 --- a/src/base/table/table.grid.scrollbar.js +++ /dev/null @@ -1,420 +0,0 @@ -/** - * - * 表格滚动条 - * - * Created by GUY on 2016/1/12. - * @class BI.GridTableScrollbar - * @extends BI.Widget - */ -BI.GridTableScrollbar = BI.inherit(BI.Widget, { - _const: { - FACE_MARGIN: 4, - FACE_MARGIN_2: 4 * 2, - FACE_SIZE_MIN: 30, - KEYBOARD_SCROLL_AMOUNT: 40 - }, - _defaultConfig: function () { - return BI.extend(BI.GridTableScrollbar.superclass._defaultConfig.apply(this, arguments), { - baseCls: "scrollbar-layout-main public-scrollbar-main", - attributes: { - tabIndex: 0 - }, - contentSize: 0, - defaultPosition: 0, - isOpaque: false, - orientation: "vertical", - position: 0, - size: 0 - }) - }, - - render: function () { - var self = this, o = this.options; - this.focused = false; - this.isDragging = false; - this.face = BI.createWidget({ - type: "bi.layout", - cls: "scrollbar-layout-face public-scrollbar-face " - + (this._isHorizontal() ? "scrollbar-layout-face-horizontal" : "scrollbar-layout-face-vertical") - }); - this.contextLayout = BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.face, - left: 0, - top: 0 - }] - }); - }, - - mounted: function () { - var self = this, o = this.options; - var onWheel = o.orientation === 'horizontal' ? this._onWheelX : this._onWheelY; - this._wheelHandler = new BI.WheelHandler( - BI.bind(onWheel, this), - BI.bind(this._shouldHandleX, this), - BI.bind(this._shouldHandleY, this) - ); - this._mouseMoveTracker = new BI.MouseMoveTracker( - BI.bind(this._onMouseMove, this), - BI.bind(this._onMouseMoveEnd, this), - document - ); - this.element.on("mousedown", BI.bind(this._onMouseDown, this)); - this.element.on("mousewheel", function (e) { - self._wheelHandler.onWheel(e.originalEvent); - }); - this.element.on("keydown", BI.bind(this._onKeyDown, this)); - this.element.on("focus", function () { - self.focused = true; - self._populate(); - }); - this.element.on("blur", function () { - self.focused = false; - self._populate(); - }); - if (this._isHorizontal()) { - this.element.addClass("scrollbar-layout-main-horizontal"); - } else { - this.element.addClass("scrollbar-layout-main-vertical"); - } - this._populate(); - }, - - _isHorizontal: function () { - return this.options.orientation === 'horizontal' - }, - - _getScale: function () { - var o = this.options; - var scale = o.size / o.contentSize; - var faceSize = o.size * scale; - - if (faceSize < this._const.FACE_SIZE_MIN) { - scale = (o.size - this._const.FACE_SIZE_MIN) / (o.contentSize - o.size); - } - return scale; - }, - - _getFaceSize: function () { - var o = this.options; - var scale = o.size / o.contentSize; - var faceSize = o.size * scale; - - if (faceSize < this._const.FACE_SIZE_MIN) { - faceSize = this._const.FACE_SIZE_MIN; - } - return faceSize; - }, - - _shouldHandleX: function (delta) { - return this.options.orientation === 'horizontal' ? - this._shouldHandleChange(delta) : - false; - }, - - _shouldHandleY: function (delta) { - return this.options.orientation !== 'horizontal' ? - this._shouldHandleChange(delta) : - false; - }, - - _shouldHandleChange: function (delta) { - return this.options.position + delta !== this.options.position; - }, - - _onWheelY: function (deltaX, deltaY) { - this._onWheel(deltaY); - }, - - _onWheelX: function (deltaX, deltaY) { - this._onWheel(deltaX); - }, - - _onWheel: function (delta) { - var maxPosition = this.options.contentSize - this.options.size; - this.options.position += delta; - if (this.options.position < 0) { - this.options.position = 0; - } else if (this.options.position > maxPosition) { - this.options.position = maxPosition; - } - this._populate(); - this.fireEvent(BI.GridTableScrollbar.EVENT_SCROLL, this.options.position); - }, - - _onMouseDown: function (e) { - if (e.target !== this.face.element[0]) { - var position = this._isHorizontal() ? e.offsetX : e.offsetY; - position /= this._getScale(); - this.options.position = BI.clamp(position - (this._getFaceSize() * 0.5 / this._getScale()), 0, this.options.contentSize - this.options.size); - this._populate(); - this.fireEvent(BI.GridTableScrollbar.EVENT_SCROLL, this.options.position); - } else { - this._mouseMoveTracker.captureMouseMoves(e); - } - try { - this.element[0].focus(); - } catch (e) { - - } - }, - - _onMouseMove: function (deltaX, deltaY) { - var delta = this._isHorizontal() ? deltaX : deltaY; - delta /= this._getScale(); - this.options.position = BI.clamp(this.options.position + delta, 0, this.options.contentSize - this.options.size); - this.isDragging = this._mouseMoveTracker.isDragging(); - this._populate(); - this.fireEvent(BI.GridTableScrollbar.EVENT_SCROLL, this.options.position); - }, - - _onMouseMoveEnd: function (event) { - this._mouseMoveTracker.releaseMouseMoves(); - if (this.isDragging === true) { - this.isDragging = false; - this._populate(); - } - }, - - _onKeyDown: function (event) { - var Keys = { - BACKSPACE: 8, - TAB: 9, - RETURN: 13, - ALT: 18, - ESC: 27, - SPACE: 32, - PAGE_UP: 33, - PAGE_DOWN: 34, - END: 35, - HOME: 36, - LEFT: 37, - UP: 38, - RIGHT: 39, - DOWN: 40, - DELETE: 46, - COMMA: 188, - PERIOD: 190, - A: 65, - Z: 90, - ZERO: 48, - NUMPAD_0: 96, - NUMPAD_9: 105 - }; - var keyCode = event.keyCode; - - if (keyCode === Keys.TAB) { - return; - } - - var distance = 40; - var direction = 0; - - if (this._isHorizontal()) { - switch (keyCode) { - case Keys.HOME: - direction = -1; - distance = this.options.contentSize; - break; - - case Keys.LEFT: - direction = -1; - break; - - case Keys.RIGHT: - direction = 1; - break; - - default: - return; - } - } - - if (!this._isHorizontal()) { - switch (keyCode) { - case Keys.SPACE: - if (event.shiftKey) { - direction = -1; - } else { - direction = 1; - } - break; - - case Keys.HOME: - direction = -1; - distance = this.options.contentSize; - break; - - case Keys.UP: - direction = -1; - break; - - case Keys.DOWN: - direction = 1; - break; - - case Keys.PAGE_UP: - direction = -1; - distance = this.options.size; - break; - - case Keys.PAGE_DOWN: - direction = 1; - distance = this.options.size; - break; - - default: - return; - } - } - - this.options.position = BI.clamp(this.options.position + (distance * direction), 0, this.options.contentSize - this.options.size); - event.preventDefault(); - this._populate(); - this.fireEvent(BI.GridTableScrollbar.EVENT_SCROLL, this.options.position); - }, - - _populate: function () { - var self = this, o = this.options; - if (o.size < 1 || o.contentSize <= o.size) { - this.setVisible(false); - return; - } - this.setVisible(true); - - var size = o.size; - var isHorizontal = this._isHorizontal(); - var isActive = this.focused || this.isDragging; - - var faceSize = this._getFaceSize(); - var isOpaque = o.isOpaque; - this.element[isOpaque === true ? "addClass" : "removeClass"]("public-scrollbar-main-opaque"); - this.element[isActive === true ? "addClass" : "removeClass"]("public-scrollbar-main-active"); - - this.face.element[isActive === true ? "addClass" : "removeClass"]("public-scrollbar-face-active"); - - var position = o.position * this._getScale() + this._const.FACE_MARGIN; - - var items = this.contextLayout.attr("items"); - if (isHorizontal) { - this.setWidth(size); - this.face.setWidth(faceSize - this._const.FACE_MARGIN_2); - items[0].left = position; - items[0].top = 0; - } else { - this.setHeight(size); - this.face.setHeight(faceSize - this._const.FACE_MARGIN_2); - items[0].left = 0; - items[0].top = position; - } - this.contextLayout.attr("items", items); - this.contextLayout.resize(); - }, - - setContentSize: function (contentSize) { - this.options.contentSize = contentSize; - }, - - setPosition: function (position) { - this.options.position = position; - }, - - setSize: function (size) { - this.options.size = size; - }, - - populate: function () { - this._populate(); - } -}); -BI.GridTableScrollbar.SIZE = 10; -BI.GridTableScrollbar.EVENT_SCROLL = "EVENT_SCROLL"; -BI.shortcut("bi.grid_table_scrollbar", BI.GridTableScrollbar); - - -BI.GridTableHorizontalScrollbar = BI.inherit(BI.Widget, { - _const: { - FACE_MARGIN: 4, - FACE_MARGIN_2: 4 * 2, - FACE_SIZE_MIN: 30, - KEYBOARD_SCROLL_AMOUNT: 40 - }, - _defaultConfig: function () { - return BI.extend(BI.GridTableHorizontalScrollbar.superclass._defaultConfig.apply(this, arguments), { - attributes: { - tabIndex: 0 - }, - contentSize: 0, - position: 0, - size: 0 - }) - }, - - _init: function () { - BI.GridTableHorizontalScrollbar.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.scrollbar = BI.createWidget({ - type: "bi.grid_table_scrollbar", - orientation: "horizontal", - isOpaque: true, - position: o.position, - contentSize: o.contentSize, - size: o.size - }); - this.scrollbar.on(BI.GridTableScrollbar.EVENT_SCROLL, function () { - self.fireEvent(BI.GridTableHorizontalScrollbar.EVENT_SCROLL, arguments); - }); - BI.createWidget({ - type: "bi.absolute", - cls: "horizontal-scrollbar", - element: this, - width: o.size, - height: BI.GridTableScrollbar.SIZE, - items: [{ - el: { - type: "bi.absolute", - scrollable: false, - height: BI.GridTableScrollbar.SIZE, - items: [{ - el: this.scrollbar, - left: 0, - top: 0 - }] - }, - top: 0, - left: 0, - right: 0 - }] - }); - }, - - setContentSize: function (contentSize) { - this.options.contentSize = contentSize; - this.scrollbar.setContentSize(contentSize); - }, - - setPosition: function (position) { - this.options.position = position; - this.scrollbar.setPosition(position); - }, - - setSize: function (size) { - this.setWidth(size); - this.options.size = size; - this.scrollbar.setSize(size); - }, - - populate: function () { - this.scrollbar.populate(); - var o = this.options; - if (o.size < 1 || o.contentSize <= o.size) { - this.setVisible(false); - return; - } - this.setVisible(true); - } -}); -BI.GridTableHorizontalScrollbar.EVENT_SCROLL = "EVENT_SCROLL"; -BI.shortcut("bi.grid_table_horizontal_scrollbar", BI.GridTableHorizontalScrollbar); \ No newline at end of file diff --git a/src/base/table/table.header.cell.js b/src/base/table/table.header.cell.js deleted file mode 100644 index 559055567e..0000000000 --- a/src/base/table/table.header.cell.js +++ /dev/null @@ -1,30 +0,0 @@ -/** - * - * 表格 - * - * Created by GUY on 2015/9/22. - * @class BI.TableHeaderCell - * @extends BI.Single - */ -BI.TableHeaderCell = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.TableHeaderCell.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-table-header-cell", - text: "" - }) - }, - - _init: function () { - BI.TableHeaderCell.superclass._init.apply(this, arguments); - BI.createWidget({ - type: "bi.label", - element: this, - textAlign: "center", - height: this.options.height, - text: this.options.text, - value: this.options.value - }) - } -}); - -BI.shortcut("bi.table_header_cell", BI.TableHeaderCell); \ No newline at end of file diff --git a/src/base/table/table.js b/src/base/table/table.js deleted file mode 100644 index f5347beaa2..0000000000 --- a/src/base/table/table.js +++ /dev/null @@ -1,1607 +0,0 @@ -/** - * - * 表格 - * - * 能处理静态宽度以及动态宽度的表, 百分比宽度的表请使用PreviewTable - * - * Created by GUY on 2015/9/22. - * @class BI.Table - * @extends BI.Widget - */ -BI.Table = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.Table.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-table", - logic: { //冻结的页面布局逻辑 - dynamic: false - }, - - isNeedFreeze: false,//是否需要冻结单元格 - freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为true时生效 - - isNeedMerge: false,//是否需要合并单元格 - mergeCols: [], //合并的单元格列号 - mergeRule: function (row1, row2) { //合并规则, 默认相等时合并 - return BI.isEqual(row1, row2); - }, - - columnSize: [], - headerRowSize: 25, - footerRowSize: 25, - rowSize: 25, - - regionColumnSize: false, - - header: [], - footer: false, - items: [] //二维数组 - }) - }, - - _calculateWidth: function (width) { - if (!width || width === "0") { - return ""; - } - width = BI.parseFloat(width); - if (width < 0) { - width = 0; - } - return width > 1.01 ? width : (width * 100 + "%"); - }, - - _calculateHeight: function (height) { - return height ? height : ""; - }, - - _isRightFreeze: function () { - return BI.isNotEmptyArray(this.options.freezeCols) && BI.first(this.options.freezeCols) !== 0; - }, - - _createTopLeft: function () { - var o = this.options, isRight = this._isRightFreeze(); - this.topLeftColGroupTds = {}; - this.topLeftBodyTds = {}; - this.topLeftBodyItems = {}; - var table = this._table(); - var colgroup = this._createColGroup(this.columnLeft, this.topLeftColGroupTds); - var body = this.topLeftBody = this._body(); - body.element.append(this._createHeaderCells(this.topLeftItems, this.columnLeft, this.mergeLeft, this.topLeftBodyTds, this.topLeftBodyItems)); - BI.createWidget({ - type: "bi.adaptive", - element: table, - items: [colgroup, body] - }); - if (isRight) { - var w = 0; - BI.each(o.columnSize, function (i, col) { - if (!o.freezeCols.contains(i)) { - w += col; - } - }); - if (BI.isNumeric(w) && w > 1) { - w = BI.parseFloat(w) + o.columnSize.length - o.freezeCols.length; - } - } - return (this.topLeftContainer = BI.createWidget({ - type: "bi.adaptive", - width: this._calculateWidth(w), - items: [table] - })); - }, - - _createTopRight: function () { - var o = this.options, isRight = this._isRightFreeze(); - this.topRightColGroupTds = {}; - this.topRightBodyTds = {}; - this.topRightBodyItems = {}; - var table = this._table(); - var colgroup = this._createColGroup(this.columnRight, this.topRightColGroupTds); - var body = this.topRightBody = this._body(); - body.element.append(this._createHeaderCells(this.topRightItems, this.columnRight, this.mergeRight, this.topRightBodyTds, this.topRightBodyItems, this.columnLeft.length)); - BI.createWidget({ - type: "bi.adaptive", - element: table, - items: [colgroup, body] - }); - if (!isRight) { - var w = 0; - BI.each(o.columnSize, function (i, col) { - if (!o.freezeCols.contains(i)) { - w += col; - } - }); - if (BI.isNumeric(w)) { - w = BI.parseFloat(w) + o.columnSize.length - o.freezeCols.length; - } - } - return (this.topRightContainer = BI.createWidget({ - type: "bi.adaptive", - width: w || undefined, - items: [table] - })); - }, - - _createBottomLeft: function () { - var o = this.options, isRight = this._isRightFreeze(); - this.bottomLeftColGroupTds = {}; - this.bottomLeftBodyTds = {}; - this.bottomLeftBodyItems = {}; - var table = this._table(); - var colgroup = this._createColGroup(this.columnLeft, this.bottomLeftColGroupTds); - var body = this._createBottomLeftBody(); - BI.createWidget({ - type: "bi.adaptive", - element: table, - items: [colgroup, body] - }); - if (isRight) { - var w = 0; - BI.each(o.columnSize, function (i, col) { - if (!o.freezeCols.contains(i)) { - w += col; - } - }); - if (BI.isNumeric(w) && w > 1) { - w = BI.parseFloat(w) + o.columnSize.length - o.freezeCols.length; - } - } - return (this.bottomLeftContainer = BI.createWidget({ - type: "bi.adaptive", - width: this._calculateWidth(w), - items: [table] - })); - }, - - _createBottomLeftBody: function () { - var body = this.bottomLeftBody = this._body(); - body.element.append(this._createCells(this.bottomLeftItems, this.columnLeft, this.mergeLeft, this.bottomLeftBodyTds, this.bottomLeftBodyItems)); - return body; - }, - - _createBottomRight: function () { - var o = this.options, isRight = this._isRightFreeze(); - this.bottomRightColGroupTds = {}; - this.bottomRightBodyTds = {}; - this.bottomRightBodyItems = {}; - var table = this._table(); - var colgroup = this._createColGroup(this.columnRight, this.bottomRightColGroupTds); - var body = this._createBottomRightBody(); - BI.createWidget({ - type: "bi.adaptive", - element: table, - items: [colgroup, body] - }); - if (!isRight) { - var w = 0; - BI.each(o.columnSize, function (i, col) { - if (!o.freezeCols.contains(i)) { - w += col; - } - }); - if (BI.isNumeric(w) && w > 1) { - w = BI.parseFloat(w) + o.columnSize.length - o.freezeCols.length; - } - } - return (this.bottomRightContainer = BI.createWidget({ - type: "bi.adaptive", - width: this._calculateWidth(w), - items: [table] - })); - }, - - _createBottomRightBody: function () { - var body = this.bottomRightBody = this._body(); - body.element.append(this._createCells(this.bottomRightItems, this.columnRight, this.mergeRight, this.bottomRightBodyTds, this.bottomRightBodyItems, this.columnLeft.length)); - return body; - }, - - _createFreezeTable: function () { - var self = this, o = this.options; - var isRight = this._isRightFreeze(); - var split = this._split(o.header); - this.topLeftItems = split.left; - this.topRightItems = split.right; - split = this._split(o.items); - this.bottomLeftItems = split.left; - this.bottomRightItems = split.right; - - this.columnLeft = []; - this.columnRight = []; - BI.each(o.columnSize, function (i, size) { - if (o.freezeCols.contains(i)) { - self[isRight ? "columnRight" : "columnLeft"].push(size); - } else { - self[isRight ? "columnLeft" : "columnRight"].push(size); - } - }); - this.mergeLeft = []; - this.mergeRight = []; - BI.each(o.mergeCols, function (i, col) { - if (o.freezeCols.contains(col)) { - self[isRight ? "mergeRight" : "mergeLeft"].push(col); - } else { - self[isRight ? "mergeLeft" : "mergeRight"].push(col); - } - }); - - var topLeft = this._createTopLeft(); - var topRight = this._createTopRight(); - var bottomLeft = this._createBottomLeft(); - var bottomRight = this._createBottomRight(); - - this.scrollTopLeft = BI.createWidget({ - type: "bi.adaptive", - cls: "scroll-top-left", - width: "100%", - height: "100%", - scrollable: false, - items: [topLeft] - }); - this.scrollTopRight = BI.createWidget({ - type: "bi.adaptive", - cls: "scroll-top-right", - width: "100%", - height: "100%", - scrollable: false, - items: [topRight] - }); - this.scrollBottomLeft = BI.createWidget({ - type: "bi.adaptive", - cls: "scroll-bottom-left", - width: "100%", - height: "100%", - scrollable: isRight || null, - scrollx: !isRight, - items: [bottomLeft] - }); - this.scrollBottomRight = BI.createWidget({ - type: "bi.adaptive", - cls: "scroll-bottom-right", - width: "100%", - height: "100%", - scrollable: !isRight || null, - scrollx: isRight, - items: [bottomRight] - }); - this.topLeft = BI.createWidget({ - type: "bi.adaptive", - cls: "top-left", - scrollable: false, - items: [this.scrollTopLeft] - }); - this.topRight = BI.createWidget({ - type: "bi.adaptive", - cls: "top-right", - scrollable: false, - items: [this.scrollTopRight] - }); - this.bottomLeft = BI.createWidget({ - type: "bi.adaptive", - cls: "bottom-left", - // scrollable: false, - items: [this.scrollBottomLeft] - }); - this.bottomRight = BI.createWidget({ - type: "bi.adaptive", - cls: "bottom-right", - scrollable: false, - items: [this.scrollBottomRight] - }); - - var headerHeight = o.header.length * ((o.headerRowSize || o.rowSize) + 1) + 1; - var leftWidth = BI.sum(o.freezeCols, function (i, col) { - return o.columnSize[col] > 1 ? o.columnSize[col] + 1 : o.columnSize[col]; - }); - - this._resize = function () { - if (self.scrollBottomLeft.element.is(":visible")) { - self.scrollBottomLeft.element.css({"overflow-x": "auto"}); - self.scrollBottomRight.element.css({"overflow-x": "auto"}); - self.setColumnSize(o.columnSize); - if (isRight) { - self.scrollBottomLeft.element.css({"overflow-y": "auto"}); - } else { - self.scrollBottomRight.element.css({"overflow-y": "auto"}); - } - if (self.scrollBottomLeft.element.hasHorizonScroll() || self.scrollBottomRight.element.hasHorizonScroll()) { - self.scrollBottomLeft.element.css("overflow-x", "scroll"); - self.scrollBottomRight.element.css("overflow-x", "scroll"); - } - if (self.scrollBottomRight.element.hasVerticalScroll()) { - self.scrollTopRight.element.css("overflow-y", "scroll"); - } else { - self.scrollTopRight.element.css("overflow-y", "hidden"); - } - if (self.scrollBottomLeft.element.hasVerticalScroll()) { - self.scrollTopLeft.element.css("overflow-y", "scroll"); - } else { - self.scrollTopLeft.element.css("overflow-y", "hidden"); - } - self.scrollTopLeft.element[0].scrollLeft = self.scrollBottomLeft.element[0].scrollLeft; - self.scrollTopRight.element[0].scrollLeft = self.scrollBottomRight.element[0].scrollLeft; - self.scrollBottomLeft.element[0].scrollTop = self.scrollBottomRight.element[0].scrollTop; - } - }; - - var regionColumnSize = o.regionColumnSize; - if (o.freezeCols.length === 0) { - regionColumnSize = isRight ? ['fill', 0] : [0, 'fill']; - } else if (o.freezeCols.length >= o.columnSize.length) { - regionColumnSize = isRight ? [0, 'fill'] : ['fill', 0]; - } - this.partitions = BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic("table", BI.extend({}, o.logic, { - rows: 2, - columns: 2, - columnSize: regionColumnSize || (isRight ? ['fill', leftWidth] : [leftWidth, 'fill']), - rowSize: [headerHeight, 'fill'], - items: [[{ - el: this.topLeft - }, { - el: this.topRight - }], [{ - el: this.bottomLeft - }, { - el: this.bottomRight - }]] - })))); - - this._initFreezeScroll(); - BI.ResizeDetector.addResizeListener(this, function () { - self._resize(); - self.fireEvent(BI.Table.EVENT_TABLE_RESIZE); - }); - }, - - mounted: function () { - this._resize && this._resize(); - this.fireEvent(BI.Table.EVENT_TABLE_AFTER_INIT); - }, - - _initFreezeScroll: function () { - var self = this, o = this.options; - scroll(this.scrollBottomRight.element, this.scrollTopRight.element, this.scrollBottomLeft.element); - // scroll(this.scrollBottomLeft.element, this.scrollTopLeft.element, this.scrollBottomRight.element); - - function scroll(scrollElement, scrollTopElement, otherElement) { - scrollElement.scroll(function (e) { - otherElement.scrollTop(scrollElement.scrollTop()); - scrollTopElement.scrollLeft(scrollElement.scrollLeft()); - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL); - }); - } - }, - - resize: function () { - this._resize && this._resize(); - }, - - _createCells: function (items, columnSize, mergeCols, TDs, Ws, start, rowSize) { - var self = this, o = this.options, preCol = {}, preRow = {}, preRW = {}, preCW = {}, map = {}; - columnSize = columnSize || o.columnSize; - mergeCols = mergeCols || o.mergeCols; - TDs = TDs || {}; - Ws = Ws || {}; - start = start || 0; - rowSize || (rowSize = o.rowSize); - var frag = document.createDocumentFragment(); - BI.each(items, function (i, rows) { - var tr = $("<tr>").addClass((i & 1) === 0 ? "odd" : "even"); - BI.each(rows, function (j, row) { - if (!map[i]) { - map[i] = {}; - } - if (!TDs[i]) { - TDs[i] = {}; - } - if (!Ws[i]) { - Ws[i] = {}; - } - map[i][j] = row; - - if (o.isNeedMerge && mergeCols.contains(j)) { - if (i === 0 && j === 0) { - createOneEl(0, 0); - } else if (j === 0 && i > 0) { - var isNeedMergeRow = o.mergeRule(map[i][j], map[i - 1][j]); - if (isNeedMergeRow === true) { - mergeRow(i, j); - preRow[i] = preCol[j]; - preRW[i] = preCW[j]; - } else { - createOneEl(i, j); - } - } else if (i === 0 && j > 0) { - var isNeedMergeCol = o.mergeRule(map[i][j], map[i][j - 1]); - if (isNeedMergeCol === true) { - mergeCol(i, j); - preCol[j] = preRow[i]; - preCW[j] = preRW[i]; - } else { - createOneEl(i, j); - } - } else { - var isNeedMergeRow = o.mergeRule(map[i][j], map[i - 1][j]); - var isNeedMergeCol = o.mergeRule(map[i][j], map[i][j - 1]); - if (isNeedMergeCol && isNeedMergeRow) { - return; - } - if (isNeedMergeCol) { - mergeCol(i, j); - } - if (isNeedMergeRow) { - mergeRow(i, j); - } - if (!isNeedMergeCol && !isNeedMergeRow) { - createOneEl(i, j); - } - } - } else { - createOneEl(i, j); - } - }); - function mergeRow(i, j) { - var height = (preCol[j].attr("height") | 0) + rowSize + 1; - preCol[j].attr("height", height).css("height", height); - //preCW[j].element.css("height", height); - var rowspan = ((preCol[j].attr("rowspan") || 1) | 0) + 1; - preCol[j].attr("rowspan", rowspan); - preCol[j].__mergeRows.pushDistinct(i); - TDs[i][j] = preCol[j]; - Ws[i][j] = preCW[j]; - } - - function mergeCol(i, j) { - if (columnSize[j]) { - var width = preRow[i].attr("width") | 0; - if (width > 1.05 && columnSize[j]) { - width = width + columnSize[j] + 1; - if (j === columnSize.length - 1) { - width--; - } - } else { - width = width + columnSize[j] - } - width = self._calculateWidth(width); - preRow[i].attr("width", width).css("width", width); - preRW[i].element.width(width); - } - var colspan = ((preRow[i].attr("colspan") || 1) | 0) + 1; - preRow[i].attr("colspan", colspan); - preRow[i].__mergeCols.pushDistinct(j); - TDs[i][j] = preRow[i]; - Ws[i][j] = preRW[i]; - } - - function createOneEl(r, c) { - var width = self._calculateWidth(columnSize[c]); - if (width > 1.05 && c === columnSize.length - 1) { - width--; - } - var height = self._calculateHeight(rowSize); - var td = $("<td>").attr("height", height) - .attr("width", width).css({"width": width, "height": height, "position": "relative"}) - .addClass((c & 1) === 0 ? "odd-col" : "even-col") - .addClass(r === 0 ? "first-row" : "") - .addClass(c === 0 ? "first-col" : "") - .addClass(c === rows.length - 1 ? "last-col" : ""); - var w = BI.createWidget(map[r][c], { - type: "bi.table_cell", - textAlign: "left", - width: BI.isNumeric(width) ? width : "", - height: BI.isNumeric(height) ? height : "", - _row: r, - _col: c + start - }); - self.addWidget(w.getName(), w); - w._mount(); - w.element.css("position", "relative"); - td.append(w.element); - tr.append(td); - preCol[c] = td; - preCol[c].__mergeRows = [r]; - preCW[c] = w; - preRow[r] = td; - preRow[r].__mergeCols = [c]; - preRW[r] = w; - TDs[r][c] = td; - Ws[r][c] = w; - } - - frag.appendChild(tr[0]); - }); - return frag; - }, - - _createColGroupCells: function (columnSize, store) { - var self = this, o = this.options; - columnSize = columnSize || o.columnSize; - store = store || {}; - var frag = document.createDocumentFragment(); - BI.each(columnSize, function (i, size) { - var width = self._calculateWidth(size); - var col = $("<col>").attr("width", width).css("width", width); - store[i] = col; - frag.appendChild(col[0]); - }); - return frag; - }, - - _createHeaderCells: function (items, columnSize, mergeCols, TDs, Ws, start) { - var self = this, o = this.options; - start || (start = 0); - var frag = this._createCells(items, columnSize, BI.range(o.columnSize.length), TDs, Ws, start, o.headerRowSize || o.rowSize); - - return frag; - }, - - _createFooterCells: function (items, columnSize, TDs, Ws) { - var o = this.options; - var frag = this._createCells(items, columnSize, [], TDs, Ws, 0); - return frag; - }, - - _createColGroup: function (columnSize, store, widgets) { - var self = this, o = this.options; - this.colgroup = this._colgroup(); - this.colgroup.element.append(this._createColGroupCells(columnSize, store, widgets)); - return this.colgroup; - }, - - _createHeader: function () { - var self = this, o = this.options; - if (o.header === false) { - return; - } - this.header = this._header(); - this.header.element.append(this._createHeaderCells(o.header, null, null, this.headerTds, this.headerItems)); - return this.header; - }, - - _createFooter: function (columnSize, store, widgets) { - var self = this, o = this.options; - if (o.footer === false) { - return; - } - this.footer = this._footer(); - this.footer.element.append(this._createFooterCells(o.footer, null, this.footerTds, this.footerItems)); - return this.footer; - }, - - - _createBody: function () { - var self = this, o = this.options; - this.body = this._body(); - this.body.element.append(this._createCells(o.items, null, null, this.bodyTds, this.bodyItems)); - return this.body; - }, - - _createNormalTable: function () { - var self = this, o = this.options, table = this._table(); - this.colgroupTds = {}; - this.headerTds = {}; - this.footerTds = {}; - this.bodyTds = {}; - - this.headerItems = {}; - this.footerItems = {}; - this.bodyItems = {}; - var colgroup = this._createColGroup(null, this.colgroupTds); - var header = this._createHeader(); - var footer = this._createFooter(); - var body = this._createBody(); - - BI.createWidget({ - type: "bi.adaptive", - element: table, - items: [colgroup, header, footer, body] - }); - - var w = BI.sum(this.options.columnSize) || undefined; - w = this._calculateWidth(w); - if (BI.isNumeric(w) && w > 1) { - w += o.columnSize.length; - } - this.tableContainer = BI.createWidget({ - type: "bi.adaptive", - width: this._calculateWidth(w), - items: [table] - }); - - this.scrollBottomRight = BI.createWidget({ - type: "bi.adaptive", - width: "100%", - height: "100%", - cls: "scroll-bottom-right", - scrollable: true, - items: [this.tableContainer] - }); - - BI.createWidget({ - type: "bi.adaptive", - cls: "bottom-right", - element: this, - scrollable: false, - items: [this.scrollBottomRight] - }); - - this._initNormalScroll(); - BI.nextTick(function () { - if (self.element.is(":visible")) { - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_INIT); - } - }); - }, - - _initNormalScroll: function () { - var self = this; - this.scrollBottomRight.element.scroll(function (e) { - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL); - }); - }, - - _split: function (items) { - var o = this.options, left = [], right = [], isRight = this._isRightFreeze(); - BI.each(items, function (i, rows) { - left.push([]); - right.push([]); - BI.each(rows, function (j, cell) { - if (o.freezeCols.contains(j)) { - (isRight ? right : left)[i].push(cell); - } else { - (isRight ? left : right)[i].push(cell); - } - }) - }); - return { - left: left, - right: right - } - }, - - _table: function () { - return BI.createWidget({ - type: "bi.layout", - tagName: "table", - cls: "table", - attribute: {"cellspacing": 0, "cellpadding": 0} - }); - }, - - _header: function () { - return BI.createWidget({ - type: "bi.layout", - cls: "header", - tagName: "thead" - }); - }, - - _footer: function () { - return BI.createWidget({ - type: "bi.layout", - cls: "footer", - tagName: "tfoot" - }); - }, - - _body: function () { - return BI.createWidget({ - type: "bi.layout", - tagName: "tbody", - cls: "body" - }); - }, - - _colgroup: function () { - return BI.createWidget({ - type: "bi.layout", - tagName: "colgroup" - }); - }, - - render: function () { - this.populate(this.options.items); - }, - - setColumnSize: function (columnSize) { - var self = this, o = this.options; - var isRight = this._isRightFreeze(); - o.columnSize = columnSize || []; - if (o.isNeedFreeze) { - var columnLeft = []; - var columnRight = []; - BI.each(o.columnSize, function (i, size) { - if (o.freezeCols.contains(i)) { - isRight ? columnRight.push(size) : columnLeft.push(size); - } else { - isRight ? columnLeft.push(size) : columnRight.push(size); - } - }); - var topleft = 0, topright = 1, bottomleft = 2, bottomright = 3; - var run = function (direction) { - var colgroupTds, bodyTds, bodyItems, sizes; - switch (direction) { - case topleft: - colgroupTds = self.topLeftColGroupTds; - bodyTds = self.topLeftBodyTds; - bodyItems = self.topLeftBodyItems; - sizes = columnLeft; - break; - case topright: - colgroupTds = self.topRightColGroupTds; - bodyTds = self.topRightBodyTds; - bodyItems = self.topRightBodyItems; - sizes = columnRight; - break; - case bottomleft: - colgroupTds = self.bottomLeftColGroupTds; - bodyTds = self.bottomLeftBodyTds; - bodyItems = self.bottomLeftBodyItems; - sizes = columnLeft; - break; - case bottomright: - colgroupTds = self.bottomRightColGroupTds; - bodyTds = self.bottomRightBodyTds; - bodyItems = self.bottomRightBodyItems; - sizes = columnRight; - break; - } - BI.each(colgroupTds, function (i, colgroup) { - var width = colgroup.attr("width") | 0; - if (sizes[i] !== "" && width !== sizes[i]) { - var w = self._calculateWidth(sizes[i]); - colgroup.attr("width", w).css("width", w); - BI.each(bodyTds, function (j, items) { - if (items[i]) { - if (items[i].__mergeCols.length > 1) { - var wid = 0; - BI.each(sizes, function (t, s) { - if (items[i].__mergeCols.contains(t)) { - wid += s; - } - }); - wid = self._calculateWidth(wid); - if (wid > 1) { - wid += items[i].__mergeCols.length - 1; - } - if (BI.isNumeric(wid)) { - if (i == BI.size(items) - 1) { - items[i].attr("width", wid - 1).css("width", wid - 1); - } else { - items[i].attr("width", wid).css("width", wid); - } - } else { - items[i].attr("width", "").css("width", ""); - } - } else { - if (i == BI.size(items) - 1) { - items[i].attr("width", w - 1).css("width", w - 1); - } else { - items[i].attr("width", w).css("width", w); - } - } - } - }); - BI.each(bodyItems, function (j, items) { - if (items[i]) { - if (bodyTds[j][i].__mergeCols.length > 1) { - var wid = 0; - BI.each(sizes, function (t, s) { - if (bodyTds[j][i].__mergeCols.contains(t)) { - wid += s; - } - }); - wid = self._calculateWidth(wid); - if (wid > 1) { - wid += bodyTds[j][i].__mergeCols.length - 1; - } - if (BI.isNumeric(wid)) { - if (i == BI.size(items) - 1) { - items[i].element.attr("width", wid - 1).css("width", wid - 1); - } else { - items[i].element.attr("width", wid).css("width", wid); - } - } else { - items[i].element.attr("width", "").css("width", ""); - } - } else { - if (BI.isNumeric(w)) { - if (i == BI.size(items) - 1) { - items[i].element.attr("width", w - 1).css("width", w - 1); - } else { - items[i].element.attr("width", w).css("width", w); - } - } else { - items[i].element.attr("width", "").css("width", ""); - } - } - } - }); - } - }) - }; - run(topleft); - run(topright); - run(bottomleft); - run(bottomright); - - var lw = 0, rw = 0; - this.columnLeft = []; - this.columnRight = []; - BI.each(o.columnSize, function (i, size) { - if (o.freezeCols.contains(i)) { - lw += size; - self[isRight ? "columnRight" : "columnLeft"].push(size); - } else { - rw += size; - self[isRight ? "columnLeft" : "columnRight"].push(size); - } - }); - lw = this._calculateWidth(lw); - rw = this._calculateWidth(rw); - - if (BI.isNumeric(lw)) { - lw = BI.parseFloat(lw) + o.freezeCols.length; - } - if (BI.isNumeric(rw)) { - rw = BI.parseFloat(rw) + o.columnSize.length - o.freezeCols.length; - } - this.topLeftContainer.element.width(isRight ? rw : lw); - this.bottomLeftContainer.element.width(isRight ? rw : lw); - this.topRightContainer.element.width(isRight ? lw : rw); - this.bottomRightContainer.element.width(isRight ? lw : rw); - this.scrollTopLeft.element[0].scrollLeft = this.scrollBottomLeft.element[0].scrollLeft; - this.scrollTopRight.element[0].scrollLeft = this.scrollBottomRight.element[0].scrollLeft; - } else { - BI.each(this.colgroupTds, function (i, colgroup) { - var width = colgroup.attr("width") | 0; - if (o.columnSize[i] !== "" && width !== o.columnSize[i]) { - var w = self._calculateWidth(o.columnSize[i]); - colgroup.attr("width", w).css("width", w); - BI.each(self.bodyTds, function (j, items) { - if (items[i]) { - if (items[i].__mergeCols.length > 1) { - var wid = 0; - BI.each(o.columnSize, function (t, s) { - if (items[i].__mergeCols.contains(t)) { - wid += s; - } - }); - wid = self._calculateWidth(wid); - if (wid > 1) { - wid += items[i].__mergeCols.length - 1; - } - if (BI.isNumeric(wid)) { - if (i == BI.size(items) - 1) { - items[i].attr("width", w - 1).css("width", w - 1); - } else { - items[i].attr("width", w).css("width", w); - } - } else { - items[i].attr("width", "").css("width", ""); - } - } else { - if (i == BI.size(items) - 1) { - items[i].attr("width", w - 1).css("width", w - 1); - } else { - items[i].attr("width", w).css("width", w); - } - } - } - }); - BI.each(self.headerTds, function (j, items) { - if (items[i]) { - if (items[i].__mergeCols.length > 1) { - var wid = 0; - BI.each(o.columnSize, function (t, s) { - if (items[i].__mergeCols.contains(t)) { - wid += s; - } - }); - wid = self._calculateWidth(wid); - if (wid > 1) { - wid += items[i].__mergeCols.length - 1; - } - if (BI.isNumeric(wid)) { - if (i == BI.size(items) - 1) { - items[i].attr("width", w - 1).css("width", w - 1); - } else { - items[i].attr("width", w).css("width", w); - } - } else { - items[i].attr("width", "").css("width", ""); - } - } else { - if (i == BI.size(items) - 1) { - items[i].attr("width", w - 1).css("width", w - 1); - } else { - items[i].attr("width", w).css("width", w); - } - } - } - }); - BI.each(self.footerTds, function (j, items) { - if (items[i]) { - if (items[i].__mergeCols.length > 1) { - var wid = 0; - BI.each(o.columnSize, function (t, s) { - if (items[i].__mergeCols.contains(t)) { - wid += s; - } - }); - wid = self._calculateWidth(wid); - if (wid > 1) { - wid += items[i].__mergeCols.length - 1; - } - if (BI.isNumeric(wid)) { - if (i == BI.size(items) - 1) { - items[i].attr("width", w - 1).css("width", w - 1); - } else { - items[i].attr("width", w).css("width", w); - } - } else { - items[i].attr("width", "").css("width", ""); - } - } else { - if (i == BI.size(items) - 1) { - items[i].attr("width", w - 1).css("width", w - 1); - } else { - items[i].attr("width", w).css("width", w); - } - } - } - }); - BI.each(self.bodyItems, function (j, items) { - if (items[i]) { - if (self.bodyTds[j][i].__mergeCols.length > 1) { - var wid = 0; - BI.each(o.columnSize, function (t, s) { - if (self.bodyTds[j][i].__mergeCols.contains(t)) { - wid += s; - } - }); - wid = self._calculateWidth(wid); - if (wid > 1) { - wid += self.bodyTds[j][i].__mergeCols.length - 1; - } - if (BI.isNumeric(wid)) { - if (i == BI.size(items) - 1) { - items[i].element.attr("width", wid - 1).css("width", wid - 1); - } else { - items[i].element.attr("width", wid).css("width", wid); - } - } else { - items[i].element.attr("width", "").css("width", ""); - } - } else { - if (BI.isNumeric(w)) { - if (i == BI.size(items) - 1) { - items[i].element.attr("width", w - 1).css("width", w - 1); - } else { - items[i].element.attr("width", w).css("width", w); - } - } else { - items[i].element.attr("width", "").css("width", ""); - } - } - } - }); - BI.each(self.headerItems, function (j, items) { - if (items[i]) { - if (self.headerTds[j][i].__mergeCols.length > 1) { - var wid = 0; - BI.each(o.columnSize, function (t, s) { - if (self.headerTds[j][i].__mergeCols.contains(t)) { - wid += s; - } - }); - wid = self._calculateWidth(wid); - if (wid > 1) { - wid += self.headerTds[j][i].__mergeCols.length - 1; - } - if (BI.isNumeric(wid)) { - if (i == BI.size(items) - 1) { - items[i].element.attr("width", wid - 1).css("width", wid - 1); - } else { - items[i].element.attr("width", wid).css("width", wid); - } - } else { - items[i].element.attr("width", "").css("width", ""); - } - } else { - if (BI.isNumeric(w)) { - if (i == BI.size(items) - 1) { - items[i].element.attr("width", w - 1).css("width", w - 1); - } else { - items[i].element.attr("width", w).css("width", w); - } - } else { - items[i].element.attr("width", "").css("width", ""); - } - } - } - }); - BI.each(self.footerItems, function (j, items) { - if (items[i]) { - if (self.footerTds[j][i].__mergeCols.length > 1) { - var wid = 0; - BI.each(o.columnSize, function (t, s) { - if (self.footerTds[j][i].__mergeCols.contains(t)) { - wid += s; - } - }); - wid = self._calculateWidth(wid); - if (wid > 1) { - wid += self.footerTds[j][i].__mergeCols.length - 1; - } - if (BI.isNumeric(wid)) { - if (i == BI.size(items) - 1) { - items[i].element.attr("width", wid - 1).css("width", wid - 1); - } else { - items[i].element.attr("width", wid).css("width", wid); - } - } else { - items[i].element.attr("width", "").css("width", ""); - } - } else { - if (BI.isNumeric(w)) { - if (i == BI.size(items) - 1) { - items[i].element.attr("width", w - 1).css("width", w - 1); - } else { - items[i].element.attr("width", w).css("width", w); - } - } else { - items[i].element.attr("width", "").css("width", ""); - } - } - } - }); - } - }); - var w = this._calculateWidth(BI.sum(o.columnSize)); - if (w > 1.05) { - w += o.columnSize.length; - } - if (w > 1.05) { - this.tableContainer.element.width(w); - } - } - }, - - getColumnSize: function () { - return this.options.columnSize; - }, - - getCalculateColumnSize: function () { - var self = this, o = this.options; - var columnSize = []; - if (o.isNeedFreeze === true) { - if (BI.size(this.bottomLeftBodyTds) > 0 || BI.size(this.bottomRightBodyTds) > 0) { - if (!BI.any(this.bottomLeftBodyTds, function (i, tds) { - if (!BI.any(tds, function (i, item) { - if (item.__mergeCols.length > 1) { - return true; - } - })) { - BI.each(tds, function (i, item) { - var width = item.width() / item.__mergeCols.length; - if (i == BI.size(tds) - 1) { - width++; - } - columnSize.push(width); - }); - return true; - } - })) { - BI.each(this.bottomLeftBodyTds[0], function (i, item) { - var width = item.width() / item.__mergeCols.length; - if (i == BI.size(self.bottomLeftBodyTds[0]) - 1) { - width++; - } - columnSize.push(width); - }); - } - if (!BI.any(this.bottomRightBodyTds, function (i, tds) { - if (!BI.any(tds, function (i, item) { - if (item.__mergeCols.length > 1) { - return true; - } - })) { - BI.each(tds, function (i, item) { - var width = item.width() / item.__mergeCols.length; - if (i == BI.size(tds) - 1) { - width++; - } - columnSize.push(width); - }); - return true; - } - })) { - BI.each(this.bottomRightBodyTds[0], function (i, item) { - var width = item.width() / item.__mergeCols.length; - if (i == BI.size(self.bottomRightBodyTds[0]) - 1) { - width++; - } - columnSize.push(width); - }); - } - return columnSize; - } - if (!BI.any(this.topLeftBodyTds, function (i, tds) { - if (!BI.any(tds, function (i, item) { - if (item.__mergeCols.length > 1) { - return true; - } - })) { - BI.each(tds, function (i, item) { - var width = item.width() / item.__mergeCols.length; - if (i == BI.size(tds) - 1) { - width++; - } - columnSize.push(width); - }); - return true; - } - })) { - BI.each(this.topLeftBodyTds[BI.size(this.topLeftBodyTds) - 1], function (i, item) { - var width = item.width() / item.__mergeCols.length; - if (i == BI.size(self.topLeftBodyTds[BI.size(self.topLeftBodyTds) - 1]) - 1) { - width++; - } - columnSize.push(width); - }); - } - if (!BI.any(this.topRightBodyTds, function (i, tds) { - if (!BI.any(tds, function (i, item) { - if (item.__mergeCols.length > 1) { - return true; - } - })) { - BI.each(tds, function (i, item) { - var width = item.width() / item.__mergeCols.length; - if (i == BI.size(tds) - 1) { - width++; - } - columnSize.push(width); - }); - return true; - } - })) { - BI.each(this.topRightBodyTds[BI.size(this.topRightBodyTds) - 1], function (i, item) { - var width = item.width() / item.__mergeCols.length; - if (i == BI.size(self.topRightBodyTds[BI.size(self.topRightBodyTds) - 1]) - 1) { - width++; - } - columnSize.push(width); - }); - } - } else { - BI.each(this.headerTds[BI.size(this.headerTds) - 1], function (i, item) { - var width = item.width() / item.__mergeCols.length; - if (i == BI.size(self.headerTds[BI.size(self.headerTds) - 1]) - 1) { - width++; - } - columnSize.push(width); - }); - } - return columnSize; - }, - - setHeaderColumnSize: function (columnSize) { - var self = this, o = this.options; - var isRight = this._isRightFreeze(); - if (o.isNeedFreeze) { - var columnLeft = []; - var columnRight = []; - BI.each(columnSize, function (i, size) { - if (o.freezeCols.contains(i)) { - isRight ? columnRight.push(size) : columnLeft.push(size); - } else { - isRight ? columnLeft.push(size) : columnRight.push(size); - } - }); - var topleft = 0, topright = 1; - var run = function (direction) { - var colgroupTds, bodyTds, bodyItems, sizes; - switch (direction) { - case topleft: - colgroupTds = self.topLeftColGroupTds; - bodyTds = self.topLeftBodyTds; - bodyItems = self.topLeftBodyItems; - sizes = columnLeft; - break; - case topright: - colgroupTds = self.topRightColGroupTds; - bodyTds = self.topRightBodyTds; - bodyItems = self.topRightBodyItems; - sizes = columnRight; - break; - } - BI.each(colgroupTds, function (i, colgroup) { - var width = colgroup.attr("width") | 0; - if (width !== sizes[i]) { - var w = self._calculateWidth(sizes[i]); - colgroup.attr("width", w).css("width", w); - BI.each(bodyTds, function (j, items) { - if (items[i]) { - if (items[i].__mergeCols.length > 1) { - var wid = 0; - BI.each(sizes, function (t, s) { - if (items[i].__mergeCols.contains(t)) { - wid += s; - } - }); - wid = self._calculateWidth(wid); - if (wid > 1) { - wid += items[i].__mergeCols.length - 1; - } - if (BI.isNumeric(wid)) { - if (i == BI.size(items) - 1) { - items[i].attr("width", wid - 1).css("width", wid - 1); - } else { - items[i].attr("width", wid).css("width", wid); - } - } else { - items[i].attr("width", "").css("width", ""); - } - } else { - if (i == BI.size(items) - 1) { - items[i].attr("width", w - 1).css("width", w - 1); - } else { - items[i].attr("width", w).css("width", w); - } - } - } - }); - BI.each(bodyItems, function (j, items) { - if (items[i]) { - if (bodyTds[j][i].__mergeCols.length > 1) { - var wid = 0; - BI.each(sizes, function (t, s) { - if (bodyTds[j][i].__mergeCols.contains(t)) { - wid += s; - } - }); - wid = self._calculateWidth(wid); - if (wid > 1) { - wid += bodyTds[j][i].__mergeCols.length - 1; - } - if (BI.isNumeric(wid)) { - if (i == BI.size(items) - 1) { - items[i].element.attr("width", wid - 1).css("width", wid - 1); - } else { - items[i].element.attr("width", wid).css("width", wid); - } - } else { - items[i].element.attr("width", "").css("width", ""); - } - } else { - if (BI.isNumeric(w)) { - if (i == BI.size(items) - 1) { - items[i].element.attr("width", w - 1).css("width", w - 1); - } else { - items[i].element.attr("width", w).css("width", w); - } - } else { - items[i].element.attr("width", "").css("width", ""); - } - } - } - }); - } - }) - }; - run(topleft); - run(topright); - - var lw = 0, rw = 0; - BI.each(columnSize, function (i, size) { - if (o.freezeCols.contains(i)) { - lw += size; - } else { - rw += size; - } - }); - lw = this._calculateWidth(lw); - rw = this._calculateWidth(rw); - - if (BI.isNumeric(lw)) { - lw = BI.parseFloat(lw) + o.freezeCols.length; - } - if (BI.isNumeric(rw)) { - rw = BI.parseFloat(rw) + columnSize.length - o.freezeCols.length; - } - this.topLeftContainer.element.width(isRight ? rw : lw); - this.topRightContainer.element.width(isRight ? lw : rw); - this.scrollTopLeft.element[0].scrollLeft = this.scrollBottomLeft.element[0].scrollLeft; - this.scrollTopRight.element[0].scrollLeft = this.scrollBottomRight.element[0].scrollLeft; - } else { - BI.each(this.colgroupTds, function (i, colgroup) { - var width = colgroup.attr("width") | 0; - if (width !== columnSize[i]) { - var w = self._calculateWidth(columnSize[i]); - colgroup.attr("width", w).css("width", w); - BI.each(self.headerTds, function (j, items) { - if (items[i]) { - if (items[i].__mergeCols.length > 1) { - var wid = 0; - BI.each(columnSize, function (t, s) { - if (items[i].__mergeCols.contains(t)) { - wid += s; - } - }); - wid = self._calculateWidth(wid); - if (wid > 1) { - wid += items[i].__mergeCols.length - 1; - } - if (BI.isNumeric(wid)) { - if (i == BI.size(items) - 1) { - items[i].element.attr("width", wid - 1).css("width", wid - 1); - } else { - items[i].element.attr("width", wid).css("width", wid); - } - } else { - items[i].attr("width", "").css("width", ""); - } - } else { - if (i == BI.size(items) - 1) { - items[i].attr("width", w - 1).css("width", w - 1); - } else { - items[i].attr("width", w).css("width", w); - } - } - } - }); - BI.each(self.headerItems, function (j, items) { - if (items[i]) { - if (self.headerTds[j][i].__mergeCols.length > 1) { - var wid = 0; - BI.each(columnSize, function (t, s) { - if (self.headerTds[j][i].__mergeCols.contains(t)) { - wid += s; - } - }); - wid = self._calculateWidth(wid); - if (wid > 1) { - wid += self.headerTds[j][i].__mergeCols.length - 1; - } - if (BI.isNumeric(wid)) { - if (i == BI.size(items) - 1) { - items[i].element.attr("width", wid - 1).css("width", wid - 1); - } else { - items[i].element.attr("width", wid).css("width", wid); - } - } else { - items[i].element.attr("width", "").css("width", ""); - } - } else { - if (BI.isNumeric(w)) { - if (i == BI.size(items) - 1) { - items[i].element.attr("width", w - 1).css("width", w - 1); - } else { - items[i].element.attr("width", w).css("width", w); - } - } else { - items[i].element.attr("width", "").css("width", ""); - } - } - } - }); - } - }); - var cW = this._calculateWidth(BI.sum(columnSize)); - if (cW > 1.05) { - cW = cW + columnSize.length; - } - this.tableContainer.element.width(cW); - } - }, - - setRegionColumnSize: function (columnSize) { - var self = this, o = this.options; - o.regionColumnSize = columnSize; - if (o.freezeCols.length === 0) { - if (o.isNeedFreeze) { - this.partitions.attr("columnSize", this._isRightFreeze() ? ['fill', 0] : [0, 'fill']); - this.partitions.resize(); - } else { - this.tableContainer.element.width(columnSize[0]); - } - } else if (o.freezeCols.length > 0 && o.freezeCols.length < o.columnSize.length) { - if (o.isNeedFreeze) { - this.partitions.attr("columnSize", columnSize); - this.partitions.resize(); - } else { - this.tableContainer.element.width(columnSize[0]); - } - } else { - if (o.isNeedFreeze) { - this.partitions.attr("columnSize", this._isRightFreeze() ? [0, 'fill'] : ['fill', 0]); - this.partitions.resize(); - } else { - this.tableContainer.element.width(columnSize[0]); - } - } - }, - - getRegionColumnSize: function () { - return this.options.regionColumnSize; - }, - - getCalculateRegionColumnSize: function () { - var o = this.options; - if (o.isNeedFreeze) { - return [this.scrollBottomLeft.element.width(), this.scrollBottomRight.element.width()]; - } - return [this.scrollBottomRight.element.width()]; - }, - - getCalculateRegionRowSize: function () { - var o = this.options; - if (o.isNeedFreeze) { - return [this.scrollTopRight.element.height(), this.scrollBottomRight.element.height()]; - } - return [this.scrollBottomRight.element.height()]; - }, - - getClientRegionColumnSize: function () { - var o = this.options; - if (o.isNeedFreeze) { - return [this.scrollBottomLeft.element[0].clientWidth, this.scrollBottomRight.element[0].clientWidth]; - } - return [this.scrollBottomRight.element[0].clientWidth]; - }, - - getClientRegionRowSize: function () { - var o = this.options; - if (o.isNeedFreeze) { - return [this.scrollBottomLeft.element[0].clientHeight, this.scrollBottomRight.element[0].clientHeight]; - } - return [this.scrollBottomRight.element[0].clientHeight]; - }, - - getScrollRegionColumnSize: function () { - var o = this.options; - if (o.isNeedFreeze) { - return [this.scrollBottomLeft.element[0].scrollWidth, this.scrollBottomRight.element[0].scrollWidth]; - } - return [this.scrollBottomRight.element[0].scrollWidth]; - }, - - getScrollRegionRowSize: function () { - var o = this.options; - if (o.isNeedFreeze) { - if (o.freezeCols.length < o.columnSize.length) { - return [this.scrollTopRight.element[0].scrollHeight, this.scrollBottomRight.element[0].scrollHeight]; - } else { - return [this.scrollTopLeft.element[0].scrollHeight, this.scrollBottomLeft.element[0].scrollHeight]; - } - } - return [this.scrollBottomRight.element[0].scrollHeight]; - }, - - hasVerticalScroll: function () { - var o = this.options; - if (o.isNeedFreeze) { - return this.scrollBottomRight.element.hasVerticalScroll() || this.scrollBottomLeft.element.hasVerticalScroll(); - } - return this.scrollBottomRight.element.hasVerticalScroll(); - }, - - setVerticalScroll: function (scrollTop) { - var o = this.options; - if (o.isNeedFreeze) { - if (this.scrollBottomRight.element[0].scrollTop !== scrollTop) { - this.scrollBottomRight.element[0].scrollTop = scrollTop; - } - if (this.scrollBottomLeft.element[0].scrollTop !== scrollTop) { - this.scrollBottomLeft.element[0].scrollTop = scrollTop; - } - } else { - if (this.scrollBottomRight.element[0].scrollTop !== scrollTop) { - this.scrollBottomRight.element[0].scrollTop = scrollTop; - } - } - }, - - setLeftHorizontalScroll: function (scrollLeft) { - var o = this.options; - if (o.isNeedFreeze) { - if (this.scrollBottomLeft.element[0].scrollLeft !== scrollLeft) { - this.scrollBottomLeft.element[0].scrollLeft = scrollLeft; - } - if (this.scrollTopLeft.element[0].scrollLeft !== scrollLeft) { - this.scrollTopLeft.element[0].scrollLeft = scrollLeft; - } - } else { - if (this.scrollBottomRight.element[0].scrollLeft !== scrollLeft) { - this.scrollBottomRight.element[0].scrollLeft = scrollLeft; - } - } - }, - - setRightHorizontalScroll: function (scrollLeft) { - var o = this.options; - if (o.isNeedFreeze) { - if (this.scrollBottomRight.element[0].scrollLeft !== scrollLeft) { - this.scrollBottomRight.element[0].scrollLeft = scrollLeft; - } - if (this.scrollTopRight.element[0].scrollLeft !== scrollLeft) { - this.scrollTopRight.element[0].scrollLeft = scrollLeft; - } - } else { - if (this.scrollBottomRight.element[0].scrollLeft !== scrollLeft) { - this.scrollBottomRight.element[0].scrollLeft = scrollLeft; - } - } - }, - - getVerticalScroll: function () { - var o = this.options; - if (o.isNeedFreeze) { - return this.scrollBottomRight.element[0].scrollTop || this.scrollBottomLeft.element[0].scrollTop; - } - return this.scrollBottomRight.element[0].scrollTop; - }, - - getLeftHorizontalScroll: function () { - var o = this.options; - if (o.isNeedFreeze) { - return this.scrollBottomLeft.element[0].scrollLeft; - } - return this.scrollBottomRight.element[0].scrollLeft; - }, - - getRightHorizontalScroll: function () { - var o = this.options; - if (o.isNeedFreeze) { - return this.scrollBottomRight.element[0].scrollLeft; - } - return this.scrollBottomRight.element[0].scrollLeft; - }, - - getColumns: function () { - var o = this.options; - if (o.isNeedFreeze) { - return { - topLeft: this.topLeftBodyItems, - topRight: this.topRightBodyItems, - bottomLeft: this.bottomLeftBodyItems, - bottomRight: this.bottomRightBodyItems - } - } else { - return { - header: this.headerItems, - body: this.bodyItems, - footer: this.footerItems - } - } - }, - - populate: function (items, header) { - this.options.items = items || []; - if (header) { - this.options.header = header; - } - this.empty(); - if (this.options.isNeedFreeze) { - this._createFreezeTable(); - } else { - this._createNormalTable(); - } - } -}) -; -BI.Table.EVENT_TABLE_AFTER_INIT = "EVENT_TABLE_AFTER_INIT"; -BI.Table.EVENT_TABLE_RESIZE = "EVENT_TABLE_RESIZE"; -BI.Table.EVENT_TABLE_SCROLL = "EVENT_TABLE_SCROLL"; -BI.Table.EVENT_TABLE_BEFORE_COLUMN_RESIZE = "EVENT_TABLE_BEFORE_COLUMN_RESIZE"; -BI.Table.EVENT_TABLE_COLUMN_RESIZE = "EVENT_TABLE_COLUMN_RESIZE"; -BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE = "EVENT_TABLE_AFTER_COLUMN_RESIZE"; - -BI.Table.EVENT_TABLE_BEFORE_REGION_RESIZE = "EVENT_TABLE_BEFORE_REGION_RESIZE"; -BI.Table.EVENT_TABLE_REGION_RESIZE = "EVENT_TABLE_REGION_RESIZE"; -BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE = "EVENT_TABLE_AFTER_REGION_RESIZE"; -BI.shortcut("bi.table_view", BI.Table); diff --git a/src/base/table/table.resizable.cell.js b/src/base/table/table.resizable.cell.js deleted file mode 100644 index 92b4ec6c17..0000000000 --- a/src/base/table/table.resizable.cell.js +++ /dev/null @@ -1,115 +0,0 @@ -/** - * - * 表格单元格 - * - * Created by GUY on 2016/1/12. - * @class BI.ResizableTableCell - * @extends BI.Widget - */ -BI.ResizableTableCell = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.ResizableTableCell.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-resizable-table-cell", - cell: {}, - minSize: 15, - // suitableSize, - maxSize: Number.MAX_VALUE, - start: BI.emptyFn, - resize: BI.emptyFn, - stop: BI.emptyFn - }) - }, - - _init: function () { - BI.ResizableTableCell.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.cell = BI.createWidget(BI.extend({type: "bi.label"}, o.cell, {width: o.width, height: o.height})); - - var startDrag = false; - var size = 0, offset = 0, defaultSize = o.width; - - function optimizeSize(s) { - var optSize = BI.clamp(s, o.minSize, o.maxSize || Number.MAX_VALUE); - // if (o.suitableSize) { - // if (Math.abs(o.suitableSize - optSize) < 5) { - // optSize = o.suitableSize; - // self.handler.element.addClass("suitable"); - // } else { - // self.handler.element.removeClass("suitable"); - // } - // } - return optSize; - } - - var mouseMoveTracker = new BI.MouseMoveTracker(function (deltaX, deltaY) { - if (mouseMoveTracker.isDragging()) { - startDrag = true; - offset += deltaX; - size = optimizeSize(defaultSize + offset); - self.handler.element.addClass("dragging"); - o.resize(size); - } - }, function () { - if (startDrag === true) { - size = optimizeSize(size); - o.stop(size); - size = 0; - offset = 0; - defaultSize = o.width; - startDrag = false; - } - self.handler.element.removeClass("dragging"); - self.handler.element.removeClass("suitable"); - mouseMoveTracker.releaseMouseMoves(); - }, document); - this.handler = BI.createWidget({ - type: "bi.absolute", - cls: "resizable-table-cell-resizer-container", - width: 6, - items: [{ - el: { - type: "bi.layout", - cls: "resizable-table-cell-resizer-knob", - width: 4 - }, - right: 0, - top: 0, - bottom: 0 - }] - }); - this.handler.element.on("mousedown", function (event) { - defaultSize = o.width; - optimizeSize(defaultSize); - mouseMoveTracker.captureMouseMoves(event); - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.cell, - left: 0, - right: 0, - top: 0, - bottom: 0 - }, { - el: this.handler, - right: 0, - top: 0, - bottom: 0 - }] - }) - }, - - setWidth: function (width) { - BI.ResizableTableCell.superclass.setWidth.apply(this, arguments); - var o = this.options; - this.cell.setWidth(o.width); - }, - - setHeight: function (height) { - BI.ResizableTableCell.superclass.setHeight.apply(this, arguments); - var o = this.options; - this.cell.setHeight(o.height); - } -}); -BI.shortcut("bi.resizable_table_cell", BI.ResizableTableCell); \ No newline at end of file diff --git a/src/base/table/table.resizable.js b/src/base/table/table.resizable.js deleted file mode 100644 index b6ada1fb5c..0000000000 --- a/src/base/table/table.resizable.js +++ /dev/null @@ -1,364 +0,0 @@ -/** - * - * 可调整列宽的grid表格 - * - * Created by GUY on 2016/1/12. - * @class BI.ResizableTable - * @extends BI.Widget - */ -BI.ResizableTable = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.ResizableTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-resizable-table", - el: { - type: "bi.grid_table" - }, - isNeedFreeze: false, - isNeedResize: true, - isResizeAdapt: false, - headerRowSize: 25, - rowSize: 25, - isNeedMerge: true,//是否需要合并单元格 - mergeCols: [], - mergeRule: BI.emptyFn, - columnSize: [], - minColumnSize: [], - maxColumnSize: [], - freezeCols: [], - header: [], - items: [], - regionColumnSize: [] - }) - }, - - _init: function () { - BI.ResizableTable.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.resizer = BI.createWidget({ - type: "bi.layout", - cls: "resizable-table-resizer", - invisible: true, - width: 2 - }); - this.regionResizerHandler = this._createResizerHandler(); - this.table = BI.createWidget(o.el, { - type: "bi.grid_table", - element: this, - width: o.width, - height: o.height, - headerRowSize: o.headerRowSize, - rowSize: o.rowSize, - columnSize: o.columnSize, - - isNeedFreeze: o.isNeedFreeze, - freezeCols: o.freezeCols, - isNeedMerge: o.isNeedMerge, - mergeCols: o.mergeCols, - mergeRule: BI.bind(this._mergeRule, this), - - header: this._formatHeader(o.header), - items: o.items, - regionColumnSize: o.regionColumnSize - }); - this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () { - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.regionResizerHandler, - left: 0, - top: 0, - bottom: 0 - }, { - el: this.resizer, - left: 0, - top: 0 - }] - }); - this._populate(); - }, - - _mergeRule: function (row1, row2) { - var o = this.options; - if (row1.type === "bi.resizable_table_cell") { - row1 = row1.cell; - } - if (row2.type === "bi.resizable_table_cell") { - row2 = row2.cell; - } - return o.mergeRule(row1, row2); - }, - - _createResizerHandler: function () { - var self = this, o = this.options; - var regionResizerHandler = BI.createWidget({ - type: "bi.absolute", - cls: "resizable-table-region-resizer", - invisible: true, - width: 6, - items: [{ - el: { - type: "bi.layout", - width: 2, - cls: "resizable-table-region-resizer-knob" - }, - left: 2, - top: 0, - bottom: 0 - }] - }); - var size = 0, offset = 0, defaultSize = 0, start = false; - var mouseMoveTracker = new BI.MouseMoveTracker(function (deltaX, deltaY) { - if (mouseMoveTracker.isDragging()) { - start = true; - offset += deltaX; - size = BI.clamp(defaultSize + offset, 15, o.width - 15); - - self.regionResizerHandler.element.addClass("dragging"); - self._setRegionResizerHandlerPosition(size - 3, 0); - } - - }, function () { - if (start === true) { - o.regionColumnSize[0] = BI.clamp(size, 15, o.width - 15); - self.table.setRegionColumnSize(o.regionColumnSize); - if (o.isResizeAdapt === true) { - var freezeColumnSize = self._getFreezeColumnSize(); - o.columnSize[self._getFreezeColLength() - 1] += o.regionColumnSize[0] - freezeColumnSize; - self.table.setColumnSize(o.columnSize); - } - // self.table.populate(); - self._populate(); - self.regionResizerHandler.element.removeClass("dragging"); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE); - start = false; - } - mouseMoveTracker.releaseMouseMoves(); - }, document); - regionResizerHandler.element.on("mousedown", function (event) { - defaultSize = size = self._getRegionSize(); - offset = 0; - self._setResizerPosition(0, 0); - mouseMoveTracker.captureMouseMoves(event); - }); - return regionResizerHandler; - }, - - _setResizerPosition: function (left, top) { - this.resizer.element.css({ - left: left + "px", - top: top + "px" - }); - }, - - _setRegionResizerHandlerPosition: function (left, top) { - this.regionResizerHandler.element.css({ - left: left + "px", - top: top + "px" - }); - }, - - _getRegionSize: function () { - var o = this.options; - var regionSize = o.regionColumnSize[0] || 0; - if (o.isNeedFreeze === false || o.freezeCols.length === 0) { - return 0; - } - if (!regionSize) { - BI.each(o.freezeCols, function (i, col) { - regionSize += o.columnSize[col]; - }); - } - return regionSize; - }, - - _getRegionRowSize: function () { - var o = this.options; - return [o.header.length * o.headerRowSize, - Math.min(o.height - o.header.length * o.headerRowSize, o.items.length * o.rowSize)]; - }, - - _getFreezeColLength: function () { - return this.options.freezeCols.length; - }, - - _getFreezeColumnSize: function () { - var columnSize = this.options.columnSize; - var sum = 0; - for (var i = 0, len = this._getFreezeColLength(); i < len; i++) { - sum += columnSize[i]; - } - return sum; - }, - - _getResizerLeft: function (j) { - var left = 0; - var columnSize = this.options.columnSize; - var freezeColLength = this._getFreezeColLength(); - for (var i = (j >= freezeColLength ? freezeColLength : 0); i < j; i++) { - left += columnSize[i] || 0; - } - if (j >= freezeColLength) { - left += this.table.getRegionSize(); - left -= this.table.getRightHorizontalScroll(); - } else { - left -= this.table.getLeftHorizontalScroll(); - } - return left; - }, - - _formatHeader: function (header) { - var self = this, o = this.options; - var result = []; - var resize = function (j, size) { - self.resizer.setVisible(true); - var height = o.headerRowSize + self._getRegionRowSize()[1]; - self.resizer.setHeight(height); - //TODO 不知道为什么加入这段代码会使得列宽调整出问题 - // if (o.minColumnSize[j]) { - // if (size === o.minColumnSize[j]) { - // self.resizer.element.addClass("suitable"); - // } else { - // self.resizer.element.removeClass("suitable"); - // } - // } - self._setResizerPosition(self._getResizerLeft(j) + size, (o.header.length - 1) * o.headerRowSize); - }; - var stop = function (j, size) { - self.resizer.setVisible(false); - var columnSize = o.columnSize.slice(); - columnSize[j] = size; - o.columnSize = columnSize; - self.table.setColumnSize(columnSize); - // self.table.populate(); - self._populate(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE); - }; - BI.each(header, function (i, cols) { - if (i === header.length - 1) { - result[i] = []; - BI.each(cols, function (j, col) { - if (j === self._getFreezeColLength() - 1 || j === cols.length - 1) { - result[i][j] = col; - } else { - result[i][j] = { - type: "bi.resizable_table_cell", - cell: col, - suitableSize: o.minColumnSize[j], - maxSize: o.maxColumnSize[j], - resize: BI.bind(resize, null, j), - stop: BI.bind(stop, null, j) - }; - if (o.isNeedMerge) { - var r = i; - while (r > 0 && self._mergeRule(result[r][j], result[r - 1][j])) { - result[r - 1][j] = { - type: "bi.resizable_table_cell", - cell: result[r - 1][j], - suitableSize: o.minColumnSize[j], - maxSize: o.maxColumnSize[j], - resize: BI.bind(resize, null, j), - stop: BI.bind(stop, null, j) - }; - r--; - } - } - } - }); - } else { - result.push(cols); - } - }); - return result; - }, - - _populate: function () { - var o = this.options; - var regionSize = this._getRegionSize(); - if (regionSize > 0) { - this.regionResizerHandler.setVisible(true); - this._setRegionResizerHandlerPosition(regionSize - 3, 0); - } else { - this.regionResizerHandler.setVisible(false); - } - }, - - setWidth: function (width) { - BI.ResizableTable.superclass.setWidth.apply(this, arguments); - this.table.setWidth(width) - }, - - setHeight: function (height) { - BI.ResizableTable.superclass.setHeight.apply(this, arguments); - this.table.setHeight(height); - }, - - setVerticalScroll: function (scrollTop) { - this.table.setVerticalScroll(scrollTop); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - this.table.setLeftHorizontalScroll(scrollLeft); - }, - - setRightHorizontalScroll: function (scrollLeft) { - this.table.setRightHorizontalScroll(scrollLeft); - }, - - setColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - this.table.setColumnSize(columnSize); - }, - - getColumnSize: function () { - return this.table.getColumnSize(); - }, - - setRegionColumnSize: function (columnSize) { - this.options.regionColumnSize = columnSize; - this.table.setRegionColumnSize(columnSize); - }, - - getRegionColumnSize: function () { - return this.table.getRegionColumnSize(); - }, - - getVerticalScroll: function () { - return this.table.getVerticalScroll(); - }, - - getLeftHorizontalScroll: function () { - return this.table.getLeftHorizontalScroll(); - }, - - getRightHorizontalScroll: function () { - return this.table.getRightHorizontalScroll(); - }, - - attr: function () { - BI.ResizableTable.superclass.attr.apply(this, arguments); - this.table.attr.apply(this.table, arguments); - }, - - restore: function () { - this.table.restore(); - }, - - populate: function (items, header) { - if (items) { - this.options.items = items; - } - if (header) { - this.options.header = header; - if (this.options.isNeedResize) { - header = this._formatHeader(header); - } - } - this.table.populate(items, header); - this._populate(); - } -}); - -BI.shortcut("bi.resizable_table", BI.ResizableTable); \ No newline at end of file diff --git a/src/base/tree/asynctree.js b/src/base/tree/asynctree.js deleted file mode 100644 index 62bdcae61a..0000000000 --- a/src/base/tree/asynctree.js +++ /dev/null @@ -1,207 +0,0 @@ -/** - * guy - * 同步树 - * @class BI.AsyncTree - * @extends BI.TreeView - */ -BI.AsyncTree = BI.inherit(BI.TreeView, { - _defaultConfig: function () { - return BI.extend(BI.AsyncTree.superclass._defaultConfig.apply(this, arguments), {}) - }, - _init: function () { - BI.AsyncTree.superclass._init.apply(this, arguments); - }, - - //配置属性 - _configSetting: function () { - var paras = this.options.paras; - var self = this; - var setting = { - async: { - enable: false, - otherParam: BI.cjkEncodeDO(paras) - }, - check: { - enable: true - }, - data: { - key: { - title: "title", - name: "text" - }, - simpleData: { - enable: true - } - }, - view: { - showIcon: false, - expandSpeed: "", - nameIsHTML: true, - dblClickExpand: false - }, - callback: { - beforeCheck: beforeCheck, - onCheck: onCheck, - beforeExpand: beforeExpand, - onExpand: onExpand, - onCollapse: onCollapse, - onClick: onClick - } - }; - - function onClick(event, treeId, treeNode) { - var zTree = $.fn.zTree.getZTreeObj(treeId); - zTree.checkNode(treeNode, !treeNode.checked, true, true); - } - - function beforeCheck(treeId, treeNode) { - treeNode.halfCheck = false; - if (treeNode.checked === true) { - //将展开的节点halfCheck设为false,解决展开节点存在halfCheck=true的情况 guy - //所有的半选状态都需要取消halfCheck=true的情况 - function track(children) { - BI.each(children, function (i, ch) { - if (ch.halfCheck === true) { - ch.halfCheck = false; - track(ch.children); - } - }) - } - - track(treeNode.children); - - var treeObj = $.fn.zTree.getZTreeObj(treeId); - var nodes = treeObj.getSelectedNodes(); - BI.each(nodes, function (index, node) { - node.halfCheck = false; - }) - } - } - - function beforeExpand(treeId, treeNode) { - self._beforeExpandNode(treeId, treeNode); - } - - function onCheck(event, treeId, treeNode) { - self._selectTreeNode(treeId, treeNode); - } - - function onExpand(event, treeId, treeNode) { - treeNode.halfCheck = false; - } - - function onCollapse(event, treeId, treeNode) { - treeNode.halfCheck = false; - } - - return setting; - }, - - _selectTreeNode: function (treeId, treeNode) { - var self = this, o = this.options; - var parentValues = BI.deepClone(treeNode.parentValues || self._getParentValues(treeNode)); - var name = this._getNodeValue(treeNode); -// var values = parentValues.concat([name]); - if (treeNode.checked === true) { - } else { - var tNode = treeNode; - var pNode = this._getTree(this.options.paras.selectedValues, parentValues); - if (BI.isNotNull(pNode[name])) { - delete pNode[name]; - } - while (tNode != null && BI.isEmpty(pNode)) { - parentValues = parentValues.slice(0, parentValues.length - 1); - tNode = tNode.getParentNode(); - if (tNode != null) { - pNode = this._getTree(this.options.paras.selectedValues, parentValues); - name = this._getNodeValue(tNode); - delete pNode[name]; - } - } - } - BI.AsyncTree.superclass._selectTreeNode.apply(self, arguments); - }, - - //展开节点 - _beforeExpandNode: function (treeId, treeNode) { - var self = this, o = this.options; - var parentValues = treeNode.parentValues || self._getParentValues(treeNode); - var op = BI.extend({}, o.paras, { - id: treeNode.id, - times: 1, - parentValues: parentValues.concat(this._getNodeValue(treeNode)), - checkState: treeNode.getCheckStatus() - }); - var complete = function (d) { - var nodes = d.items || []; - if (nodes.length > 0) { - callback(self._dealWidthNodes(nodes), !!d.hasNext); - } - }; - var times = 1; - - function callback(nodes, hasNext) { - self.nodes.addNodes(treeNode, nodes); - - if (hasNext === true) { - BI.delay(function () { - times++; - op.times = times; - o.itemsCreator(op, complete); - }, 100); - } - } - - if (!treeNode.children) { - o.itemsCreator(op, complete) - } - }, - - _join: function (valueA, valueB) { - var self = this; - var map = {}; - track([], valueA, valueB); - track([], valueB, valueA); - function track(parent, node, compare) { - BI.each(node, function (n, item) { - if (BI.isNull(compare[n])) { - self._addTreeNode(map, parent, n, item); - } else if (BI.isEmpty(compare[n])) { - self._addTreeNode(map, parent, n, {}); - } else { - track(parent.concat([n]), node[n], compare[n]); - } - }) - } - - return map; - }, - - hasChecked: function () { - return !BI.isEmpty(this.options.paras.selectedValues) || BI.AsyncTree.superclass.hasChecked.apply(this, arguments); - }, - - getValue: function () { - if (!this.nodes) { - return {}; - } - var checkedValues = this._getSelectedValues(); - if (BI.isEmpty(checkedValues)) { - return BI.deepClone(this.options.paras.selectedValues); - } - if (BI.isEmpty(this.options.paras.selectedValues)) { - return checkedValues; - } - return this._join(checkedValues, this.options.paras.selectedValues); - }, - - //生成树方法 - stroke: function (config) { - delete this.options.keyword; - BI.extend(this.options.paras, config); - var setting = this._configSetting(); - this._initTree(setting); - } -}); - -BI.shortcut("bi.async_tree", BI.AsyncTree); \ No newline at end of file diff --git a/src/base/tree/customtree.js b/src/base/tree/customtree.js deleted file mode 100644 index 96a692fe0c..0000000000 --- a/src/base/tree/customtree.js +++ /dev/null @@ -1,146 +0,0 @@ -/** - * - * 自定义树 - * - * Created by GUY on 2015/9/7. - * @class BI.CustomTree - * @extends BI.Single - */ -BI.CustomTree = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.CustomTree.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-custom-tree", - expander: { - el: {}, - popup: { - type: "bi.custom_tree" - } - }, - - items: [], - itemsCreator: BI.emptyFn, - - el: { - type: "bi.button_tree", - chooseType: 0, - layouts: [{ - type: "bi.vertical" - }] - } - }) - }, - - _init: function () { - BI.CustomTree.superclass._init.apply(this, arguments); - this.initTree(this.options.items); - }, - - _formatItems: function (nodes) { - var self = this, o = this.options; - nodes = BI.Tree.transformToTreeFormat(nodes); - - var items = []; - BI.each(nodes, function (i, node) { - if (BI.isNotEmptyArray(node.children) || node.isParent === true) { - var item = BI.extend({ - type: "bi.expander", - el: {}, - popup: {type: "bi.custom_tree"} - }, BI.deepClone(o.expander), { - id: node.id, - pId: node.pId, - value: node.value - }); - var el = BI.stripEL(node); - if (!BI.isWidget(el)) { - el = BI.clone(el); - delete el.children; - BI.extend(item.el, el); - } else { - item.el = el; - } - item.popup.expander = BI.deepClone(o.expander); - item.items = item.popup.items = node.children; - item.itemsCreator = item.popup.itemsCreator = function (op) { - if (BI.isNotNull(op.node)) {//从子节点传过来的itemsCreator直接向上传递 - return o.itemsCreator.apply(self, arguments); - } - var args = Array.prototype.slice.call(arguments, 0); - args[0].node = node; - return o.itemsCreator.apply(self, args); - }; - BI.isNull(item.popup.el) && (item.popup.el = BI.deepClone(o.el)); - items.push(item); - } else { - items.push(node); - } - }); - return items; - }, - - //构造树结构, - initTree: function (nodes) { - var self = this, o = this.options; - this.tree = BI.createWidget(o.el, { - element: this, - items: this._formatItems(nodes), - itemsCreator: function (op, callback) { - o.itemsCreator.apply(this, [op, function (items) { - var args = Array.prototype.slice.call(arguments, 0); - args[0] = self._formatItems(items); - callback.apply(null, args); - }]); - } - }); - this.tree.on(BI.Controller.EVENT_CHANGE, function (type, val, obj) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.CustomTree.EVENT_CHANGE, val, obj); - } - }) - }, - - //生成树方法 - stroke: function (nodes) { - this.populate.apply(this, arguments); - }, - - populate: function (nodes) { - var args = Array.prototype.slice.call(arguments, 0); - if (arguments.length > 0) { - args[0] = this._formatItems(nodes); - } - this.tree.populate.apply(this.tree, args); - }, - - setValue: function (v) { - this.tree && this.tree.setValue(v); - }, - - getValue: function () { - return this.tree ? this.tree.getValue() : []; - }, - - getAllButtons: function () { - return this.tree ? this.tree.getAllButtons() : []; - }, - - getAllLeaves: function () { - return this.tree ? this.tree.getAllLeaves() : []; - }, - - getNodeById: function (id) { - return this.tree && this.tree.getNodeById(id); - }, - - getNodeByValue: function (id) { - return this.tree && this.tree.getNodeByValue(id); - }, - - empty: function () { - this.tree.empty(); - } -}); -BI.CustomTree.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.custom_tree", BI.CustomTree); \ No newline at end of file diff --git a/src/base/tree/parttree.js b/src/base/tree/parttree.js deleted file mode 100644 index adc7088dcc..0000000000 --- a/src/base/tree/parttree.js +++ /dev/null @@ -1,166 +0,0 @@ -/** - * guy - * 局部树,两个请求树, 第一个请求构造树,第二个请求获取节点 - * @class BI.PartTree - * @extends BI.AsyncTree - */ -BI.PartTree = BI.inherit(BI.AsyncTree, { - _defaultConfig: function () { - return BI.extend(BI.PartTree.superclass._defaultConfig.apply(this, arguments), {}) - }, - - _init: function () { - BI.PartTree.superclass._init.apply(this, arguments); - }, - - _loadMore: function () { - var self = this, o = this.options; - var op = BI.extend({}, o.paras, { - type: BI.TreeView.REQ_TYPE_INIT_DATA, - times: ++this.times - }); - this.tip.setLoading(); - o.itemsCreator(op, function (d) { - var hasNext = !!d.hasNext, nodes = d.items || []; - o.paras.lastSearchValue = d.lastSearchValue; - if (self._stop === true) { - return; - } - if (!hasNext) { - self.tip.setEnd(); - } else { - self.tip.setLoaded(); - } - if (nodes.length > 0) { - self.nodes.addNodes(null, self._dealWidthNodes(nodes)); - } - }); - }, - - _selectTreeNode: function (treeId, treeNode) { - var self = this, o = this.options; - var parentValues = BI.deepClone(treeNode.parentValues || self._getParentValues(treeNode)); - var name = this._getNodeValue(treeNode); - if (treeNode.checked === true) { - BI.AsyncTree.superclass._selectTreeNode.apply(self, arguments); - } else { - //如果选中的值中不存在该值不处理 - var t = this.options.paras.selectedValues; - var p = parentValues.concat(name); - for (var i = 0, len = p.length; i < len; i++) { - t = t[p[i]]; - if (t == null) { - return; - } - if (BI.isEmpty(t)) { - break; - } - } - o.itemsCreator(BI.extend({}, o.paras, { - type: BI.TreeView.REQ_TYPE_SELECT_DATA, - notSelectedValue: name, - parentValues: parentValues - }), function (new_values) { - self.options.paras.selectedValues = new_values; - BI.AsyncTree.superclass._selectTreeNode.apply(self, arguments); - }); - } - }, - - _getSelectedValues: function () { - var self = this; - var hashMap = {}; - var rootNoots = this.nodes.getNodes(); - track(rootNoots); - function track(nodes) { - BI.each(nodes, function (i, node) { - var checkState = node.getCheckStatus(); - if (checkState.checked === false) { - return true; - } - var parentValues = node.parentValues || self._getParentValues(node); - //把文字中的html去掉,其实就是把文字颜色去掉 - var values = parentValues.concat([self._getNodeValue(node)]); - self._buildTree(hashMap, values); -// if(checkState.checked === true && checkState.half === false && nodes[i].flag === true){ -// continue; -// } - if (BI.isNotEmptyArray(node.children)) { - track(node.children); - return true; - } - if (checkState.half === true) { - self._getHalfSelectedValues(hashMap, node); - } - }) - } - - return hashMap; - }, - - _initTree: function (setting, keyword) { - var self = this, o = this.options; - this.times = 1; - var tree = this.tree; - tree.empty(); - self.tip.setVisible(false); - this.loading(); - var op = BI.extend({}, o.paras, { - type: BI.TreeView.REQ_TYPE_INIT_DATA, - times: this.times - }); - var complete = function (d) { - if (self._stop === true || keyword != o.paras.keyword) { - return; - } - var hasNext = !!d.hasNext, nodes = d.items || []; - o.paras.lastSearchValue = d.lastSearchValue; - if (nodes.length > 0) { - callback(self._dealWidthNodes(nodes)); - } - self.setTipVisible(nodes.length <= 0); - self.loaded(); - if (!hasNext) { - self.tip.invisible(); - } else { - self.tip.setLoaded(); - } - self.fireEvent(BI.Events.AFTERINIT); - }; - - function callback(nodes) { - if (self._stop === true) { - return; - } - self.nodes = $.fn.zTree.init(tree.element, setting, nodes); - } - - BI.delay(function () { - o.itemsCreator(op, complete); - }, 100); - }, - - getValue: function () { - var o = this.options; - var result = BI.PartTree.superclass.getValue.apply(this, arguments); - o.itemsCreator({ - type: BI.TreeView.REQ_TYPE_ADJUST_DATA, - selectedValues: result - }, function (res) { - result = res; - }); - return result; - }, - - //生成树方法 - stroke: function (config) { - var o = this.options; - delete o.paras.keyword; - BI.extend(o.paras, config); - delete o.paras.lastSearchValue; - var setting = this._configSetting(); - this._initTree(setting, o.paras.keyword); - } -}); - -BI.shortcut("bi.part_tree", BI.PartTree); \ No newline at end of file diff --git a/src/base/tree/treeview.js b/src/base/tree/treeview.js deleted file mode 100644 index 118a65088d..0000000000 --- a/src/base/tree/treeview.js +++ /dev/null @@ -1,509 +0,0 @@ -/** - * guy - * 异步树 - * @class BI.TreeView - * @extends BI.Pane - */ -BI.TreeView = BI.inherit(BI.Pane, { - _defaultConfig: function () { - return BI.extend(BI.TreeView.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-tree", - paras: {}, - itemsCreator: BI.emptyFn - }) - }, - _init: function () { - BI.TreeView.superclass._init.apply(this, arguments); - this._stop = false; - - this._createTree(); - this.tip = BI.createWidget({ - type: "bi.loading_bar", - invisible: true, - handler: BI.bind(this._loadMore, this) - }); - BI.createWidget({ - type: "bi.vertical", - scrollable: true, - scrolly: false, - element: this, - items: [this.tip] - }); - - }, - - _createTree: function () { - this.id = "bi-tree" + BI.UUID(); - if (this.nodes) { - this.nodes.destroy(); - } - if (this.tree) { - this.tree.destroy(); - } - this.tree = BI.createWidget({ - type: "bi.layout", - element: "<ul id='" + this.id + "' class='ztree'></ul>" - }); - BI.createWidget({ - type: "bi.default", - element: this.element, - items: [this.tree] - }); - }, - - //选择节点触发方法 - _selectTreeNode: function (treeId, treeNode) { - this.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.CLICK, treeNode, this); - this.fireEvent(BI.TreeView.EVENT_CHANGE, treeNode, this); - }, - - //配置属性 - _configSetting: function () { - var paras = this.options.paras; - var self = this; - var setting = { - async: { - enable: true, - url: getUrl, - autoParam: ["id", "name"], - otherParam: BI.cjkEncodeDO(paras) - }, - check: { - enable: true - }, - data: { - key: { - title: "title", - name: "text" - }, - simpleData: { - enable: true - } - }, - view: { - showIcon: false, - expandSpeed: "", - nameIsHTML: true, - dblClickExpand: false - }, - callback: { - beforeExpand: beforeExpand, - onAsyncSuccess: onAsyncSuccess, - onAsyncError: onAsyncError, - beforeCheck: beforeCheck, - onCheck: onCheck, - onExpand: onExpand, - onCollapse: onCollapse, - onClick: onClick - } - }; - var className = "dark", perTime = 100; - - function onClick(event, treeId, treeNode) { - self.nodes.checkNode(treeNode, !treeNode.checked, true, true); - } - - function getUrl(treeId, treeNode) { - var parentNode = self._getParentValues(treeNode); - treeNode.times = treeNode.times || 1; - var param = "id=" + treeNode.id - + "×=" + (treeNode.times++) - + "&parentValues= " + window.encodeURIComponent(BI.jsonEncode(parentNode)) - + "&checkState=" + window.encodeURIComponent(BI.jsonEncode(treeNode.getCheckStatus())); - - return BI.servletURL + '?op=' + self.options.op + '&cmd=' + self.options.cmd + "&" + param; - } - - function beforeExpand(treeId, treeNode) { - if (!treeNode.isAjaxing) { - if (!treeNode.children) { - treeNode.times = 1; - ajaxGetNodes(treeNode, "refresh"); - } - return true; - } else { - BI.Msg.toast("Please Wait。", "warning"); - return false; - } - } - - function onAsyncSuccess(event, treeId, treeNode, msg) { - treeNode.halfCheck = false; - if (!msg || msg.length === 0 || /^<html>[\s,\S]*<\/html>$/gi.test(msg) || self._stop) { - return; - } - var zTree = self.nodes; - var totalCount = treeNode.count || 0; - - //尝试去获取下一组节点,若获取值为空数组,表示获取完成 - // TODO by GUY - if (treeNode.children.length > totalCount) { - treeNode.count = treeNode.children.length; - BI.delay(function () { - ajaxGetNodes(treeNode); - }, perTime); - } else { - //treeNode.icon = ""; - zTree.updateNode(treeNode); - zTree.selectNode(treeNode.children[0]); - //className = (className === "dark" ? "":"dark"); - } - } - - function onAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) { - var zTree = self.nodes; - BI.Msg.toast("Error!", "warning"); - //treeNode.icon = ""; - //zTree.updateNode(treeNode); - } - - function ajaxGetNodes(treeNode, reloadType) { - var zTree = self.nodes; - if (reloadType == "refresh") { - //treeNode.icon = BI.servletURL +"?op=resource&resource=/com/fr/bi/web/css/base/third/ztree/img/loading.gif"; - zTree.updateNode(treeNode); - } - zTree.reAsyncChildNodes(treeNode, reloadType, true); - } - - function beforeCheck(treeId, treeNode) { - treeNode.halfCheck = false; - if (treeNode.checked === true) { - //将展开的节点halfCheck设为false,解决展开节点存在halfCheck=true的情况 guy - //所有的半选状态都需要取消halfCheck=true的情况 - function track(children) { - BI.each(children, function (i, ch) { - if (ch.halfCheck === true) { - ch.halfCheck = false; - track(ch.children); - } - }) - } - - track(treeNode.children); - var treeObj = self.nodes; - var nodes = treeObj.getSelectedNodes(); - $.each(nodes, function (index, node) { - node.halfCheck = false; - }) - } - } - - function onCheck(event, treeId, treeNode) { - self._selectTreeNode(treeId, treeNode); - } - - function onExpand(event, treeId, treeNode) { - treeNode.halfCheck = false; - } - - function onCollapse(event, treeId, treeNode) { - } - - return setting; - }, - - _getParentValues: function (treeNode) { - if (!treeNode.getParentNode()) { - return []; - } - var parentNode = treeNode.getParentNode(); - var result = this._getParentValues(parentNode); - result = result.concat([this._getNodeValue(parentNode)]); - return result; - }, - - _getNodeValue: function (node) { - //去除标红 - return node.value == null ? node.text.replace(/<[^>]+>/g, "").replaceAll(" ", " ") : node.value; - }, - - //获取半选框值 - _getHalfSelectedValues: function (map, node) { - var self = this; - var checkState = node.getCheckStatus(); - //将未选的去掉 - if (checkState.checked === false && checkState.half === false) { - return; - } - //如果节点已展开,并且是半选 - if (BI.isNotEmptyArray(node.children) && checkState.half === true) { - var children = node.children; - BI.each(children, function (i, ch) { - self._getHalfSelectedValues(map, ch); - }); - return; - } - var parent = node.parentValues || self._getParentValues(node); - var path = parent.concat(this._getNodeValue(node)); - if (BI.isNotEmptyArray(node.children) || checkState.half === false) { - this._buildTree(map, path); - return; - } - var storeValues = BI.deepClone(this.options.paras.selectedValues); - var treeNode = this._getTree(storeValues, path); - this._addTreeNode(map, parent, this._getNodeValue(node), treeNode); - }, - - _getTree: function (map, values) { - var cur = map; - BI.any(values, function (i, value) { - if (cur[value] == null) { - return true; - } - cur = cur[value]; - }); - return cur; - }, - - _addTreeNode: function (map, values, key, value) { - var cur = map; - BI.each(values, function (i, value) { - if (cur[value] == null) { - cur[value] = {}; - } - cur = cur[value]; - }); - cur[key] = value; - }, - - //构造树节点 - _buildTree: function (map, values) { - var cur = map; - BI.each(values, function (i, value) { - if (cur[value] == null) { - cur[value] = {}; - } - cur = cur[value]; - }) - }, - - //获取选中的值 - _getSelectedValues: function () { - var self = this; - var hashMap = {}; - var rootNoots = this.nodes.getNodes(); - track(rootNoots); - function track(nodes) { - BI.each(nodes, function (i, node) { - var checkState = node.getCheckStatus(); - if (checkState.checked === true || checkState.half === true) { - if (checkState.half === true) { - self._getHalfSelectedValues(hashMap, node); - } else { - var parentValues = node.parentValues || self._getParentValues(node); - var values = parentValues.concat([self._getNodeValue(node)]); - self._buildTree(hashMap, values); - } - } - }) - } - - return hashMap; - }, - - //处理节点 - _dealWidthNodes: function (nodes) { - var self = this, o = this.options; - var ns = BI.Tree.arrayFormat(nodes); - BI.each(ns, function (i, n) { - n.title = n.title || n.text || n.value; - //处理标红 - if (BI.isKey(o.paras.keyword)) { - n.text = $("<div>").__textKeywordMarked__(n.text, o.paras.keyword, n.py).html(); - } else { - n.text = (n.text + "").replaceAll(" ", " "); - } - }); - return nodes; - }, - - _loadMore: function () { - var self = this, o = this.options; - this.tip.setLoading(); - var op = BI.extend({}, o.paras, { - times: ++this.times - }); - o.itemsCreator(op, function (res) { - if (self._stop === true) { - return; - } - var hasNext = !!res.hasNext, nodes = res.items || []; - - if (!hasNext) { - self.tip.setEnd(); - } else { - self.tip.setLoaded(); - } - if (nodes.length > 0) { - self.nodes.addNodes(null, self._dealWidthNodes(nodes)); - } - }); - }, - - //生成树内部方法 - _initTree: function (setting) { - var self = this, o = this.options; - self.fireEvent(BI.Events.INIT); - this.times = 1; - var tree = this.tree; - tree.empty(); - this.loading(); - this.tip.setVisible(false); - var callback = function (nodes) { - if (self._stop === true) { - return; - } - self.nodes = $.fn.zTree.init(tree.element, setting, nodes); - }; - var op = BI.extend({}, o.paras, { - times: 1 - }); - - o.itemsCreator(op, function (res) { - if (self._stop === true) { - return; - } - var hasNext = !!res.hasNext, nodes = res.items || []; - if (nodes.length > 0) { - callback(self._dealWidthNodes(nodes)); - } - self.setTipVisible(nodes.length <= 0); - self.loaded(); - if (!hasNext) { - self.tip.invisible(); - } else { - self.tip.setLoaded(); - } - op.times === 1 && self.fireEvent(BI.Events.AFTERINIT); - }); - }, - - //构造树结构, - initTree: function (nodes, setting) { - var setting = setting || { - async: { - enable: false - }, - check: { - enable: false - }, - data: { - key: { - title: "title", - name: "text" - }, - simpleData: { - enable: true - } - }, - view: { - showIcon: false, - expandSpeed: "", - nameIsHTML: true - }, - callback: {} - }; - this.nodes = $.fn.zTree.init(this.tree.element, setting, nodes); - }, - - start: function () { - this._stop = false; - }, - - stop: function () { - this._stop = true; - }, - - //生成树方法 - stroke: function (config) { - delete this.options.keyword; - BI.extend(this.options.paras, config); - var setting = this._configSetting(); - this._createTree(); - this.start(); - this._initTree(setting); - }, - - populate: function () { - this.stroke.apply(this, arguments); - }, - - hasChecked: function () { - var treeObj = this.nodes; - return treeObj.getCheckedNodes(true).length > 0; - }, - - checkAll: function (checked) { - function setNode(children) { - BI.each(children, function (i, child) { - child.halfCheck = false; - setNode(child.children); - }); - } - - BI.each(this.nodes.getNodes(), function (i, node) { - node.halfCheck = false; - setNode(node.children); - }); - this.nodes && this.nodes.checkAllNodes(checked); - }, - - expandAll: function (flag) { - this.nodes && this.nodes.expandAll(flag); - }, - - //设置树节点的状态 - setValue: function (value, param) { - this.checkAll(false); - this.updateValue(value, param); - this.refresh(); - }, - - setSelectedValue: function (value) { - this.options.paras.selectedValues = BI.deepClone(value || {}); - }, - - updateValue: function (values, param) { - if (!this.nodes) { - return; - } - param || (param = "value"); - var treeObj = this.nodes; - BI.each(values, function (v, op) { - var nodes = treeObj.getNodesByParam(param, v, null); - BI.each(nodes, function (j, node) { - BI.extend(node, {checked: true}, op); - treeObj.updateNode(node); - }) - }); - }, - - refresh: function () { - this.nodes && this.nodes.refresh(); - }, - - getValue: function () { - if (!this.nodes) { - return null; - } - return this._getSelectedValues(); - }, - - destroyed: function () { - this.stop(); - this.nodes && this.nodes.destroy(); - } -}); -BI.extend(BI.TreeView, { - REQ_TYPE_INIT_DATA: 1, - REQ_TYPE_ADJUST_DATA: 2, - REQ_TYPE_SELECT_DATA: 3, - REQ_TYPE_GET_SELECTED_DATA: 4 -}); - -BI.TreeView.EVENT_CHANGE = "EVENT_CHANGE"; -BI.TreeView.EVENT_INIT = BI.Events.INIT; -BI.TreeView.EVENT_AFTERINIT = BI.Events.AFTERINIT; - -BI.shortcut("bi.tree_view", BI.TreeView); \ No newline at end of file diff --git a/src/base/tree/ztree/jquery.ztree.core-3.5.js b/src/base/tree/ztree/jquery.ztree.core-3.5.js deleted file mode 100644 index ee05c22c8a..0000000000 --- a/src/base/tree/ztree/jquery.ztree.core-3.5.js +++ /dev/null @@ -1,1715 +0,0 @@ -/* - * JQuery zTree core v3.5.18 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2015-06-18 - */ -(function($){ - var settings = {}, roots = {}, caches = {}, - //default consts of core - _consts = { - className: { - BUTTON: "button", - LEVEL: "level", - ICO_LOADING: "ico_loading", - SWITCH: "switch" - }, - event: { - NODECREATED: "ztree_nodeCreated", - CLICK: "ztree_click", - EXPAND: "ztree_expand", - COLLAPSE: "ztree_collapse", - ASYNC_SUCCESS: "ztree_async_success", - ASYNC_ERROR: "ztree_async_error", - REMOVE: "ztree_remove", - SELECTED: "ztree_selected", - UNSELECTED: "ztree_unselected" - }, - id: { - A: "_a", - ICON: "_ico", - SPAN: "_span", - SWITCH: "_switch", - UL: "_ul" - }, - line: { - ROOT: "root", - ROOTS: "roots", - CENTER: "center", - BOTTOM: "bottom", - NOLINE: "noline", - LINE: "line" - }, - folder: { - OPEN: "open", - CLOSE: "close", - DOCU: "docu" - }, - node: { - CURSELECTED: "curSelectedNode" - } - }, - //default setting of core - _setting = { - treeId: "", - treeObj: null, - view: { - addDiyDom: null, - autoCancelSelected: true, - dblClickExpand: true, - expandSpeed: "fast", - fontCss: {}, - nameIsHTML: false, - selectedMulti: true, - showIcon: true, - showLine: true, - showTitle: true, - txtSelectedEnable: false - }, - data: { - key: { - children: "children", - name: "name", - title: "", - url: "url" - }, - simpleData: { - enable: false, - idKey: "id", - pIdKey: "pId", - rootPId: null - }, - keep: { - parent: false, - leaf: false - } - }, - async: { - enable: false, - contentType: "application/x-www-form-urlencoded", - type: "post", - dataType: "text", - url: "", - autoParam: [], - otherParam: [], - dataFilter: null - }, - callback: { - beforeAsync:null, - beforeClick:null, - beforeDblClick:null, - beforeRightClick:null, - beforeMouseDown:null, - beforeMouseUp:null, - beforeExpand:null, - beforeCollapse:null, - beforeRemove:null, - - onAsyncError:null, - onAsyncSuccess:null, - onNodeCreated:null, - onClick:null, - onDblClick:null, - onRightClick:null, - onMouseDown:null, - onMouseUp:null, - onExpand:null, - onCollapse:null, - onRemove:null - } - }, - //default root of core - //zTree use root to save full data - _initRoot = function (setting) { - var r = data.getRoot(setting); - if (!r) { - r = {}; - data.setRoot(setting, r); - } - r[setting.data.key.children] = []; - r.expandTriggerFlag = false; - r.curSelectedList = []; - r.noSelection = true; - r.createdNodes = []; - r.zId = 0; - r._ver = (new Date()).getTime(); - }, - //default cache of core - _initCache = function(setting) { - var c = data.getCache(setting); - if (!c) { - c = {}; - data.setCache(setting, c); - } - c.nodes = []; - c.doms = []; - }, - //default bindEvent of core - _bindEvent = function(setting) { - var o = setting.treeObj, - c = consts.event; - o.bind(c.NODECREATED, function (event, treeId, node) { - tools.apply(setting.callback.onNodeCreated, [event, treeId, node]); - }); - - o.bind(c.CLICK, function (event, srcEvent, treeId, node, clickFlag) { - tools.apply(setting.callback.onClick, [srcEvent, treeId, node, clickFlag]); - }); - - o.bind(c.EXPAND, function (event, treeId, node) { - tools.apply(setting.callback.onExpand, [event, treeId, node]); - }); - - o.bind(c.COLLAPSE, function (event, treeId, node) { - tools.apply(setting.callback.onCollapse, [event, treeId, node]); - }); - - o.bind(c.ASYNC_SUCCESS, function (event, treeId, node, msg) { - tools.apply(setting.callback.onAsyncSuccess, [event, treeId, node, msg]); - }); - - o.bind(c.ASYNC_ERROR, function (event, treeId, node, XMLHttpRequest, textStatus, errorThrown) { - tools.apply(setting.callback.onAsyncError, [event, treeId, node, XMLHttpRequest, textStatus, errorThrown]); - }); - - o.bind(c.REMOVE, function (event, treeId, treeNode) { - tools.apply(setting.callback.onRemove, [event, treeId, treeNode]); - }); - - o.bind(c.SELECTED, function (event, srcEvent, treeId, node) { - tools.apply(setting.callback.onSelected, [srcEvent, treeId, node]); - }); - o.bind(c.UNSELECTED, function (event, srcEvent, treeId, node) { - tools.apply(setting.callback.onUnSelected, [srcEvent, treeId, node]); - }); - }, - _unbindEvent = function(setting) { - var o = setting.treeObj, - c = consts.event; - o.unbind(c.NODECREATED) - .unbind(c.CLICK) - .unbind(c.EXPAND) - .unbind(c.COLLAPSE) - .unbind(c.ASYNC_SUCCESS) - .unbind(c.ASYNC_ERROR) - .unbind(c.REMOVE) - .unbind(c.SELECTED) - .unbind(c.UNSELECTED); - }, - //default event proxy of core - _eventProxy = function(event) { - var target = event.target, - setting = data.getSetting(event.data.treeId), - tId = "", node = null, - nodeEventType = "", treeEventType = "", - nodeEventCallback = null, treeEventCallback = null, - tmp = null; - - if (tools.eqs(event.type, "mousedown")) { - treeEventType = "mousedown"; - } else if (tools.eqs(event.type, "mouseup")) { - treeEventType = "mouseup"; - } else if (tools.eqs(event.type, "contextmenu")) { - treeEventType = "contextmenu"; - } else if (tools.eqs(event.type, "click")) { - if (tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.SWITCH) !== null) { - tId = tools.getNodeMainDom(target).id; - nodeEventType = "switchNode"; - } else { - tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (tmp) { - tId = tools.getNodeMainDom(tmp).id; - nodeEventType = "clickNode"; - } - } - } else if (tools.eqs(event.type, "dblclick")) { - treeEventType = "dblclick"; - tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (tmp) { - tId = tools.getNodeMainDom(tmp).id; - nodeEventType = "switchNode"; - } - } - if (treeEventType.length > 0 && tId.length == 0) { - tmp = tools.getMDom(setting, target, [{tagName:"a", attrName:"treeNode"+consts.id.A}]); - if (tmp) {tId = tools.getNodeMainDom(tmp).id;} - } - // event to node - if (tId.length>0) { - node = data.getNodeCache(setting, tId); - switch (nodeEventType) { - case "switchNode" : - if (!node.isParent) { - nodeEventType = ""; - } else if (tools.eqs(event.type, "click") - || (tools.eqs(event.type, "dblclick") && tools.apply(setting.view.dblClickExpand, [setting.treeId, node], setting.view.dblClickExpand))) { - nodeEventCallback = handler.onSwitchNode; - } else { - nodeEventType = ""; - } - break; - case "clickNode" : - nodeEventCallback = handler.onClickNode; - break; - } - } - // event to zTree - switch (treeEventType) { - case "mousedown" : - treeEventCallback = handler.onZTreeMousedown; - break; - case "mouseup" : - treeEventCallback = handler.onZTreeMouseup; - break; - case "dblclick" : - treeEventCallback = handler.onZTreeDblclick; - break; - case "contextmenu" : - treeEventCallback = handler.onZTreeContextmenu; - break; - } - var proxyResult = { - stop: false, - node: node, - nodeEventType: nodeEventType, - nodeEventCallback: nodeEventCallback, - treeEventType: treeEventType, - treeEventCallback: treeEventCallback - }; - return proxyResult - }, - //default init node of core - _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) { - if (!n) return; - var r = data.getRoot(setting), - childKey = setting.data.key.children; - n.level = level; - n.tId = setting.treeId + "_" + (++r.zId); - n.parentTId = parentNode ? parentNode.tId : null; - n.open = (typeof n.open == "string") ? tools.eqs(n.open, "true") : !!n.open; - if (n[childKey] && n[childKey].length > 0) { - n.isParent = true; - n.zAsync = true; - } else { - n.isParent = (typeof n.isParent == "string") ? tools.eqs(n.isParent, "true") : !!n.isParent; - n.open = (n.isParent && !setting.async.enable) ? n.open : false; - n.zAsync = !n.isParent; - } - n.isFirstNode = isFirstNode; - n.isLastNode = isLastNode; - n.getParentNode = function() {return data.getNodeCache(setting, n.parentTId);}; - n.getPreNode = function() {return data.getPreNode(setting, n);}; - n.getNextNode = function() {return data.getNextNode(setting, n);}; - n.isAjaxing = false; - data.fixPIdKeyValue(setting, n); - }, - _init = { - bind: [_bindEvent], - unbind: [_unbindEvent], - caches: [_initCache], - nodes: [_initNode], - proxys: [_eventProxy], - roots: [_initRoot], - beforeA: [], - afterA: [], - innerBeforeA: [], - innerAfterA: [], - zTreeTools: [] - }, - //method of operate data - data = { - addNodeCache: function(setting, node) { - data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = node; - }, - getNodeCacheId: function(tId) { - return tId.substring(tId.lastIndexOf("_")+1); - }, - addAfterA: function(afterA) { - _init.afterA.push(afterA); - }, - addBeforeA: function(beforeA) { - _init.beforeA.push(beforeA); - }, - addInnerAfterA: function(innerAfterA) { - _init.innerAfterA.push(innerAfterA); - }, - addInnerBeforeA: function(innerBeforeA) { - _init.innerBeforeA.push(innerBeforeA); - }, - addInitBind: function(bindEvent) { - _init.bind.push(bindEvent); - }, - addInitUnBind: function(unbindEvent) { - _init.unbind.push(unbindEvent); - }, - addInitCache: function(initCache) { - _init.caches.push(initCache); - }, - addInitNode: function(initNode) { - _init.nodes.push(initNode); - }, - addInitProxy: function(initProxy, isFirst) { - if (!!isFirst) { - _init.proxys.splice(0,0,initProxy); - } else { - _init.proxys.push(initProxy); - } - }, - addInitRoot: function(initRoot) { - _init.roots.push(initRoot); - }, - addNodesData: function(setting, parentNode, nodes) { - var childKey = setting.data.key.children; - if (!parentNode[childKey]) parentNode[childKey] = []; - if (parentNode[childKey].length > 0) { - parentNode[childKey][parentNode[childKey].length - 1].isLastNode = false; - view.setNodeLineIcos(setting, parentNode[childKey][parentNode[childKey].length - 1]); - } - parentNode.isParent = true; - parentNode[childKey] = parentNode[childKey].concat(nodes); - }, - addSelectedNode: function(setting, node) { - var root = data.getRoot(setting); - if (!data.isSelectedNode(setting, node)) { - root.curSelectedList.push(node); - } - }, - addCreatedNode: function(setting, node) { - if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) { - var root = data.getRoot(setting); - root.createdNodes.push(node); - } - }, - addZTreeTools: function(zTreeTools) { - _init.zTreeTools.push(zTreeTools); - }, - exSetting: function(s) { - $.extend(true, _setting, s); - }, - fixPIdKeyValue: function(setting, node) { - if (setting.data.simpleData.enable) { - node[setting.data.simpleData.pIdKey] = node.parentTId ? node.getParentNode()[setting.data.simpleData.idKey] : setting.data.simpleData.rootPId; - } - }, - getAfterA: function(setting, node, array) { - for (var i=0, j=_init.afterA.length; i<j; i++) { - _init.afterA[i].apply(this, arguments); - } - }, - getBeforeA: function(setting, node, array) { - for (var i=0, j=_init.beforeA.length; i<j; i++) { - _init.beforeA[i].apply(this, arguments); - } - }, - getInnerAfterA: function(setting, node, array) { - for (var i=0, j=_init.innerAfterA.length; i<j; i++) { - _init.innerAfterA[i].apply(this, arguments); - } - }, - getInnerBeforeA: function(setting, node, array) { - for (var i=0, j=_init.innerBeforeA.length; i<j; i++) { - _init.innerBeforeA[i].apply(this, arguments); - } - }, - getCache: function(setting) { - return caches[setting.treeId]; - }, - getNextNode: function(setting, node) { - if (!node) return null; - var childKey = setting.data.key.children, - p = node.parentTId ? node.getParentNode() : data.getRoot(setting); - for (var i=0, l=p[childKey].length-1; i<=l; i++) { - if (p[childKey][i] === node) { - return (i==l ? null : p[childKey][i+1]); - } - } - return null; - }, - getNodeByParam: function(setting, nodes, key, value) { - if (!nodes || !key) return null; - var childKey = setting.data.key.children; - for (var i = 0, l = nodes.length; i < l; i++) { - if (nodes[i][key] == value) { - return nodes[i]; - } - var tmp = data.getNodeByParam(setting, nodes[i][childKey], key, value); - if (tmp) return tmp; - } - return null; - }, - getNodeCache: function(setting, tId) { - if (!tId) return null; - var n = caches[setting.treeId].nodes[data.getNodeCacheId(tId)]; - return n ? n : null; - }, - getNodeName: function(setting, node) { - var nameKey = setting.data.key.name; - return "" + node[nameKey]; - }, - getNodeTitle: function(setting, node) { - var t = setting.data.key.title === "" ? setting.data.key.name : setting.data.key.title; - return "" + node[t]; - }, - getNodes: function(setting) { - return data.getRoot(setting)[setting.data.key.children]; - }, - getNodesByParam: function(setting, nodes, key, value) { - if (!nodes || !key) return []; - var childKey = setting.data.key.children, - result = []; - for (var i = 0, l = nodes.length; i < l; i++) { - if (nodes[i][key] == value) { - result.push(nodes[i]); - } - result = result.concat(data.getNodesByParam(setting, nodes[i][childKey], key, value)); - } - return result; - }, - getNodesByParamFuzzy: function(setting, nodes, key, value) { - if (!nodes || !key) return []; - var childKey = setting.data.key.children, - result = []; - value = value.toLowerCase(); - for (var i = 0, l = nodes.length; i < l; i++) { - if (typeof nodes[i][key] == "string" && nodes[i][key].toLowerCase().indexOf(value)>-1) { - result.push(nodes[i]); - } - result = result.concat(data.getNodesByParamFuzzy(setting, nodes[i][childKey], key, value)); - } - return result; - }, - getNodesByFilter: function(setting, nodes, filter, isSingle, invokeParam) { - if (!nodes) return (isSingle ? null : []); - var childKey = setting.data.key.children, - result = isSingle ? null : []; - for (var i = 0, l = nodes.length; i < l; i++) { - if (tools.apply(filter, [nodes[i], invokeParam], false)) { - if (isSingle) {return nodes[i];} - result.push(nodes[i]); - } - var tmpResult = data.getNodesByFilter(setting, nodes[i][childKey], filter, isSingle, invokeParam); - if (isSingle && !!tmpResult) {return tmpResult;} - result = isSingle ? tmpResult : result.concat(tmpResult); - } - return result; - }, - getPreNode: function(setting, node) { - if (!node) return null; - var childKey = setting.data.key.children, - p = node.parentTId ? node.getParentNode() : data.getRoot(setting); - for (var i=0, l=p[childKey].length; i<l; i++) { - if (p[childKey][i] === node) { - return (i==0 ? null : p[childKey][i-1]); - } - } - return null; - }, - getRoot: function(setting) { - return setting ? roots[setting.treeId] : null; - }, - getRoots: function() { - return roots; - }, - getSetting: function(treeId) { - return settings[treeId]; - }, - getSettings: function() { - return settings; - }, - getZTreeTools: function(treeId) { - var r = this.getRoot(this.getSetting(treeId)); - return r ? r.treeTools : null; - }, - initCache: function(setting) { - for (var i=0, j=_init.caches.length; i<j; i++) { - _init.caches[i].apply(this, arguments); - } - }, - initNode: function(setting, level, node, parentNode, preNode, nextNode) { - for (var i=0, j=_init.nodes.length; i<j; i++) { - _init.nodes[i].apply(this, arguments); - } - }, - initRoot: function(setting) { - for (var i=0, j=_init.roots.length; i<j; i++) { - _init.roots[i].apply(this, arguments); - } - }, - isSelectedNode: function(setting, node) { - var root = data.getRoot(setting); - for (var i=0, j=root.curSelectedList.length; i<j; i++) { - if(node === root.curSelectedList[i]) return true; - } - return false; - }, - removeNodeCache: function(setting, node) { - var childKey = setting.data.key.children; - if (node[childKey]) { - for (var i=0, l=node[childKey].length; i<l; i++) { - arguments.callee(setting, node[childKey][i]); - } - } - data.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = null; - }, - removeSelectedNode: function(setting, node) { - var root = data.getRoot(setting); - for (var i=0, j=root.curSelectedList.length; i<j; i++) { - if(node === root.curSelectedList[i] || !data.getNodeCache(setting, root.curSelectedList[i].tId)) { - root.curSelectedList.splice(i, 1); - i--;j--; - } - } - }, - setCache: function(setting, cache) { - caches[setting.treeId] = cache; - }, - setRoot: function(setting, root) { - roots[setting.treeId] = root; - }, - setZTreeTools: function(setting, zTreeTools) { - for (var i=0, j=_init.zTreeTools.length; i<j; i++) { - _init.zTreeTools[i].apply(this, arguments); - } - }, - transformToArrayFormat: function (setting, nodes) { - if (!nodes) return []; - var childKey = setting.data.key.children, - r = []; - if (tools.isArray(nodes)) { - for (var i=0, l=nodes.length; i<l; i++) { - r.push(nodes[i]); - if (nodes[i][childKey]) - r = r.concat(data.transformToArrayFormat(setting, nodes[i][childKey])); - } - } else { - r.push(nodes); - if (nodes[childKey]) - r = r.concat(data.transformToArrayFormat(setting, nodes[childKey])); - } - return r; - }, - transformTozTreeFormat: function(setting, sNodes) { - var i,l, - key = setting.data.simpleData.idKey, - parentKey = setting.data.simpleData.pIdKey, - childKey = setting.data.key.children; - if (!key || key=="" || !sNodes) return []; - - if (tools.isArray(sNodes)) { - var r = []; - var tmpMap = []; - for (i=0, l=sNodes.length; i<l; i++) { - tmpMap[sNodes[i][key]] = sNodes[i]; - } - for (i=0, l=sNodes.length; i<l; i++) { - if (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) { - if (!tmpMap[sNodes[i][parentKey]][childKey]) - tmpMap[sNodes[i][parentKey]][childKey] = []; - tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]); - } else { - r.push(sNodes[i]); - } - } - return r; - }else { - return [sNodes]; - } - } - }, - //method of event proxy - event = { - bindEvent: function(setting) { - for (var i=0, j=_init.bind.length; i<j; i++) { - _init.bind[i].apply(this, arguments); - } - }, - unbindEvent: function(setting) { - for (var i=0, j=_init.unbind.length; i<j; i++) { - _init.unbind[i].apply(this, arguments); - } - }, - bindTree: function(setting) { - var eventParam = { - treeId: setting.treeId - }, - o = setting.treeObj; - if (!setting.view.txtSelectedEnable) { - // for can't select text - o.bind('selectstart', function(e){ - var node - var n = e.originalEvent.srcElement.nodeName.toLowerCase(); - return (n === "input" || n === "textarea" ); - }).css({ - "-moz-user-select":"-moz-none" - }); - } - o.bind('click', eventParam, event.proxy); - o.bind('dblclick', eventParam, event.proxy); - o.bind('mouseover', eventParam, event.proxy); - o.bind('mouseout', eventParam, event.proxy); - o.bind('mousedown', eventParam, event.proxy); - o.bind('mouseup', eventParam, event.proxy); - o.bind('contextmenu', eventParam, event.proxy); - }, - unbindTree: function(setting) { - var o = setting.treeObj; - o.unbind('click', event.proxy) - .unbind('dblclick', event.proxy) - .unbind('mouseover', event.proxy) - .unbind('mouseout', event.proxy) - .unbind('mousedown', event.proxy) - .unbind('mouseup', event.proxy) - .unbind('contextmenu', event.proxy); - }, - doProxy: function(e) { - var results = []; - for (var i=0, j=_init.proxys.length; i<j; i++) { - var proxyResult = _init.proxys[i].apply(this, arguments); - results.push(proxyResult); - if (proxyResult.stop) { - break; - } - } - return results; - }, - proxy: function(e) { - var setting = data.getSetting(e.data.treeId); - if (!tools.uCanDo(setting, e)) return true; - var results = event.doProxy(e), - r = true, x = false; - for (var i=0, l=results.length; i<l; i++) { - var proxyResult = results[i]; - if (proxyResult.nodeEventCallback) { - x = true; - r = proxyResult.nodeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r; - } - if (proxyResult.treeEventCallback) { - x = true; - r = proxyResult.treeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r; - } - } - return r; - } - }, - //method of event handler - handler = { - onSwitchNode: function (event, node) { - var setting = data.getSetting(event.data.treeId); - if (node.open) { - if (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false) return true; - data.getRoot(setting).expandTriggerFlag = true; - view.switchNode(setting, node); - } else { - if (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false) return true; - data.getRoot(setting).expandTriggerFlag = true; - view.switchNode(setting, node); - } - return true; - }, - onClickNode: function (event, node) { - var setting = data.getSetting(event.data.treeId), - clickFlag = ( (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey)) && data.isSelectedNode(setting, node)) ? 0 : (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey) && setting.view.selectedMulti) ? 2 : 1; - if (tools.apply(setting.callback.beforeClick, [setting.treeId, node, clickFlag], true) == false) return true; - if (clickFlag === 0) { - view.cancelPreSelectedNode(setting, node); - } else { - view.selectNode(setting, node, clickFlag === 2); - } - setting.treeObj.trigger(consts.event.CLICK, [event, setting.treeId, node, clickFlag]); - return true; - }, - onZTreeMousedown: function(event, node) { - var setting = data.getSetting(event.data.treeId); - if (tools.apply(setting.callback.beforeMouseDown, [setting.treeId, node], true)) { - tools.apply(setting.callback.onMouseDown, [event, setting.treeId, node]); - } - return true; - }, - onZTreeMouseup: function(event, node) { - var setting = data.getSetting(event.data.treeId); - if (tools.apply(setting.callback.beforeMouseUp, [setting.treeId, node], true)) { - tools.apply(setting.callback.onMouseUp, [event, setting.treeId, node]); - } - return true; - }, - onZTreeDblclick: function(event, node) { - var setting = data.getSetting(event.data.treeId); - if (tools.apply(setting.callback.beforeDblClick, [setting.treeId, node], true)) { - tools.apply(setting.callback.onDblClick, [event, setting.treeId, node]); - } - return true; - }, - onZTreeContextmenu: function(event, node) { - var setting = data.getSetting(event.data.treeId); - if (tools.apply(setting.callback.beforeRightClick, [setting.treeId, node], true)) { - tools.apply(setting.callback.onRightClick, [event, setting.treeId, node]); - } - return (typeof setting.callback.onRightClick) != "function"; - } - }, - //method of tools for zTree - tools = { - apply: function(fun, param, defaultValue) { - if ((typeof fun) == "function") { - return fun.apply(zt, param?param:[]); - } - return defaultValue; - }, - canAsync: function(setting, node) { - var childKey = setting.data.key.children; - return (setting.async.enable && node && node.isParent && !(node.zAsync || (node[childKey] && node[childKey].length > 0))); - }, - clone: function (obj){ - if (obj === null) return null; - var o = tools.isArray(obj) ? [] : {}; - for(var i in obj){ - o[i] = (obj[i] instanceof Date) ? new Date(obj[i].getTime()) : (typeof obj[i] === "object" ? arguments.callee(obj[i]) : obj[i]); - } - return o; - }, - eqs: function(str1, str2) { - return str1.toLowerCase() === str2.toLowerCase(); - }, - isArray: function(arr) { - return Object.prototype.toString.apply(arr) === "[object Array]"; - }, - $: function(node, exp, setting) { - if (!!exp && typeof exp != "string") { - setting = exp; - exp = ""; - } - if (typeof node == "string") { - return $(node, setting ? setting.treeObj.get(0).ownerDocument : null); - } else { - return $("#" + node.tId + exp, setting ? setting.treeObj : null); - } - }, - getMDom: function (setting, curDom, targetExpr) { - if (!curDom) return null; - while (curDom && curDom.id !== setting.treeId) { - for (var i=0, l=targetExpr.length; curDom.tagName && i<l; i++) { - if (tools.eqs(curDom.tagName, targetExpr[i].tagName) && curDom.getAttribute(targetExpr[i].attrName) !== null) { - return curDom; - } - } - curDom = curDom.parentNode; - } - return null; - }, - getNodeMainDom:function(target) { - return ($(target).parent("li").get(0) || $(target).parentsUntil("li").parent().get(0)); - }, - isChildOrSelf: function(dom, parentId) { - return ( $(dom).closest("#" + parentId).length> 0 ); - }, - uCanDo: function(setting, e) { - return true; - } - }, - //method of operate ztree dom - view = { - addNodes: function(setting, parentNode, newNodes, isSilent) { - if (setting.data.keep.leaf && parentNode && !parentNode.isParent) { - return; - } - if (!tools.isArray(newNodes)) { - newNodes = [newNodes]; - } - if (setting.data.simpleData.enable) { - newNodes = data.transformTozTreeFormat(setting, newNodes); - } - if (parentNode) { - var target_switchObj = $$(parentNode, consts.id.SWITCH, setting), - target_icoObj = $$(parentNode, consts.id.ICON, setting), - target_ulObj = $$(parentNode, consts.id.UL, setting); - - if (!parentNode.open) { - view.replaceSwitchClass(parentNode, target_switchObj, consts.folder.CLOSE); - view.replaceIcoClass(parentNode, target_icoObj, consts.folder.CLOSE); - parentNode.open = false; - target_ulObj.css({ - "display": "none" - }); - } - - data.addNodesData(setting, parentNode, newNodes); - view.createNodes(setting, parentNode.level + 1, newNodes, parentNode); - if (!isSilent) { - view.expandCollapseParentNode(setting, parentNode, true); - } - } else { - data.addNodesData(setting, data.getRoot(setting), newNodes); - view.createNodes(setting, 0, newNodes, null); - } - }, - appendNodes: function(setting, level, nodes, parentNode, initFlag, openFlag) { - if (!nodes) return []; - var html = [], - childKey = setting.data.key.children; - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - if (initFlag) { - var tmpPNode = (parentNode) ? parentNode: data.getRoot(setting), - tmpPChild = tmpPNode[childKey], - isFirstNode = ((tmpPChild.length == nodes.length) && (i == 0)), - isLastNode = (i == (nodes.length - 1)); - data.initNode(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag); - data.addNodeCache(setting, node); - } - - var childHtml = []; - if (node[childKey] && node[childKey].length > 0) { - //make child html first, because checkType - childHtml = view.appendNodes(setting, level + 1, node[childKey], node, initFlag, openFlag && node.open); - } - if (openFlag) { - - view.makeDOMNodeMainBefore(html, setting, node); - view.makeDOMNodeLine(html, setting, node); - data.getBeforeA(setting, node, html); - view.makeDOMNodeNameBefore(html, setting, node); - data.getInnerBeforeA(setting, node, html); - view.makeDOMNodeIcon(html, setting, node); - data.getInnerAfterA(setting, node, html); - view.makeDOMNodeNameAfter(html, setting, node); - data.getAfterA(setting, node, html); - if (node.isParent && node.open) { - view.makeUlHtml(setting, node, html, childHtml.join('')); - } - view.makeDOMNodeMainAfter(html, setting, node); - data.addCreatedNode(setting, node); - } - } - return html; - }, - appendParentULDom: function(setting, node) { - var html = [], - nObj = $$(node, setting); - if (!nObj.get(0) && !!node.parentTId) { - view.appendParentULDom(setting, node.getParentNode()); - nObj = $$(node, setting); - } - var ulObj = $$(node, consts.id.UL, setting); - if (ulObj.get(0)) { - ulObj.remove(); - } - var childKey = setting.data.key.children, - childHtml = view.appendNodes(setting, node.level+1, node[childKey], node, false, true); - view.makeUlHtml(setting, node, html, childHtml.join('')); - nObj.append(html.join('')); - }, - asyncNode: function(setting, node, isSilent, callback) { - var i, l; - if (node && !node.isParent) { - tools.apply(callback); - return false; - } else if (node && node.isAjaxing) { - return false; - } else if (tools.apply(setting.callback.beforeAsync, [setting.treeId, node], true) == false) { - tools.apply(callback); - return false; - } - if (node) { - node.isAjaxing = true; - var icoObj = $$(node, consts.id.ICON, setting); - icoObj.attr({"style":"", "class":consts.className.BUTTON + " " + consts.className.ICO_LOADING}); - } - - var tmpParam = {}; - for (i = 0, l = setting.async.autoParam.length; node && i < l; i++) { - var pKey = setting.async.autoParam[i].split("="), spKey = pKey; - if (pKey.length>1) { - spKey = pKey[1]; - pKey = pKey[0]; - } - tmpParam[spKey] = node[pKey]; - } - if (tools.isArray(setting.async.otherParam)) { - for (i = 0, l = setting.async.otherParam.length; i < l; i += 2) { - tmpParam[setting.async.otherParam[i]] = setting.async.otherParam[i + 1]; - } - } else { - for (var p in setting.async.otherParam) { - tmpParam[p] = setting.async.otherParam[p]; - } - } - - var _tmpV = data.getRoot(setting)._ver; - $.ajax({ - contentType: setting.async.contentType, - cache: false, - type: setting.async.type, - url: tools.apply(setting.async.url, [setting.treeId, node], setting.async.url), - data: tmpParam, - dataType: setting.async.dataType, - success: function(msg) { - if (_tmpV != data.getRoot(setting)._ver) { - return; - } - var newNodes = []; - try { - if (!msg || msg.length == 0) { - newNodes = []; - } else if (typeof msg == "string") { - newNodes = eval("(" + msg + ")"); - } else { - newNodes = msg; - } - } catch(err) { - newNodes = msg; - } - - if (node) { - node.isAjaxing = null; - node.zAsync = true; - } - view.setNodeLineIcos(setting, node); - if (newNodes && newNodes !== "") { - newNodes = tools.apply(setting.async.dataFilter, [setting.treeId, node, newNodes], newNodes); - view.addNodes(setting, node, !!newNodes ? tools.clone(newNodes) : [], !!isSilent); - } else { - view.addNodes(setting, node, [], !!isSilent); - } - setting.treeObj.trigger(consts.event.ASYNC_SUCCESS, [setting.treeId, node, msg]); - tools.apply(callback); - }, - error: function(XMLHttpRequest, textStatus, errorThrown) { - if (_tmpV != data.getRoot(setting)._ver) { - return; - } - if (node) node.isAjaxing = null; - view.setNodeLineIcos(setting, node); - setting.treeObj.trigger(consts.event.ASYNC_ERROR, [setting.treeId, node, XMLHttpRequest, textStatus, errorThrown]); - } - }); - return true; - }, - cancelPreSelectedNode: function (setting, node, excludeNode) { - var list = data.getRoot(setting).curSelectedList, - i, n; - for (i=list.length-1; i>=0; i--) { - n = list[i]; - if (node === n || (!node && (!excludeNode || excludeNode !== n))) { - $$(n, consts.id.A, setting).removeClass(consts.node.CURSELECTED); - if (node) { - data.removeSelectedNode(setting, node); - setting.treeObj.trigger(consts.event.UNSELECTED, [event, setting.treeId, n]); - break; - } else { - list.splice(i, 1); - setting.treeObj.trigger(consts.event.UNSELECTED, [event, setting.treeId, n]); - } - } - } - }, - createNodeCallback: function(setting) { - if (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) { - var root = data.getRoot(setting); - while (root.createdNodes.length>0) { - var node = root.createdNodes.shift(); - tools.apply(setting.view.addDiyDom, [setting.treeId, node]); - if (!!setting.callback.onNodeCreated) { - setting.treeObj.trigger(consts.event.NODECREATED, [setting.treeId, node]); - } - } - } - }, - createNodes: function(setting, level, nodes, parentNode) { - if (!nodes || nodes.length == 0) return; - var root = data.getRoot(setting), - childKey = setting.data.key.children, - openFlag = !parentNode || parentNode.open || !!$$(parentNode[childKey][0], setting).get(0); - root.createdNodes = []; - var zTreeHtml = view.appendNodes(setting, level, nodes, parentNode, true, openFlag); - if (!parentNode) { - setting.treeObj.append(zTreeHtml.join('')); - } else { - var ulObj = $$(parentNode, consts.id.UL, setting); - if (ulObj.get(0)) { - ulObj.append(zTreeHtml.join('')); - } - } - view.createNodeCallback(setting); - }, - destroy: function(setting) { - if (!setting) return; - data.initCache(setting); - data.initRoot(setting); - event.unbindTree(setting); - event.unbindEvent(setting); - setting.treeObj.empty(); - delete settings[setting.treeId]; - }, - expandCollapseNode: function(setting, node, expandFlag, animateFlag, callback) { - var root = data.getRoot(setting), - childKey = setting.data.key.children; - if (!node) { - tools.apply(callback, []); - return; - } - if (root.expandTriggerFlag) { - var _callback = callback; - callback = function(){ - if (_callback) _callback(); - if (node.open) { - setting.treeObj.trigger(consts.event.EXPAND, [setting.treeId, node]); - } else { - setting.treeObj.trigger(consts.event.COLLAPSE, [setting.treeId, node]); - } - }; - root.expandTriggerFlag = false; - } - if (!node.open && node.isParent && ((!$$(node, consts.id.UL, setting).get(0)) || (node[childKey] && node[childKey].length>0 && !$$(node[childKey][0], setting).get(0)))) { - view.appendParentULDom(setting, node); - view.createNodeCallback(setting); - } - if (node.open == expandFlag) { - tools.apply(callback, []); - return; - } - var ulObj = $$(node, consts.id.UL, setting), - switchObj = $$(node, consts.id.SWITCH, setting), - icoObj = $$(node, consts.id.ICON, setting); - - if (node.isParent) { - node.open = !node.open; - if (node.iconOpen && node.iconClose) { - icoObj.attr("style", view.makeNodeIcoStyle(setting, node)); - } - - if (node.open) { - view.replaceSwitchClass(node, switchObj, consts.folder.OPEN); - view.replaceIcoClass(node, icoObj, consts.folder.OPEN); - if (animateFlag == false || setting.view.expandSpeed == "") { - ulObj.show(); - tools.apply(callback, []); - } else { - if (node[childKey] && node[childKey].length > 0) { - ulObj.slideDown(setting.view.expandSpeed, callback); - } else { - ulObj.show(); - tools.apply(callback, []); - } - } - } else { - view.replaceSwitchClass(node, switchObj, consts.folder.CLOSE); - view.replaceIcoClass(node, icoObj, consts.folder.CLOSE); - if (animateFlag == false || setting.view.expandSpeed == "" || !(node[childKey] && node[childKey].length > 0)) { - ulObj.hide(); - tools.apply(callback, []); - } else { - ulObj.slideUp(setting.view.expandSpeed, callback); - } - } - } else { - tools.apply(callback, []); - } - }, - expandCollapseParentNode: function(setting, node, expandFlag, animateFlag, callback) { - if (!node) return; - if (!node.parentTId) { - view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback); - return; - } else { - view.expandCollapseNode(setting, node, expandFlag, animateFlag); - } - if (node.parentTId) { - view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, animateFlag, callback); - } - }, - expandCollapseSonNode: function(setting, node, expandFlag, animateFlag, callback) { - var root = data.getRoot(setting), - childKey = setting.data.key.children, - treeNodes = (node) ? node[childKey]: root[childKey], - selfAnimateSign = (node) ? false : animateFlag, - expandTriggerFlag = data.getRoot(setting).expandTriggerFlag; - data.getRoot(setting).expandTriggerFlag = false; - if (treeNodes) { - for (var i = 0, l = treeNodes.length; i < l; i++) { - if (treeNodes[i]) view.expandCollapseSonNode(setting, treeNodes[i], expandFlag, selfAnimateSign); - } - } - data.getRoot(setting).expandTriggerFlag = expandTriggerFlag; - view.expandCollapseNode(setting, node, expandFlag, animateFlag, callback ); - }, - isSelectedNode: function (setting, node) { - if (!node) { - return false; - } - var list = data.getRoot(setting).curSelectedList, - i; - for (i=list.length-1; i>=0; i--) { - if (node === list[i]) { - return true; - } - } - return false; - }, - makeDOMNodeIcon: function(html, setting, node) { - var nameStr = data.getNodeName(setting, node), - name = setting.view.nameIsHTML ? nameStr : nameStr.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>'); - html.push("<span id='", node.tId, consts.id.ICON, - "' title='' treeNode", consts.id.ICON," class='", view.makeNodeIcoClass(setting, node), - "' style='", view.makeNodeIcoStyle(setting, node), "'></span><span id='", node.tId, consts.id.SPAN, - "'>",name,"</span>"); - }, - makeDOMNodeLine: function(html, setting, node) { - html.push("<span id='", node.tId, consts.id.SWITCH, "' title='' class='", view.makeNodeLineClass(setting, node), "' treeNode", consts.id.SWITCH,"></span>"); - }, - makeDOMNodeMainAfter: function(html, setting, node) { - html.push("</li>"); - }, - makeDOMNodeMainBefore: function(html, setting, node) { - html.push("<li id='", node.tId, "' class='", consts.className.LEVEL, node.level,"' tabindex='0' hidefocus='true' treenode>"); - }, - makeDOMNodeNameAfter: function(html, setting, node) { - html.push("</a>"); - }, - makeDOMNodeNameBefore: function(html, setting, node) { - var title = data.getNodeTitle(setting, node), - url = view.makeNodeUrl(setting, node), - fontcss = view.makeNodeFontCss(setting, node), - fontStyle = []; - for (var f in fontcss) { - fontStyle.push(f, ":", fontcss[f], ";"); - } - html.push("<a id='", node.tId, consts.id.A, "' class='", consts.className.LEVEL, node.level,"' treeNode", consts.id.A," onclick=\"", (node.click || ''), - "\" ", ((url != null && url.length > 0) ? "href='" + url + "'" : ""), " target='",view.makeNodeTarget(node),"' style='", fontStyle.join(''), - "'"); - if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle) && title) {html.push("title='", title.replace(/'/g,"'").replace(/</g,'<').replace(/>/g,'>'),"'");} - html.push(">"); - }, - makeNodeFontCss: function(setting, node) { - var fontCss = tools.apply(setting.view.fontCss, [setting.treeId, node], setting.view.fontCss); - return (fontCss && ((typeof fontCss) != "function")) ? fontCss : {}; - }, - makeNodeIcoClass: function(setting, node) { - var icoCss = ["ico"]; - if (!node.isAjaxing) { - icoCss[0] = (node.iconSkin ? node.iconSkin + "_" : "") + icoCss[0]; - if (node.isParent) { - icoCss.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE); - } else { - icoCss.push(consts.folder.DOCU); - } - } - return consts.className.BUTTON + " " + icoCss.join('_'); - }, - makeNodeIcoStyle: function(setting, node) { - var icoStyle = []; - if (!node.isAjaxing) { - var icon = (node.isParent && node.iconOpen && node.iconClose) ? (node.open ? node.iconOpen : node.iconClose) : node.icon; - if (icon) icoStyle.push("background:url(", icon, ") 0 0 no-repeat;"); - if (setting.view.showIcon == false || !tools.apply(setting.view.showIcon, [setting.treeId, node], true)) { - icoStyle.push("width:0px;height:0px;"); - } - } - return icoStyle.join(''); - }, - makeNodeLineClass: function(setting, node) { - var lineClass = []; - if (setting.view.showLine) { - if (node.level == 0 && node.isFirstNode && node.isLastNode) { - lineClass.push(consts.line.ROOT); - } else if (node.level == 0 && node.isFirstNode) { - lineClass.push(consts.line.ROOTS); - } else if (node.isLastNode) { - lineClass.push(consts.line.BOTTOM); - } else { - lineClass.push(consts.line.CENTER); - } - } else { - lineClass.push(consts.line.NOLINE); - } - if (node.isParent) { - lineClass.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE); - } else { - lineClass.push(consts.folder.DOCU); - } - return view.makeNodeLineClassEx(node) + lineClass.join('_'); - }, - makeNodeLineClassEx: function(node) { - return consts.className.BUTTON + " " + consts.className.LEVEL + node.level + " " + consts.className.SWITCH + " "; - }, - makeNodeTarget: function(node) { - return (node.target || "_blank"); - }, - makeNodeUrl: function(setting, node) { - var urlKey = setting.data.key.url; - return node[urlKey] ? node[urlKey] : null; - }, - makeUlHtml: function(setting, node, html, content) { - html.push("<ul id='", node.tId, consts.id.UL, "' class='", consts.className.LEVEL, node.level, " ", view.makeUlLineClass(setting, node), "' style='display:", (node.open ? "block": "none"),"'>"); - html.push(content); - html.push("</ul>"); - }, - makeUlLineClass: function(setting, node) { - return ((setting.view.showLine && !node.isLastNode) ? consts.line.LINE : ""); - }, - removeChildNodes: function(setting, node) { - if (!node) return; - var childKey = setting.data.key.children, - nodes = node[childKey]; - if (!nodes) return; - - for (var i = 0, l = nodes.length; i < l; i++) { - data.removeNodeCache(setting, nodes[i]); - } - data.removeSelectedNode(setting); - delete node[childKey]; - - if (!setting.data.keep.parent) { - node.isParent = false; - node.open = false; - var tmp_switchObj = $$(node, consts.id.SWITCH, setting), - tmp_icoObj = $$(node, consts.id.ICON, setting); - view.replaceSwitchClass(node, tmp_switchObj, consts.folder.DOCU); - view.replaceIcoClass(node, tmp_icoObj, consts.folder.DOCU); - $$(node, consts.id.UL, setting).remove(); - } else { - $$(node, consts.id.UL, setting).empty(); - } - }, - setFirstNode: function(setting, parentNode) { - var childKey = setting.data.key.children, childLength = parentNode[childKey].length; - if ( childLength > 0) { - parentNode[childKey][0].isFirstNode = true; - } - }, - setLastNode: function(setting, parentNode) { - var childKey = setting.data.key.children, childLength = parentNode[childKey].length; - if ( childLength > 0) { - parentNode[childKey][childLength - 1].isLastNode = true; - } - }, - removeNode: function(setting, node) { - var root = data.getRoot(setting), - childKey = setting.data.key.children, - parentNode = (node.parentTId) ? node.getParentNode() : root; - - node.isFirstNode = false; - node.isLastNode = false; - node.getPreNode = function() {return null;}; - node.getNextNode = function() {return null;}; - - if (!data.getNodeCache(setting, node.tId)) { - return; - } - - $$(node, setting).remove(); - data.removeNodeCache(setting, node); - data.removeSelectedNode(setting, node); - - for (var i = 0, l = parentNode[childKey].length; i < l; i++) { - if (parentNode[childKey][i].tId == node.tId) { - parentNode[childKey].splice(i, 1); - break; - } - } - view.setFirstNode(setting, parentNode); - view.setLastNode(setting, parentNode); - - var tmp_ulObj,tmp_switchObj,tmp_icoObj, - childLength = parentNode[childKey].length; - - //repair nodes old parent - if (!setting.data.keep.parent && childLength == 0) { - //old parentNode has no child nodes - parentNode.isParent = false; - parentNode.open = false; - tmp_ulObj = $$(parentNode, consts.id.UL, setting); - tmp_switchObj = $$(parentNode, consts.id.SWITCH, setting); - tmp_icoObj = $$(parentNode, consts.id.ICON, setting); - view.replaceSwitchClass(parentNode, tmp_switchObj, consts.folder.DOCU); - view.replaceIcoClass(parentNode, tmp_icoObj, consts.folder.DOCU); - tmp_ulObj.css("display", "none"); - - } else if (setting.view.showLine && childLength > 0) { - //old parentNode has child nodes - var newLast = parentNode[childKey][childLength - 1]; - tmp_ulObj = $$(newLast, consts.id.UL, setting); - tmp_switchObj = $$(newLast, consts.id.SWITCH, setting); - tmp_icoObj = $$(newLast, consts.id.ICON, setting); - if (parentNode == root) { - if (parentNode[childKey].length == 1) { - //node was root, and ztree has only one root after move node - view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.ROOT); - } else { - var tmp_first_switchObj = $$(parentNode[childKey][0], consts.id.SWITCH, setting); - view.replaceSwitchClass(parentNode[childKey][0], tmp_first_switchObj, consts.line.ROOTS); - view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM); - } - } else { - view.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM); - } - tmp_ulObj.removeClass(consts.line.LINE); - } - }, - replaceIcoClass: function(node, obj, newName) { - if (!obj || node.isAjaxing) return; - var tmpName = obj.attr("class"); - if (tmpName == undefined) return; - var tmpList = tmpName.split("_"); - switch (newName) { - case consts.folder.OPEN: - case consts.folder.CLOSE: - case consts.folder.DOCU: - tmpList[tmpList.length-1] = newName; - break; - } - obj.attr("class", tmpList.join("_")); - }, - replaceSwitchClass: function(node, obj, newName) { - if (!obj) return; - var tmpName = obj.attr("class"); - if (tmpName == undefined) return; - var tmpList = tmpName.split("_"); - switch (newName) { - case consts.line.ROOT: - case consts.line.ROOTS: - case consts.line.CENTER: - case consts.line.BOTTOM: - case consts.line.NOLINE: - tmpList[0] = view.makeNodeLineClassEx(node) + newName; - break; - case consts.folder.OPEN: - case consts.folder.CLOSE: - case consts.folder.DOCU: - tmpList[1] = newName; - break; - } - obj.attr("class", tmpList.join("_")); - if (newName !== consts.folder.DOCU) { - obj.removeAttr("disabled"); - } else { - obj.attr("disabled", "disabled"); - } - }, - selectNode: function(setting, node, addFlag) { - if (!addFlag) { - view.cancelPreSelectedNode(setting, null, node); - } - $$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED); - data.addSelectedNode(setting, node); - setting.treeObj.trigger(consts.event.SELECTED, [event, setting.treeId, node]); - }, - setNodeFontCss: function(setting, treeNode) { - var aObj = $$(treeNode, consts.id.A, setting), - fontCss = view.makeNodeFontCss(setting, treeNode); - if (fontCss) { - aObj.css(fontCss); - } - }, - setNodeLineIcos: function(setting, node) { - if (!node) return; - var switchObj = $$(node, consts.id.SWITCH, setting), - ulObj = $$(node, consts.id.UL, setting), - icoObj = $$(node, consts.id.ICON, setting), - ulLine = view.makeUlLineClass(setting, node); - if (ulLine.length==0) { - ulObj.removeClass(consts.line.LINE); - } else { - ulObj.addClass(ulLine); - } - switchObj.attr("class", view.makeNodeLineClass(setting, node)); - if (node.isParent) { - switchObj.removeAttr("disabled"); - } else { - switchObj.attr("disabled", "disabled"); - } - icoObj.removeAttr("style"); - icoObj.attr("style", view.makeNodeIcoStyle(setting, node)); - icoObj.attr("class", view.makeNodeIcoClass(setting, node)); - }, - setNodeName: function(setting, node) { - var title = data.getNodeTitle(setting, node), - nObj = $$(node, consts.id.SPAN, setting); - nObj.empty(); - if (setting.view.nameIsHTML) { - nObj.html(data.getNodeName(setting, node)); - } else { - nObj.text(data.getNodeName(setting, node)); - } - if (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle)) { - var aObj = $$(node, consts.id.A, setting); - aObj.attr("title", !title ? "" : title); - } - }, - setNodeTarget: function(setting, node) { - var aObj = $$(node, consts.id.A, setting); - aObj.attr("target", view.makeNodeTarget(node)); - }, - setNodeUrl: function(setting, node) { - var aObj = $$(node, consts.id.A, setting), - url = view.makeNodeUrl(setting, node); - if (url == null || url.length == 0) { - aObj.removeAttr("href"); - } else { - aObj.attr("href", url); - } - }, - switchNode: function(setting, node) { - if (node.open || !tools.canAsync(setting, node)) { - view.expandCollapseNode(setting, node, !node.open); - } else if (setting.async.enable) { - if (!view.asyncNode(setting, node)) { - view.expandCollapseNode(setting, node, !node.open); - return; - } - } else if (node) { - view.expandCollapseNode(setting, node, !node.open); - } - } - }; - // zTree defind - $.fn.zTree = { - consts : _consts, - _z : { - tools: tools, - view: view, - event: event, - data: data - }, - getZTreeObj: function(treeId) { - var o = data.getZTreeTools(treeId); - return o ? o : null; - }, - destroy: function(treeId) { - if (!!treeId && treeId.length > 0) { - view.destroy(data.getSetting(treeId)); - } else { - for(var s in settings) { - view.destroy(settings[s]); - } - } - }, - init: function(obj, zSetting, zNodes) { - var setting = tools.clone(_setting); - $.extend(true, setting, zSetting); - setting.treeId = obj.attr("id"); - setting.treeObj = obj; - setting.treeObj.empty(); - settings[setting.treeId] = setting; - //For some older browser,(e.g., ie6) - if(typeof document.body.style.maxHeight === "undefined") { - setting.view.expandSpeed = ""; - } - data.initRoot(setting); - var root = data.getRoot(setting), - childKey = setting.data.key.children; - zNodes = zNodes ? tools.clone(tools.isArray(zNodes)? zNodes : [zNodes]) : []; - if (setting.data.simpleData.enable) { - root[childKey] = data.transformTozTreeFormat(setting, zNodes); - } else { - root[childKey] = zNodes; - } - - data.initCache(setting); - event.unbindTree(setting); - event.bindTree(setting); - event.unbindEvent(setting); - event.bindEvent(setting); - - var zTreeTools = { - setting : setting, - addNodes : function(parentNode, newNodes, isSilent) { - if (!newNodes) return null; - if (!parentNode) parentNode = null; - if (parentNode && !parentNode.isParent && setting.data.keep.leaf) return null; - var xNewNodes = tools.clone(tools.isArray(newNodes)? newNodes: [newNodes]); - function addCallback() { - view.addNodes(setting, parentNode, xNewNodes, (isSilent==true)); - } - - if (tools.canAsync(setting, parentNode)) { - view.asyncNode(setting, parentNode, isSilent, addCallback); - } else { - addCallback(); - } - return xNewNodes; - }, - cancelSelectedNode : function(node) { - view.cancelPreSelectedNode(setting, node); - }, - destroy : function() { - view.destroy(setting); - }, - expandAll : function(expandFlag) { - expandFlag = !!expandFlag; - view.expandCollapseSonNode(setting, null, expandFlag, true); - return expandFlag; - }, - expandNode : function(node, expandFlag, sonSign, focus, callbackFlag) { - if (!node || !node.isParent) return null; - if (expandFlag !== true && expandFlag !== false) { - expandFlag = !node.open; - } - callbackFlag = !!callbackFlag; - - if (callbackFlag && expandFlag && (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false)) { - return null; - } else if (callbackFlag && !expandFlag && (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false)) { - return null; - } - if (expandFlag && node.parentTId) { - view.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, false); - } - if (expandFlag === node.open && !sonSign) { - return null; - } - - data.getRoot(setting).expandTriggerFlag = callbackFlag; - if (!tools.canAsync(setting, node) && sonSign) { - view.expandCollapseSonNode(setting, node, expandFlag, true, function() { - if (focus !== false) {try{$$(node, setting).focus().blur();}catch(e){}} - }); - } else { - node.open = !expandFlag; - view.switchNode(this.setting, node); - if (focus !== false) {try{$$(node, setting).focus().blur();}catch(e){}} - } - return expandFlag; - }, - getNodes : function() { - return data.getNodes(setting); - }, - getNodeByParam : function(key, value, parentNode) { - if (!key) return null; - return data.getNodeByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value); - }, - getNodeByTId : function(tId) { - return data.getNodeCache(setting, tId); - }, - getNodesByParam : function(key, value, parentNode) { - if (!key) return null; - return data.getNodesByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value); - }, - getNodesByParamFuzzy : function(key, value, parentNode) { - if (!key) return null; - return data.getNodesByParamFuzzy(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value); - }, - getNodesByFilter: function(filter, isSingle, parentNode, invokeParam) { - isSingle = !!isSingle; - if (!filter || (typeof filter != "function")) return (isSingle ? null : []); - return data.getNodesByFilter(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), filter, isSingle, invokeParam); - }, - getNodeIndex : function(node) { - if (!node) return null; - var childKey = setting.data.key.children, - parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting); - for (var i=0, l = parentNode[childKey].length; i < l; i++) { - if (parentNode[childKey][i] == node) return i; - } - return -1; - }, - getSelectedNodes : function() { - var r = [], list = data.getRoot(setting).curSelectedList; - for (var i=0, l=list.length; i<l; i++) { - r.push(list[i]); - } - return r; - }, - isSelectedNode : function(node) { - return data.isSelectedNode(setting, node); - }, - reAsyncChildNodes : function(parentNode, reloadType, isSilent) { - if (!this.setting.async.enable) return; - var isRoot = !parentNode; - if (isRoot) { - parentNode = data.getRoot(setting); - } - if (reloadType=="refresh") { - var childKey = this.setting.data.key.children; - for (var i = 0, l = parentNode[childKey] ? parentNode[childKey].length : 0; i < l; i++) { - data.removeNodeCache(setting, parentNode[childKey][i]); - } - data.removeSelectedNode(setting); - parentNode[childKey] = []; - if (isRoot) { - this.setting.treeObj.empty(); - } else { - var ulObj = $$(parentNode, consts.id.UL, setting); - ulObj.empty(); - } - } - view.asyncNode(this.setting, isRoot? null:parentNode, !!isSilent); - }, - refresh : function() { - this.setting.treeObj.empty(); - var root = data.getRoot(setting), - nodes = root[setting.data.key.children] - data.initRoot(setting); - root[setting.data.key.children] = nodes - data.initCache(setting); - view.createNodes(setting, 0, root[setting.data.key.children]); - }, - removeChildNodes : function(node) { - if (!node) return null; - var childKey = setting.data.key.children, - nodes = node[childKey]; - view.removeChildNodes(setting, node); - return nodes ? nodes : null; - }, - removeNode : function(node, callbackFlag) { - if (!node) return; - callbackFlag = !!callbackFlag; - if (callbackFlag && tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return; - view.removeNode(setting, node); - if (callbackFlag) { - this.setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]); - } - }, - selectNode : function(node, addFlag) { - if (!node) return; - if (tools.uCanDo(setting)) { - addFlag = setting.view.selectedMulti && addFlag; - if (node.parentTId) { - view.expandCollapseParentNode(setting, node.getParentNode(), true, false, function() { - try{$$(node, setting).focus().blur();}catch(e){} - }); - } else { - try{$$(node, setting).focus().blur();}catch(e){} - } - view.selectNode(setting, node, addFlag); - } - }, - transformTozTreeNodes : function(simpleNodes) { - return data.transformTozTreeFormat(setting, simpleNodes); - }, - transformToArray : function(nodes) { - return data.transformToArrayFormat(setting, nodes); - }, - updateNode : function(node, checkTypeFlag) { - if (!node) return; - var nObj = $$(node, setting); - if (nObj.get(0) && tools.uCanDo(setting)) { - view.setNodeName(setting, node); - view.setNodeTarget(setting, node); - view.setNodeUrl(setting, node); - view.setNodeLineIcos(setting, node); - view.setNodeFontCss(setting, node); - } - } - } - root.treeTools = zTreeTools; - data.setZTreeTools(setting, zTreeTools); - - if (root[childKey] && root[childKey].length > 0) { - view.createNodes(setting, 0, root[childKey]); - } else if (setting.async.enable && setting.async.url && setting.async.url !== '') { - view.asyncNode(setting); - } - return zTreeTools; - } - }; - - var zt = $.fn.zTree, - $$ = tools.$, - consts = zt.consts; -})(jQuery); \ No newline at end of file diff --git a/src/base/tree/ztree/jquery.ztree.excheck-3.5.js b/src/base/tree/ztree/jquery.ztree.excheck-3.5.js deleted file mode 100644 index 1a2774bca7..0000000000 --- a/src/base/tree/ztree/jquery.ztree.excheck-3.5.js +++ /dev/null @@ -1,628 +0,0 @@ -/* - * JQuery zTree excheck v3.5.18 - * http://zTree.me/ - * - * Copyright (c) 2010 Hunter.z - * - * Licensed same as jquery - MIT License - * http://www.opensource.org/licenses/mit-license.php - * - * email: hunter.z@263.net - * Date: 2015-06-18 - */ -(function($){ - //default consts of excheck - var _consts = { - event: { - CHECK: "ztree_check" - }, - id: { - CHECK: "_check" - }, - checkbox: { - STYLE: "checkbox", - DEFAULT: "chk", - DISABLED: "disable", - FALSE: "false", - TRUE: "true", - FULL: "full", - PART: "part", - FOCUS: "focus" - }, - radio: { - STYLE: "radio", - TYPE_ALL: "all", - TYPE_LEVEL: "level" - } - }, - //default setting of excheck - _setting = { - check: { - enable: false, - autoCheckTrigger: false, - chkStyle: _consts.checkbox.STYLE, - nocheckInherit: false, - chkDisabledInherit: false, - radioType: _consts.radio.TYPE_LEVEL, - chkboxType: { - "Y": "ps", - "N": "ps" - } - }, - data: { - key: { - checked: "checked" - } - }, - callback: { - beforeCheck:null, - onCheck:null - } - }, - //default root of excheck - _initRoot = function (setting) { - var r = data.getRoot(setting); - r.radioCheckedList = []; - }, - //default cache of excheck - _initCache = function(treeId) {}, - //default bind event of excheck - _bindEvent = function(setting) { - var o = setting.treeObj, - c = consts.event; - o.bind(c.CHECK, function (event, srcEvent, treeId, node) { - event.srcEvent = srcEvent; - tools.apply(setting.callback.onCheck, [event, treeId, node]); - }); - }, - _unbindEvent = function(setting) { - var o = setting.treeObj, - c = consts.event; - o.unbind(c.CHECK); - }, - //default event proxy of excheck - _eventProxy = function(e) { - var target = e.target, - setting = data.getSetting(e.data.treeId), - tId = "", node = null, - nodeEventType = "", treeEventType = "", - nodeEventCallback = null, treeEventCallback = null; - - if (tools.eqs(e.type, "mouseover")) { - if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) { - tId = tools.getNodeMainDom(target).id; - nodeEventType = "mouseoverCheck"; - } - } else if (tools.eqs(e.type, "mouseout")) { - if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) { - tId = tools.getNodeMainDom(target).id; - nodeEventType = "mouseoutCheck"; - } - } else if (tools.eqs(e.type, "click")) { - if (setting.check.enable && tools.eqs(target.tagName, "span") && target.getAttribute("treeNode"+ consts.id.CHECK) !== null) { - tId = tools.getNodeMainDom(target).id; - nodeEventType = "checkNode"; - } - } - if (tId.length>0) { - node = data.getNodeCache(setting, tId); - switch (nodeEventType) { - case "checkNode" : - nodeEventCallback = _handler.onCheckNode; - break; - case "mouseoverCheck" : - nodeEventCallback = _handler.onMouseoverCheck; - break; - case "mouseoutCheck" : - nodeEventCallback = _handler.onMouseoutCheck; - break; - } - } - var proxyResult = { - stop: nodeEventType === "checkNode", - node: node, - nodeEventType: nodeEventType, - nodeEventCallback: nodeEventCallback, - treeEventType: treeEventType, - treeEventCallback: treeEventCallback - }; - return proxyResult - }, - //default init node of excheck - _initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) { - if (!n) return; - var checkedKey = setting.data.key.checked; - if (typeof n[checkedKey] == "string") n[checkedKey] = tools.eqs(n[checkedKey], "true"); - n[checkedKey] = !!n[checkedKey]; - n.checkedOld = n[checkedKey]; - if (typeof n.nocheck == "string") n.nocheck = tools.eqs(n.nocheck, "true"); - n.nocheck = !!n.nocheck || (setting.check.nocheckInherit && parentNode && !!parentNode.nocheck); - if (typeof n.chkDisabled == "string") n.chkDisabled = tools.eqs(n.chkDisabled, "true"); - n.chkDisabled = !!n.chkDisabled || (setting.check.chkDisabledInherit && parentNode && !!parentNode.chkDisabled); - if (typeof n.halfCheck == "string") n.halfCheck = tools.eqs(n.halfCheck, "true"); - n.halfCheck = !!n.halfCheck; - n.check_Child_State = -1; - n.check_Focus = false; - n.getCheckStatus = function() {return data.getCheckStatus(setting, n);}; - - if (setting.check.chkStyle == consts.radio.STYLE && setting.check.radioType == consts.radio.TYPE_ALL && n[checkedKey] ) { - var r = data.getRoot(setting); - r.radioCheckedList.push(n); - } - }, - //add dom for check - _beforeA = function(setting, node, html) { - var checkedKey = setting.data.key.checked; - if (setting.check.enable) { - data.makeChkFlag(setting, node); - html.push("<span ID='", node.tId, consts.id.CHECK, "' class='", view.makeChkClass(setting, node), "' treeNode", consts.id.CHECK, (node.nocheck === true?" style='display:none;'":""),"></span>"); - } - }, - //update zTreeObj, add method of check - _zTreeTools = function(setting, zTreeTools) { - zTreeTools.checkNode = function(node, checked, checkTypeFlag, callbackFlag) { - var checkedKey = this.setting.data.key.checked; - if (node.chkDisabled === true) return; - if (checked !== true && checked !== false) { - checked = !node[checkedKey]; - } - callbackFlag = !!callbackFlag; - - if (node[checkedKey] === checked && !checkTypeFlag) { - return; - } else if (callbackFlag && tools.apply(this.setting.callback.beforeCheck, [this.setting.treeId, node], true) == false) { - return; - } - if (tools.uCanDo(this.setting) && this.setting.check.enable && node.nocheck !== true) { - node[checkedKey] = checked; - var checkObj = $$(node, consts.id.CHECK, this.setting); - if (checkTypeFlag || this.setting.check.chkStyle === consts.radio.STYLE) view.checkNodeRelation(this.setting, node); - view.setChkClass(this.setting, checkObj, node); - view.repairParentChkClassWithSelf(this.setting, node); - if (callbackFlag) { - this.setting.treeObj.trigger(consts.event.CHECK, [null, this.setting.treeId, node]); - } - } - } - - zTreeTools.checkAllNodes = function(checked) { - view.repairAllChk(this.setting, !!checked); - } - - zTreeTools.getCheckedNodes = function(checked) { - var childKey = this.setting.data.key.children; - checked = (checked !== false); - return data.getTreeCheckedNodes(this.setting, data.getRoot(this.setting)[childKey], checked); - } - - zTreeTools.getChangeCheckedNodes = function() { - var childKey = this.setting.data.key.children; - return data.getTreeChangeCheckedNodes(this.setting, data.getRoot(this.setting)[childKey]); - } - - zTreeTools.setChkDisabled = function(node, disabled, inheritParent, inheritChildren) { - disabled = !!disabled; - inheritParent = !!inheritParent; - inheritChildren = !!inheritChildren; - view.repairSonChkDisabled(this.setting, node, disabled, inheritChildren); - view.repairParentChkDisabled(this.setting, node.getParentNode(), disabled, inheritParent); - } - - var _updateNode = zTreeTools.updateNode; - zTreeTools.updateNode = function(node, checkTypeFlag) { - if (_updateNode) _updateNode.apply(zTreeTools, arguments); - if (!node || !this.setting.check.enable) return; - var nObj = $$(node, this.setting); - if (nObj.get(0) && tools.uCanDo(this.setting)) { - var checkObj = $$(node, consts.id.CHECK, this.setting); - if (checkTypeFlag == true || this.setting.check.chkStyle === consts.radio.STYLE) view.checkNodeRelation(this.setting, node); - view.setChkClass(this.setting, checkObj, node); - view.repairParentChkClassWithSelf(this.setting, node); - } - } - }, - //method of operate data - _data = { - getRadioCheckedList: function(setting) { - var checkedList = data.getRoot(setting).radioCheckedList; - for (var i=0, j=checkedList.length; i<j; i++) { - if(!data.getNodeCache(setting, checkedList[i].tId)) { - checkedList.splice(i, 1); - i--; j--; - } - } - return checkedList; - }, - getCheckStatus: function(setting, node) { - if (!setting.check.enable || node.nocheck || node.chkDisabled) return null; - var checkedKey = setting.data.key.checked, - r = { - checked: node[checkedKey], - half: node.halfCheck ? node.halfCheck : (setting.check.chkStyle == consts.radio.STYLE ? (node.check_Child_State === 2) : (node[checkedKey] ? (node.check_Child_State > -1 && node.check_Child_State < 2) : (node.check_Child_State > 0))) - }; - return r; - }, - getTreeCheckedNodes: function(setting, nodes, checked, results) { - if (!nodes) return []; - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - onlyOne = (checked && setting.check.chkStyle == consts.radio.STYLE && setting.check.radioType == consts.radio.TYPE_ALL); - results = !results ? [] : results; - for (var i = 0, l = nodes.length; i < l; i++) { - if (nodes[i].nocheck !== true && nodes[i].chkDisabled !== true && nodes[i][checkedKey] == checked) { - results.push(nodes[i]); - if(onlyOne) { - break; - } - } - data.getTreeCheckedNodes(setting, nodes[i][childKey], checked, results); - if(onlyOne && results.length > 0) { - break; - } - } - return results; - }, - getTreeChangeCheckedNodes: function(setting, nodes, results) { - if (!nodes) return []; - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked; - results = !results ? [] : results; - for (var i = 0, l = nodes.length; i < l; i++) { - if (nodes[i].nocheck !== true && nodes[i].chkDisabled !== true && nodes[i][checkedKey] != nodes[i].checkedOld) { - results.push(nodes[i]); - } - data.getTreeChangeCheckedNodes(setting, nodes[i][childKey], results); - } - return results; - }, - makeChkFlag: function(setting, node) { - if (!node) return; - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - chkFlag = -1; - if (node[childKey]) { - for (var i = 0, l = node[childKey].length; i < l; i++) { - var cNode = node[childKey][i]; - var tmp = -1; - if (setting.check.chkStyle == consts.radio.STYLE) { - if (cNode.nocheck === true || cNode.chkDisabled === true) { - tmp = cNode.check_Child_State; - } else if (cNode.halfCheck === true) { - tmp = 2; - } else if (cNode[checkedKey]) { - tmp = 2; - } else { - tmp = cNode.check_Child_State > 0 ? 2:0; - } - if (tmp == 2) { - chkFlag = 2; break; - } else if (tmp == 0){ - chkFlag = 0; - } - } else if (setting.check.chkStyle == consts.checkbox.STYLE) { - if (cNode.nocheck === true || cNode.chkDisabled === true) { - tmp = cNode.check_Child_State; - } else if (cNode.halfCheck === true) { - tmp = 1; - } else if (cNode[checkedKey] ) { - tmp = (cNode.check_Child_State === -1 || cNode.check_Child_State === 2) ? 2 : 1; - } else { - tmp = (cNode.check_Child_State > 0) ? 1 : 0; - } - if (tmp === 1) { - chkFlag = 1; break; - } else if (tmp === 2 && chkFlag > -1 && i > 0 && tmp !== chkFlag) { - chkFlag = 1; break; - } else if (chkFlag === 2 && tmp > -1 && tmp < 2) { - chkFlag = 1; break; - } else if (tmp > -1) { - chkFlag = tmp; - } - } - } - } - node.check_Child_State = chkFlag; - } - }, - //method of event proxy - _event = { - - }, - //method of event handler - _handler = { - onCheckNode: function (event, node) { - if (node.chkDisabled === true) return false; - var setting = data.getSetting(event.data.treeId), - checkedKey = setting.data.key.checked; - if (tools.apply(setting.callback.beforeCheck, [setting.treeId, node], true) == false) return true; - node[checkedKey] = !node[checkedKey]; - view.checkNodeRelation(setting, node); - var checkObj = $$(node, consts.id.CHECK, setting); - view.setChkClass(setting, checkObj, node); - view.repairParentChkClassWithSelf(setting, node); - setting.treeObj.trigger(consts.event.CHECK, [event, setting.treeId, node]); - return true; - }, - onMouseoverCheck: function(event, node) { - if (node.chkDisabled === true) return false; - var setting = data.getSetting(event.data.treeId), - checkObj = $$(node, consts.id.CHECK, setting); - node.check_Focus = true; - view.setChkClass(setting, checkObj, node); - return true; - }, - onMouseoutCheck: function(event, node) { - if (node.chkDisabled === true) return false; - var setting = data.getSetting(event.data.treeId), - checkObj = $$(node, consts.id.CHECK, setting); - node.check_Focus = false; - view.setChkClass(setting, checkObj, node); - return true; - } - }, - //method of tools for zTree - _tools = { - - }, - //method of operate ztree dom - _view = { - checkNodeRelation: function(setting, node) { - var pNode, i, l, - childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - r = consts.radio; - if (setting.check.chkStyle == r.STYLE) { - var checkedList = data.getRadioCheckedList(setting); - if (node[checkedKey]) { - if (setting.check.radioType == r.TYPE_ALL) { - for (i = checkedList.length-1; i >= 0; i--) { - pNode = checkedList[i]; - if (pNode[checkedKey] && pNode != node) { - pNode[checkedKey] = false; - checkedList.splice(i, 1); - - view.setChkClass(setting, $$(pNode, consts.id.CHECK, setting), pNode); - if (pNode.parentTId != node.parentTId) { - view.repairParentChkClassWithSelf(setting, pNode); - } - } - } - checkedList.push(node); - } else { - var parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting); - for (i = 0, l = parentNode[childKey].length; i < l; i++) { - pNode = parentNode[childKey][i]; - if (pNode[checkedKey] && pNode != node) { - pNode[checkedKey] = false; - view.setChkClass(setting, $$(pNode, consts.id.CHECK, setting), pNode); - } - } - } - } else if (setting.check.radioType == r.TYPE_ALL) { - for (i = 0, l = checkedList.length; i < l; i++) { - if (node == checkedList[i]) { - checkedList.splice(i, 1); - break; - } - } - } - - } else { - if (node[checkedKey] && (!node[childKey] || node[childKey].length==0 || setting.check.chkboxType.Y.indexOf("s") > -1)) { - view.setSonNodeCheckBox(setting, node, true); - } - if (!node[checkedKey] && (!node[childKey] || node[childKey].length==0 || setting.check.chkboxType.N.indexOf("s") > -1)) { - view.setSonNodeCheckBox(setting, node, false); - } - if (node[checkedKey] && setting.check.chkboxType.Y.indexOf("p") > -1) { - view.setParentNodeCheckBox(setting, node, true); - } - if (!node[checkedKey] && setting.check.chkboxType.N.indexOf("p") > -1) { - view.setParentNodeCheckBox(setting, node, false); - } - } - }, - makeChkClass: function(setting, node) { - var checkedKey = setting.data.key.checked, - c = consts.checkbox, r = consts.radio, - fullStyle = ""; - if (node.chkDisabled === true) { - fullStyle = c.DISABLED; - } else if (node.halfCheck) { - fullStyle = c.PART; - } else if (setting.check.chkStyle == r.STYLE) { - fullStyle = (node.check_Child_State < 1)? c.FULL:c.PART; - } else { - fullStyle = node[checkedKey] ? ((node.check_Child_State === 2 || node.check_Child_State === -1) ? c.FULL:c.PART) : ((node.check_Child_State < 1)? c.FULL:c.PART); - } - var chkName = setting.check.chkStyle + "_" + (node[checkedKey] ? c.TRUE : c.FALSE) + "_" + fullStyle; - chkName = (node.check_Focus && node.chkDisabled !== true) ? chkName + "_" + c.FOCUS : chkName; - return consts.className.BUTTON + " " + c.DEFAULT + " " + chkName; - }, - repairAllChk: function(setting, checked) { - if (setting.check.enable && setting.check.chkStyle === consts.checkbox.STYLE) { - var checkedKey = setting.data.key.checked, - childKey = setting.data.key.children, - root = data.getRoot(setting); - for (var i = 0, l = root[childKey].length; i<l ; i++) { - var node = root[childKey][i]; - if (node.nocheck !== true && node.chkDisabled !== true) { - node[checkedKey] = checked; - } - view.setSonNodeCheckBox(setting, node, checked); - } - } - }, - repairChkClass: function(setting, node) { - if (!node) return; - data.makeChkFlag(setting, node); - if (node.nocheck !== true) { - var checkObj = $$(node, consts.id.CHECK, setting); - view.setChkClass(setting, checkObj, node); - } - }, - repairParentChkClass: function(setting, node) { - if (!node || !node.parentTId) return; - var pNode = node.getParentNode(); - view.repairChkClass(setting, pNode); - view.repairParentChkClass(setting, pNode); - }, - repairParentChkClassWithSelf: function(setting, node) { - if (!node) return; - var childKey = setting.data.key.children; - if (node[childKey] && node[childKey].length > 0) { - view.repairParentChkClass(setting, node[childKey][0]); - } else { - view.repairParentChkClass(setting, node); - } - }, - repairSonChkDisabled: function(setting, node, chkDisabled, inherit) { - if (!node) return; - var childKey = setting.data.key.children; - if (node.chkDisabled != chkDisabled) { - node.chkDisabled = chkDisabled; - } - view.repairChkClass(setting, node); - if (node[childKey] && inherit) { - for (var i = 0, l = node[childKey].length; i < l; i++) { - var sNode = node[childKey][i]; - view.repairSonChkDisabled(setting, sNode, chkDisabled, inherit); - } - } - }, - repairParentChkDisabled: function(setting, node, chkDisabled, inherit) { - if (!node) return; - if (node.chkDisabled != chkDisabled && inherit) { - node.chkDisabled = chkDisabled; - } - view.repairChkClass(setting, node); - view.repairParentChkDisabled(setting, node.getParentNode(), chkDisabled, inherit); - }, - setChkClass: function(setting, obj, node) { - if (!obj) return; - if (node.nocheck === true) { - obj.hide(); - } else { - obj.show(); - } - obj.attr('class', view.makeChkClass(setting, node)); - }, - setParentNodeCheckBox: function(setting, node, value, srcNode) { - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - checkObj = $$(node, consts.id.CHECK, setting); - if (!srcNode) srcNode = node; - data.makeChkFlag(setting, node); - if (node.nocheck !== true && node.chkDisabled !== true) { - node[checkedKey] = value; - view.setChkClass(setting, checkObj, node); - if (setting.check.autoCheckTrigger && node != srcNode) { - setting.treeObj.trigger(consts.event.CHECK, [null, setting.treeId, node]); - } - } - if (node.parentTId) { - var pSign = true; - if (!value) { - var pNodes = node.getParentNode()[childKey]; - for (var i = 0, l = pNodes.length; i < l; i++) { - if ((pNodes[i].nocheck !== true && pNodes[i].chkDisabled !== true && pNodes[i][checkedKey]) - || ((pNodes[i].nocheck === true || pNodes[i].chkDisabled === true) && pNodes[i].check_Child_State > 0)) { - pSign = false; - break; - } - } - } - if (pSign) { - view.setParentNodeCheckBox(setting, node.getParentNode(), value, srcNode); - } - } - }, - setSonNodeCheckBox: function(setting, node, value, srcNode) { - if (!node) return; - var childKey = setting.data.key.children, - checkedKey = setting.data.key.checked, - checkObj = $$(node, consts.id.CHECK, setting); - if (!srcNode) srcNode = node; - - var hasDisable = false; - if (node[childKey]) { - for (var i = 0, l = node[childKey].length; i < l && node.chkDisabled !== true; i++) { - var sNode = node[childKey][i]; - view.setSonNodeCheckBox(setting, sNode, value, srcNode); - if (sNode.chkDisabled === true) hasDisable = true; - } - } - - if (node != data.getRoot(setting) && node.chkDisabled !== true) { - if (hasDisable && node.nocheck !== true) { - data.makeChkFlag(setting, node); - } - if (node.nocheck !== true && node.chkDisabled !== true) { - node[checkedKey] = value; - if (!hasDisable) node.check_Child_State = (node[childKey] && node[childKey].length > 0) ? (value ? 2 : 0) : -1; - } else { - node.check_Child_State = -1; - } - view.setChkClass(setting, checkObj, node); - if (setting.check.autoCheckTrigger && node != srcNode && node.nocheck !== true && node.chkDisabled !== true) { - setting.treeObj.trigger(consts.event.CHECK, [null, setting.treeId, node]); - } - } - - } - }, - - _z = { - tools: _tools, - view: _view, - event: _event, - data: _data - }; - $.extend(true, $.fn.zTree.consts, _consts); - $.extend(true, $.fn.zTree._z, _z); - - var zt = $.fn.zTree, - tools = zt._z.tools, - consts = zt.consts, - view = zt._z.view, - data = zt._z.data, - event = zt._z.event, - $$ = tools.$; - - data.exSetting(_setting); - data.addInitBind(_bindEvent); - data.addInitUnBind(_unbindEvent); - data.addInitCache(_initCache); - data.addInitNode(_initNode); - data.addInitProxy(_eventProxy, true); - data.addInitRoot(_initRoot); - data.addBeforeA(_beforeA); - data.addZTreeTools(_zTreeTools); - - var _createNodes = view.createNodes; - view.createNodes = function(setting, level, nodes, parentNode) { - if (_createNodes) _createNodes.apply(view, arguments); - if (!nodes) return; - view.repairParentChkClassWithSelf(setting, parentNode); - } - var _removeNode = view.removeNode; - view.removeNode = function(setting, node) { - var parentNode = node.getParentNode(); - if (_removeNode) _removeNode.apply(view, arguments); - if (!node || !parentNode) return; - view.repairChkClass(setting, parentNode); - view.repairParentChkClass(setting, parentNode); - } - - var _appendNodes = view.appendNodes; - view.appendNodes = function(setting, level, nodes, parentNode, initFlag, openFlag) { - var html = ""; - if (_appendNodes) { - html = _appendNodes.apply(view, arguments); - } - if (parentNode) { - data.makeChkFlag(setting, parentNode); - } - return html; - } -})(jQuery); \ No newline at end of file diff --git a/src/case/button/icon/icon.change.js b/src/case/button/icon/icon.change.js deleted file mode 100644 index 69c050fdbc..0000000000 --- a/src/case/button/icon/icon.change.js +++ /dev/null @@ -1,83 +0,0 @@ -/** - * 可以改变图标的button - * - * Created by GUY on 2016/2/2. - * - * @class BI.IconChangeButton - * @extends BI.Single - */ -BI.IconChangeButton = BI.inherit(BI.Single, { - _defaultConfig: function () { - var conf = BI.IconChangeButton.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-icon-change-button", - iconClass: "", - iconWidth: null, - iconHeight: null, - - stopEvent: false, - stopPropagation: false, - selected: false, - once: false, //点击一次选中有效,再点无效 - forceSelected: false, //点击即选中, 选中了就不会被取消 - forceNotSelected: false, //无论怎么点击都不会被选中 - disableSelected: false, //使能选中 - - shadow: false, - isShadowShowingOnSelected: false, //选中状态下是否显示阴影 - trigger: null, - handler: BI.emptyFn - }) - }, - - _init: function () { - BI.IconChangeButton.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.button = BI.createWidget({ - type: "bi.icon_button", - element: this, - cls: o.iconClass, - height: o.height, - iconWidth: o.iconWidth, - iconHeight: o.iconHeight, - - stopEvent: o.stopEvent, - stopPropagation: o.stopPropagation, - selected: o.selected, - once: o.once, - forceSelected: o.forceSelected, - forceNotSelected: o.forceNotSelected, - disableSelected: o.disableSelected, - - shadow: o.shadow, - isShadowShowingOnSelected: o.isShadowShowingOnSelected, - trigger: o.trigger, - handler: o.handler - }); - - this.button.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.button.on(BI.IconButton.EVENT_CHANGE, function () { - self.fireEvent(BI.IconChangeButton.EVENT_CHANGE, arguments); - }); - }, - - isSelected: function () { - return this.button.isSelected(); - }, - - setSelected: function (b) { - this.button.setSelected(b); - }, - - setIcon: function (cls) { - var o = this.options; - if (o.iconClass !== cls) { - this.element.removeClass(o.iconClass).addClass(cls); - o.iconClass = cls; - } - } -}); -BI.IconChangeButton.EVENT_CHANGE = "IconChangeButton.EVENT_CHANGE"; -BI.shortcut("bi.icon_change_button", BI.IconChangeButton); \ No newline at end of file diff --git a/src/case/button/icon/icon.half.js b/src/case/button/icon/icon.half.js deleted file mode 100644 index d5e8b9b7e2..0000000000 --- a/src/case/button/icon/icon.half.js +++ /dev/null @@ -1,32 +0,0 @@ -/** - * guy - * @extends BI.Single - * @type {*|void|Object} - */ -BI.HalfIconButton = BI.inherit(BI.IconButton, { - _defaultConfig: function() { - var conf = BI.HalfIconButton.superclass._defaultConfig.apply(this,arguments); - return BI.extend(conf, { - extraCls: "bi-half-icon-button check-half-select-icon", - height: 16, - width: 16, - iconWidth: 16, - iconHeight: 16, - selected: false - }) - }, - - _init : function() { - BI.HalfIconButton.superclass._init.apply(this, arguments); - }, - - doClick: function(){ - BI.HalfIconButton.superclass.doClick.apply(this, arguments); - if(this.isValid()){ - this.fireEvent(BI.HalfIconButton.EVENT_CHANGE); - } - } -}); -BI.HalfIconButton.EVENT_CHANGE = "HalfIconButton.EVENT_CHANGE"; - -BI.shortcut("bi.half_icon_button", BI.HalfIconButton); \ No newline at end of file diff --git a/src/case/button/icon/icon.trigger.js b/src/case/button/icon/icon.trigger.js deleted file mode 100644 index 8ae75e3cf8..0000000000 --- a/src/case/button/icon/icon.trigger.js +++ /dev/null @@ -1,30 +0,0 @@ -/** - * 统一的trigger图标按钮 - * - * Created by GUY on 2015/9/16. - * @class BI.TriggerIconButton - * @extends BI.IconButton - */ -BI.TriggerIconButton = BI.inherit(BI.IconButton, { - - _defaultConfig: function () { - var conf = BI.TriggerIconButton.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-trigger-icon-button", - extraCls: "pull-down-font" - }); - }, - - _init: function () { - BI.TriggerIconButton.superclass._init.apply(this, arguments); - }, - - doClick: function () { - BI.TriggerIconButton.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.TriggerIconButton.EVENT_CHANGE, this); - } - } -}); -BI.TriggerIconButton.EVENT_CHANGE = "TriggerIconButton.EVENT_CHANGE"; -BI.shortcut("bi.trigger_icon_button", BI.TriggerIconButton); \ No newline at end of file diff --git a/src/case/button/item.multiselect.js b/src/case/button/item.multiselect.js deleted file mode 100644 index 5a6ac20425..0000000000 --- a/src/case/button/item.multiselect.js +++ /dev/null @@ -1,75 +0,0 @@ -/** - * guy - * 复选框item - * @type {*|void|Object} - */ -BI.MultiSelectItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.MultiSelectItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-multi-select-item", - height: 25, - logic: { - dynamic: false - } - }) - }, - _init: function () { - BI.MultiSelectItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.checkbox" - }); - this.text = BI.createWidget({ - type: "bi.label", - cls: "list-item-text", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - rgap: o.rgap, - text: o.text, - keyword: o.keyword, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - self.setSelected(self.isSelected()); - } - }); - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic("horizontal", BI.extend(o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("left", { - type: "bi.center_adapt", - items: [this.checkbox], - width: 36 - }, this.text) - })))); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.MultiSelectItem.superclass.doClick.apply(this, arguments); - this.checkbox.setSelected(this.isSelected()); - if (this.isValid()) { - this.fireEvent(BI.MultiSelectItem.EVENT_CHANGE, this.getValue(), this); - } - }, - - setSelected: function (v) { - BI.MultiSelectItem.superclass.setSelected.apply(this, arguments); - this.checkbox.setSelected(v); - } -}); -BI.MultiSelectItem.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.multi_select_item", BI.MultiSelectItem); \ No newline at end of file diff --git a/src/case/button/item.singleselect.icontext.js b/src/case/button/item.singleselect.icontext.js deleted file mode 100644 index f3236f0f28..0000000000 --- a/src/case/button/item.singleselect.icontext.js +++ /dev/null @@ -1,59 +0,0 @@ -/** - * Created by GUY on 2016/2/2. - * - * @class BI.SingleSelectIconTextItem - * @extends BI.BasicButton - */ -BI.SingleSelectIconTextItem = BI.inherit(BI.Single, { - _defaultConfig: function () { - return BI.extend(BI.SingleSelectIconTextItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-single-select-icon-text-item bi-list-item-active", - iconClass: "", - hgap: 10, - height: 25 - }) - }, - _init: function () { - BI.SingleSelectIconTextItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.text = BI.createWidget({ - type: "bi.icon_text_item", - element: this, - cls: o.iconClass, - once: o.once, - selected: o.selected, - height: o.height, - iconHeight: o.iconHeight, - iconWidth: o.iconWidth, - text: o.text, - keyword: o.keyword, - value: o.value, - py: o.py - }); - this.text.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - }, - - isSelected: function () { - return this.text.isSelected(); - }, - - setSelected: function (b) { - this.text.setSelected(b); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.SingleSelectIconTextItem.superclass.doClick.apply(this, arguments); - } -}); - -BI.shortcut("bi.single_select_icon_text_item", BI.SingleSelectIconTextItem); \ No newline at end of file diff --git a/src/case/button/item.singleselect.js b/src/case/button/item.singleselect.js deleted file mode 100644 index 3357d851f8..0000000000 --- a/src/case/button/item.singleselect.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * guy - * 复选框item - * @type {*|void|Object} - */ -BI.SingleSelectItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.SingleSelectItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-single-select-item bi-list-item-active", - hgap: 10, - height: 25, - textAlign: "left", - }) - }, - _init: function () { - BI.SingleSelectItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.text = BI.createWidget({ - type: "bi.label", - element: this, - textAlign: o.textAlign, - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - keyword: o.keyword, - value: o.value, - py: o.py - }); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.SingleSelectItem.superclass.doClick.apply(this, arguments); - }, - - setSelected: function (v) { - BI.SingleSelectItem.superclass.setSelected.apply(this, arguments); - } -}); - -BI.shortcut("bi.single_select_item", BI.SingleSelectItem); \ No newline at end of file diff --git a/src/case/button/item.singleselect.radio.js b/src/case/button/item.singleselect.radio.js deleted file mode 100644 index 0dcf186799..0000000000 --- a/src/case/button/item.singleselect.radio.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * guy - * 单选框item - * @type {*|void|Object} - */ -BI.SingleSelectRadioItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.SingleSelectRadioItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-single-select-radio-item bi-list-item-active", - logic: { - dynamic: false - }, - hgap: 10, - height: 25 - }) - }, - _init: function () { - BI.SingleSelectRadioItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.radio = BI.createWidget({ - type: "bi.radio" - }); - this.radio.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - self.setSelected(!self.isSelected()); - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.text = BI.createWidget({ - type: "bi.label", - cls: "list-item-text", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - keyword: o.keyword, - value: o.value, - py: o.py - }); - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic("horizontal", BI.extend(o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("left", { - type: "bi.center_adapt", - items: [this.radio], - width: 36 - }, this.text) - })))); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.SingleSelectRadioItem.superclass.doClick.apply(this, arguments); - this.radio.setSelected(this.isSelected()); - }, - - setSelected: function (v) { - BI.SingleSelectRadioItem.superclass.setSelected.apply(this, arguments); - this.radio.setSelected(v); - - } -}); - -BI.shortcut("bi.single_select_radio_item", BI.SingleSelectRadioItem); \ No newline at end of file diff --git a/src/case/button/node/node.arrow.js b/src/case/button/node/node.arrow.js deleted file mode 100644 index ccc0e31db1..0000000000 --- a/src/case/button/node/node.arrow.js +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Created by roy on 15/10/16. - */ -BI.ArrowNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.ArrowNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-arrow-group-node bi-list-item", - logic: { - dynamic: false - }, - id: "", - pId: "", - open: false, - height: 25 - }); - }, - _init: function () { - var self = this, o = this.options; - BI.ArrowNode.superclass._init.apply(this, arguments); - this.checkbox = BI.createWidget({ - type: "bi.arrow_tree_group_node_checkbox", - iconWidth: 13, - iconHeight: 13 - }); - - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - self.setSelected(self.isSelected()); - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, { - width: 25, - el: this.checkbox - }, this.text); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.ArrowNode.superclass.doClick.apply(this, arguments); - this.checkbox.setSelected(this.isOpened()); - }, - setValue: function (v) { - this.text.setValue(v); - }, - - setOpened: function (v) { - BI.ArrowNode.superclass.setOpened.apply(this, arguments); - this.checkbox.setSelected(v); - } -}); - -BI.shortcut("bi.arrow_group_node", BI.ArrowNode); \ No newline at end of file diff --git a/src/case/button/node/node.first.plus.js b/src/case/button/node/node.first.plus.js deleted file mode 100644 index 8637d2cbec..0000000000 --- a/src/case/button/node/node.first.plus.js +++ /dev/null @@ -1,81 +0,0 @@ -/** - * 加号表示的组节点 - * Created by GUY on 2015/9/6. - * @class BI.FirstPlusGroupNode - * @extends BI.NodeButton - */ -BI.FirstPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.FirstPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-first-plus-group-node bi-list-item", - logic: { - dynamic: false - }, - id: "", - pId: "", - open: false, - height: 25 - }) - }, - _init: function () { - BI.FirstPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.first_tree_node_checkbox", - stopPropagation: true - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - if (this.isSelected()) { - self.triggerExpand(); - } else { - self.triggerCollapse(); - } - } - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, { - width: 25, - el: this.checkbox - }, this.text); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.FirstPlusGroupNode.superclass.doClick.apply(this, arguments); - this.checkbox.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.FirstPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.checkbox)) { - this.checkbox.setSelected(v); - } - } -}); - -BI.shortcut("bi.first_plus_group_node", BI.FirstPlusGroupNode); \ No newline at end of file diff --git a/src/case/button/node/node.icon.arrow.js b/src/case/button/node/node.icon.arrow.js deleted file mode 100644 index 3d34201618..0000000000 --- a/src/case/button/node/node.icon.arrow.js +++ /dev/null @@ -1,102 +0,0 @@ -/** - * Created by User on 2016/3/31. - */ -/** - * > + icon + 文本 - * @class BI.IconArrowNode - * @extends BI.NodeButton - */ -BI.IconArrowNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.IconArrowNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-icon-arrow-node bi-list-item", - logic: { - dynamic: false - }, - id: "", - pId: "", - open: false, - height: 25, - iconHeight: 13, - iconWidth: 13, - iconCls: "" - }) - }, - _init: function () { - BI.IconArrowNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.tree_group_node_checkbox", - width: 23, - stopPropagation: true - }); - - var icon = BI.createWidget({ - type: "bi.center_adapt", - cls: o.iconCls, - width: 23, - items: [{ - type: "bi.icon", - height: o.iconHeight, - width: o.iconWidth - }] - }); - - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - if (this.isSelected()) { - self.triggerExpand(); - } else { - self.triggerCollapse(); - } - } - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, { - width: 25, - el: this.checkbox - }, { - width: 23, - el: icon - }, this.text); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.IconArrowNode.superclass.doClick.apply(this, arguments); - this.checkbox.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.IconArrowNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.checkbox)) { - this.checkbox.setSelected(v); - } - } -}); - -BI.shortcut("bi.icon_arrow_node", BI.IconArrowNode); \ No newline at end of file diff --git a/src/case/button/node/node.last.plus.js b/src/case/button/node/node.last.plus.js deleted file mode 100644 index 1e0c47d26e..0000000000 --- a/src/case/button/node/node.last.plus.js +++ /dev/null @@ -1,81 +0,0 @@ -/** - * 加号表示的组节点 - * Created by GUY on 2015/9/6. - * @class BI.LastPlusGroupNode - * @extends BI.NodeButton - */ -BI.LastPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.LastPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-last-plus-group-node bi-list-item", - logic: { - dynamic: false - }, - id: "", - pId: "", - open: false, - height: 25 - }) - }, - _init: function () { - BI.LastPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.last_tree_node_checkbox", - stopPropagation: true - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if(type === BI.Events.CLICK) { - if (this.isSelected()) { - self.triggerExpand(); - } else { - self.triggerCollapse(); - } - } - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, { - width: 25, - el: this.checkbox - }, this.text); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.LastPlusGroupNode.superclass.doClick.apply(this, arguments); - this.checkbox.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.LastPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.checkbox)) { - this.checkbox.setSelected(v); - } - } -}); - -BI.shortcut("bi.last_plus_group_node", BI.LastPlusGroupNode); \ No newline at end of file diff --git a/src/case/button/node/node.mid.plus.js b/src/case/button/node/node.mid.plus.js deleted file mode 100644 index e78510def0..0000000000 --- a/src/case/button/node/node.mid.plus.js +++ /dev/null @@ -1,81 +0,0 @@ -/** - * 加号表示的组节点 - * Created by GUY on 2015/9/6. - * @class BI.MidPlusGroupNode - * @extends BI.NodeButton - */ -BI.MidPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.MidPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-mid-plus-group-node bi-list-item", - logic: { - dynamic: false - }, - id: "", - pId: "", - open: false, - height: 25 - }) - }, - _init: function () { - BI.MidPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.mid_tree_node_checkbox", - stopPropagation: true - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - if (this.isSelected()) { - self.triggerExpand(); - } else { - self.triggerCollapse(); - } - } - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, { - width: 25, - el: this.checkbox - }, this.text); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.MidPlusGroupNode.superclass.doClick.apply(this, arguments); - this.checkbox.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.MidPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.checkbox)) { - this.checkbox.setSelected(v); - } - } -}); - -BI.shortcut("bi.mid_plus_group_node", BI.MidPlusGroupNode); \ No newline at end of file diff --git a/src/case/button/node/node.multilayer.icon.arrow.js b/src/case/button/node/node.multilayer.icon.arrow.js deleted file mode 100644 index 7f406ac685..0000000000 --- a/src/case/button/node/node.multilayer.icon.arrow.js +++ /dev/null @@ -1,90 +0,0 @@ -BI.MultiLayerIconArrowNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.MultiLayerIconArrowNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-multilayer-icon-arrow-node bi-list-item", - layer: 0,//第几层级 - id: "", - pId: "", - open: false, - height: 25, - iconHeight: 13, - iconWidth: 13, - iconCls: "" - }) - }, - _init: function () { - BI.MultiLayerIconArrowNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.node = BI.createWidget({ - type: "bi.icon_arrow_node", - iconCls: o.iconCls, - //logic: { - // dynamic: true - //}, - id: o.id, - pId: o.pId, - open: o.open, - height: o.height, - iconHeight: o.iconHeight, - iconWidth: o.iconWidth, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.node.on(BI.Controller.EVENT_CHANGE, function (type) { - self.setSelected(self.isSelected()); - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - width: 13, - height: o.height - }) - }); - items.push(this.node); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - isOnce: function () { - return true; - }, - - doRedMark: function () { - this.node.doRedMark.apply(this.node, arguments); - }, - - unRedMark: function () { - this.node.unRedMark.apply(this.node, arguments); - }, - - isSelected: function () { - return this.node.isSelected(); - }, - - setSelected: function (b) { - BI.MultiLayerIconArrowNode.superclass.setSelected.apply(this, arguments); - this.node.setSelected(b); - }, - - doClick: function () { - BI.NodeButton.superclass.doClick.apply(this, arguments); - this.node.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.MultiLayerIconArrowNode.superclass.setOpened.apply(this, arguments); - this.node.setOpened(v); - } -}); - -BI.shortcut("bi.multilayer_icon_arrow_node", BI.MultiLayerIconArrowNode); \ No newline at end of file diff --git a/src/case/button/node/node.plus.js b/src/case/button/node/node.plus.js deleted file mode 100644 index 7ccbb04330..0000000000 --- a/src/case/button/node/node.plus.js +++ /dev/null @@ -1,77 +0,0 @@ -/** - * 加号表示的组节点 - * Created by GUY on 2015/9/6. - * @class BI.PlusGroupNode - * @extends BI.NodeButton - */ -BI.PlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.PlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-plus-group-node bi-list-item", - logic: { - dynamic: false - }, - id: "", - pId: "", - open: false, - height: 25 - }) - }, - _init: function () { - BI.PlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.tree_node_checkbox" - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - self.setSelected(self.isSelected()); - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, { - width: 25, - el: this.checkbox - }, this.text); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.PlusGroupNode.superclass.doClick.apply(this, arguments); - this.checkbox.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.PlusGroupNode.superclass.setOpened.apply(this, arguments); - if (this.checkbox) { - this.checkbox.setSelected(v); - } - } -}); - -BI.shortcut("bi.plus_group_node", BI.PlusGroupNode); \ No newline at end of file diff --git a/src/case/button/node/node.triangle.js b/src/case/button/node/node.triangle.js deleted file mode 100644 index 932485a3b5..0000000000 --- a/src/case/button/node/node.triangle.js +++ /dev/null @@ -1,83 +0,0 @@ -/** - * 三角号表示的组节点 - * Created by GUY on 2015/9/6. - * @class BI.TriangleGroupNode - * @extends BI.NodeButton - */ -BI.TriangleGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.TriangleGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-triangle-group-node bi-list-item", - logic: { - dynamic: false - }, - id: "", - pId: "", - open: false, - height: 25 - }) - }, - _init: function () { - BI.TriangleGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - iconWidth: 13, - iconHeight: 13, - type: "bi.tree_group_node_checkbox" - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py, - keyword: o.keyword - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - self.setSelected(self.isSelected()); - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, { - width: 25, - el: this.checkbox - }, this.text); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.TriangleGroupNode.superclass.doClick.apply(this, arguments); - this.checkbox.setSelected(this.isOpened()); - }, - - setOpened: function (v) { - BI.TriangleGroupNode.superclass.setOpened.apply(this, arguments); - this.checkbox.setSelected(v); - }, - - setText: function(text){ - BI.TriangleGroupNode.superclass.setText.apply(this, arguments); - this.text.setText(text); - } -}); - -BI.shortcut("bi.triangle_group_node", BI.TriangleGroupNode); \ No newline at end of file diff --git a/src/case/button/treeitem/item.first.treeleaf.js b/src/case/button/treeitem/item.first.treeleaf.js deleted file mode 100644 index 65e05b569b..0000000000 --- a/src/case/button/treeitem/item.first.treeleaf.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * guy - * 复选框item - * @type {*|void|Object} - */ -BI.FirstTreeLeafItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.FirstTreeLeafItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-first-tree-leaf-item bi-list-item-active", - logic: { - dynamic: false - }, - id: "", - pId: "", - layer: 0, - height: 25 - }) - }, - _init: function () { - BI.FirstTreeLeafItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.checkbox" - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - self.setSelected(self.isSelected()); - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, ((o.layer === 0) ? "" : { - width: 13, - el: { - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - } - }), { - width: 25, - el: { - type: "bi.layout", - cls: "mid-line-conn-background", - width: 25, - height: o.height - } - }, { - el: this.text - }); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - getId: function () { - return this.options.id; - }, - - getPId: function () { - return this.options.pId; - }, - - doClick: function () { - BI.FirstTreeLeafItem.superclass.doClick.apply(this, arguments); - this.checkbox.setSelected(this.isSelected()); - }, - - setSelected: function (v) { - BI.FirstTreeLeafItem.superclass.setSelected.apply(this, arguments); - this.checkbox.setSelected(v); - } -}); - -BI.shortcut("bi.first_tree_leaf_item", BI.FirstTreeLeafItem); \ No newline at end of file diff --git a/src/case/button/treeitem/item.icon.treeleaf.js b/src/case/button/treeitem/item.icon.treeleaf.js deleted file mode 100644 index bca64974fe..0000000000 --- a/src/case/button/treeitem/item.icon.treeleaf.js +++ /dev/null @@ -1,88 +0,0 @@ -BI.IconTreeLeafItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.IconTreeLeafItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-icon-tree-leaf-item bi-list-item-active", - logic: { - dynamic: false - }, - height: 25, - iconWidth: 16, - iconHeight: 16, - iconCls: "" - }) - }, - - _init: function () { - BI.IconTreeLeafItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - var icon = BI.createWidget({ - type: "bi.center_adapt", - width: 23, - cls: o.iconCls, - items: [{ - type: "bi.icon", - width: o.iconWidth, - height: o.iconHeight - }] - }); - - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, { - width: 23, - el: icon - }, { - el: this.text - }); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - getId: function () { - return this.options.id; - }, - - getPId: function () { - return this.options.pId; - }, - - doClick: function () { - BI.IconTreeLeafItem.superclass.doClick.apply(this, arguments); - }, - - setSelected: function (v) { - BI.IconTreeLeafItem.superclass.setSelected.apply(this, arguments); - } -}); - -BI.shortcut("bi.icon_tree_leaf_item", BI.IconTreeLeafItem); \ No newline at end of file diff --git a/src/case/button/treeitem/item.last.treeleaf.js b/src/case/button/treeitem/item.last.treeleaf.js deleted file mode 100644 index 26be93942d..0000000000 --- a/src/case/button/treeitem/item.last.treeleaf.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * guy - * 复选框item - * @type {*|void|Object} - */ -BI.LastTreeLeafItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.LastTreeLeafItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-last-tree-leaf-item bi-list-item-active", - logic: { - dynamic: false - }, - id: "", - pId: "", - layer: 0, - height: 25 - }) - }, - _init: function () { - BI.LastTreeLeafItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.checkbox" - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - self.setSelected(self.isSelected()); - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, ((o.layer === 0) ? "" : { - width: 13, - el: { - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - } - }), { - width: 25, - el: { - type: "bi.layout", - cls: "mid-line-conn-background", - width: 25, - height: o.height - } - }, { - el: this.text - }); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - getId: function () { - return this.options.id; - }, - - getPId: function () { - return this.options.pId; - }, - - doClick: function () { - BI.LastTreeLeafItem.superclass.doClick.apply(this, arguments); - // this.checkbox.setSelected(this.isSelected()); - }, - - setSelected: function (v) { - BI.LastTreeLeafItem.superclass.setSelected.apply(this, arguments); - // this.checkbox.setSelected(v); - } -}); - -BI.shortcut("bi.last_tree_leaf_item", BI.LastTreeLeafItem); \ No newline at end of file diff --git a/src/case/button/treeitem/item.mid.treeleaf.js b/src/case/button/treeitem/item.mid.treeleaf.js deleted file mode 100644 index 6210427f7e..0000000000 --- a/src/case/button/treeitem/item.mid.treeleaf.js +++ /dev/null @@ -1,104 +0,0 @@ -/** - * guy - * 复选框item - * @type {*|void|Object} - */ -BI.MidTreeLeafItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.MidTreeLeafItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-mid-tree-leaf-item bi-list-item-active", - logic: { - dynamic: false - }, - id: "", - pId: "", - layer: 0, - height: 25 - }) - }, - _init: function () { - BI.MidTreeLeafItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.checkbox" - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - self.setSelected(self.isSelected()); - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, ((o.layer === 0) ? "" : { - width: 13, - el: { - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - } - }), { - width: 25, - el: { - type: "bi.layout", - cls: "mid-line-conn-background", - width: 25, - height: o.height - } - }, { - el: this.text - }); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - getId: function () { - return this.options.id; - }, - - getPId: function () { - return this.options.pId; - }, - - doClick: function () { - BI.MidTreeLeafItem.superclass.doClick.apply(this, arguments); - this.checkbox.setSelected(this.isSelected()); - }, - - setSelected: function (v) { - BI.MidTreeLeafItem.superclass.setSelected.apply(this, arguments); - this.checkbox.setSelected(v); - } -}); - -BI.shortcut("bi.mid_tree_leaf_item", BI.MidTreeLeafItem); \ No newline at end of file diff --git a/src/case/button/treeitem/item.multilayer.icon.treeleaf.js b/src/case/button/treeitem/item.multilayer.icon.treeleaf.js deleted file mode 100644 index 02ffa959ff..0000000000 --- a/src/case/button/treeitem/item.multilayer.icon.treeleaf.js +++ /dev/null @@ -1,97 +0,0 @@ -/** - * @class BI.MultiLayerIconTreeLeafItem - * @extends BI.BasicButton - */ -BI.MultiLayerIconTreeLeafItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.MultiLayerIconTreeLeafItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-multilayer-icon-tree-leaf-item bi-list-item-active", - layer: 0, - height: 25, - iconCls: "", - iconHeight: 14, - iconWidth: 12 - }) - }, - _init: function () { - BI.MultiLayerIconTreeLeafItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.item = BI.createWidget({ - type: "bi.icon_tree_leaf_item", - cls: "bi-list-item-none", - iconCls: o.iconCls, - id: o.id, - pId: o.pId, - isFront: true, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py, - iconWidth: o.iconWidth, - iconHeight: o.iconHeight - }); - this.item.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) {//本身实现click功能 - return; - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - width: 13, - height: o.height - }) - }); - items.push(this.item); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }); - }, - - doRedMark: function () { - this.item.doRedMark.apply(this.item, arguments); - }, - - unRedMark: function () { - this.item.unRedMark.apply(this.item, arguments); - }, - - doHighLight: function () { - this.item.doHighLight.apply(this.item, arguments); - }, - - unHighLight: function () { - this.item.unHighLight.apply(this.item, arguments); - }, - - getId: function () { - return this.options.id; - }, - - getPId: function () { - return this.options.pId; - }, - - doClick: function () { - BI.MultiLayerIconTreeLeafItem.superclass.doClick.apply(this, arguments); - this.item.setSelected(this.isSelected()); - }, - - setSelected: function (v) { - BI.MultiLayerIconTreeLeafItem.superclass.setSelected.apply(this, arguments); - this.item.setSelected(v); - }, - - getValue: function(){ - return this.options.value; - } -}); - -BI.shortcut("bi.multilayer_icon_tree_leaf_item", BI.MultiLayerIconTreeLeafItem); \ No newline at end of file diff --git a/src/case/button/treeitem/item.treetextleaf.js b/src/case/button/treeitem/item.treetextleaf.js deleted file mode 100644 index e2a93c765a..0000000000 --- a/src/case/button/treeitem/item.treetextleaf.js +++ /dev/null @@ -1,69 +0,0 @@ -/** - * 树叶子节点 - * Created by GUY on 2015/9/6. - * @class BI.TreeTextLeafItem - * @extends BI.BasicButton - */ -BI.TreeTextLeafItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function() { - return BI.extend(BI.TreeTextLeafItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-tree-text-leaf-item bi-list-item-active", - id: "", - pId: "", - height: 25, - hgap: 0, - lgap: 0, - rgap: 0 - }) - }, - _init : function() { - BI.TreeTextLeafItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - lgap: o.lgap, - rgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - el: this.text - }] - }) - }, - - doRedMark: function(){ - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function(){ - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function(){ - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function(){ - this.text.unHighLight.apply(this.text, arguments); - }, - - getId: function(){ - return this.options.id; - }, - - getPId: function(){ - return this.options.pId; - } -}); - -BI.shortcut("bi.tree_text_leaf_item", BI.TreeTextLeafItem); \ No newline at end of file diff --git a/src/case/calendar/calendar.js b/src/case/calendar/calendar.js deleted file mode 100644 index c4633bb097..0000000000 --- a/src/case/calendar/calendar.js +++ /dev/null @@ -1,190 +0,0 @@ -/** - * Created by GUY on 2015/8/28. - * @class BI.Calendar - * @extends BI.Widget - */ -BI.Calendar = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.Calendar.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-calendar", - logic: { - dynamic: false - }, - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - year: 2015, - month: 7, //7表示八月 - day: 25 - }) - }, - - _dateCreator: function (Y, M, D) { - var self = this, o = this.options, log = {}, De = new Date(); - var mins = o.min.match(/\d+/g); - var maxs = o.max.match(/\d+/g); - Y < (mins[0] | 0) && (Y = (mins[0] | 0)); - Y > (maxs[0] | 0) && (Y = (maxs[0] | 0)); - - De.setFullYear(Y, M, D); - log.ymd = [De.getFullYear(), De.getMonth(), De.getDate()]; - - var MD = Date._MD.slice(0); - MD[1] = Date.isLeap(log.ymd[0]) ? 29 : 28; - - De.setFullYear(log.ymd[0], log.ymd[1], 1); - log.FDay = De.getDay(); - - log.PDay = MD[M === 0 ? 11 : M - 1] - log.FDay + 1; - log.NDay = 1; - - var items = []; - BI.each(BI.range(42), function (i) { - var td = {}, YY = log.ymd[0], MM = log.ymd[1] + 1, DD; - if (i < log.FDay) { - td.lastMonth = true; - DD = i + log.PDay; - MM === 1 && (YY -= 1); - MM = MM === 1 ? 12 : MM - 1; - } else if (i >= log.FDay && i < log.FDay + MD[log.ymd[1]]) { - DD = i - log.FDay + 1; - if (i - log.FDay + 1 === log.ymd[2]) { - td.currentDay = true; - } - } else { - td.nextMonth = true; - DD = log.NDay++; - MM === 12 && (YY += 1); - MM = MM === 12 ? 1 : MM + 1; - } - if (Date.checkVoid(YY, MM, DD, mins, maxs)[0]) { - td.disabled = true; - } - td.text = DD; - items.push(td); - }) - return items; - }, - - _init: function () { - BI.Calendar.superclass._init.apply(this, arguments); - var self = this, o = this.options; - var items = BI.map(Date._SDN.slice(0, 7), function (i, value) { - return { - type: "bi.label", - height: 25, - text: value - } - }) - var title = BI.createWidget({ - type: "bi.button_group", - height: 25, - items: items - }) - var days = this._dateCreator(o.year, o.month, o.day); - items = []; - items.push(days.slice(0, 7)); - items.push(days.slice(7, 14)); - items.push(days.slice(14, 21)); - items.push(days.slice(21, 28)); - items.push(days.slice(28, 35)); - items.push(days.slice(35, 42)); - - items = BI.map(items, function (i, item) { - return BI.map(item, function (j, td) { - return BI.extend(td, { - type: "bi.text_item", - cls: "bi-list-item-active", - textAlign: "center", - whiteSpace: "normal", - once: false, - forceSelected: true, - height: 25, - value: o.year + "-" + o.month + "-" + td.text, - disabled: td.lastMonth || td.nextMonth || td.disabled - //selected: td.currentDay - }); - }); - }); - - this.days = BI.createWidget({ - type: "bi.button_group", - items: BI.createItems(items, {}), - layouts: [BI.LogicFactory.createLogic("table", BI.extend({}, o.logic, { - columns: 7, - rows: 6, - columnSize: [1 / 7, 1 / 7, 1 / 7, 1 / 7, 1 / 7, 1 / 7, 1 / 7], - rowSize: 25 - }))] - }); - this.days.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }) - BI.createWidget(BI.extend({ - element: this - - }, BI.LogicFactory.createLogic("vertical", BI.extend({}, o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("top", title, this.days) - })))); - }, - - isFrontDate: function () { - var o = this.options, c = this._const; - var Y = o.year, M = o.month, De = new Date(), day = De.getDay(); - Y = Y | 0; - De.setFullYear(Y, M, 1); - var newDate = De.getOffsetDate(-1 * (day + 1)); - return !!Date.checkVoid(newDate.getFullYear(), newDate.getMonth(), newDate.getDate(), o.min, o.max)[0]; - }, - - isFinalDate: function () { - var o = this.options, c = this._const; - var Y = o.year, M = o.month, De = new Date(), day = De.getDay(); - Y = Y | 0; - De.setFullYear(Y, M, 1); - var newDate = De.getOffsetDate(42 - day); - return !!Date.checkVoid(newDate.getFullYear(), newDate.getMonth(), newDate.getDate(), o.min, o.max)[0]; - }, - - setValue: function (ob) { - this.days.setValue([ob.year + "-" + ob.month + "-" + ob.day]); - }, - - getValue: function () { - var date = this.days.getValue()[0].match(/\d+/g); - return { - year: date[0] | 0, - month: date[1] | 0, - day: date[2] | 0 - } - } -}); - -BI.extend(BI.Calendar, { - getPageByDateJSON: function (json) { - var year = new Date().getFullYear(); - var month = new Date().getMonth(); - var page = (json.year - year) * 12; - page += json.month - month; - return page; - }, - getDateJSONByPage: function(v){ - var months = new Date().getMonth(); - var page = v; - - //对当前page做偏移,使到当前年初 - page = page + months; - - var year = BI.parseInt(page / 12); - if(page < 0 && page % 12 !== 0){ - year--; - } - var month = page >= 0 ? (page % 12) : ((12 + page % 12) % 12); - return { - year: new Date().getFullYear() + year, - month: month - } - } -}); - -BI.shortcut("bi.calendar", BI.Calendar); \ No newline at end of file diff --git a/src/case/calendar/calendar.year.js b/src/case/calendar/calendar.year.js deleted file mode 100644 index b9ca8a14fb..0000000000 --- a/src/case/calendar/calendar.year.js +++ /dev/null @@ -1,143 +0,0 @@ -/** - * Created by GUY on 2015/8/28. - * @class BI.YearCalendar - * @extends BI.Widget - */ -BI.YearCalendar = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - var conf = BI.YearCalendar.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-year-calendar", - behaviors: {}, - logic: { - dynamic: false - }, - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - year: null - }) - }, - - _yearCreator: function (Y) { - var o = this.options; - Y = Y | 0; - var start = BI.YearCalendar.getStartYear(Y); - var items = []; - BI.each(BI.range(BI.YearCalendar.INTERVAL), function (i) { - var td = {}; - if (Date.checkVoid(start + i, 1, 1, o.min, o.max)[0]) { - td.disabled = true; - } - td.text = start + i; - items.push(td); - }); - return items; - }, - - _init: function () { - BI.YearCalendar.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.currentYear = new Date().getFullYear(); - var years = this._yearCreator(o.year || this.currentYear); - - //纵向排列年 - var len = years.length, tyears = BI.makeArray(len, ""); - var map = [0, 6, 1, 7, 2, 8, 3, 9, 4, 10, 5, 11]; - BI.each(years, function (i, y) { - tyears[i] = years[map[i]]; - }); - var items = []; - items.push(tyears.slice(0, 2)); - items.push(tyears.slice(2, 4)); - items.push(tyears.slice(4, 6)); - items.push(tyears.slice(6, 8)); - items.push(tyears.slice(8, 10)); - items.push(tyears.slice(10, 12)); - - items = BI.map(items, function (i, item) { - return BI.map(item, function (j, td) { - return BI.extend(td, { - type: "bi.text_item", - cls: "bi-list-item-active", - textAlign: "center", - whiteSpace: "normal", - once: false, - forceSelected: true, - height: 23, - width: 38, - value: td.text, - disabled: td.disabled - }); - }); - }); - - this.years = BI.createWidget({ - type: "bi.button_group", - behaviors: o.behaviors, - items: BI.createItems(items, {}), - layouts: [BI.LogicFactory.createLogic("table", BI.extend({}, o.logic, { - columns: 2, - rows: 6, - columnSize: [1 / 2, 1 / 2], - rowSize: 25 - })), { - type: "bi.center_adapt", - vgap: 1 - }] - }); - this.years.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - BI.createWidget(BI.extend({ - element: this - - }, BI.LogicFactory.createLogic("vertical", BI.extend({}, o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("top", this.years) - })))); - }, - - isFrontYear: function () { - var o = this.options; - var Y = o.year; - Y = Y | 0; - return !!Date.checkVoid(BI.YearCalendar.getStartYear(Y) - 1, 1, 1, o.min, o.max)[0]; - }, - - isFinalYear: function () { - var o = this.options, c = this._const; - var Y = o.year; - Y = Y | 0; - return !!Date.checkVoid(BI.YearCalendar.getEndYear(Y) + 1, 1, 1, o.min, o.max)[0]; - }, - - setValue: function (val) { - this.years.setValue([val]); - }, - - getValue: function () { - return this.years.getValue()[0]; - } -}); -//类方法 -BI.extend(BI.YearCalendar, { - INTERVAL: 12, - - //获取显示的第一年 - getStartYear: function (year) { - var cur = new Date().getFullYear(); - return year - ((year - cur + 3) % BI.YearCalendar.INTERVAL + 12) % BI.YearCalendar.INTERVAL; - }, - - getEndYear: function (year) { - return BI.YearCalendar.getStartYear(year) + BI.YearCalendar.INTERVAL; - }, - - getPageByYear: function (year) { - var cur = new Date().getFullYear(); - year = BI.YearCalendar.getStartYear(year); - return (year - cur + 3) / BI.YearCalendar.INTERVAL; - } -}); - -BI.shortcut("bi.year_calendar", BI.YearCalendar); \ No newline at end of file diff --git a/src/case/canvas/canvas.complex.js b/src/case/canvas/canvas.complex.js deleted file mode 100644 index 1073196ccf..0000000000 --- a/src/case/canvas/canvas.complex.js +++ /dev/null @@ -1,92 +0,0 @@ -/** - * 绘制一些较复杂的canvas - * - * Created by GUY on 2015/11/24. - * @class BI.ComplexCanvas - * @extends BI.Widget - */ -BI.ComplexCanvas = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.ComplexCanvas.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-complex-canvas" - }) - }, - - - _init: function () { - BI.ComplexCanvas.superclass._init.apply(this, arguments); - var o = this.options; - this.canvas = BI.createWidget({ - type: "bi.canvas", - element: this, - width: o.width, - height: o.height - }); - }, - - //绘制树枝节点 - branch: function (x0, y0, x1, y1, x2, y2) { - var self = this, args = [].slice.call(arguments); - if (args.length <= 5) { - return this.canvas.line.apply(this.canvas, arguments); - } - var options; - if (BI.isOdd(args.length)) { - options = BI.last(args); - args = BI.initial(args); - } - args = [].slice.call(args, 2); - var odd = BI.filter(args, function (i) { - return i % 2 === 0; - }); - var even = BI.filter(args, function (i) { - return i % 2 !== 0; - }); - options || (options = {}); - var offset = options.offset || 20; - if ((y0 > y1 && y0 > y2) || (y0 < y1 && y0 < y2)) { - if (y0 > y1 && y0 > y2) { - var y = Math.max.apply(this, even) + offset; - } else { - var y = Math.min.apply(this, even) - offset; - } - var minx = Math.min.apply(this, odd); - var minix = BI.indexOf(odd, minx); - var maxx = Math.max.apply(this, odd); - var maxix = BI.indexOf(odd, maxx); - this.canvas.line(minx, even[minix], minx, y, maxx, y, maxx, even[maxix], options); - BI.each(odd, function (i, dot) { - if (i !== maxix && i !== minix) { - self.canvas.line(dot, even[i], dot, y, options); - } - }); - this.canvas.line(x0, y, x0, y0, options); - return; - } - if ((x0 > x1 && x0 > x2) || (x0 < x1 && x0 < x2)) { - if (x0 > x1 && x0 > x2) { - var x = Math.max.apply(this, odd) + offset; - } else { - var x = Math.min.apply(this, odd) - offset; - } - var miny = Math.min.apply(this, even); - var miniy = BI.indexOf(even, miny); - var maxy = Math.max.apply(this, even); - var maxiy = BI.indexOf(even, maxy); - this.canvas.line(odd[miniy], miny, x, miny, x, maxy, odd[maxiy], maxy, options); - BI.each(even, function (i, dot) { - if (i !== miniy && i !== maxiy) { - self.canvas.line(odd[i], dot, x, dot, options); - } - }); - this.canvas.line(x, y0, x0, y0, options); - return; - } - }, - - stroke: function (callback) { - this.canvas.stroke(callback); - } -}); - -BI.shortcut("bi.complex_canvas", BI.ComplexCanvas); \ No newline at end of file diff --git a/src/case/checkbox/check.arrowtreegroupnode.js b/src/case/checkbox/check.arrowtreegroupnode.js deleted file mode 100644 index c48b4f4f1d..0000000000 --- a/src/case/checkbox/check.arrowtreegroupnode.js +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Created by roy on 15/10/16. - * 上箭头与下箭头切换的树节点 - */ -BI.ArrowTreeGroupNodeCheckbox=BI.inherit(BI.IconButton,{ - _defaultConfig:function(){ - return BI.extend(BI.ArrowTreeGroupNodeCheckbox.superclass._defaultConfig.apply(this,arguments),{ - extraCls:"bi-arrow-tree-group-node", - iconWidth: 13, - iconHeight: 13 - }); - }, - _init:function(){ - BI.ArrowTreeGroupNodeCheckbox.superclass._init.apply(this,arguments); - }, - setSelected: function(v){ - BI.ArrowTreeGroupNodeCheckbox.superclass.setSelected.apply(this, arguments); - if(v) { - this.element.removeClass("column-next-page-h-font").addClass("column-pre-page-h-font"); - } else { - this.element.removeClass("column-pre-page-h-font").addClass("column-next-page-h-font"); - } - } -}); -BI.shortcut("bi.arrow_tree_group_node_checkbox",BI.ArrowTreeGroupNodeCheckbox); \ No newline at end of file diff --git a/src/case/checkbox/check.checkingmarknode.js b/src/case/checkbox/check.checkingmarknode.js deleted file mode 100644 index 8264480afb..0000000000 --- a/src/case/checkbox/check.checkingmarknode.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * 十字型的树节点 - * @class BI.CheckingMarkNode - * @extends BI.IconButton - */ -BI.CheckingMarkNode = BI.inherit(BI.IconButton, { - _defaultConfig: function() { - return BI.extend( BI.CheckingMarkNode.superclass._defaultConfig.apply(this, arguments), { - extraCls: "check-mark-font", - iconWidth: 13, - iconHeight: 13 - }); - }, - _init:function() { - BI.CheckingMarkNode.superclass._init.apply(this, arguments); - this.setSelected(this.options.selected); - - }, - setSelected: function(v){ - BI.CheckingMarkNode.superclass.setSelected.apply(this, arguments); - if(v===true) { - this.element.addClass("check-mark-font"); - } else { - this.element.removeClass("check-mark-font"); - } - } -}); -BI.shortcut("bi.checking_mark_node", BI.CheckingMarkNode); \ No newline at end of file diff --git a/src/case/checkbox/check.first.treenode.js b/src/case/checkbox/check.first.treenode.js deleted file mode 100644 index 281e095540..0000000000 --- a/src/case/checkbox/check.first.treenode.js +++ /dev/null @@ -1,27 +0,0 @@ -/** - * 十字型的树节点 - * @class BI.FirstTreeNodeCheckbox - * @extends BI.IconButton - */ -BI.FirstTreeNodeCheckbox = BI.inherit(BI.IconButton, { - _defaultConfig: function() { - return BI.extend( BI.FirstTreeNodeCheckbox.superclass._defaultConfig.apply(this, arguments), { - extraCls: "tree-collapse-icon-type2", - iconWidth: 25, - iconHeight: 25 - }); - }, - _init:function() { - BI.FirstTreeNodeCheckbox.superclass._init.apply(this, arguments); - - }, - setSelected: function(v){ - BI.FirstTreeNodeCheckbox.superclass.setSelected.apply(this, arguments); - if(v===true) { - this.element.addClass("tree-expand-icon-type2"); - } else { - this.element.removeClass("tree-expand-icon-type2"); - } - } -}); -BI.shortcut("bi.first_tree_node_checkbox", BI.FirstTreeNodeCheckbox); \ No newline at end of file diff --git a/src/case/checkbox/check.last.treenode.js b/src/case/checkbox/check.last.treenode.js deleted file mode 100644 index 19eecd44ed..0000000000 --- a/src/case/checkbox/check.last.treenode.js +++ /dev/null @@ -1,27 +0,0 @@ -/** - * 十字型的树节点 - * @class BI.LastTreeNodeCheckbox - * @extends BI.IconButton - */ -BI.LastTreeNodeCheckbox = BI.inherit(BI.IconButton, { - _defaultConfig: function() { - return BI.extend( BI.LastTreeNodeCheckbox.superclass._defaultConfig.apply(this, arguments), { - extraCls: "tree-collapse-icon-type4", - iconWidth: 25, - iconHeight: 25 - }); - }, - _init:function() { - BI.LastTreeNodeCheckbox.superclass._init.apply(this, arguments); - - }, - setSelected: function(v){ - BI.LastTreeNodeCheckbox.superclass.setSelected.apply(this, arguments); - if(v===true) { - this.element.addClass("tree-expand-icon-type3"); - } else { - this.element.removeClass("tree-expand-icon-type3"); - } - } -}); -BI.shortcut("bi.last_tree_node_checkbox", BI.LastTreeNodeCheckbox); \ No newline at end of file diff --git a/src/case/checkbox/check.mid.treenode.js b/src/case/checkbox/check.mid.treenode.js deleted file mode 100644 index da08766444..0000000000 --- a/src/case/checkbox/check.mid.treenode.js +++ /dev/null @@ -1,27 +0,0 @@ -/** - * 十字型的树节点 - * @class BI.MidTreeNodeCheckbox - * @extends BI.IconButton - */ -BI.MidTreeNodeCheckbox = BI.inherit(BI.IconButton, { - _defaultConfig: function() { - return BI.extend( BI.MidTreeNodeCheckbox.superclass._defaultConfig.apply(this, arguments), { - extraCls: "tree-collapse-icon-type3", - iconWidth: 25, - iconHeight: 25 - }); - }, - _init:function() { - BI.MidTreeNodeCheckbox.superclass._init.apply(this, arguments); - - }, - setSelected: function(v){ - BI.MidTreeNodeCheckbox.superclass.setSelected.apply(this, arguments); - if(v===true) { - this.element.addClass("tree-expand-icon-type3"); - } else { - this.element.removeClass("tree-expand-icon-type3"); - } - } -}); -BI.shortcut("bi.mid_tree_node_checkbox", BI.MidTreeNodeCheckbox); \ No newline at end of file diff --git a/src/case/checkbox/check.treegroupnode.js b/src/case/checkbox/check.treegroupnode.js deleted file mode 100644 index 00cad265bd..0000000000 --- a/src/case/checkbox/check.treegroupnode.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * 三角形的树节点 - * Created by GUY on 2015/9/6. - * @class BI.TreeGroupNodeCheckbox - * @extends BI.IconButton - */ -BI.TreeGroupNodeCheckbox = BI.inherit(BI.IconButton, { - _defaultConfig: function() { - return BI.extend( BI.TreeGroupNodeCheckbox.superclass._defaultConfig.apply(this, arguments), { - extraCls: "tree-node-triangle-collapse-font", - iconWidth: 13, - iconHeight: 13 - }); - }, - _init:function() { - BI.TreeGroupNodeCheckbox.superclass._init.apply(this, arguments); - - }, - setSelected: function(v){ - BI.TreeGroupNodeCheckbox.superclass.setSelected.apply(this, arguments); - if(v) { - this.element.removeClass("tree-node-triangle-collapse-font").addClass("tree-node-triangle-expand-font"); - } else { - this.element.removeClass("tree-node-triangle-expand-font").addClass("tree-node-triangle-collapse-font"); - } - } -}); -BI.shortcut("bi.tree_group_node_checkbox", BI.TreeGroupNodeCheckbox); \ No newline at end of file diff --git a/src/case/checkbox/check.treenode.js b/src/case/checkbox/check.treenode.js deleted file mode 100644 index fa84ca6427..0000000000 --- a/src/case/checkbox/check.treenode.js +++ /dev/null @@ -1,27 +0,0 @@ -/** - * 十字型的树节点 - * @class BI.TreeNodeCheckbox - * @extends BI.IconButton - */ -BI.TreeNodeCheckbox = BI.inherit(BI.IconButton, { - _defaultConfig: function() { - return BI.extend( BI.TreeNodeCheckbox.superclass._defaultConfig.apply(this, arguments), { - extraCls: "tree-collapse-icon-type1", - iconWidth: 25, - iconHeight: 25 - }); - }, - _init:function() { - BI.TreeNodeCheckbox.superclass._init.apply(this, arguments); - - }, - setSelected: function(v){ - BI.TreeNodeCheckbox.superclass.setSelected.apply(this, arguments); - if(v) { - this.element.addClass("tree-expand-icon-type1"); - } else { - this.element.removeClass("tree-expand-icon-type1"); - } - } -}); -BI.shortcut("bi.tree_node_checkbox", BI.TreeNodeCheckbox); \ No newline at end of file diff --git a/src/case/clipboard/clipboard.js b/src/case/clipboard/clipboard.js deleted file mode 100644 index fc699ebc78..0000000000 --- a/src/case/clipboard/clipboard.js +++ /dev/null @@ -1,1319 +0,0 @@ -/*! - * clipboard.js v1.6.1 - * https://zenorocha.github.io/clipboard.js - * - * Licensed MIT © Zeno Rocha - */ -try {//IE8下会抛错 - (function (f) { - if (typeof exports === "object" && typeof module !== "undefined") { - module.exports = f() - } else if (typeof define === "function" && define.amd) { - define([], f) - } else { - var g; - if (typeof window !== "undefined") { - g = window - } else if (typeof global !== "undefined") { - g = global - } else if (typeof self !== "undefined") { - g = self - } else { - g = this - } - g.Clipboard = f() - } - })(function () { - var define, module, exports; - return (function e(t, n, r) { - function s(o, u) { - if (!n[o]) { - if (!t[o]) { - var a = typeof require == "function" && require; - if (!u && a)return a(o, !0); - if (i)return i(o, !0); - var f = new Error("Cannot find module '" + o + "'"); - throw f.code = "MODULE_NOT_FOUND", f - } - var l = n[o] = {exports: {}}; - t[o][0].call(l.exports, function (e) { - var n = t[o][1][e]; - return s(n ? n : e) - }, l, l.exports, e, t, n, r) - } - return n[o].exports - } - - var i = typeof require == "function" && require; - for (var o = 0; o < r.length; o++)s(r[o]); - return s - })({ - 1: [function (require, module, exports) { - var DOCUMENT_NODE_TYPE = 9; - - /** - * A polyfill for Element.matches() - */ - if (typeof Element !== 'undefined' && !Element.prototype.matches) { - var proto = Element.prototype; - - proto.matches = proto.matchesSelector || - proto.mozMatchesSelector || - proto.msMatchesSelector || - proto.oMatchesSelector || - proto.webkitMatchesSelector; - } - - /** - * Finds the closest parent that matches a selector. - * - * @param {Element} element - * @param {String} selector - * @return {Function} - */ - function closest(element, selector) { - while (element && element.nodeType !== DOCUMENT_NODE_TYPE) { - if (element.matches(selector)) return element; - element = element.parentNode; - } - } - - module.exports = closest; - - }, {}], 2: [function (require, module, exports) { - var closest = require('./closest'); - - /** - * Delegates event to a selector. - * - * @param {Element} element - * @param {String} selector - * @param {String} type - * @param {Function} callback - * @param {Boolean} useCapture - * @return {Object} - */ - function delegate(element, selector, type, callback, useCapture) { - var listenerFn = listener.apply(this, arguments); - - element.addEventListener(type, listenerFn, useCapture); - - return { - destroy: function () { - element.removeEventListener(type, listenerFn, useCapture); - } - } - } - - /** - * Finds closest match and invokes callback. - * - * @param {Element} element - * @param {String} selector - * @param {String} type - * @param {Function} callback - * @return {Function} - */ - function listener(element, selector, type, callback) { - return function (e) { - e.delegateTarget = closest(e.target, selector); - - if (e.delegateTarget) { - callback.call(element, e); - } - } - } - - module.exports = delegate; - - }, {"./closest": 1}], 3: [function (require, module, exports) { - /** - * Check if argument is a HTML element. - * - * @param {Object} value - * @return {Boolean} - */ - exports.node = function (value) { - return value !== undefined - && value instanceof HTMLElement - && value.nodeType === 1; - }; - - /** - * Check if argument is a list of HTML elements. - * - * @param {Object} value - * @return {Boolean} - */ - exports.nodeList = function (value) { - var type = Object.prototype.toString.call(value); - - return value !== undefined - && (type === '[object NodeList]' || type === '[object HTMLCollection]') - && ('length' in value) - && (value.length === 0 || exports.node(value[0])); - }; - - /** - * Check if argument is a string. - * - * @param {Object} value - * @return {Boolean} - */ - exports.string = function (value) { - return typeof value === 'string' - || value instanceof String; - }; - - /** - * Check if argument is a function. - * - * @param {Object} value - * @return {Boolean} - */ - exports.fn = function (value) { - var type = Object.prototype.toString.call(value); - - return type === '[object Function]'; - }; - - }, {}], 4: [function (require, module, exports) { - var is = require('./is'); - var delegate = require('delegate'); - - /** - * Validates all params and calls the right - * listener function based on its target type. - * - * @param {String|HTMLElement|HTMLCollection|NodeList} target - * @param {String} type - * @param {Function} callback - * @return {Object} - */ - function listen(target, type, callback) { - if (!target && !type && !callback) { - throw new Error('Missing required arguments'); - } - - if (!is.string(type)) { - throw new TypeError('Second argument must be a String'); - } - - if (!is.fn(callback)) { - throw new TypeError('Third argument must be a Function'); - } - - if (is.node(target)) { - return listenNode(target, type, callback); - } - else if (is.nodeList(target)) { - return listenNodeList(target, type, callback); - } - else if (is.string(target)) { - return listenSelector(target, type, callback); - } - else { - throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList'); - } - } - - /** - * Adds an event listener to a HTML element - * and returns a remove listener function. - * - * @param {HTMLElement} node - * @param {String} type - * @param {Function} callback - * @return {Object} - */ - function listenNode(node, type, callback) { - node.addEventListener(type, callback); - - return { - destroy: function () { - node.removeEventListener(type, callback); - } - } - } - - /** - * Add an event listener to a list of HTML elements - * and returns a remove listener function. - * - * @param {NodeList|HTMLCollection} nodeList - * @param {String} type - * @param {Function} callback - * @return {Object} - */ - function listenNodeList(nodeList, type, callback) { - Array.prototype.forEach.call(nodeList, function (node) { - node.addEventListener(type, callback); - }); - - return { - destroy: function () { - Array.prototype.forEach.call(nodeList, function (node) { - node.removeEventListener(type, callback); - }); - } - } - } - - /** - * Add an event listener to a selector - * and returns a remove listener function. - * - * @param {String} selector - * @param {String} type - * @param {Function} callback - * @return {Object} - */ - function listenSelector(selector, type, callback) { - return delegate(document.body, selector, type, callback); - } - - module.exports = listen; - - }, {"./is": 3, "delegate": 2}], 5: [function (require, module, exports) { - function select(element) { - var selectedText; - - if (element.nodeName === 'SELECT') { - element.focus(); - - selectedText = element.value; - } - else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') { - var isReadOnly = element.hasAttribute('readonly'); - - if (!isReadOnly) { - element.setAttribute('readonly', ''); - } - - element.select(); - element.setSelectionRange(0, element.value.length); - - if (!isReadOnly) { - element.removeAttribute('readonly'); - } - - selectedText = element.value; - } - else { - if (element.hasAttribute('contenteditable')) { - element.focus(); - } - - var selection = window.getSelection(); - var range = document.createRange(); - - range.selectNodeContents(element); - selection.removeAllRanges(); - selection.addRange(range); - - selectedText = selection.toString(); - } - - return selectedText; - } - - module.exports = select; - - }, {}], 6: [function (require, module, exports) { - function E() { - // Keep this empty so it's easier to inherit from - // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3) - } - - E.prototype = { - on: function (name, callback, ctx) { - var e = this.e || (this.e = {}); - - (e[name] || (e[name] = [])).push({ - fn: callback, - ctx: ctx - }); - - return this; - }, - - once: function (name, callback, ctx) { - var self = this; - - function listener() { - self.off(name, listener); - callback.apply(ctx, arguments); - }; - - listener._ = callback - return this.on(name, listener, ctx); - }, - - emit: function (name) { - var data = [].slice.call(arguments, 1); - var evtArr = ((this.e || (this.e = {}))[name] || []).slice(); - var i = 0; - var len = evtArr.length; - - for (i; i < len; i++) { - evtArr[i].fn.apply(evtArr[i].ctx, data); - } - - return this; - }, - - off: function (name, callback) { - var e = this.e || (this.e = {}); - var evts = e[name]; - var liveEvents = []; - - if (evts && callback) { - for (var i = 0, len = evts.length; i < len; i++) { - if (evts[i].fn !== callback && evts[i].fn._ !== callback) - liveEvents.push(evts[i]); - } - } - - // Remove event from queue to prevent memory leak - // Suggested by https://github.com/lazd - // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910 - - (liveEvents.length) - ? e[name] = liveEvents - : delete e[name]; - - return this; - } - }; - - module.exports = E; - - }, {}], 7: [function (require, module, exports) { - (function (global, factory) { - if (typeof define === "function" && define.amd) { - define(['module', 'select'], factory); - } else if (typeof exports !== "undefined") { - factory(module, require('select')); - } else { - var mod = { - exports: {} - }; - factory(mod, global.select); - global.clipboardAction = mod.exports; - } - })(this, function (module, _select) { - 'use strict'; - - var _select2 = _interopRequireDefault(_select); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - "default": obj - }; - } - - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { - return typeof obj; - } : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }; - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; - }(); - - var ClipboardAction = function () { - /** - * @param {Object} options - */ - function ClipboardAction(options) { - _classCallCheck(this, ClipboardAction); - - this.resolveOptions(options); - this.initSelection(); - } - - /** - * Defines base properties passed from constructor. - * @param {Object} options - */ - - - _createClass(ClipboardAction, [{ - key: 'resolveOptions', - value: function resolveOptions() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - this.action = options.action; - this.emitter = options.emitter; - this.target = options.target; - this.text = options.text; - this.trigger = options.trigger; - - this.selectedText = ''; - } - }, { - key: 'initSelection', - value: function initSelection() { - if (this.text) { - this.selectFake(); - } else if (this.target) { - this.selectTarget(); - } - } - }, { - key: 'selectFake', - value: function selectFake() { - var _this = this; - - var isRTL = document.documentElement.getAttribute('dir') == 'rtl'; - - this.removeFake(); - - this.fakeHandlerCallback = function () { - return _this.removeFake(); - }; - this.fakeHandler = document.body.addEventListener('click', this.fakeHandlerCallback) || true; - - this.fakeElem = document.createElement('textarea'); - // Prevent zooming on iOS - this.fakeElem.style.fontSize = '12pt'; - // Reset box model - this.fakeElem.style.border = '0'; - this.fakeElem.style.padding = '0'; - this.fakeElem.style.margin = '0'; - // Move element out of screen horizontally - this.fakeElem.style.position = 'absolute'; - this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px'; - // Move element to the same position vertically - var yPosition = window.pageYOffset || document.documentElement.scrollTop; - this.fakeElem.style.top = yPosition + 'px'; - - this.fakeElem.setAttribute('readonly', ''); - this.fakeElem.value = this.text; - - document.body.appendChild(this.fakeElem); - - this.selectedText = (0, _select2["default"])(this.fakeElem); - this.copyText(); - } - }, { - key: 'removeFake', - value: function removeFake() { - if (this.fakeHandler) { - document.body.removeEventListener('click', this.fakeHandlerCallback); - this.fakeHandler = null; - this.fakeHandlerCallback = null; - } - - if (this.fakeElem) { - document.body.removeChild(this.fakeElem); - this.fakeElem = null; - } - } - }, { - key: 'selectTarget', - value: function selectTarget() { - this.selectedText = (0, _select2["default"])(this.target); - this.copyText(); - } - }, { - key: 'copyText', - value: function copyText() { - var succeeded = void 0; - - try { - succeeded = document.execCommand(this.action); - } catch (err) { - succeeded = false; - } - - this.handleResult(succeeded); - } - }, { - key: 'handleResult', - value: function handleResult(succeeded) { - this.emitter.emit(succeeded ? 'success' : 'error', { - action: this.action, - text: this.selectedText, - trigger: this.trigger, - clearSelection: this.clearSelection.bind(this) - }); - } - }, { - key: 'clearSelection', - value: function clearSelection() { - if (this.target) { - this.target.blur(); - } - - window.getSelection().removeAllRanges(); - } - }, { - key: 'destroy', - value: function destroy() { - this.removeFake(); - } - }, { - key: 'action', - set: function set() { - var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy'; - - this._action = action; - - if (this._action !== 'copy' && this._action !== 'cut') { - throw new Error('Invalid "action" value, use either "copy" or "cut"'); - } - }, - get: function get() { - return this._action; - } - }, { - key: 'target', - set: function set(target) { - if (target !== undefined) { - if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) { - if (this.action === 'copy' && target.hasAttribute('disabled')) { - throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute'); - } - - if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) { - throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes'); - } - - this._target = target; - } else { - throw new Error('Invalid "target" value, use a valid Element'); - } - } - }, - get: function get() { - return this._target; - } - }]); - - return ClipboardAction; - }(); - - module.exports = ClipboardAction; - }); - - }, {"select": 5}], 8: [function (require, module, exports) { - (function (global, factory) { - if (typeof define === "function" && define.amd) { - define(['module', './clipboard-action', 'tiny-emitter', 'good-listener'], factory); - } else if (typeof exports !== "undefined") { - factory(module, require('./clipboard-action'), require('tiny-emitter'), require('good-listener')); - } else { - var mod = { - exports: {} - }; - factory(mod, global.clipboardAction, global.tinyEmitter, global.goodListener); - global.clipboard = mod.exports; - } - })(this, function (module, _clipboardAction, _tinyEmitter, _goodListener) { - 'use strict'; - - var _clipboardAction2 = _interopRequireDefault(_clipboardAction); - - var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter); - - var _goodListener2 = _interopRequireDefault(_goodListener); - - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - "default": obj - }; - } - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - var _createClass = function () { - function defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - - return function (Constructor, protoProps, staticProps) { - if (protoProps) defineProperties(Constructor.prototype, protoProps); - if (staticProps) defineProperties(Constructor, staticProps); - return Constructor; - }; - }(); - - function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - - return call && (typeof call === "object" || typeof call === "function") ? call : self; - } - - function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); - } - - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - enumerable: false, - writable: true, - configurable: true - } - }); - if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; - } - - var Clipboard = function (_Emitter) { - _inherits(Clipboard, _Emitter); - - /** - * @param {String|HTMLElement|HTMLCollection|NodeList} trigger - * @param {Object} options - */ - function Clipboard(trigger, options) { - _classCallCheck(this, Clipboard); - - var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this)); - - _this.resolveOptions(options); - _this.listenClick(trigger); - return _this; - } - - /** - * Defines if attributes would be resolved using internal setter functions - * or custom functions that were passed in the constructor. - * @param {Object} options - */ - - - _createClass(Clipboard, [{ - key: 'resolveOptions', - value: function resolveOptions() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - this.action = typeof options.action === 'function' ? options.action : this.defaultAction; - this.target = typeof options.target === 'function' ? options.target : this.defaultTarget; - this.text = typeof options.text === 'function' ? options.text : this.defaultText; - } - }, { - key: 'listenClick', - value: function listenClick(trigger) { - var _this2 = this; - - this.listener = (0, _goodListener2["default"])(trigger, 'click', function (e) { - return _this2.onClick(e); - }); - } - }, { - key: 'onClick', - value: function onClick(e) { - var trigger = e.delegateTarget || e.currentTarget; - - if (this.clipboardAction) { - this.clipboardAction = null; - } - - this.clipboardAction = new _clipboardAction2["default"]({ - action: this.action(trigger), - target: this.target(trigger), - text: this.text(trigger), - trigger: trigger, - emitter: this - }); - } - }, { - key: 'defaultAction', - value: function defaultAction(trigger) { - return getAttributeValue('action', trigger); - } - }, { - key: 'defaultTarget', - value: function defaultTarget(trigger) { - var selector = getAttributeValue('target', trigger); - - if (selector) { - return document.querySelector(selector); - } - } - }, { - key: 'defaultText', - value: function defaultText(trigger) { - return getAttributeValue('text', trigger); - } - }, { - key: 'destroy', - value: function destroy() { - this.listener.destroy(); - - if (this.clipboardAction) { - this.clipboardAction.destroy(); - this.clipboardAction = null; - } - } - }], [{ - key: 'isSupported', - value: function isSupported() { - var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut']; - - var actions = typeof action === 'string' ? [action] : action; - var support = !!document.queryCommandSupported; - - actions.forEach(function (action) { - support = support && !!document.queryCommandSupported(action); - }); - - return support; - } - }]); - - return Clipboard; - }(_tinyEmitter2["default"]); - - /** - * Helper function to retrieve attribute value. - * @param {String} suffix - * @param {Element} element - */ - function getAttributeValue(suffix, element) { - var attribute = 'data-clipboard-' + suffix; - - if (!element.hasAttribute(attribute)) { - return; - } - - return element.getAttribute(attribute); - } - - module.exports = Clipboard; - }); - - }, {"./clipboard-action": 7, "good-listener": 4, "tiny-emitter": 6}] - }, {}, [8])(8) - }); -} catch (e) { - /* - * zClip :: jQuery ZeroClipboard v1.1.1 - * http://steamdev.com/zclip - * - * Copyright 2011, SteamDev - * Released under the MIT license. - * http://www.opensource.org/licenses/mit-license.php - * - * Date: Wed Jun 01, 2011 - */ - - - (function ($) { - - $.fn.zclip = function (params) { - - if (typeof params == "object" && !params.length) { - - var settings = $.extend({ - - path: 'ZeroClipboard.swf', - copy: null, - beforeCopy: null, - afterCopy: null, - clickAfter: true, - setHandCursor: true, - setCSSEffects: true - - }, params); - - - return this.each(function () { - - var o = $(this); - - if (o.is(':visible') && (typeof settings.copy == 'string' || $.isFunction(settings.copy))) { - - ZeroClipboard.setMoviePath(settings.path); - var clip = new ZeroClipboard.Client(); - - if ($.isFunction(settings.copy)) { - o.bind('zClip_copy', settings.copy); - } - if ($.isFunction(settings.beforeCopy)) { - o.bind('zClip_beforeCopy', settings.beforeCopy); - } - if ($.isFunction(settings.afterCopy)) { - o.bind('zClip_afterCopy', settings.afterCopy); - } - - clip.setHandCursor(settings.setHandCursor); - clip.setCSSEffects(settings.setCSSEffects); - clip.addEventListener('mouseOver', function (client) { - o.trigger('mouseenter'); - }); - clip.addEventListener('mouseOut', function (client) { - o.trigger('mouseleave'); - }); - clip.addEventListener('mouseDown', function (client) { - - o.trigger('mousedown'); - - if (!$.isFunction(settings.copy)) { - clip.setText(settings.copy); - } else { - clip.setText(o.triggerHandler('zClip_copy')); - } - - if ($.isFunction(settings.beforeCopy)) { - o.trigger('zClip_beforeCopy'); - } - - }); - - clip.addEventListener('complete', function (client, text) { - - if ($.isFunction(settings.afterCopy)) { - - o.trigger('zClip_afterCopy'); - - } else { - if (text.length > 500) { - text = text.substr(0, 500) + "...\n\n(" + (text.length - 500) + " characters not shown)"; - } - - o.removeClass('hover'); - alert("Copied text to clipboard:\n\n " + text); - } - - if (settings.clickAfter) { - o.trigger('click'); - } - - }); - - - clip.glue(o[0], o.parent()[0]); - - $(window).bind('load resize', function () { - clip.reposition(); - }); - - - } - - }); - - } else if (typeof params == "string") { - - return this.each(function () { - - var o = $(this); - - params = params.toLowerCase(); - var zclipId = o.data('zclipId'); - var clipElm = $('#' + zclipId + '.zclip'); - - if (params == "remove") { - - clipElm.remove(); - o.removeClass('active hover'); - - } else if (params == "hide") { - - clipElm.hide(); - o.removeClass('active hover'); - - } else if (params == "show") { - - clipElm.show(); - - } - - }); - - } - - } - - - })(jQuery); - - -// ZeroClipboard -// Simple Set Clipboard System -// Author: Joseph Huckaby - var ZeroClipboard = { - - version: "1.0.7", - clients: {}, - // registered upload clients on page, indexed by id - moviePath: 'ZeroClipboard.swf', - // URL to movie - nextId: 1, - // ID of next movie - $: function (thingy) { - // simple DOM lookup utility function - if (typeof(thingy) == 'string') thingy = document.getElementById(thingy); - if (!thingy.addClass) { - // extend element with a few useful methods - thingy.hide = function () { - this.style.display = 'none'; - }; - thingy.show = function () { - this.style.display = ''; - }; - thingy.addClass = function (name) { - this.removeClass(name); - this.className += ' ' + name; - }; - thingy.removeClass = function (name) { - var classes = this.className.split(/\s+/); - var idx = -1; - for (var k = 0; k < classes.length; k++) { - if (classes[k] == name) { - idx = k; - k = classes.length; - } - } - if (idx > -1) { - classes.splice(idx, 1); - this.className = classes.join(' '); - } - return this; - }; - thingy.hasClass = function (name) { - return !!this.className.match(new RegExp("\\s*" + name + "\\s*")); - }; - } - return thingy; - }, - - setMoviePath: function (path) { - // set path to ZeroClipboard.swf - this.moviePath = path; - }, - - dispatch: function (id, eventName, args) { - // receive event from flash movie, send to client - var client = this.clients[id]; - if (client) { - client.receiveEvent(eventName, args); - } - }, - - register: function (id, client) { - // register new client to receive events - this.clients[id] = client; - }, - - getDOMObjectPosition: function (obj, stopObj) { - // get absolute coordinates for dom element - var info = { - left: 0, - top: 0, - width: obj.width ? obj.width : obj.offsetWidth, - height: obj.height ? obj.height : obj.offsetHeight - }; - - if (obj && (obj != stopObj)) { - info.left += obj.offsetLeft; - info.top += obj.offsetTop; - } - - return info; - }, - - Client: function (elem) { - // constructor for new simple upload client - this.handlers = {}; - - // unique ID - this.id = ZeroClipboard.nextId++; - this.movieId = 'ZeroClipboardMovie_' + this.id; - - // register client with singleton to receive flash events - ZeroClipboard.register(this.id, this); - - // create movie - if (elem) this.glue(elem); - } - }; - - ZeroClipboard.Client.prototype = { - - id: 0, - // unique ID for us - ready: false, - // whether movie is ready to receive events or not - movie: null, - // reference to movie object - clipText: '', - // text to copy to clipboard - handCursorEnabled: true, - // whether to show hand cursor, or default pointer cursor - cssEffects: true, - // enable CSS mouse effects on dom container - handlers: null, - // user event handlers - glue: function (elem, appendElem, stylesToAdd) { - // glue to DOM element - // elem can be ID or actual DOM element object - this.domElement = ZeroClipboard.$(elem); - - // float just above object, or zIndex 99 if dom element isn't set - var zIndex = 99; - if (this.domElement.style.zIndex) { - zIndex = parseInt(this.domElement.style.zIndex, 10) + 1; - } - - if (typeof(appendElem) == 'string') { - appendElem = ZeroClipboard.$(appendElem); - } else if (typeof(appendElem) == 'undefined') { - appendElem = document.getElementsByTagName('body')[0]; - } - - // find X/Y position of domElement - var box = ZeroClipboard.getDOMObjectPosition(this.domElement, appendElem); - - // create floating DIV above element - this.div = document.createElement('div'); - this.div.className = "zclip"; - this.div.id = "zclip-" + this.movieId; - $(this.domElement).data('zclipId', 'zclip-' + this.movieId); - var style = this.div.style; - style.position = 'absolute'; - style.left = '' + box.left + 'px'; - style.top = '' + box.top + 'px'; - style.width = '' + box.width + 'px'; - style.height = '' + box.height + 'px'; - style.zIndex = zIndex; - - if (typeof(stylesToAdd) == 'object') { - for (addedStyle in stylesToAdd) { - style[addedStyle] = stylesToAdd[addedStyle]; - } - } - - // style.backgroundColor = '#f00'; // debug - appendElem.appendChild(this.div); - - this.div.innerHTML = this.getHTML(box.width, box.height); - }, - - getHTML: function (width, height) { - // return HTML for movie - var html = ''; - var flashvars = 'id=' + this.id + '&width=' + width + '&height=' + height; - - if (navigator.userAgent.match(/MSIE/)) { - // IE gets an OBJECT tag - var protocol = location.href.match(/^https/i) ? 'https://' : 'http://'; - html += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="' + protocol + 'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="' + width + '" height="' + height + '" id="' + this.movieId + '" align="middle"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="movie" value="' + ZeroClipboard.moviePath + '" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><param name="flashvars" value="' + flashvars + '"/><param name="wmode" value="transparent"/></object>'; - } else { - // all other browsers get an EMBED tag - html += '<embed id="' + this.movieId + '" src="' + ZeroClipboard.moviePath + '" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="' + width + '" height="' + height + '" name="' + this.movieId + '" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="' + flashvars + '" wmode="transparent" />'; - } - return html; - }, - - hide: function () { - // temporarily hide floater offscreen - if (this.div) { - this.div.style.left = '-2000px'; - } - }, - - show: function () { - // show ourselves after a call to hide() - this.reposition(); - }, - - destroy: function () { - // destroy control and floater - if (this.domElement && this.div) { - this.hide(); - this.div.innerHTML = ''; - - var body = document.getElementsByTagName('body')[0]; - try { - body.removeChild(this.div); - } catch (e) { - ; - } - - this.domElement = null; - this.div = null; - } - }, - - reposition: function (elem) { - // reposition our floating div, optionally to new container - // warning: container CANNOT change size, only position - if (elem) { - this.domElement = ZeroClipboard.$(elem); - if (!this.domElement) this.hide(); - } - - if (this.domElement && this.div) { - var box = ZeroClipboard.getDOMObjectPosition(this.domElement); - var style = this.div.style; - style.left = '' + box.left + 'px'; - style.top = '' + box.top + 'px'; - } - }, - - setText: function (newText) { - // set text to be copied to clipboard - this.clipText = newText; - if (this.ready) { - this.movie.setText(newText); - } - }, - - addEventListener: function (eventName, func) { - // add user event listener for event - // event types: load, queueStart, fileStart, fileComplete, queueComplete, progress, error, cancel - eventName = eventName.toString().toLowerCase().replace(/^on/, ''); - if (!this.handlers[eventName]) { - this.handlers[eventName] = []; - } - this.handlers[eventName].push(func); - }, - - setHandCursor: function (enabled) { - // enable hand cursor (true), or default arrow cursor (false) - this.handCursorEnabled = enabled; - if (this.ready) { - this.movie.setHandCursor(enabled); - } - }, - - setCSSEffects: function (enabled) { - // enable or disable CSS effects on DOM container - this.cssEffects = !!enabled; - }, - - receiveEvent: function (eventName, args) { - // receive event from flash - eventName = eventName.toString().toLowerCase().replace(/^on/, ''); - - // special behavior for certain events - switch (eventName) { - case 'load': - // movie claims it is ready, but in IE this isn't always the case... - // bug fix: Cannot extend EMBED DOM elements in Firefox, must use traditional function - this.movie = document.getElementById(this.movieId); - if (!this.movie) { - var self = this; - setTimeout(function () { - self.receiveEvent('load', null); - }, 1); - return; - } - - // firefox on pc needs a "kick" in order to set these in certain cases - if (!this.ready && navigator.userAgent.match(/Firefox/) && navigator.userAgent.match(/Windows/)) { - var self = this; - setTimeout(function () { - self.receiveEvent('load', null); - }, 100); - this.ready = true; - return; - } - - this.ready = true; - try { - this.movie.setText(this.clipText); - } catch (e) { - } - try { - this.movie.setHandCursor(this.handCursorEnabled); - } catch (e) { - } - break; - - case 'mouseover': - if (this.domElement && this.cssEffects) { - this.domElement.addClass('hover'); - if (this.recoverActive) { - this.domElement.addClass('active'); - } - - - } - - - break; - - case 'mouseout': - if (this.domElement && this.cssEffects) { - this.recoverActive = false; - if (this.domElement.hasClass('active')) { - this.domElement.removeClass('active'); - this.recoverActive = true; - } - this.domElement.removeClass('hover'); - - } - break; - - case 'mousedown': - if (this.domElement && this.cssEffects) { - this.domElement.addClass('active'); - } - break; - - case 'mouseup': - if (this.domElement && this.cssEffects) { - this.domElement.removeClass('active'); - this.recoverActive = false; - } - break; - } // switch eventName - if (this.handlers[eventName]) { - for (var idx = 0, len = this.handlers[eventName].length; idx < len; idx++) { - var func = this.handlers[eventName][idx]; - - if (typeof(func) == 'function') { - // actual function reference - func(this, args); - } else if ((typeof(func) == 'object') && (func.length == 2)) { - // PHP style object + method, i.e. [myObject, 'myMethod'] - func[0][func[1]](this, args); - } else if (typeof(func) == 'string') { - // name of function - window[func](this, args); - } - } // foreach event handler defined - } // user defined handler for event - } - - }; -} \ No newline at end of file diff --git a/src/case/clipboard/index.js b/src/case/clipboard/index.js deleted file mode 100644 index 314cf2e5e0..0000000000 --- a/src/case/clipboard/index.js +++ /dev/null @@ -1,44 +0,0 @@ -/** - * 复制 - * Created by GUY on 2016/2/16. - * @class BI.ClipBoard - * @extends BI.BasicButton - */ -BI.ClipBoard = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.ClipBoard.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-clipboard", - copy: BI.emptyFn, - afterCopy: BI.emptyFn - }) - }, - - _init: function () { - BI.ClipBoard.superclass._init.apply(this, arguments); - }, - - mounted: function () { - var self = this, o = this.options; - if (window.Clipboard) { - this.clipboard = new Clipboard(this.element[0], { - text: function () { - return BI.isFunction(o.copy) ? o.copy() : o.copy; - } - }); - this.clipboard.on("success", o.afterCopy) - } else { - this.element.zclip({ - path: BI.resourceURL + "/ZeroClipboard.swf", - copy: o.copy, - beforeCopy: o.beforeCopy, - afterCopy: o.afterCopy - }); - } - }, - - destroyed: function () { - this.clipboard && this.clipboard.destroy(); - } -}); - -BI.shortcut("bi.clipboard", BI.ClipBoard); \ No newline at end of file diff --git a/src/case/colorchooser/colorchooser.custom.js b/src/case/colorchooser/colorchooser.custom.js deleted file mode 100644 index 807b89dc97..0000000000 --- a/src/case/colorchooser/colorchooser.custom.js +++ /dev/null @@ -1,70 +0,0 @@ -/** - * 自定义选色 - * - * Created by GUY on 2015/11/17. - * @class BI.CustomColorChooser - * @extends BI.Widget - */ -BI.CustomColorChooser = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.CustomColorChooser.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-custom-color-chooser", - width: 227, - height: 245 - }) - }, - - _init: function () { - BI.CustomColorChooser.superclass._init.apply(this, arguments); - var self = this; - this.editor = BI.createWidget({ - type: "bi.color_picker_editor", - width: 195 - }); - this.editor.on(BI.ColorPickerEditor.EVENT_CHANGE, function () { - self.setValue(this.getValue()); - }); - this.farbtastic = BI.createWidget({ - type: "bi.farbtastic" - }); - this.farbtastic.on(BI.Farbtastic.EVENT_CHANGE, function () { - self.setValue(this.getValue()); - }); - - BI.createWidget({ - type: "bi.vtape", - element: this, - items: [{ - type: "bi.absolute", - items: [{ - el: this.editor, - left: 15, - top: 10, - right: 15 - }], - height: 30 - }, { - type: "bi.absolute", - items: [{ - el: this.farbtastic, - left: 15, - right: 15, - top: 10 - }], - height: 215 - }] - }) - }, - - setValue: function (color) { - this.editor.setValue(color); - this.farbtastic.setValue(color); - }, - - getValue: function () { - return this.editor.getValue(); - } -}); -BI.CustomColorChooser.EVENT_CHANGE = "CustomColorChooser.EVENT_CHANGE"; -BI.shortcut("bi.custom_color_chooser", BI.CustomColorChooser); \ No newline at end of file diff --git a/src/case/colorchooser/colorchooser.js b/src/case/colorchooser/colorchooser.js deleted file mode 100644 index af97fa9547..0000000000 --- a/src/case/colorchooser/colorchooser.js +++ /dev/null @@ -1,82 +0,0 @@ -/** - * 选色控件 - * - * Created by GUY on 2015/11/17. - * @class BI.ColorChooser - * @extends BI.Widget - */ -BI.ColorChooser = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.ColorChooser.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-color-chooser", - el: {} - }) - }, - - _init: function () { - BI.ColorChooser.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.trigger = BI.createWidget(BI.extend({ - type: "bi.color_chooser_trigger", - width: o.width, - height: o.height - }, o.el)); - this.colorPicker = BI.createWidget({ - type: "bi.color_chooser_popup" - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 1, - el: this.trigger, - popup: { - el: this.colorPicker, - stopPropagation: false, - minWidth: 202 - } - }); - - var fn = function () { - var color = self.colorPicker.getValue(); - self.trigger.setValue(color); - var colors = BI.string2Array(BI.Cache.getItem("colors") || ""); - var que = new BI.Queue(8); - que.fromArray(colors); - que.remove(color); - que.unshift(color); - BI.Cache.setItem("colors", BI.array2String(que.toArray())); - }; - - this.colorPicker.on(BI.ColorChooserPopup.EVENT_VALUE_CHANGE, function () { - fn(); - }); - - this.colorPicker.on(BI.ColorChooserPopup.EVENT_CHANGE, function () { - fn(); - self.combo.hideView(); - }); - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - self.colorPicker.setStoreColors(BI.string2Array(BI.Cache.getItem("colors") || "")); - }); - - this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW, function () { - self.fireEvent(BI.ColorChooser.EVENT_CHANGE, arguments); - }) - }, - - isViewVisible: function () { - return this.combo.isViewVisible(); - }, - - setValue: function (color) { - this.combo.setValue(color); - }, - - getValue: function () { - return this.colorPicker.getValue(); - } -}); -BI.ColorChooser.EVENT_CHANGE = "ColorChooser.EVENT_CHANGE"; -BI.shortcut("bi.color_chooser", BI.ColorChooser); \ No newline at end of file diff --git a/src/case/colorchooser/colorchooser.popup.js b/src/case/colorchooser/colorchooser.popup.js deleted file mode 100644 index 3f3e6504ac..0000000000 --- a/src/case/colorchooser/colorchooser.popup.js +++ /dev/null @@ -1,195 +0,0 @@ -/** - * 选色控件 - * - * Created by GUY on 2015/11/17. - * @class BI.ColorChooserPopup - * @extends BI.Widget - */ -BI.ColorChooserPopup = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.ColorChooserPopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-color-chooser-popup", - width: 200, - height: 145 - }) - }, - - _init: function () { - BI.ColorChooserPopup.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.colorEditor = BI.createWidget({ - type: "bi.color_picker_editor" - }); - - this.colorEditor.on(BI.ColorPickerEditor.EVENT_CHANGE, function () { - self.setValue(this.getValue()); - self.fireEvent(BI.ColorChooserPopup.EVENT_VALUE_CHANGE, arguments); - }); - - this.storeColors = BI.createWidget({ - type: "bi.color_picker", - items: [[{ - value: "", - disabled: true - }, { - value: "", - disabled: true - }, { - value: "", - disabled: true - }, { - value: "", - disabled: true - }, { - value: "", - disabled: true - }, { - value: "", - disabled: true - }, { - value: "", - disabled: true - }, { - value: "", - disabled: true - }]], - width: 190, - height: 25 - }); - this.storeColors.on(BI.ColorPicker.EVENT_CHANGE, function () { - self.setValue(this.getValue()[0]); - self.fireEvent(BI.ColorChooserPopup.EVENT_CHANGE, arguments); - }); - - this.colorPicker = BI.createWidget({ - type: "bi.color_picker", - width: 190, - height: 50 - }); - - this.colorPicker.on(BI.ColorPicker.EVENT_CHANGE, function () { - self.setValue(this.getValue()[0]); - self.fireEvent(BI.ColorChooserPopup.EVENT_CHANGE, arguments); - }); - - this.customColorChooser = BI.createWidget({ - type: "bi.custom_color_chooser" - }); - - var panel = BI.createWidget({ - type: "bi.popup_panel", - buttons: [BI.i18nText("BI-Basic_Cancel"), BI.i18nText("BI-Basic_Save")], - title: BI.i18nText("BI-Custom_Color"), - el: this.customColorChooser, - stopPropagation: false, - bgap: -1, - rgap: 1, - lgap: 1, - minWidth: 227 - }); - - this.more = BI.createWidget({ - type: "bi.combo", - direction: "right,top", - isNeedAdjustHeight: false, - el: { - type: "bi.text_item", - cls: "color-chooser-popup-more bi-list-item", - textAlign: "center", - height: 20, - text: BI.i18nText("BI-Basic_More") + "..." - }, - popup: panel - }); - - this.more.on(BI.Combo.EVENT_AFTER_POPUPVIEW, function () { - self.customColorChooser.setValue(self.getValue()); - }); - panel.on(BI.PopupPanel.EVENT_CLICK_TOOLBAR_BUTTON, function (index) { - switch (index) { - case 0: - self.more.hideView(); - break; - case 1: - self.setValue(self.customColorChooser.getValue()); - self.more.hideView(); - self.fireEvent(BI.ColorChooserPopup.EVENT_CHANGE, arguments); - break; - } - }); - - BI.createWidget({ - type: "bi.vtape", - element: this, - items: [{ - el: { - type: "bi.absolute", - cls: "bi-background bi-border-bottom", - items: [{ - el: this.colorEditor, - left: 0, - right: 0, - top: 5 - }] - }, - height: 30 - }, { - el: { - type: "bi.absolute", - items: [{ - el: this.storeColors, - left: 5, - right: 5, - top: 5 - }] - }, - height: 30 - }, { - el: { - type: "bi.absolute", - items: [{ - el: this.colorPicker, - left: 5, - right: 5, - top: 5 - }] - }, - height: 65 - }, { - el: this.more, - height: 20 - }] - }) - }, - - setStoreColors: function (colors) { - if (BI.isArray(colors)) { - var items = BI.map(colors, function (i, color) { - return { - value: color - } - }); - BI.count(colors.length, 8, function (i) { - items.push({ - value: "", - disabled: true - }) - }); - this.storeColors.populate([items]); - } - }, - - setValue: function (color) { - this.colorEditor.setValue(color); - this.colorPicker.setValue(color); - this.storeColors.setValue(color); - }, - - getValue: function () { - return this.colorEditor.getValue(); - } -}); -BI.ColorChooserPopup.EVENT_VALUE_CHANGE = "ColorChooserPopup.EVENT_VALUE_CHANGE"; -BI.ColorChooserPopup.EVENT_CHANGE = "ColorChooserPopup.EVENT_CHANGE"; -BI.shortcut("bi.color_chooser_popup", BI.ColorChooserPopup); \ No newline at end of file diff --git a/src/case/colorchooser/colorchooser.trigger.js b/src/case/colorchooser/colorchooser.trigger.js deleted file mode 100644 index 55213bc7f6..0000000000 --- a/src/case/colorchooser/colorchooser.trigger.js +++ /dev/null @@ -1,65 +0,0 @@ -/** - * 选色控件 - * - * Created by GUY on 2015/11/17. - * @class BI.ColorChooserTrigger - * @extends BI.Trigger - */ -BI.ColorChooserTrigger = BI.inherit(BI.Trigger, { - - _defaultConfig: function () { - var conf = BI.ColorChooserTrigger.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-color-chooser-trigger", - height: 30 - }) - }, - - _init: function () { - BI.ColorChooserTrigger.superclass._init.apply(this, arguments); - this.colorContainer = BI.createWidget({ - type: "bi.layout", - cls: "bi-card color-chooser-trigger-content" - }); - - var down = BI.createWidget({ - type: "bi.icon_button", - disableSelected: true, - cls: "icon-combo-down-icon trigger-triangle-font", - width: 12, - height: 8 - }); - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.colorContainer, - left: 3, - right: 3, - top: 3, - bottom: 3 - }, { - el: down, - right: 3, - bottom: 3 - }] - }); - if (this.options.value) { - this.setValue(this.options.value); - } - }, - - setValue: function (color) { - BI.ColorChooserTrigger.superclass.setValue.apply(this, arguments); - if (color === "") { - this.colorContainer.element.css("background-color", "").removeClass("trans-color-background").addClass("auto-color-background"); - } else if (color === "transparent") { - this.colorContainer.element.css("background-color", "").removeClass("auto-color-background").addClass("trans-color-background") - } else { - this.colorContainer.element.css({"background-color": color}).removeClass("auto-color-background").removeClass("trans-color-background"); - } - } -}); -BI.ColorChooserTrigger.EVENT_CHANGE = "ColorChooserTrigger.EVENT_CHANGE"; -BI.shortcut("bi.color_chooser_trigger", BI.ColorChooserTrigger); \ No newline at end of file diff --git a/src/case/colorchooser/colorpicker/button/button.colorpicker.js b/src/case/colorchooser/colorpicker/button/button.colorpicker.js deleted file mode 100644 index 047d750c7b..0000000000 --- a/src/case/colorchooser/colorpicker/button/button.colorpicker.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * 简单选色控件按钮 - * - * Created by GUY on 2015/11/16. - * @class BI.ColorPickerButton - * @extends BI.BasicButton - */ -BI.ColorPickerButton = BI.inherit(BI.BasicButton, { - - _defaultConfig: function () { - var conf = BI.ColorPickerButton.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-color-picker-button bi-background bi-border-top bi-border-left" - }) - }, - - _init: function () { - BI.ColorPickerButton.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (o.value) { - this.element.css("background-color", o.value); - var name = this.getName(); - this.element.hover(function () { - self._createMask(); - if (self.isEnabled()) { - BI.Maskers.show(name); - } - }, function () { - if (!self.isSelected()) { - BI.Maskers.hide(name); - } - }); - } - }, - - _createMask: function () { - var o = this.options, name = this.getName(); - if (this.isEnabled() && !BI.Maskers.has(name)) { - var w = BI.Maskers.make(name, this, { - offset: { - left: -1, - top: -1, - right: -1, - bottom: -1 - } - }); - w.element.addClass("color-picker-button-mask").css("background-color", o.value); - } - }, - - setSelected: function (b) { - BI.ColorPickerButton.superclass.setSelected.apply(this, arguments); - if (!!b) { - this._createMask(); - } - BI.Maskers[!!b ? "show" : "hide"](this.getName()); - } -}); -BI.ColorPickerButton.EVENT_CHANGE = "ColorPickerButton.EVENT_CHANGE"; -BI.shortcut("bi.color_picker_button", BI.ColorPickerButton); \ No newline at end of file diff --git a/src/case/colorchooser/colorpicker/colorpicker.js b/src/case/colorchooser/colorpicker/colorpicker.js deleted file mode 100644 index 1469ed3ac4..0000000000 --- a/src/case/colorchooser/colorpicker/colorpicker.js +++ /dev/null @@ -1,189 +0,0 @@ -/** - * 简单选色控件 - * - * Created by GUY on 2015/11/16. - * @class BI.ColorPicker - * @extends BI.Widget - */ -BI.ColorPicker = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.ColorPicker.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-color-picker", - items: null - }) - }, - - _items: [ - [{ - value: "#ffffff" - }, { - value: "#f2f2f2" - }, { - value: "#e5e5e5" - }, { - value: "#d9d9d9" - }, { - value: "#cccccc" - }, { - value: "#bfbfbf" - }, { - value: "#b2b2b2" - }, { - value: "#a6a6a6" - }, { - value: "#999999" - }, { - value: "#8c8c8c" - }, { - value: "#808080" - }, { - value: "#737373" - }, { - value: "#666666" - }, { - value: "#4d4d4d" - }, { - value: "#333333" - }, { - value: "#000000" - }], - [{ - value: "#d8b5a6" - }, { - value: "#ff9e9a" - }, { - value: "#ffc17d" - }, { - value: "#f5e56b" - }, { - value: "#d8e698" - }, { - value: "#e0ebaf" - }, { - value: "#c3d825" - }, { - value: "#bce2e8" - }, { - value: "#85d3cd" - }, { - value: "#bce2e8" - }, { - value: "#a0d8ef" - }, { - value: "#89c3eb" - }, { - value: "#bbc8e6" - }, { - value: "#bbbcde" - }, { - value: "#d6b4cc" - }, { - value: "#fbc0d3" - }], - [{ - value: "#bb9581" - }, { - value: "#f37d79" - }, { - value: "#fba74f" - }, { - value: "#ffdb4f" - }, { - value: "#c7dc68" - }, { - value: "#b0ca71" - }, { - value: "#99ab4e" - }, { - value: "#84b9cb" - }, { - value: "#00a3af" - }, { - value: "#2ca9e1" - }, { - value: "#0095d9" - }, { - value: "#4c6cb3" - }, { - value: "#8491c3" - }, { - value: "#a59aca" - }, { - value: "#cc7eb1" - }, { - value: "#e89bb4" - }], - [{ - value: "#9d775f" - }, { - value: "#dd4b4b" - }, { - value: "#ef8b07" - }, { - value: "#fcc800" - }, { - value: "#aacf53" - }, { - value: "#82ae46" - }, { - value: "#69821b" - }, { - value: "#59b9c6" - }, { - value: "#2a83a2" - }, { - value: "#007bbb" - }, { - value: "#19448e" - }, { - value: "#274a78" - }, { - value: "#4a488e" - }, { - value: "#7058a3" - }, { - value: "#884898" - }, { - value: "#d47596" - }] - ], - - _init: function () { - BI.ColorPicker.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.colors = BI.createWidget({ - type: "bi.button_group", - element: this, - items: BI.createItems(o.items || this._items, { - type: "bi.color_picker_button", - once: false - }), - layouts: [{ - type: "bi.grid" - }] - }); - this.colors.on(BI.ButtonGroup.EVENT_CHANGE, function () { - self.fireEvent(BI.ColorPicker.EVENT_CHANGE, arguments); - }) - }, - - populate: function(items){ - var args =[].slice.call(arguments); - args[0] = BI.createItems(items, { - type: "bi.color_picker_button", - once: false - }); - this.colors.populate.apply(this.colors, args); - }, - - setValue: function (color) { - this.colors.setValue(color); - }, - - getValue: function () { - return this.colors.getValue(); - } -}); -BI.ColorPicker.EVENT_CHANGE = "ColorPicker.EVENT_CHANGE"; -BI.shortcut("bi.color_picker", BI.ColorPicker); \ No newline at end of file diff --git a/src/case/colorchooser/colorpicker/editor.colorpicker.js b/src/case/colorchooser/colorpicker/editor.colorpicker.js deleted file mode 100644 index adca241d63..0000000000 --- a/src/case/colorchooser/colorpicker/editor.colorpicker.js +++ /dev/null @@ -1,170 +0,0 @@ -/** - * 简单选色控件 - * - * Created by GUY on 2015/11/16. - * @class BI.ColorPickerEditor - * @extends BI.Widget - */ -BI.ColorPickerEditor = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.ColorPickerEditor.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-color-picker-editor", - width: 200, - height: 20 - }) - }, - - _init: function () { - BI.ColorPickerEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.colorShow = BI.createWidget({ - type: "bi.layout", - cls: "color-picker-editor-display bi-card", - height: 20 - }); - var RGB = BI.createWidgets(BI.createItems([{text: "R"}, {text: "G"}, {text: "B"}], { - type: "bi.label", - cls: "color-picker-editor-label", - width: 10, - height: 20 - })); - - var checker = function (v) { - return BI.isNumeric(v) && (v | 0) >= 0 && (v | 0) <= 255; - }; - var Ws = BI.createWidgets([{}, {}, {}], { - type: "bi.small_text_editor", - cls: "color-picker-editor-input", - validationChecker: checker, - errorText: BI.i18nText("BI-Color_Picker_Error_Text"), - allowBlank: true, - value: 255, - width: 32, - height: 20 - }); - BI.each(Ws, function (i, w) { - w.on(BI.TextEditor.EVENT_CHANGE, function () { - if (self.R.isValid() && self.G.isValid() && self.B.isValid()) { - self.colorShow.element.css("background-color", self.getValue()); - self.fireEvent(BI.ColorPickerEditor.EVENT_CHANGE); - } - }); - }); - this.R = Ws[0]; - this.G = Ws[1]; - this.B = Ws[2]; - - this.none = BI.createWidget({ - type: "bi.checkbox", - title: BI.i18nText("BI-Basic_Auto") - }); - this.none.on(BI.Checkbox.EVENT_CHANGE, function () { - if (this.isSelected()) { - self.lastColor = self.getValue(); - self.setValue(""); - } else { - self.setValue(self.lastColor || "#000000"); - } - if (self.R.isValid() && self.G.isValid() && self.B.isValid()) { - self.colorShow.element.css("background-color", self.getValue()); - self.fireEvent(BI.ColorPickerEditor.EVENT_CHANGE); - } - }); - - this.transparent = BI.createWidget({ - type: "bi.checkbox", - title: BI.i18nText("BI-Transparent_Color") - }); - this.transparent.on(BI.Checkbox.EVENT_CHANGE, function () { - if (this.isSelected()) { - self.lastColor = self.getValue(); - self.setValue("transparent"); - } else { - self.setValue(self.lastColor || "#000000"); - } - if (self.R.isValid() && self.G.isValid() && self.B.isValid()) { - self.colorShow.element.css("background-color", self.getValue()); - self.fireEvent(BI.ColorPickerEditor.EVENT_CHANGE); - } - }); - - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - el: this.colorShow, - width: 'fill' - }, { - el: RGB[0], - lgap: 10, - width: 16 - }, { - el: this.R, - width: 32 - }, { - el: RGB[1], - lgap: 10, - width: 16 - }, { - el: this.G, - width: 32 - }, { - el: RGB[2], - lgap: 10, - width: 16 - }, { - el: this.B, - width: 32 - }, { - el: { - type: "bi.center_adapt", - items: [this.none] - }, - width: 18 - }, { - el: { - type: "bi.center_adapt", - items: [this.transparent] - }, - width: 18 - }] - }) - }, - - setValue: function (color) { - if (color === "transparent") { - this.transparent.setSelected(true); - this.none.setSelected(false); - this.R.setValue(""); - this.G.setValue(""); - this.B.setValue(""); - return; - } - if (!color) { - color = ""; - this.none.setSelected(true); - } else { - this.none.setSelected(false); - } - this.transparent.setSelected(false); - this.colorShow.element.css("background-color", color); - var json = BI.DOM.rgb2json(BI.DOM.hex2rgb(color)); - this.R.setValue(BI.isNull(json.r) ? "" : json.r); - this.G.setValue(BI.isNull(json.g) ? "" : json.g); - this.B.setValue(BI.isNull(json.b) ? "" : json.b); - }, - - getValue: function () { - if (this.transparent.isSelected()) { - return "transparent"; - } - return BI.DOM.rgb2hex(BI.DOM.json2rgb({ - r: this.R.getValue(), - g: this.G.getValue(), - b: this.B.getValue() - })) - } -}); -BI.ColorPickerEditor.EVENT_CHANGE = "ColorPickerEditor.EVENT_CHANGE"; -BI.shortcut("bi.color_picker_editor", BI.ColorPickerEditor); \ No newline at end of file diff --git a/src/case/colorchooser/farbtastic/farbtastic.js b/src/case/colorchooser/farbtastic/farbtastic.js deleted file mode 100644 index 347a041882..0000000000 --- a/src/case/colorchooser/farbtastic/farbtastic.js +++ /dev/null @@ -1,38 +0,0 @@ -/** - * 选色控件 - * - * Created by GUY on 2015/11/16. - * @class BI.Farbtastic - * @extends BI.Widget - */ -BI.Farbtastic = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.Farbtastic.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-farbtastic", - width: 195, - height: 195 - }) - }, - - _init: function () { - BI.Farbtastic.superclass._init.apply(this, arguments); - }, - - mounted: function () { - var self = this; - this.farbtastic = $.farbtastic(this.element, function (v) { - self.fireEvent(BI.Farbtastic.EVENT_CHANGE, self.getValue(), self); - }); - }, - - setValue: function (color) { - this.farbtastic.setColor(color); - }, - - getValue: function () { - return this.farbtastic.color; - } -}); -BI.Farbtastic.EVENT_CHANGE = "Farbtastic.EVENT_CHANGE"; -BI.shortcut("bi.farbtastic", BI.Farbtastic); \ No newline at end of file diff --git a/src/case/colorchooser/farbtastic/jquery.farbtastic.js b/src/case/colorchooser/farbtastic/jquery.farbtastic.js deleted file mode 100644 index c523cfa00f..0000000000 --- a/src/case/colorchooser/farbtastic/jquery.farbtastic.js +++ /dev/null @@ -1,345 +0,0 @@ -/** - * Farbtastic Color Picker 1.2 - * © 2008 Steven Wittens - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -jQuery.fn.farbtastic = function (callback) { - $.farbtastic(this, callback); - return this; -}; - -jQuery.farbtastic = function (container, callback) { - var container = $(container).get(0); - return container.farbtastic || (container.farbtastic = new jQuery._farbtastic(container, callback)); -} - -jQuery._farbtastic = function (container, callback) { - // Store farbtastic object - var fb = this; - - // Insert markup - $(container).html('<div class="farbtastic"><div class="color"></div><div class="wheel"></div><div class="overlay"></div><div class="h-marker marker"></div><div class="sl-marker marker"></div></div>'); - var e = $('.farbtastic', container); - fb.wheel = $('.wheel', container).get(0); - // Dimensions - fb.radius = 84; - fb.square = 100; - fb.width = 194; - - // Fix background PNGs in IE6 - if (navigator.appVersion.match(/MSIE [0-6]\./)) { - $('*', e).each(function () { - if (this.currentStyle.backgroundImage != 'none') { - var image = this.currentStyle.backgroundImage; - image = this.currentStyle.backgroundImage.substring(5, image.length - 2); - $(this).css({ - 'backgroundImage': 'none', - 'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='" + image + "')" - }); - } - }); - } - - /** - * Link to the given element(s) or callback. - */ - fb.linkTo = function (callback) { - // Unbind previous nodes - if (typeof fb.callback == 'object') { - $(fb.callback).unbind('keyup', fb.updateValue); - } - - // Reset color - fb.color = null; - - // Bind callback or elements - if (typeof callback == 'function') { - fb.callback = callback; - } - else if (typeof callback == 'object' || typeof callback == 'string') { - fb.callback = $(callback); - fb.callback.bind('keyup', fb.updateValue); - if (fb.callback.get(0).value) { - fb.setColor(fb.callback.get(0).value); - } - } - return this; - } - fb.updateValue = function (event) { - if (this.value && this.value != fb.color) { - fb.setColor(this.value); - } - } - - /** - * Change color with HTML syntax #123456 - */ - fb.setColor = function (color) { - var unpack = fb.unpack(color); - if (fb.color != color && unpack) { - fb.color = color; - fb.rgb = unpack; - fb.hsl = fb.RGBToHSL(fb.rgb); - fb.updateDisplay(); - } - return this; - } - - /** - * Change color with HSL triplet [0..1, 0..1, 0..1] - */ - fb.setHSL = function (hsl) { - fb.hsl = hsl; - fb.rgb = fb.HSLToRGB(hsl); - fb.color = fb.pack(fb.rgb); - fb.updateDisplay(); - return this; - } - - ///////////////////////////////////////////////////// - - /** - * Retrieve the coordinates of the given event relative to the center - * of the widget. - */ - fb.widgetCoords = function (event) { - var x, y; - var el = event.target || event.srcElement; - var reference = fb.wheel; - - if (typeof event.offsetX != 'undefined') { - // Use offset coordinates and find common offsetParent - var pos = { x: event.offsetX, y: event.offsetY }; - - // Send the coordinates upwards through the offsetParent chain. - var e = el; - while (e) { - e.mouseX = pos.x; - e.mouseY = pos.y; - pos.x += e.offsetLeft; - pos.y += e.offsetTop; - e = e.offsetParent; - } - - // Look for the coordinates starting from the wheel widget. - var e = reference; - var offset = { x: 0, y: 0 } - while (e) { - if (typeof e.mouseX != 'undefined') { - x = e.mouseX - offset.x; - y = e.mouseY - offset.y; - break; - } - offset.x += e.offsetLeft; - offset.y += e.offsetTop; - e = e.offsetParent; - } - - // Reset stored coordinates - e = el; - while (e) { - e.mouseX = undefined; - e.mouseY = undefined; - e = e.offsetParent; - } - } - else { - // Use absolute coordinates - var pos = fb.absolutePosition(reference); - x = (event.pageX || 0*(event.clientX + $('html').get(0).scrollLeft)) - pos.x; - y = (event.pageY || 0*(event.clientY + $('html').get(0).scrollTop)) - pos.y; - } - // Subtract distance to middle - return { x: x - fb.width / 2, y: y - fb.width / 2 }; - } - - /** - * Mousedown handler - */ - fb.click = function (event) { - // Capture mouse - // if (!document.dragging) { - // $(document).bind('mousemove', fb.mousemove).bind('mouseup', fb.mouseup); - // document.dragging = true; - // } - - // Check which area is being dragged - var pos = fb.widgetCoords(event); - fb.circleDrag = Math.max(Math.abs(pos.x), Math.abs(pos.y)) * 2 > fb.square; - - // Process - fb.mousemove(event); - return false; - } - - /** - * Mousemove handler - */ - fb.mousemove = function (event) { - // Get coordinates relative to color picker center - var pos = fb.widgetCoords(event); - - // Set new HSL parameters - if (fb.circleDrag) { - var hue = Math.atan2(pos.x, -pos.y) / 6.28; - if (hue < 0) hue += 1; - fb.setHSL([hue, fb.hsl[1], fb.hsl[2]]); - } - else { - var sat = Math.max(0, Math.min(1, -(pos.x / fb.square) + .5)); - var lum = Math.max(0, Math.min(1, -(pos.y / fb.square) + .5)); - fb.setHSL([fb.hsl[0], sat, lum]); - } - return false; - } - - /** - * Mouseup handler - */ - // fb.mouseup = function () { - // // Uncapture mouse - // $(document).unbind('mousemove', fb.mousemove); - // $(document).unbind('mouseup', fb.mouseup); - // document.dragging = false; - // } - - /** - * Update the markers and styles - */ - fb.updateDisplay = function () { - // Markers - var angle = fb.hsl[0] * 6.28; - $('.h-marker', e).css({ - left: Math.round(Math.sin(angle) * fb.radius + fb.width / 2) + 'px', - top: Math.round(-Math.cos(angle) * fb.radius + fb.width / 2) + 'px' - }); - - $('.sl-marker', e).css({ - left: Math.round(fb.square * (.5 - fb.hsl[1]) + fb.width / 2) + 'px', - top: Math.round(fb.square * (.5 - fb.hsl[2]) + fb.width / 2) + 'px' - }); - - // Saturation/Luminance gradient - $('.color', e).css('backgroundColor', fb.pack(fb.HSLToRGB([fb.hsl[0], 1, 0.5]))); - - // Linked elements or callback - if (typeof fb.callback == 'object') { - // Set background/foreground color - $(fb.callback).css({ - backgroundColor: fb.color, - color: fb.hsl[2] > 0.5 ? '#000' : '#fff' - }); - - // Change linked value - $(fb.callback).each(function() { - if (this.value && this.value != fb.color) { - this.value = fb.color; - } - }); - } - else if (typeof fb.callback == 'function') { - fb.callback.call(fb, fb.color); - } - } - - /** - * Get absolute position of element - */ - fb.absolutePosition = function (el) { - var r = { x: el.offsetLeft, y: el.offsetTop }; - // Resolve relative to offsetParent - if (el.offsetParent) { - var tmp = fb.absolutePosition(el.offsetParent); - r.x += tmp.x; - r.y += tmp.y; - } - return r; - }; - - /* Various color utility functions */ - fb.pack = function (rgb) { - var r = Math.round(rgb[0] * 255); - var g = Math.round(rgb[1] * 255); - var b = Math.round(rgb[2] * 255); - return '#' + (r < 16 ? '0' : '') + r.toString(16) + - (g < 16 ? '0' : '') + g.toString(16) + - (b < 16 ? '0' : '') + b.toString(16); - } - - fb.unpack = function (color) { - if (color.length == 7) { - return [parseInt('0x' + color.substring(1, 3)) / 255, - parseInt('0x' + color.substring(3, 5)) / 255, - parseInt('0x' + color.substring(5, 7)) / 255]; - } - else if (color.length == 4) { - return [parseInt('0x' + color.substring(1, 2)) / 15, - parseInt('0x' + color.substring(2, 3)) / 15, - parseInt('0x' + color.substring(3, 4)) / 15]; - } - } - - fb.HSLToRGB = function (hsl) { - var m1, m2, r, g, b; - var h = hsl[0], s = hsl[1], l = hsl[2]; - m2 = (l <= 0.5) ? l * (s + 1) : l + s - l*s; - m1 = l * 2 - m2; - return [this.hueToRGB(m1, m2, h+0.33333), - this.hueToRGB(m1, m2, h), - this.hueToRGB(m1, m2, h-0.33333)]; - } - - fb.hueToRGB = function (m1, m2, h) { - h = (h < 0) ? h + 1 : ((h > 1) ? h - 1 : h); - if (h * 6 < 1) return m1 + (m2 - m1) * h * 6; - if (h * 2 < 1) return m2; - if (h * 3 < 2) return m1 + (m2 - m1) * (0.66666 - h) * 6; - return m1; - } - - fb.RGBToHSL = function (rgb) { - var min, max, delta, h, s, l; - var r = rgb[0], g = rgb[1], b = rgb[2]; - min = Math.min(r, Math.min(g, b)); - max = Math.max(r, Math.max(g, b)); - delta = max - min; - l = (min + max) / 2; - s = 0; - if (l > 0 && l < 1) { - s = delta / (l < 0.5 ? (2 * l) : (2 - 2 * l)); - } - h = 0; - if (delta > 0) { - if (max == r && max != g) h += (g - b) / delta; - if (max == g && max != b) h += (2 + (b - r) / delta); - if (max == b && max != r) h += (4 + (r - g) / delta); - h /= 6; - } - return [h, s, l]; - } - - // Install mousedown handler (the others are set on the document on-demand) - $('*', e).click(fb.click); - - // Init color - fb.setColor('#000000'); - - // Set linked elements/callback - if (callback) { - fb.linkTo(callback); - } -} \ No newline at end of file diff --git a/src/case/combo/bubblecombo/combo.bubble.js b/src/case/combo/bubblecombo/combo.bubble.js deleted file mode 100644 index 2e73757e80..0000000000 --- a/src/case/combo/bubblecombo/combo.bubble.js +++ /dev/null @@ -1,222 +0,0 @@ -/** - * Created by GUY on 2017/2/8. - * - * @class BI.BubbleCombo - * @extends BI.Widget - */ -BI.BubbleCombo = BI.inherit(BI.Widget, { - _const: { - TRIANGLE_LENGTH: 6 - }, - _defaultConfig: function () { - return BI.extend(BI.BubbleCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-bubble-combo", - trigger: "click", - toggle: true, - direction: "bottom", //top||bottom||left||right||top,left||top,right||bottom,left||bottom,right - isDefaultInit: false, - destroyWhenHide: false, - isNeedAdjustHeight: true,//是否需要高度调整 - isNeedAdjustWidth: true, - stopPropagation: false, - adjustLength: 0,//调整的距离 - // adjustXOffset: 0, - // adjustYOffset: 10, - hideChecker: BI.emptyFn, - offsetStyle: "left", //left,right,center - el: {}, - popup: {}, - }) - }, - _init: function () { - BI.BubbleCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - trigger: o.trigger, - toggle: o.toggle, - direction: o.direction, - isDefaultInit: o.isDefaultInit, - destroyWhenHide: o.destroyWhenHide, - isNeedAdjustHeight: o.isNeedAdjustHeight, - isNeedAdjustWidth: o.isNeedAdjustWidth, - adjustLength: this._getAdjustLength(), - stopPropagation: o.stopPropagation, - adjustXOffset: 0, - adjustYOffset: 0, - hideChecker: o.hideChecker, - offsetStyle: o.offsetStyle, - el: o.el, - popup: BI.extend({ - type: "bi.bubble_popup_view" - }, o.popup), - }); - this.combo.on(BI.Combo.EVENT_TRIGGER_CHANGE, function () { - self.fireEvent(BI.BubbleCombo.EVENT_TRIGGER_CHANGE, arguments); - }); - this.combo.on(BI.Combo.EVENT_CHANGE, function () { - self.fireEvent(BI.BubbleCombo.EVENT_CHANGE, arguments); - }); - this.combo.on(BI.Combo.EVENT_EXPAND, function () { - self.fireEvent(BI.BubbleCombo.EVENT_EXPAND, arguments); - }); - this.combo.on(BI.Combo.EVENT_COLLAPSE, function () { - self.fireEvent(BI.BubbleCombo.EVENT_COLLAPSE, arguments); - }); - this.combo.on(BI.Combo.EVENT_AFTER_INIT, function () { - self.fireEvent(BI.BubbleCombo.EVENT_AFTER_INIT, arguments); - }); - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.BubbleCombo.EVENT_BEFORE_POPUPVIEW, arguments); - }); - this.combo.on(BI.Combo.EVENT_AFTER_POPUPVIEW, function () { - self._showTriangle(); - self.fireEvent(BI.BubbleCombo.EVENT_AFTER_POPUPVIEW, arguments); - }); - this.combo.on(BI.Combo.EVENT_BEFORE_HIDEVIEW, function () { - self._hideTriangle(); - self.fireEvent(BI.BubbleCombo.EVENT_BEFORE_HIDEVIEW, arguments); - }); - this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW, function () { - self.fireEvent(BI.BubbleCombo.EVENT_AFTER_HIDEVIEW, arguments); - }); - }, - - _getAdjustLength: function () { - return this._const.TRIANGLE_LENGTH + this.options.adjustLength; - }, - - _createTriangle: function (direction) { - var pos = {}, op = {}; - var adjustLength = this.options.adjustLength; - var offset = this.element.offset(); - var left = offset.left, right = offset.left + this.element.outerWidth(); - var top = offset.top, bottom = offset.top + this.element.outerHeight(); - switch (direction) { - case "left": - pos = { - top: top, - height: this.element.outerHeight(), - left: left - adjustLength - this._const.TRIANGLE_LENGTH - }; - op = {width: this._const.TRIANGLE_LENGTH}; - break; - case "right": - pos = { - top: top, - height: this.element.outerHeight(), - left: right + adjustLength - }; - op = {width: this._const.TRIANGLE_LENGTH}; - break; - case "top": - pos = { - left: left, - width: this.element.outerWidth(), - top: top - adjustLength - this._const.TRIANGLE_LENGTH - }; - op = {height: this._const.TRIANGLE_LENGTH}; - break; - case "bottom": - pos = { - left: left, - width: this.element.outerWidth(), - top: bottom + adjustLength - }; - op = {height: this._const.TRIANGLE_LENGTH}; - break; - default: - break; - } - this.triangle && this.triangle.destroy(); - this.triangle = BI.createWidget(op, { - type: "bi.center_adapt", - cls: "button-combo-triangle-wrapper", - items: [{ - type: "bi.layout", - cls: "bubble-combo-triangle-" + direction + " bi-high-light-border" - }] - }); - pos.el = this.triangle; - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [pos] - }) - }, - - _createLeftTriangle: function () { - this._createTriangle("left"); - }, - - _createRightTriangle: function () { - this._createTriangle("right"); - }, - - _createTopTriangle: function () { - this._createTriangle("top"); - }, - - _createBottomTriangle: function () { - this._createTriangle("bottom"); - }, - - _showTriangle: function () { - var pos = this.combo.getPopupPosition(); - switch (pos.dir) { - case "left,top": - case "left,bottom": - this._createLeftTriangle(); - this.combo.getView().showLine("right"); - break; - case "right,top": - case "right,bottom": - this._createRightTriangle(); - this.combo.getView().showLine("left"); - break; - case "top,left": - case "top,right": - this._createTopTriangle(); - this.combo.getView().showLine("bottom"); - break; - case "bottom,left": - case "bottom,right": - this._createBottomTriangle(); - this.combo.getView().showLine("top"); - break; - } - }, - - _hideTriangle: function () { - this.triangle && this.triangle.destroy(); - this.triangle = null; - this.combo.getView() && this.combo.getView().hideLine(); - }, - - hideView: function () { - this._hideTriangle(); - this.combo && this.combo.hideView(); - }, - - showView: function () { - this.combo && this.combo.showView(); - }, - - isViewVisible: function () { - return this.combo.isViewVisible(); - } -}); - -BI.BubbleCombo.EVENT_TRIGGER_CHANGE = "EVENT_TRIGGER_CHANGE"; -BI.BubbleCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.BubbleCombo.EVENT_EXPAND = "EVENT_EXPAND"; -BI.BubbleCombo.EVENT_COLLAPSE = "EVENT_COLLAPSE"; -BI.BubbleCombo.EVENT_AFTER_INIT = "EVENT_AFTER_INIT"; - - -BI.BubbleCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.BubbleCombo.EVENT_AFTER_POPUPVIEW = "EVENT_AFTER_POPUPVIEW"; -BI.BubbleCombo.EVENT_BEFORE_HIDEVIEW = "EVENT_BEFORE_HIDEVIEW"; -BI.BubbleCombo.EVENT_AFTER_HIDEVIEW = "EVENT_AFTER_HIDEVIEW"; -BI.shortcut("bi.bubble_combo", BI.BubbleCombo); \ No newline at end of file diff --git a/src/case/combo/bubblecombo/popup.bubble.js b/src/case/combo/bubblecombo/popup.bubble.js deleted file mode 100644 index 5ab6352ba3..0000000000 --- a/src/case/combo/bubblecombo/popup.bubble.js +++ /dev/null @@ -1,118 +0,0 @@ -/** - * Created by GUY on 2017/2/8. - * - * @class BI.BubblePopupView - * @extends BI.PopupView - */ -BI.BubblePopupView = BI.inherit(BI.PopupView, { - _defaultConfig: function () { - var config = BI.BubblePopupView.superclass._defaultConfig.apply(this, arguments); - return BI.extend(config, { - baseCls: config.baseCls + " bi-bubble-popup-view" - }) - }, - _init: function () { - BI.BubblePopupView.superclass._init.apply(this, arguments); - }, - - showLine: function (direction) { - var pos = {}, op = {}; - switch (direction) { - case "left": - pos = { - top: 0, - bottom: 0, - left: -1 - }; - op = {width: 3}; - break; - case "right": - pos = { - top: 0, - bottom: 0, - right: -1 - }; - op = {width: 3}; - break; - case "top": - pos = { - left: 0, - right: 0, - top: -1 - }; - op = {height: 3}; - break; - case "bottom": - pos = { - left: 0, - right: 0, - bottom: -1 - }; - op = {height: 3}; - break; - default: - break; - } - this.line = BI.createWidget(op, { - type: "bi.layout", - cls: "bubble-popup-line bi-high-light-background" - }); - pos.el = this.line; - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [pos] - }) - }, - - hideLine: function () { - this.line && this.line.destroy(); - } -}); - -BI.shortcut("bi.bubble_popup_view", BI.BubblePopupView); - -/** - * Created by GUY on 2017/2/8. - * - * @class BI.BubblePopupBarView - * @extends BI.BubblePopupView - */ -BI.BubblePopupBarView = BI.inherit(BI.BubblePopupView, { - _defaultConfig: function () { - return BI.extend(BI.BubblePopupBarView.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-bubble-bar-popup-view", - buttons: [{value: BI.i18nText(BI.i18nText("BI-Basic_Sure"))}, {value: BI.i18nText("BI-Basic_Cancel"), level: "ignore"}] - }) - }, - _init: function () { - BI.BubblePopupBarView.superclass._init.apply(this, arguments); - }, - _createToolBar: function () { - var o = this.options, self = this; - - var items = []; - BI.each(o.buttons.reverse(), function (i, buttonOpt) { - if(BI.isWidget(buttonOpt)){ - items.push(buttonOpt); - }else{ - items.push(BI.extend({ - type: 'bi.button', - height: 30, - handler: function (v) { - self.fireEvent(BI.BubblePopupBarView.EVENT_CLICK_TOOLBAR_BUTTON, v); - } - }, buttonOpt)) - } - }); - return BI.createWidget({ - type: 'bi.right_vertical_adapt', - height: 40, - hgap: 10, - bgap: 10, - items: items - }); - } -}); -BI.BubblePopupBarView.EVENT_CLICK_TOOLBAR_BUTTON = "EVENT_CLICK_TOOLBAR_BUTTON"; -BI.shortcut("bi.bubble_bar_popup_view", BI.BubblePopupBarView); \ No newline at end of file diff --git a/src/case/combo/editoriconcheckcombo/combo.editoriconcheck.js b/src/case/combo/editoriconcheckcombo/combo.editoriconcheck.js deleted file mode 100644 index 6e34753103..0000000000 --- a/src/case/combo/editoriconcheckcombo/combo.editoriconcheck.js +++ /dev/null @@ -1,75 +0,0 @@ -/** - * Created by Young's on 2016/4/28. - */ -BI.EditorIconCheckCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.EditorIconCheckCombo.superclass._defaultConfig.apply(this, arguments), { - baseClass: "bi-check-editor-combo", - width: 100, - height: 24, - chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE, - validationChecker: BI.emptyFn, - quitChecker: BI.emptyFn, - allowBlank: true, - watermark: "", - errorText: "" - }) - }, - - _init: function () { - BI.EditorIconCheckCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.trigger = BI.createWidget({ - type: "bi.editor_trigger", - items: o.items, - height: o.height, - validationChecker: o.validationChecker, - quitChecker: o.quitChecker, - allowBlank: o.allowBlank, - watermark: o.watermark, - errorText: o.errorText - }); - this.trigger.on(BI.EditorTrigger.EVENT_CHANGE, function () { - self.popup.setValue(this.getValue()); - self.fireEvent(BI.EditorIconCheckCombo.EVENT_CHANGE); - }); - this.popup = BI.createWidget({ - type: "bi.text_value_check_combo_popup", - chooseType: o.chooseType, - items: o.items - }); - this.popup.on(BI.TextValueCheckComboPopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.editorIconCheckCombo.hideView(); - self.fireEvent(BI.EditorIconCheckCombo.EVENT_CHANGE); - }); - this.popup.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.editorIconCheckCombo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 2, - el: this.trigger, - popup: { - el: this.popup, - maxHeight: 300 - } - }); - }, - - setValue: function (v) { - this.editorIconCheckCombo.setValue(v); - }, - - getValue: function () { - return this.trigger.getValue(); - }, - - populate: function (items) { - this.options.items = items; - this.editorIconCheckCombo.populate(items); - } -}); -BI.EditorIconCheckCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.editor_icon_check_combo", BI.EditorIconCheckCombo); \ No newline at end of file diff --git a/src/case/combo/iconcombo/combo.icon.js b/src/case/combo/iconcombo/combo.icon.js deleted file mode 100644 index 75666fc6ca..0000000000 --- a/src/case/combo/iconcombo/combo.icon.js +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Created by GUY on 2016/2/2. - * - * @class BI.IconCombo - * @extend BI.Widget - */ -BI.IconCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.IconCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-icon-combo", - width: 24, - height: 24, - iconClass: "", - el: {}, - popup: {}, - minWidth: 100, - maxWidth: 'auto', - maxHeight: 300, - direction: "bottom", - adjustLength: 3,//调整的距离 - adjustXOffset: 0, - adjustYOffset: 0, - offsetStyle: "left", - chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE - }) - }, - - _init: function () { - BI.IconCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.trigger = BI.createWidget(o.el, { - type: "bi.icon_combo_trigger", - iconClass: o.iconClass, - title: o.title, - items: o.items, - width: o.width, - height: o.height, - iconWidth: o.iconWidth, - iconHeight: o.iconHeight - }); - this.popup = BI.createWidget(o.popup, { - type: "bi.icon_combo_popup", - chooseType: o.chooseType, - items: o.items - }); - this.popup.on(BI.IconComboPopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.iconCombo.hideView(); - self.fireEvent(BI.IconCombo.EVENT_CHANGE); - }); - this.popup.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.iconCombo = BI.createWidget({ - type: "bi.combo", - element: this, - direction: o.direction, - adjustLength: o.adjustLength, - adjustXOffset: o.adjustXOffset, - adjustYOffset: o.adjustYOffset, - offsetStyle: o.offsetStyle, - el: this.trigger, - popup: { - el: this.popup, - maxWidth: o.maxWidth, - maxHeight: o.maxHeight, - minWidth: o.minWidth - } - }); - }, - - showView: function () { - this.iconCombo.showView(); - }, - - hideView: function () { - this.iconCombo.hideView(); - }, - - setValue: function (v) { - this.iconCombo.setValue(v); - }, - - getValue: function () { - return this.iconCombo.getValue(); - }, - - populate: function (items) { - this.options.items = items; - this.iconCombo.populate(items); - } -}); -BI.IconCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.icon_combo", BI.IconCombo); \ No newline at end of file diff --git a/src/case/combo/iconcombo/popup.iconcombo.js b/src/case/combo/iconcombo/popup.iconcombo.js deleted file mode 100644 index 419c85d41b..0000000000 --- a/src/case/combo/iconcombo/popup.iconcombo.js +++ /dev/null @@ -1,63 +0,0 @@ -/** - * Created by GUY on 2016/2/2. - * - * @class BI.IconComboPopup - * @extend BI.Pane - */ -BI.IconComboPopup = BI.inherit(BI.Pane, { - _defaultConfig: function () { - return BI.extend(BI.IconComboPopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi.icon-combo-popup", - chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE - }); - }, - - _init: function () { - BI.IconComboPopup.superclass._init.apply(this, arguments); - var o = this.options, self = this; - this.popup = BI.createWidget({ - type: "bi.button_group", - items: BI.createItems(o.items, { - type: "bi.single_select_icon_text_item", - height: 30 - }), - chooseType: o.chooseType, - layouts: [{ - type: "bi.vertical" - }] - }); - - this.popup.on(BI.Controller.EVENT_CHANGE, function (type, val, obj) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.IconComboPopup.EVENT_CHANGE, val, obj); - } - }); - - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [this.popup] - }); - }, - - populate: function (items) { - BI.IconComboPopup.superclass.populate.apply(this, arguments); - items = BI.createItems(items, { - type: "bi.single_select_icon_text_item", - height: 30 - }); - this.popup.populate(items); - }, - - getValue: function () { - return this.popup.getValue(); - }, - - setValue: function (v) { - this.popup.setValue(v); - } - -}); -BI.IconComboPopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.icon_combo_popup", BI.IconComboPopup); \ No newline at end of file diff --git a/src/case/combo/iconcombo/trigger.iconcombo.js b/src/case/combo/iconcombo/trigger.iconcombo.js deleted file mode 100644 index 6889424e47..0000000000 --- a/src/case/combo/iconcombo/trigger.iconcombo.js +++ /dev/null @@ -1,90 +0,0 @@ -/** - * Created by GUY on 2016/2/2. - * - * @class BI.IconComboTrigger - * @extend BI.Widget - */ -BI.IconComboTrigger = BI.inherit(BI.Trigger, { - _defaultConfig: function () { - return BI.extend(BI.IconComboTrigger.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-icon-combo-trigger", - el: {}, - items: [], - iconClass: "", - width: 25, - height: 25, - isShowDown: true - }); - }, - - _init: function () { - BI.IconComboTrigger.superclass._init.apply(this, arguments); - var o = this.options, self = this; - this.button = BI.createWidget(o.el, { - type: "bi.icon_change_button", - cls: "icon-combo-trigger-icon " + o.iconClass, - disableSelected: true, - width: o.width, - height: o.height, - iconWidth: o.iconWidth, - iconHeight: o.iconHeight - }); - this.down = BI.createWidget({ - type: "bi.icon_button", - disableSelected: true, - cls: "icon-combo-down-icon trigger-triangle-font", - width: 12, - height: 8 - }); - this.down.setVisible(o.isShowDown); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.button, - left: 0, - right: 0, - top: 0, - bottom: 0 - }, { - el: this.down, - right: 0, - bottom: 0 - }] - }); - if (BI.isKey(o.value)) { - this.setValue(o.value); - } - }, - - populate: function (items) { - var o = this.options; - this.options.items = items || []; - this.button.setIcon(o.iconClass); - this.button.setSelected(false); - this.down.setSelected(false); - }, - - setValue: function (v) { - BI.IconComboTrigger.superclass.setValue.apply(this, arguments); - var o = this.options; - var iconClass = ""; - v = BI.isArray(v) ? v[0] : v; - if (BI.any(this.options.items, function (i, item) { - if (v === item.value) { - iconClass = item.iconClass; - return true; - } - })) { - this.button.setIcon(iconClass); - this.button.setSelected(true); - this.down.setSelected(true); - } else { - this.button.setIcon(o.iconClass); - this.button.setSelected(false); - this.down.setSelected(false); - } - } -}); -BI.IconComboTrigger.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.icon_combo_trigger", BI.IconComboTrigger); \ No newline at end of file diff --git a/src/case/combo/staticcombo/combo.static.js b/src/case/combo/staticcombo/combo.static.js deleted file mode 100644 index 824e68929a..0000000000 --- a/src/case/combo/staticcombo/combo.static.js +++ /dev/null @@ -1,67 +0,0 @@ -/** - * 单选combo - * - * @class BI.StaticCombo - * @extend BI.Widget - */ -BI.StaticCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.StaticCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-static-combo", - height: 24, - text: "", - el: {}, - items: [], - chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE - }) - }, - - _init: function () { - BI.StaticCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.trigger = BI.createWidget(o.el, { - type: "bi.text_icon_item", - cls: "bi-select-text-trigger bi-border pull-down-font", - text: o.text, - readonly: true, - textLgap: 5, - height: o.height - 2 - }); - this.popup = BI.createWidget({ - type: "bi.text_value_combo_popup", - textAlign: o.textAlign, - chooseType: o.chooseType, - items: o.items - }); - this.popup.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.popup.on(BI.TextValueComboPopup.EVENT_CHANGE, function () { - self.combo.hideView(); - self.fireEvent(BI.StaticCombo.EVENT_CHANGE, arguments); - }); - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 2, - el: this.trigger, - popup: { - el: this.popup - } - }); - }, - - populate: function (items) { - this.combo.populate(items); - }, - - setValue: function (v) { - this.combo.setValue(v); - }, - - getValue: function () { - return this.combo.getValue(); - } -}); -BI.StaticCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.static_combo", BI.StaticCombo); \ No newline at end of file diff --git a/src/case/combo/textvaluecheckcombo/combo.textvaluecheck.js b/src/case/combo/textvaluecheckcombo/combo.textvaluecheck.js deleted file mode 100644 index 70b4fae322..0000000000 --- a/src/case/combo/textvaluecheckcombo/combo.textvaluecheck.js +++ /dev/null @@ -1,73 +0,0 @@ -/** - * @class BI.TextValueCheckCombo - * @extend BI.Widget - * combo : text + icon, popup : check + text - */ -BI.TextValueCheckCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.TextValueCheckCombo.superclass._defaultConfig.apply(this, arguments), { - baseClass: "bi-text-value-check-combo", - width: 100, - height: 24, - chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE, - text: "" - }) - }, - - _init: function () { - BI.TextValueCheckCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.trigger = BI.createWidget({ - type: "bi.select_text_trigger", - items: o.items, - height: o.height, - text: o.text - }); - this.popup = BI.createWidget({ - type: "bi.text_value_check_combo_popup", - chooseType: o.chooseType, - items: o.items - }); - this.popup.on(BI.TextValueCheckComboPopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.textIconCheckCombo.hideView(); - self.fireEvent(BI.TextValueCheckCombo.EVENT_CHANGE); - }); - this.popup.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.textIconCheckCombo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 2, - el: this.trigger, - popup: { - el: this.popup, - maxHeight: 300 - } - }); - }, - - setTitle: function (title) { - this.trigger.setTitle(title); - }, - - setValue: function (v) { - this.textIconCheckCombo.setValue(v); - }, - - setWarningTitle: function (title) { - this.trigger.setWarningTitle(title); - }, - - getValue: function () { - return this.textIconCheckCombo.getValue(); - }, - - populate: function (items) { - this.options.items = items; - this.textIconCheckCombo.populate(items); - } -}); -BI.TextValueCheckCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.text_value_check_combo", BI.TextValueCheckCombo); \ No newline at end of file diff --git a/src/case/combo/textvaluecheckcombo/combo.textvaluechecksmall.js b/src/case/combo/textvaluecheckcombo/combo.textvaluechecksmall.js deleted file mode 100644 index a5bcdcaa6f..0000000000 --- a/src/case/combo/textvaluecheckcombo/combo.textvaluechecksmall.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * @class BI.SmallTextValueCheckCombo - * @extend BI.Widget - * combo : text + icon, popup : check + text - */ -BI.SmallTextValueCheckCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.SmallTextValueCheckCombo.superclass._defaultConfig.apply(this, arguments), { - width: 100, - height: 24, - chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE, - text: "" - }) - }, - - _init: function () { - BI.SmallTextValueCheckCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.trigger = BI.createWidget({ - type: "bi.small_select_text_trigger", - items: o.items, - height: o.height, - text: o.text - }); - this.popup = BI.createWidget({ - type: "bi.text_value_check_combo_popup", - chooseType: o.chooseType, - items: o.items - }); - this.popup.on(BI.TextValueCheckComboPopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.SmallTextIconCheckCombo.hideView(); - self.fireEvent(BI.SmallTextValueCheckCombo.EVENT_CHANGE); - }); - this.popup.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.SmallTextIconCheckCombo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 2, - el: this.trigger, - popup: { - el: this.popup, - maxHeight: 300 - } - }); - }, - - setValue: function (v) { - this.SmallTextIconCheckCombo.setValue(v); - }, - - getValue: function () { - return this.SmallTextIconCheckCombo.getValue(); - }, - - populate: function (items) { - this.options.items = items; - this.SmallTextIconCheckCombo.populate(items); - } -}); -BI.SmallTextValueCheckCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.small_text_value_check_combo", BI.SmallTextValueCheckCombo); \ No newline at end of file diff --git a/src/case/combo/textvaluecheckcombo/popup.textvaluecheck.js b/src/case/combo/textvaluecheckcombo/popup.textvaluecheck.js deleted file mode 100644 index d4fd598859..0000000000 --- a/src/case/combo/textvaluecheckcombo/popup.textvaluecheck.js +++ /dev/null @@ -1,60 +0,0 @@ -BI.TextValueCheckComboPopup = BI.inherit(BI.Pane, { - _defaultConfig: function () { - return BI.extend(BI.TextValueCheckComboPopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-text-icon-popup", - chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE - }); - }, - - _init: function () { - BI.TextValueCheckComboPopup.superclass._init.apply(this, arguments); - var o = this.options, self = this; - this.popup = BI.createWidget({ - type: "bi.button_group", - items: this._formatItems(o.items), - chooseType: o.chooseType, - layouts: [{ - type: "bi.vertical" - }] - }); - - this.popup.on(BI.Controller.EVENT_CHANGE, function (type, val, obj) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.TextValueCheckComboPopup.EVENT_CHANGE, val, obj); - } - }); - - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [this.popup] - }); - }, - - _formatItems: function (items) { - return BI.map(items, function (i, item) { - return BI.extend({ - type: "bi.icon_text_item", - cls: "item-check-font bi-list-item", - height: 30 - }, item); - }); - }, - - populate: function (items) { - BI.TextValueCheckComboPopup.superclass.populate.apply(this, arguments); - this.popup.populate(this._formatItems(items)); - }, - - getValue: function () { - return this.popup.getValue(); - }, - - setValue: function (v) { - this.popup.setValue(v); - } - -}); -BI.TextValueCheckComboPopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.text_value_check_combo_popup", BI.TextValueCheckComboPopup); \ No newline at end of file diff --git a/src/case/combo/textvaluecombo/combo.textvalue.js b/src/case/combo/textvaluecombo/combo.textvalue.js deleted file mode 100644 index 3e58873df6..0000000000 --- a/src/case/combo/textvaluecombo/combo.textvalue.js +++ /dev/null @@ -1,66 +0,0 @@ -/** - * @class BI.TextValueCombo - * @extend BI.Widget - * combo : text + icon, popup : text - * 参见场景dashboard布局方式选择 - */ -BI.TextValueCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.TextValueCombo.superclass._defaultConfig.apply(this, arguments), { - baseClass: "bi-text-value-combo", - height: 30, - chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE, - text: "", - el: {} - }) - }, - - _init: function () { - BI.TextValueCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.trigger = BI.createWidget(o.el, { - type: "bi.select_text_trigger", - items: o.items, - height: o.height, - text: o.text - }); - this.popup = BI.createWidget({ - type: "bi.text_value_combo_popup", - chooseType: o.chooseType, - items: o.items - }); - this.popup.on(BI.TextValueComboPopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.textIconCombo.hideView(); - self.fireEvent(BI.TextValueCombo.EVENT_CHANGE, arguments); - }); - this.popup.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.textIconCombo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 2, - el: this.trigger, - popup: { - el: this.popup, - maxHeight: 300 - } - }); - }, - - setValue: function (v) { - this.textIconCombo.setValue(v); - }, - - getValue: function () { - return this.textIconCombo.getValue(); - }, - - populate: function (items) { - this.options.items = items; - this.textIconCombo.populate(items); - } -}); -BI.TextValueCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.text_value_combo", BI.TextValueCombo); \ No newline at end of file diff --git a/src/case/combo/textvaluecombo/combo.textvaluesmall.js b/src/case/combo/textvaluecombo/combo.textvaluesmall.js deleted file mode 100644 index 3a6c86057f..0000000000 --- a/src/case/combo/textvaluecombo/combo.textvaluesmall.js +++ /dev/null @@ -1,66 +0,0 @@ -/** - * @class BI.SmallTextValueCombo - * @extend BI.Widget - * combo : text + icon, popup : text - * 参见场景dashboard布局方式选择 - */ -BI.SmallTextValueCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.SmallTextValueCombo.superclass._defaultConfig.apply(this, arguments), { - width: 100, - height: 24, - chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE, - el: {}, - text: "" - }) - }, - - _init: function () { - BI.SmallTextValueCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.trigger = BI.createWidget(o.el, { - type: "bi.small_select_text_trigger", - items: o.items, - height: o.height, - text: o.text - }); - this.popup = BI.createWidget({ - type: "bi.text_value_combo_popup", - chooseType: o.chooseType, - items: o.items - }); - this.popup.on(BI.TextValueComboPopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.SmallTextValueCombo.hideView(); - self.fireEvent(BI.SmallTextValueCombo.EVENT_CHANGE); - }); - this.popup.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.SmallTextValueCombo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 2, - el: this.trigger, - popup: { - el: this.popup, - maxHeight: 300 - } - }); - }, - - setValue: function (v) { - this.SmallTextValueCombo.setValue(v); - }, - - getValue: function () { - return this.SmallTextValueCombo.getValue(); - }, - - populate: function (items) { - this.options.items = items; - this.SmallTextValueCombo.populate(items); - } -}); -BI.SmallTextValueCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.small_text_value_combo", BI.SmallTextValueCombo); \ No newline at end of file diff --git a/src/case/combo/textvaluecombo/popup.textvalue.js b/src/case/combo/textvaluecombo/popup.textvalue.js deleted file mode 100644 index b650383588..0000000000 --- a/src/case/combo/textvaluecombo/popup.textvalue.js +++ /dev/null @@ -1,58 +0,0 @@ -BI.TextValueComboPopup = BI.inherit(BI.Pane, { - _defaultConfig: function () { - return BI.extend(BI.TextValueComboPopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-text-icon-popup", - chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE - }); - }, - - _init: function () { - BI.TextValueComboPopup.superclass._init.apply(this, arguments); - var o = this.options, self = this; - this.popup = BI.createWidget({ - type: "bi.button_group", - items: BI.createItems(o.items, { - type: "bi.single_select_item", - textAlign: o.textAlign, - height: 30 - }), - chooseType: o.chooseType, - layouts: [{ - type: "bi.vertical" - }] - }); - - this.popup.on(BI.Controller.EVENT_CHANGE, function (type, val, obj) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.TextValueComboPopup.EVENT_CHANGE, val, obj); - } - }); - - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [this.popup] - }); - }, - - populate: function (items) { - BI.TextValueComboPopup.superclass.populate.apply(this, arguments); - items = BI.createItems(items, { - type: "bi.single_select_item", - height: 30 - }); - this.popup.populate(items); - }, - - getValue: function () { - return this.popup.getValue(); - }, - - setValue: function (v) { - this.popup.setValue(v); - } - -}); -BI.TextValueComboPopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.text_value_combo_popup", BI.TextValueComboPopup); \ No newline at end of file diff --git a/src/case/combo/textvaluedownlistcombo/combo.textvaluedownlist.js b/src/case/combo/textvaluedownlistcombo/combo.textvaluedownlist.js deleted file mode 100644 index 94c69b8d0f..0000000000 --- a/src/case/combo/textvaluedownlistcombo/combo.textvaluedownlist.js +++ /dev/null @@ -1,79 +0,0 @@ -/** - * @class BI.TextValueDownListCombo - * @extend BI.Widget - */ -BI.TextValueDownListCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.TextValueDownListCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-text-value-down-list-combo", - height: 30, - text: "" - }) - }, - - _init: function () { - BI.TextValueDownListCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this._createValueMap(); - - this.trigger = BI.createWidget({ - type: "bi.down_list_select_text_trigger", - height: o.height, - items: o.items - }); - - this.combo = BI.createWidget({ - type: "bi.down_list_combo", - element: this, - chooseType: BI.Selection.Single, - adjustLength: 2, - height: o.height, - el: this.trigger, - items: BI.deepClone(o.items) - }); - - this.combo.on(BI.DownListCombo.EVENT_CHANGE, function () { - self.setValue(self.combo.getValue()[0].value); - self.fireEvent(BI.TextValueDownListCombo.EVENT_CHANGE); - }); - - this.combo.on(BI.DownListCombo.EVENT_SON_VALUE_CHANGE, function () { - self.setValue(self.combo.getValue()[0].childValue); - self.fireEvent(BI.TextValueDownListCombo.EVENT_CHANGE); - }); - }, - - _createValueMap: function () { - var self = this; - this.valueMap = {}; - BI.each(BI.flatten(this.options.items), function (idx, item) { - if (BI.has(item, "el")) { - BI.each(item.children, function (id, it) { - self.valueMap[it.value] = {value: item.el.value, childValue: it.value} - }); - } else { - self.valueMap[item.value] = {value: item.value}; - } - }); - }, - - setValue: function (v) { - v = this.valueMap[v]; - this.combo.setValue([v]); - this.trigger.setValue(v.childValue || v.value); - }, - - getValue: function () { - var v = this.combo.getValue()[0]; - return [v.childValue || v.value]; - }, - - populate: function (items) { - this.options.items = BI.flatten(items); - this.combo.populate(items); - this._createValueMap(); - } -}); -BI.TextValueDownListCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.text_value_down_list_combo", BI.TextValueDownListCombo); \ No newline at end of file diff --git a/src/case/combo/textvaluedownlistcombo/trigger.textvaluedownlist.js b/src/case/combo/textvaluedownlistcombo/trigger.textvaluedownlist.js deleted file mode 100644 index 174f60f270..0000000000 --- a/src/case/combo/textvaluedownlistcombo/trigger.textvaluedownlist.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 选择字段trigger, downlist专用 - * 显示形式为 父亲值(儿子值) - * - * @class BI.DownListSelectTextTrigger - * @extends BI.Trigger - */ -BI.DownListSelectTextTrigger = BI.inherit(BI.Trigger, { - - _defaultConfig: function () { - return BI.extend(BI.DownListSelectTextTrigger.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-down-list-select-text-trigger", - height: 24, - text: "" - }); - }, - - _init: function () { - BI.DownListSelectTextTrigger.superclass._init.apply(this, arguments); - var o = this.options; - this.trigger = BI.createWidget({ - type: "bi.select_text_trigger", - element: this, - height: o.height, - items: this._formatItemArray(o.items), - text: o.text - }); - }, - - _formatItemArray: function(){ - var sourceArray = BI.flatten(BI.deepClone(this.options.items)); - var targetArray = []; - BI.each(sourceArray, function(idx, item){ - if(BI.has(item, "el")){ - BI.each(item.children, function(id, it){ - it.text = item.el.text + "(" + it.text + ")"; - }); - targetArray = BI.concat(targetArray, item.children); - }else{ - targetArray.push(item); - } - }); - return targetArray; - }, - - setValue: function (vals) { - this.trigger.setValue(vals); - }, - - populate: function (items) { - this.trigger.populate(this._formatItemArray(items)); - } -}); -BI.shortcut("bi.down_list_select_text_trigger", BI.DownListSelectTextTrigger); \ No newline at end of file diff --git a/src/case/editor/editor.clear.js b/src/case/editor/editor.clear.js deleted file mode 100644 index 121265b56e..0000000000 --- a/src/case/editor/editor.clear.js +++ /dev/null @@ -1,169 +0,0 @@ -/** - * 有清楚按钮的文本框 - * Created by GUY on 2015/9/29. - * @class BI.SmallTextEditor - * @extends BI.SearchEditor - */ -BI.ClearEditor = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.ClearEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-clear-editor", - height: 24, - errorText: "", - watermark: "", - validationChecker: BI.emptyFn, - quitChecker: BI.emptyFn - }); - }, - _init: function () { - BI.ClearEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: "bi.editor", - height: o.height, - watermark: o.watermark, - allowBlank: true, - errorText: o.errorText, - validationChecker: o.validationChecker, - quitChecker: o.quitChecker - }); - this.clear = BI.createWidget({ - type: "bi.icon_button", - stopEvent: true, - cls: "search-close-h-font" - }); - this.clear.on(BI.IconButton.EVENT_CHANGE, function () { - self.setValue(""); - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.STOPEDIT); - self.fireEvent(BI.ClearEditor.EVENT_CLEAR); - }); - BI.createWidget({ - element: this, - type: "bi.htape", - items: [ - { - el: this.editor - }, - { - el: this.clear, - width: 25 - }] - }); - this.editor.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.editor.on(BI.Editor.EVENT_FOCUS, function () { - self.fireEvent(BI.ClearEditor.EVENT_FOCUS); - }); - this.editor.on(BI.Editor.EVENT_BLUR, function () { - self.fireEvent(BI.ClearEditor.EVENT_BLUR); - }); - this.editor.on(BI.Editor.EVENT_CLICK, function () { - self.fireEvent(BI.ClearEditor.EVENT_CLICK); - }); - this.editor.on(BI.Editor.EVENT_CHANGE, function () { - self._checkClear(); - self.fireEvent(BI.ClearEditor.EVENT_CHANGE); - }); - this.editor.on(BI.Editor.EVENT_KEY_DOWN, function (v) { - self.fireEvent(BI.ClearEditor.EVENT_KEY_DOWN, v); - }); - this.editor.on(BI.Editor.EVENT_SPACE, function () { - self.fireEvent(BI.ClearEditor.EVENT_SPACE) - }); - this.editor.on(BI.Editor.EVENT_BACKSPACE, function () { - self.fireEvent(BI.ClearEditor.EVENT_BACKSPACE) - }); - - - this.editor.on(BI.Editor.EVENT_VALID, function () { - self.fireEvent(BI.ClearEditor.EVENT_VALID) - }); - this.editor.on(BI.Editor.EVENT_ERROR, function () { - self.fireEvent(BI.ClearEditor.EVENT_ERROR) - }); - this.editor.on(BI.Editor.EVENT_ENTER, function () { - self.fireEvent(BI.ClearEditor.EVENT_ENTER); - }); - this.editor.on(BI.Editor.EVENT_RESTRICT, function () { - self.fireEvent(BI.ClearEditor.EVENT_RESTRICT) - }); - this.editor.on(BI.Editor.EVENT_EMPTY, function () { - self._checkClear(); - self.fireEvent(BI.ClearEditor.EVENT_EMPTY) - }); - this.editor.on(BI.Editor.EVENT_REMOVE, function () { - self.fireEvent(BI.ClearEditor.EVENT_REMOVE) - }); - this.editor.on(BI.Editor.EVENT_CONFIRM, function () { - self.fireEvent(BI.ClearEditor.EVENT_CONFIRM) - }); - this.editor.on(BI.Editor.EVENT_START, function () { - self.fireEvent(BI.ClearEditor.EVENT_START); - }); - this.editor.on(BI.Editor.EVENT_PAUSE, function () { - self.fireEvent(BI.ClearEditor.EVENT_PAUSE); - }); - this.editor.on(BI.Editor.EVENT_STOP, function () { - self.fireEvent(BI.ClearEditor.EVENT_STOP); - }); - - this.clear.invisible(); - }, - - _checkClear: function () { - if (!this.getValue()) { - this.clear.invisible(); - } else { - this.clear.visible(); - } - }, - - focus: function () { - this.editor.focus(); - }, - - blur: function () { - this.editor.blur(); - }, - - getValue: function () { - if (this.isValid()) { - var res = this.editor.getValue().match(/[\S]+/g); - return BI.isNull(res) ? "" : res[res.length - 1]; - } - }, - - setValue: function (v) { - this.editor.setValue(v); - if (BI.isKey(v)) { - this.clear.visible(); - } - }, - - isValid: function () { - return this.editor.isValid(); - } -}); -BI.ClearEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.ClearEditor.EVENT_FOCUS = "EVENT_FOCUS"; -BI.ClearEditor.EVENT_BLUR = "EVENT_BLUR"; -BI.ClearEditor.EVENT_CLICK = "EVENT_CLICK"; -BI.ClearEditor.EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; -BI.ClearEditor.EVENT_SPACE = "EVENT_SPACE"; -BI.ClearEditor.EVENT_BACKSPACE = "EVENT_BACKSPACE"; -BI.ClearEditor.EVENT_CLEAR = "EVENT_CLEAR"; - -BI.ClearEditor.EVENT_START = "EVENT_START"; -BI.ClearEditor.EVENT_PAUSE = "EVENT_PAUSE"; -BI.ClearEditor.EVENT_STOP = "EVENT_STOP"; -BI.ClearEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.ClearEditor.EVENT_VALID = "EVENT_VALID"; -BI.ClearEditor.EVENT_ERROR = "EVENT_ERROR"; -BI.ClearEditor.EVENT_ENTER = "EVENT_ENTER"; -BI.ClearEditor.EVENT_RESTRICT = "EVENT_RESTRICT"; -BI.ClearEditor.EVENT_REMOVE = "EVENT_REMOVE"; -BI.ClearEditor.EVENT_EMPTY = "EVENT_EMPTY"; -BI.shortcut("bi.clear_editor", BI.ClearEditor); \ No newline at end of file diff --git a/src/case/editor/editor.shelter.js b/src/case/editor/editor.shelter.js deleted file mode 100644 index 86fe2179c3..0000000000 --- a/src/case/editor/editor.shelter.js +++ /dev/null @@ -1,259 +0,0 @@ -/** - * 带标记的文本框 - * Created by GUY on 2016/1/25. - * @class BI.ShelterEditor - * @extends BI.Widget - */ -BI.ShelterEditor = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.ShelterEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-shelter-editor", - hgap: 4, - vgap: 2, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - validationChecker: BI.emptyFn, - quitChecker: BI.emptyFn, - allowBlank: true, - watermark: "", - errorText: "", - height: 24, - textAlign: "left" - }) - }, - - _init: function () { - BI.ShelterEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: "bi.editor", - height: o.height, - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - value: o.value, - validationChecker: o.validationChecker, - quitChecker: o.quitChecker, - allowBlank: o.allowBlank, - watermark: o.watermark, - errorText: o.errorText - }); - this.text = BI.createWidget({ - type: "bi.text_button", - cls: "shelter-editor-text", - title: o.title, - warningTitle: o.warningTitle, - tipType: o.tipType, - textAlign: o.textAlign, - height: o.height, - hgap: 4 - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.text, - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - this.text.on(BI.Controller.EVENT_CHANGE, function () { - arguments[2] = self; - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.text.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.ShelterEditor.EVENT_CLICK_LABEL); - }); - this.editor.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.editor.on(BI.Editor.EVENT_FOCUS, function () { - self.fireEvent(BI.ShelterEditor.EVENT_FOCUS, arguments); - }); - this.editor.on(BI.Editor.EVENT_BLUR, function () { - self.fireEvent(BI.ShelterEditor.EVENT_BLUR, arguments); - }); - this.editor.on(BI.Editor.EVENT_CLICK, function () { - self.fireEvent(BI.ShelterEditor.EVENT_CLICK, arguments); - }); - this.editor.on(BI.Editor.EVENT_CHANGE, function () { - self.fireEvent(BI.ShelterEditor.EVENT_CHANGE, arguments); - }); - this.editor.on(BI.Editor.EVENT_KEY_DOWN, function (v) { - self.fireEvent(BI.ShelterEditor.EVENT_KEY_DOWN, arguments); - }); - - this.editor.on(BI.Editor.EVENT_VALID, function () { - self.fireEvent(BI.ShelterEditor.EVENT_VALID, arguments); - }); - this.editor.on(BI.Editor.EVENT_CONFIRM, function () { - self._showHint(); - self._checkText(); - self.fireEvent(BI.ShelterEditor.EVENT_CONFIRM, arguments); - }); - this.editor.on(BI.Editor.EVENT_START, function () { - self.fireEvent(BI.ShelterEditor.EVENT_START, arguments); - }); - this.editor.on(BI.Editor.EVENT_PAUSE, function () { - self.fireEvent(BI.ShelterEditor.EVENT_PAUSE, arguments); - }); - this.editor.on(BI.Editor.EVENT_STOP, function () { - self.fireEvent(BI.ShelterEditor.EVENT_STOP, arguments); - }); - this.editor.on(BI.Editor.EVENT_SPACE, function () { - self.fireEvent(BI.ShelterEditor.EVENT_SPACE, arguments); - }); - this.editor.on(BI.Editor.EVENT_ERROR, function () { - self._checkText(); - self.fireEvent(BI.ShelterEditor.EVENT_ERROR, arguments); - }); - this.editor.on(BI.Editor.EVENT_ENTER, function () { - self.fireEvent(BI.ShelterEditor.EVENT_ENTER, arguments); - }); - this.editor.on(BI.Editor.EVENT_RESTRICT, function () { - self.fireEvent(BI.ShelterEditor.EVENT_RESTRICT, arguments); - }); - this.editor.on(BI.Editor.EVENT_EMPTY, function () { - self.fireEvent(BI.ShelterEditor.EVENT_EMPTY, arguments); - }); - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - element: this, - items: [this.editor] - }); - this._showHint(); - self._checkText(); - }, - - _checkText: function () { - var o = this.options; - if (this.editor.getValue() === "") { - this.text.setValue(o.watermark || ""); - this.text.element.addClass("bi-water-mark"); - } else { - this.text.setValue(this.editor.getValue()); - this.text.element.removeClass("bi-water-mark"); - } - }, - - _showInput: function () { - this.editor.visible(); - this.text.invisible(); - }, - - _showHint: function () { - this.editor.invisible(); - this.text.visible(); - }, - - setTitle: function (title) { - this.text.setTitle(title); - }, - - setWarningTitle: function (title) { - this.text.setWarningTitle(title); - }, - - focus: function () { - this._showInput(); - this.editor.focus(); - }, - - blur: function () { - this.editor.blur(); - this._showHint(); - this._checkText(); - }, - - doRedMark: function () { - if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { - return; - } - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { - return; - } - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - isValid: function () { - return this.editor.isValid(); - }, - - setErrorText: function (text) { - this.editor.setErrorText(text); - }, - - getErrorText: function () { - return this.editor.getErrorText(); - }, - - isEditing: function () { - return this.editor.isEditing(); - }, - - getLastValidValue: function () { - return this.editor.getLastValidValue(); - }, - - setTextStyle: function (style) { - this.text.setStyle(style); - }, - - setValue: function (k) { - this.editor.setValue(k); - this._checkText(); - }, - - getValue: function () { - return this.editor.getValue(); - }, - - getState: function () { - return this.text.getValue(); - }, - - setState: function (v) { - this._showHint(); - this.text.setValue(v); - } -}); -BI.ShelterEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.ShelterEditor.EVENT_FOCUS = "EVENT_FOCUS"; -BI.ShelterEditor.EVENT_BLUR = "EVENT_BLUR"; -BI.ShelterEditor.EVENT_CLICK = "EVENT_CLICK"; -BI.ShelterEditor.EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; -BI.ShelterEditor.EVENT_CLICK_LABEL = "EVENT_CLICK_LABEL"; - -BI.ShelterEditor.EVENT_START = "EVENT_START"; -BI.ShelterEditor.EVENT_PAUSE = "EVENT_PAUSE"; -BI.ShelterEditor.EVENT_STOP = "EVENT_STOP"; -BI.ShelterEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.ShelterEditor.EVENT_VALID = "EVENT_VALID"; -BI.ShelterEditor.EVENT_ERROR = "EVENT_ERROR"; -BI.ShelterEditor.EVENT_ENTER = "EVENT_ENTER"; -BI.ShelterEditor.EVENT_RESTRICT = "EVENT_RESTRICT"; -BI.ShelterEditor.EVENT_SPACE = "EVENT_SPACE"; -BI.ShelterEditor.EVENT_EMPTY = "EVENT_EMPTY"; - -BI.shortcut("bi.shelter_editor", BI.ShelterEditor); \ No newline at end of file diff --git a/src/case/editor/editor.sign.initial.js b/src/case/editor/editor.sign.initial.js deleted file mode 100644 index 344634e453..0000000000 --- a/src/case/editor/editor.sign.initial.js +++ /dev/null @@ -1,267 +0,0 @@ -/** - * Created by User on 2017/7/28. - */ -BI.SignInitialEditor = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.SignInitialEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-sign-initial-editor", - hgap: 4, - vgap: 2, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - validationChecker: BI.emptyFn, - quitChecker: BI.emptyFn, - allowBlank: true, - watermark: "", - errorText: "", - value: "", - text: "", - height: 24 - }) - }, - - _init: function () { - BI.SignInitialEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: "bi.editor", - height: o.height, - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - value: o.value, - validationChecker: o.validationChecker, - quitChecker: o.quitChecker, - allowBlank: o.allowBlank, - watermark: o.watermark, - errorText: o.errorText - }); - this.text = BI.createWidget({ - type: "bi.text_button", - cls: "sign-editor-text", - title: o.title, - warningTitle: o.warningTitle, - tipType: o.tipType, - textAlign: "left", - height: o.height, - hgap: 4, - handler: function () { - self._showInput(); - self.editor.focus(); - self.editor.selectAll(); - } - }); - this.text.on(BI.TextButton.EVENT_CHANGE, function () { - BI.nextTick(function () { - self.fireEvent(BI.SignInitialEditor.EVENT_CLICK_LABEL) - }); - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.text, - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - this.editor.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.editor.on(BI.Editor.EVENT_FOCUS, function () { - self.fireEvent(BI.SignInitialEditor.EVENT_FOCUS, arguments); - }); - this.editor.on(BI.Editor.EVENT_BLUR, function () { - self.fireEvent(BI.SignInitialEditor.EVENT_BLUR, arguments); - }); - this.editor.on(BI.Editor.EVENT_CLICK, function () { - self.fireEvent(BI.SignInitialEditor.EVENT_CLICK, arguments); - }); - this.editor.on(BI.Editor.EVENT_CHANGE, function () { - self.fireEvent(BI.SignInitialEditor.EVENT_CHANGE, arguments); - }); - this.editor.on(BI.Editor.EVENT_KEY_DOWN, function (v) { - self.fireEvent(BI.SignInitialEditor.EVENT_KEY_DOWN, arguments); - }); - - this.editor.on(BI.Editor.EVENT_VALID, function () { - self.fireEvent(BI.SignInitialEditor.EVENT_VALID, arguments); - }); - this.editor.on(BI.Editor.EVENT_CONFIRM, function () { - self._showHint(); - self._checkText(); - self.fireEvent(BI.SignInitialEditor.EVENT_CONFIRM, arguments); - }); - this.editor.on(BI.Editor.EVENT_START, function () { - self.fireEvent(BI.SignInitialEditor.EVENT_START, arguments); - }); - this.editor.on(BI.Editor.EVENT_PAUSE, function () { - self.fireEvent(BI.SignInitialEditor.EVENT_PAUSE, arguments); - }); - this.editor.on(BI.Editor.EVENT_STOP, function () { - self.fireEvent(BI.SignInitialEditor.EVENT_STOP, arguments); - }); - this.editor.on(BI.Editor.EVENT_SPACE, function () { - self.fireEvent(BI.SignInitialEditor.EVENT_SPACE, arguments); - }); - this.editor.on(BI.Editor.EVENT_ERROR, function () { - self._checkText(); - self.fireEvent(BI.SignInitialEditor.EVENT_ERROR, arguments); - }); - this.editor.on(BI.Editor.EVENT_ENTER, function () { - self.fireEvent(BI.SignInitialEditor.EVENT_ENTER, arguments); - }); - this.editor.on(BI.Editor.EVENT_RESTRICT, function () { - self.fireEvent(BI.SignInitialEditor.EVENT_RESTRICT, arguments); - }); - this.editor.on(BI.Editor.EVENT_EMPTY, function () { - self.fireEvent(BI.SignInitialEditor.EVENT_EMPTY, arguments); - }); - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - element: this, - items: [this.editor] - }); - this._showHint(); - self._checkText(); - }, - - _checkText: function () { - var o = this.options; - BI.nextTick(BI.bind(function () { - if (this.editor.getValue() === "") { - this.text.setValue(o.watermark || ""); - this.text.element.addClass("bi-water-mark"); - } else { - var v = this.editor.getValue(); - v = (BI.isEmpty(v) || v == o.text) ? o.text : v + "(" + o.text + ")"; - this.text.setValue(v); - this.text.element.removeClass("bi-water-mark"); - } - }, this)); - }, - - _showInput: function () { - this.editor.visible(); - this.text.invisible(); - }, - - _showHint: function () { - this.editor.invisible(); - this.text.visible(); - }, - - setTitle: function (title) { - this.text.setTitle(title); - }, - - setWarningTitle: function (title) { - this.text.setWarningTitle(title); - }, - - focus: function () { - this._showInput(); - this.editor.focus(); - }, - - blur: function () { - this.editor.blur(); - this._showHint(); - this._checkText(); - }, - - doRedMark: function () { - if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { - return; - } - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { - return; - } - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - isValid: function () { - return this.editor.isValid(); - }, - - setErrorText: function (text) { - this.editor.setErrorText(text); - }, - - getErrorText: function () { - return this.editor.getErrorText(); - }, - - isEditing: function () { - return this.editor.isEditing(); - }, - - getLastValidValue: function () { - return this.editor.getLastValidValue(); - }, - - setValue: function (v) { - var o = this.options; - this.editor.setValue(v.value); - o.text = v.text || o.text; - this._checkText(); - }, - - getValue: function () { - return { - value: this.editor.getValue(), - text: this.options.text - } - }, - - getState: function () { - return this.text.getValue(); - }, - - setState: function (v) { - var o = this.options; - this._showHint(); - v = (BI.isEmpty(v) || v == o.text) ? o.text : v + "(" + o.text + ")"; - this.text.setValue(v); - } -}); -BI.SignInitialEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.SignInitialEditor.EVENT_FOCUS = "EVENT_FOCUS"; -BI.SignInitialEditor.EVENT_BLUR = "EVENT_BLUR"; -BI.SignInitialEditor.EVENT_CLICK = "EVENT_CLICK"; -BI.SignInitialEditor.EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; -BI.SignInitialEditor.EVENT_CLICK_LABEL = "EVENT_CLICK_LABEL"; - -BI.SignInitialEditor.EVENT_START = "EVENT_START"; -BI.SignInitialEditor.EVENT_PAUSE = "EVENT_PAUSE"; -BI.SignInitialEditor.EVENT_STOP = "EVENT_STOP"; -BI.SignInitialEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.SignInitialEditor.EVENT_VALID = "EVENT_VALID"; -BI.SignInitialEditor.EVENT_ERROR = "EVENT_ERROR"; -BI.SignInitialEditor.EVENT_ENTER = "EVENT_ENTER"; -BI.SignInitialEditor.EVENT_RESTRICT = "EVENT_RESTRICT"; -BI.SignInitialEditor.EVENT_SPACE = "EVENT_SPACE"; -BI.SignInitialEditor.EVENT_EMPTY = "EVENT_EMPTY"; - -BI.shortcut("bi.sign_initial_editor", BI.SignInitialEditor); \ No newline at end of file diff --git a/src/case/editor/editor.sign.js b/src/case/editor/editor.sign.js deleted file mode 100644 index 094808c88a..0000000000 --- a/src/case/editor/editor.sign.js +++ /dev/null @@ -1,259 +0,0 @@ -/** - * 带标记的文本框 - * Created by GUY on 2015/8/28. - * @class BI.SignEditor - * @extends BI.Widget - */ -BI.SignEditor = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.SignEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-sign-editor", - hgap: 4, - vgap: 2, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - validationChecker: BI.emptyFn, - quitChecker: BI.emptyFn, - allowBlank: true, - watermark: "", - errorText: "", - height: 24 - }) - }, - - _init: function () { - BI.SignEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: "bi.editor", - height: o.height, - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - value: o.value, - validationChecker: o.validationChecker, - quitChecker: o.quitChecker, - allowBlank: o.allowBlank, - watermark: o.watermark, - errorText: o.errorText - }); - this.text = BI.createWidget({ - type: "bi.text_button", - cls: "sign-editor-text", - title: o.title, - warningTitle: o.warningTitle, - tipType: o.tipType, - textAlign: "left", - height: o.height, - hgap: 4, - handler: function () { - self._showInput(); - self.editor.focus(); - self.editor.selectAll(); - } - }); - this.text.on(BI.TextButton.EVENT_CHANGE, function () { - BI.nextTick(function () { - self.fireEvent(BI.SignEditor.EVENT_CLICK_LABEL) - }); - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.text, - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - this.editor.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.editor.on(BI.Editor.EVENT_FOCUS, function () { - self.fireEvent(BI.SignEditor.EVENT_FOCUS, arguments); - }); - this.editor.on(BI.Editor.EVENT_BLUR, function () { - self.fireEvent(BI.SignEditor.EVENT_BLUR, arguments); - }); - this.editor.on(BI.Editor.EVENT_CLICK, function () { - self.fireEvent(BI.SignEditor.EVENT_CLICK, arguments); - }); - this.editor.on(BI.Editor.EVENT_CHANGE, function () { - self.fireEvent(BI.SignEditor.EVENT_CHANGE, arguments); - }); - this.editor.on(BI.Editor.EVENT_KEY_DOWN, function (v) { - self.fireEvent(BI.SignEditor.EVENT_KEY_DOWN, arguments); - }); - - this.editor.on(BI.Editor.EVENT_VALID, function () { - self.fireEvent(BI.SignEditor.EVENT_VALID, arguments); - }); - this.editor.on(BI.Editor.EVENT_CONFIRM, function () { - self._showHint(); - self._checkText(); - self.fireEvent(BI.SignEditor.EVENT_CONFIRM, arguments); - }); - this.editor.on(BI.Editor.EVENT_START, function () { - self.fireEvent(BI.SignEditor.EVENT_START, arguments); - }); - this.editor.on(BI.Editor.EVENT_PAUSE, function () { - self.fireEvent(BI.SignEditor.EVENT_PAUSE, arguments); - }); - this.editor.on(BI.Editor.EVENT_STOP, function () { - self.fireEvent(BI.SignEditor.EVENT_STOP, arguments); - }); - this.editor.on(BI.Editor.EVENT_SPACE, function () { - self.fireEvent(BI.SignEditor.EVENT_SPACE, arguments); - }); - this.editor.on(BI.Editor.EVENT_ERROR, function () { - self._checkText(); - self.fireEvent(BI.SignEditor.EVENT_ERROR, arguments); - }); - this.editor.on(BI.Editor.EVENT_ENTER, function () { - self.fireEvent(BI.SignEditor.EVENT_ENTER, arguments); - }); - this.editor.on(BI.Editor.EVENT_RESTRICT, function () { - self.fireEvent(BI.SignEditor.EVENT_RESTRICT, arguments); - }); - this.editor.on(BI.Editor.EVENT_EMPTY, function () { - self.fireEvent(BI.SignEditor.EVENT_EMPTY, arguments); - }); - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - element: this, - items: [this.editor] - }); - this._showHint(); - self._checkText(); - }, - - _checkText: function () { - var o = this.options; - BI.nextTick(BI.bind(function () { - if (this.editor.getValue() === "") { - this.text.setValue(o.watermark || ""); - this.text.element.addClass("bi-water-mark"); - } else { - this.text.setValue(this.editor.getValue()); - this.text.element.removeClass("bi-water-mark"); - } - }, this)); - }, - - _showInput: function () { - this.editor.visible(); - this.text.invisible(); - }, - - _showHint: function () { - this.editor.invisible(); - this.text.visible(); - }, - - setTitle: function (title) { - this.text.setTitle(title); - }, - - setWarningTitle: function (title) { - this.text.setWarningTitle(title); - }, - - focus: function () { - this._showInput(); - this.editor.focus(); - }, - - blur: function () { - this.editor.blur(); - this._showHint(); - this._checkText(); - }, - - doRedMark: function () { - if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { - return; - } - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { - return; - } - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - isValid: function () { - return this.editor.isValid(); - }, - - setErrorText: function (text) { - this.editor.setErrorText(text); - }, - - getErrorText: function () { - return this.editor.getErrorText(); - }, - - isEditing: function () { - return this.editor.isEditing(); - }, - - getLastValidValue: function () { - return this.editor.getLastValidValue(); - }, - - setValue: function (k) { - this.editor.setValue(k); - this._checkText(); - }, - - getValue: function () { - return this.editor.getValue(); - }, - - getState: function () { - return this.text.getValue(); - }, - - setState: function (v) { - this._showHint(); - this.text.setValue(v); - } -}); -BI.SignEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.SignEditor.EVENT_FOCUS = "EVENT_FOCUS"; -BI.SignEditor.EVENT_BLUR = "EVENT_BLUR"; -BI.SignEditor.EVENT_CLICK = "EVENT_CLICK"; -BI.SignEditor.EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; -BI.SignEditor.EVENT_CLICK_LABEL = "EVENT_CLICK_LABEL"; - -BI.SignEditor.EVENT_START = "EVENT_START"; -BI.SignEditor.EVENT_PAUSE = "EVENT_PAUSE"; -BI.SignEditor.EVENT_STOP = "EVENT_STOP"; -BI.SignEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.SignEditor.EVENT_VALID = "EVENT_VALID"; -BI.SignEditor.EVENT_ERROR = "EVENT_ERROR"; -BI.SignEditor.EVENT_ENTER = "EVENT_ENTER"; -BI.SignEditor.EVENT_RESTRICT = "EVENT_RESTRICT"; -BI.SignEditor.EVENT_SPACE = "EVENT_SPACE"; -BI.SignEditor.EVENT_EMPTY = "EVENT_EMPTY"; - -BI.shortcut("bi.sign_editor", BI.SignEditor); \ No newline at end of file diff --git a/src/case/editor/editor.state.js b/src/case/editor/editor.state.js deleted file mode 100644 index ddd6e788aa..0000000000 --- a/src/case/editor/editor.state.js +++ /dev/null @@ -1,274 +0,0 @@ -/** - * guy - * 记录状态的输入框 - * @class BI.StateEditor - * @extends BI.Single - */ -BI.StateEditor = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.StateEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-state-editor", - hgap: 4, - vgap: 2, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - validationChecker: BI.emptyFn, - quitChecker: BI.emptyFn, - allowBlank: true, - watermark: "", - errorText: "", - height: 24 - }) - }, - - _init: function () { - BI.StateEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: "bi.editor", - height: o.height, - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - value: o.value, - validationChecker: o.validationChecker, - quitChecker: o.quitChecker, - allowBlank: o.allowBlank, - watermark: o.watermark, - errorText: o.errorText - }); - this.text = BI.createWidget({ - type: "bi.text_button", - cls: "state-editor-infinite-text bi-disabled", - textAlign: "left", - height: o.height, - text: BI.i18nText("BI-Basic_Unrestricted"), - hgap: 4, - handler: function () { - self._showInput(); - self.editor.focus(); - self.editor.setValue(""); - } - }); - this.text.on(BI.TextButton.EVENT_CHANGE, function () { - BI.nextTick(function () { - self.fireEvent(BI.StateEditor.EVENT_CLICK_LABEL); - }); - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.text, - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - this.editor.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.editor.on(BI.Editor.EVENT_FOCUS, function () { - self.fireEvent(BI.StateEditor.EVENT_FOCUS, arguments); - }); - this.editor.on(BI.Editor.EVENT_BLUR, function () { - self.fireEvent(BI.StateEditor.EVENT_BLUR, arguments); - }); - this.editor.on(BI.Editor.EVENT_CLICK, function () { - self.fireEvent(BI.StateEditor.EVENT_CLICK, arguments); - }); - this.editor.on(BI.Editor.EVENT_CHANGE, function () { - self.fireEvent(BI.StateEditor.EVENT_CHANGE, arguments); - }); - this.editor.on(BI.Editor.EVENT_KEY_DOWN, function (v) { - self.fireEvent(BI.StateEditor.EVENT_KEY_DOWN, arguments); - }); - - this.editor.on(BI.Editor.EVENT_VALID, function () { - self.fireEvent(BI.StateEditor.EVENT_VALID, arguments); - }); - this.editor.on(BI.Editor.EVENT_CONFIRM, function () { - self._showHint(); - self.fireEvent(BI.StateEditor.EVENT_CONFIRM, arguments); - }); - this.editor.on(BI.Editor.EVENT_START, function () { - self.fireEvent(BI.StateEditor.EVENT_START, arguments); - }); - this.editor.on(BI.Editor.EVENT_PAUSE, function () { - self.fireEvent(BI.StateEditor.EVENT_PAUSE, arguments); - }); - this.editor.on(BI.Editor.EVENT_STOP, function () { - self.fireEvent(BI.StateEditor.EVENT_STOP, arguments); - }); - this.editor.on(BI.Editor.EVENT_SPACE, function () { - self.fireEvent(BI.StateEditor.EVENT_SPACE, arguments); - }); - this.editor.on(BI.Editor.EVENT_ERROR, function () { - self.fireEvent(BI.StateEditor.EVENT_ERROR, arguments); - }); - this.editor.on(BI.Editor.EVENT_ENTER, function () { - self.fireEvent(BI.StateEditor.EVENT_ENTER, arguments); - }); - this.editor.on(BI.Editor.EVENT_RESTRICT, function () { - self.fireEvent(BI.StateEditor.EVENT_RESTRICT, arguments); - }); - this.editor.on(BI.Editor.EVENT_EMPTY, function () { - self.fireEvent(BI.StateEditor.EVENT_EMPTY, arguments); - }); - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - element: this, - items: [this.editor] - }); - this._showHint(); - }, - - doRedMark: function () { - if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { - return; - } - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { - return; - } - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - focus: function () { - if (this.options.disabled === false) { - this._showInput(); - this.editor.focus(); - } - }, - - blur: function () { - this.editor.blur(); - this._showHint(); - }, - - _showInput: function () { - this.editor.visible(); - this.text.invisible(); - }, - - _showHint: function () { - this.editor.invisible(); - this.text.visible(); - }, - - isValid: function () { - return this.editor.isValid(); - }, - - setErrorText: function (text) { - this.editor.setErrorText(text); - }, - - getErrorText: function () { - return this.editor.getErrorText(); - }, - - isEditing: function () { - return this.editor.isEditing(); - }, - - getLastValidValue: function () { - return this.editor.getLastValidValue(); - }, - - setValue: function (k) { - this.editor.setValue(k); - }, - - getValue: function () { - return this.editor.getValue(); - }, - - getState: function () { - return this.editor.getValue().match(/[^\s]+/g); - }, - - setState: function (v) { - BI.StateEditor.superclass.setValue.apply(this, arguments); - if (BI.isNumber(v)) { - if (v === BI.Selection.All) { - this.text.setText(BI.i18nText("BI-Select_All")); - this.text.setTitle(""); - this.text.element.removeClass("state-editor-infinite-text"); - } else if (v === BI.Selection.Multi) { - this.text.setText(BI.i18nText("BI-Select_Part")); - this.text.setTitle(""); - this.text.element.removeClass("state-editor-infinite-text"); - } else { - this.text.setText(BI.i18nText("BI-Basic_Unrestricted")); - this.text.setTitle(""); - this.text.element.addClass("state-editor-infinite-text"); - } - return; - } - if (BI.isString(v)) { - // if (BI.isEmpty(v)) { - // this.text.setText(BI.i18nText("BI-Basic_Unrestricted")); - // this.text.setTitle(""); - // this.text.element.addClass("state-editor-infinite-text"); - // } else { - this.text.setText(v); - this.text.setTitle(v); - this.text.element.removeClass("state-editor-infinite-text"); - // } - return; - } - if (BI.isArray(v)) { - if (BI.isEmpty(v)) { - this.text.setText(BI.i18nText("BI-Basic_Unrestricted")); - this.text.element.addClass("state-editor-infinite-text"); - } else if (v.length === 1) { - this.text.setText(v[0]); - this.text.setTitle(v[0]); - this.text.element.removeClass("state-editor-infinite-text"); - } else { - this.text.setText(BI.i18nText("BI-Select_Part")); - this.text.setTitle(""); - this.text.element.removeClass("state-editor-infinite-text"); - } - } - } -}); -BI.StateEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.StateEditor.EVENT_FOCUS = "EVENT_FOCUS"; -BI.StateEditor.EVENT_BLUR = "EVENT_BLUR"; -BI.StateEditor.EVENT_CLICK = "EVENT_CLICK"; -BI.StateEditor.EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; -BI.StateEditor.EVENT_CLICK_LABEL = "EVENT_CLICK_LABEL"; - -BI.StateEditor.EVENT_START = "EVENT_START"; -BI.StateEditor.EVENT_PAUSE = "EVENT_PAUSE"; -BI.StateEditor.EVENT_STOP = "EVENT_STOP"; -BI.StateEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.StateEditor.EVENT_VALID = "EVENT_VALID"; -BI.StateEditor.EVENT_ERROR = "EVENT_ERROR"; -BI.StateEditor.EVENT_ENTER = "EVENT_ENTER"; -BI.StateEditor.EVENT_RESTRICT = "EVENT_RESTRICT"; -BI.StateEditor.EVENT_SPACE = "EVENT_SPACE"; -BI.StateEditor.EVENT_EMPTY = "EVENT_EMPTY"; - -BI.shortcut("bi.state_editor", BI.StateEditor); \ No newline at end of file diff --git a/src/case/editor/editor.state.simple.js b/src/case/editor/editor.state.simple.js deleted file mode 100644 index 792d045269..0000000000 --- a/src/case/editor/editor.state.simple.js +++ /dev/null @@ -1,255 +0,0 @@ -/** - * 无限制-已选择状态输入框 - * Created by GUY on 2016/5/18. - * @class BI.SimpleStateEditor - * @extends BI.Single - */ -BI.SimpleStateEditor = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.SimpleStateEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-simple-state-editor", - hgap: 4, - vgap: 2, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - validationChecker: BI.emptyFn, - quitChecker: BI.emptyFn, - mouseOut: false, - allowBlank: true, - watermark: "", - errorText: "", - height: 24 - }) - }, - - _init: function () { - BI.SimpleStateEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: "bi.editor", - height: o.height, - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - value: o.value, - validationChecker: o.validationChecker, - quitChecker: o.quitChecker, - allowBlank: o.allowBlank, - watermark: o.watermark, - errorText: o.errorText - }); - this.text = BI.createWidget({ - type: "bi.text_button", - cls: "state-editor-infinite-text bi-disabled", - textAlign: "left", - height: o.height, - text: BI.i18nText("BI-Basic_Unrestricted"), - hgap: 4, - handler: function () { - self._showInput(); - self.editor.focus(); - self.editor.setValue(""); - } - }); - this.text.on(BI.TextButton.EVENT_CHANGE, function () { - BI.nextTick(function () { - self.fireEvent(BI.SimpleStateEditor.EVENT_CLICK_LABEL); - }); - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.text, - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - this.editor.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.editor.on(BI.Editor.EVENT_FOCUS, function () { - self.fireEvent(BI.SimpleStateEditor.EVENT_FOCUS, arguments); - }); - this.editor.on(BI.Editor.EVENT_BLUR, function () { - self.fireEvent(BI.SimpleStateEditor.EVENT_BLUR, arguments); - }); - this.editor.on(BI.Editor.EVENT_CLICK, function () { - self.fireEvent(BI.SimpleStateEditor.EVENT_CLICK, arguments); - }); - this.editor.on(BI.Editor.EVENT_CHANGE, function () { - self.fireEvent(BI.SimpleStateEditor.EVENT_CHANGE, arguments); - }); - this.editor.on(BI.Editor.EVENT_KEY_DOWN, function (v) { - self.fireEvent(BI.SimpleStateEditor.EVENT_KEY_DOWN, arguments); - }); - - this.editor.on(BI.Editor.EVENT_VALID, function () { - self.fireEvent(BI.SimpleStateEditor.EVENT_VALID, arguments); - }); - this.editor.on(BI.Editor.EVENT_CONFIRM, function () { - self._showHint(); - self.fireEvent(BI.SimpleStateEditor.EVENT_CONFIRM, arguments); - }); - this.editor.on(BI.Editor.EVENT_START, function () { - self.fireEvent(BI.SimpleStateEditor.EVENT_START, arguments); - }); - this.editor.on(BI.Editor.EVENT_PAUSE, function () { - self.fireEvent(BI.SimpleStateEditor.EVENT_PAUSE, arguments); - }); - this.editor.on(BI.Editor.EVENT_STOP, function () { - self.fireEvent(BI.SimpleStateEditor.EVENT_STOP, arguments); - }); - this.editor.on(BI.Editor.EVENT_SPACE, function () { - self.fireEvent(BI.SimpleStateEditor.EVENT_SPACE, arguments); - }); - this.editor.on(BI.Editor.EVENT_ERROR, function () { - self.fireEvent(BI.SimpleStateEditor.EVENT_ERROR, arguments); - }); - this.editor.on(BI.Editor.EVENT_ENTER, function () { - self.fireEvent(BI.SimpleStateEditor.EVENT_ENTER, arguments); - }); - this.editor.on(BI.Editor.EVENT_RESTRICT, function () { - self.fireEvent(BI.SimpleStateEditor.EVENT_RESTRICT, arguments); - }); - this.editor.on(BI.Editor.EVENT_EMPTY, function () { - self.fireEvent(BI.SimpleStateEditor.EVENT_EMPTY, arguments); - }); - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - element: this, - items: [this.editor] - }); - this._showHint(); - }, - - doRedMark: function () { - if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { - return; - } - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doHighLight: function () { - if (this.editor.getValue() === "" && BI.isKey(this.options.watermark)) { - return; - } - this.text.doHighLight.apply(this.text, arguments); - }, - - unHighLight: function () { - this.text.unHighLight.apply(this.text, arguments); - }, - - focus: function () { - this._showInput(); - this.editor.focus(); - }, - - blur: function () { - this.editor.blur(); - this._showHint(); - }, - - _showInput: function () { - this.editor.visible(); - this.text.invisible(); - }, - - _showHint: function () { - this.editor.invisible(); - this.text.visible(); - }, - - isValid: function () { - return this.editor.isValid(); - }, - - setErrorText: function (text) { - this.editor.setErrorText(text); - }, - - getErrorText: function () { - return this.editor.getErrorText(); - }, - - isEditing: function () { - return this.editor.isEditing(); - }, - - getLastValidValue: function () { - return this.editor.getLastValidValue(); - }, - - setValue: function (k) { - this.editor.setValue(k); - }, - - getValue: function () { - return this.editor.getValue(); - }, - - getState: function () { - return this.editor.getValue().match(/[^\s]+/g); - }, - - setState: function (v) { - BI.SimpleStateEditor.superclass.setValue.apply(this, arguments); - if (BI.isNumber(v)) { - if (v === BI.Selection.All) { - this.text.setText(BI.i18nText("BI-Already_Selected")); - this.text.element.removeClass("state-editor-infinite-text"); - } else if (v === BI.Selection.Multi) { - this.text.setText(BI.i18nText("BI-Already_Selected")); - this.text.element.removeClass("state-editor-infinite-text"); - } else { - this.text.setText(BI.i18nText("BI-Basic_Unrestricted")); - this.text.element.addClass("state-editor-infinite-text"); - } - return; - } - if (!BI.isArray(v) || v.length === 1) { - this.text.setText(v); - this.text.setTitle(v); - this.text.element.removeClass("state-editor-infinite-text"); - } else if (BI.isEmpty(v)) { - this.text.setText(BI.i18nText("BI-Basic_Unrestricted")); - this.text.element.addClass("state-editor-infinite-text"); - } else { - this.text.setText(BI.i18nText("BI-Already_Selected")); - this.text.element.removeClass("state-editor-infinite-text"); - } - } -}); -BI.SimpleStateEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.SimpleStateEditor.EVENT_FOCUS = "EVENT_FOCUS"; -BI.SimpleStateEditor.EVENT_BLUR = "EVENT_BLUR"; -BI.SimpleStateEditor.EVENT_CLICK = "EVENT_CLICK"; -BI.SimpleStateEditor.EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; -BI.SimpleStateEditor.EVENT_CLICK_LABEL = "EVENT_CLICK_LABEL"; - -BI.SimpleStateEditor.EVENT_START = "EVENT_START"; -BI.SimpleStateEditor.EVENT_PAUSE = "EVENT_PAUSE"; -BI.SimpleStateEditor.EVENT_STOP = "EVENT_STOP"; -BI.SimpleStateEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.SimpleStateEditor.EVENT_VALID = "EVENT_VALID"; -BI.SimpleStateEditor.EVENT_ERROR = "EVENT_ERROR"; -BI.SimpleStateEditor.EVENT_ENTER = "EVENT_ENTER"; -BI.SimpleStateEditor.EVENT_RESTRICT = "EVENT_RESTRICT"; -BI.SimpleStateEditor.EVENT_SPACE = "EVENT_SPACE"; -BI.SimpleStateEditor.EVENT_EMPTY = "EVENT_EMPTY"; - -BI.shortcut("bi.simple_state_editor", BI.SimpleStateEditor); \ No newline at end of file diff --git a/src/case/floatbox/floatboxsection.bar.js b/src/case/floatbox/floatboxsection.bar.js deleted file mode 100644 index 4b6a6b1523..0000000000 --- a/src/case/floatbox/floatboxsection.bar.js +++ /dev/null @@ -1,52 +0,0 @@ -/** - * 有确定取消按钮的弹出层 - * @class BI.BarPopoverSection - * @extends BI.PopoverSection - * @abstract - */ -BI.BarPopoverSection = BI.inherit(BI.PopoverSection, { - _defaultConfig: function () { - return BI.extend(BI.BarPopoverSection.superclass._defaultConfig.apply(this, arguments), { - btns: [BI.i18nText(BI.i18nText("BI-Basic_Sure")), BI.i18nText(BI.i18nText("BI-Basic_Cancel"))] - }) - }, - - _init: function () { - BI.BarPopoverSection.superclass._init.apply(this, arguments); - }, - - rebuildSouth: function (south) { - var self = this, o = this.options; - this.sure = BI.createWidget({ - type: 'bi.button', - text: this.options.btns[0], - warningTitle: o.warningTitle, - height: 30, - value: 0, - handler: function (v) { - self.end(); - self.close(v); - } - }); - this.cancel = BI.createWidget({ - type: 'bi.button', - text: this.options.btns[1], - height: 30, - value: 1, - level: 'ignore', - handler: function (v) { - self.close(v); - } - }); - BI.createWidget({ - type: 'bi.right_vertical_adapt', - element: south, - hgap: 5, - items: [this.cancel, this.sure] - }); - }, - - setConfirmButtonEnable: function(v){ - this.sure.setEnable(!!v); - } -}); \ No newline at end of file diff --git a/src/case/layer/layer.multipopup.js b/src/case/layer/layer.multipopup.js deleted file mode 100644 index 4f1ef1bf97..0000000000 --- a/src/case/layer/layer.multipopup.js +++ /dev/null @@ -1,64 +0,0 @@ -/** - * 下拉框弹出层的多选版本,toolbar带有若干按钮, zIndex在1000w - * @class BI.MultiPopupView - * @extends BI.Widget - */ - -BI.MultiPopupView = BI.inherit(BI.PopupView, { - - _defaultConfig: function () { - var conf = BI.MultiPopupView.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-multi-list-view", - buttons: [BI.i18nText("BI-Basic_Sure")] - }) - }, - - _init: function () { - BI.MultiPopupView.superclass._init.apply(this, arguments); - }, - - _createToolBar: function () { - var o = this.options, self = this; - if (o.buttons.length === 0) { - return; - } - - var text = []; //构造[{text:content},……] - BI.each(o.buttons, function (idx, item) { - text.push({ - text: item, - value: idx - }) - }); - - this.buttongroup = BI.createWidget({ - type: "bi.button_group", - cls: "list-view-toolbar bi-high-light bi-border-top", - height: 30, - items: BI.createItems(text, { - type: "bi.text_button", - once: false, - shadow: true, - isShadowShowingOnSelected: true - }), - layouts: [{ - type: "bi.center", - hgap: 0, - vgap: 0 - }] - }); - - this.buttongroup.on(BI.ButtonGroup.EVENT_CHANGE, function (value, obj) { - self.fireEvent(BI.MultiPopupView.EVENT_CLICK_TOOLBAR_BUTTON, value, obj); - }); - - return this.buttongroup; - } - -}); - -BI.MultiPopupView.EVENT_CHANGE = "EVENT_CHANGE"; -BI.MultiPopupView.EVENT_CLICK_TOOLBAR_BUTTON = "EVENT_CLICK_TOOLBAR_BUTTON"; - -BI.shortcut("bi.multi_popup_view", BI.MultiPopupView); \ No newline at end of file diff --git a/src/case/layer/layer.panel.js b/src/case/layer/layer.panel.js deleted file mode 100644 index bc7aa8357a..0000000000 --- a/src/case/layer/layer.panel.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * 可以理解为MultiPopupView和Panel两个面板的结合体 - * @class BI.PopupPanel - * @extends BI.MultiPopupView - */ - -BI.PopupPanel = BI.inherit(BI.MultiPopupView, { - - _defaultConfig: function () { - var conf = BI.PopupPanel.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-popup-panel", - title: "" - }) - }, - - _init: function () { - BI.PopupPanel.superclass._init.apply(this, arguments); - }, - - _createTool: function () { - var self = this, o = this.options; - var close = BI.createWidget({ - type: "bi.icon_button", - cls: "close-h-font", - width: 25, - height: 25 - }); - close.on(BI.IconButton.EVENT_CHANGE, function () { - self.setVisible(false); - self.fireEvent(BI.PopupPanel.EVENT_CLOSE); - }); - return BI.createWidget({ - type: "bi.htape", - cls: "popup-panel-title bi-background bi-border", - height: 25, - items: [{ - el: { - type: "bi.label", - textAlign: "left", - text: o.title, - height: 25, - lgap: 10 - } - }, { - el: close, - width: 25 - }] - }); - } -}); - -BI.PopupPanel.EVENT_CHANGE = "EVENT_CHANGE"; -BI.PopupPanel.EVENT_CLOSE = "EVENT_CLOSE"; -BI.PopupPanel.EVENT_CLICK_TOOLBAR_BUTTON = "EVENT_CLICK_TOOLBAR_BUTTON"; - -BI.shortcut("bi.popup_panel", BI.PopupPanel); \ No newline at end of file diff --git a/src/case/layer/pane.list.js b/src/case/layer/pane.list.js deleted file mode 100644 index 2e1782635c..0000000000 --- a/src/case/layer/pane.list.js +++ /dev/null @@ -1,175 +0,0 @@ -/** - * list面板 - * - * Created by GUY on 2015/10/30. - * @class BI.ListPane - * @extends BI.Pane - */ -BI.ListPane = BI.inherit(BI.Pane, { - - _defaultConfig: function () { - var conf = BI.ListPane.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-list-pane", - logic: { - dynamic: true - }, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - vgap: 0, - hgap: 0, - items: [], - itemsCreator: BI.emptyFn, - hasNext: BI.emptyFn, - onLoaded: BI.emptyFn, - el: { - type: "bi.button_group" - } - }) - }, - _init: function () { - BI.ListPane.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.button_group = BI.createWidget(o.el, { - type: "bi.button_group", - chooseType: BI.ButtonGroup.CHOOSE_TYPE_SINGLE, - behaviors: {}, - items: o.items, - itemsCreator: function (op, calback) { - if (op.times === 1) { - self.empty(); - BI.nextTick(function () { - self.loading() - }); - } - o.itemsCreator(op, function () { - calback.apply(self, arguments); - op.times === 1 && BI.nextTick(function () { - self.loaded(); - }); - }); - }, - hasNext: o.hasNext, - layouts: [{ - type: "bi.vertical" - }] - }); - - this.button_group.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.ListPane.EVENT_CHANGE, value, obj); - } - }); - this.check(); - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Top), BI.extend({ - scrolly: true, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - vgap: o.vgap, - hgap: o.hgap - }, o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Top, this.button_group) - })))); - }, - - hasPrev: function () { - return this.button_group.hasPrev && this.button_group.hasPrev(); - }, - - hasNext: function () { - return this.button_group.hasNext && this.button_group.hasNext(); - }, - - prependItems: function (items) { - this.options.items = items.concat(this.options.items); - this.button_group.prependItems.apply(this.button_group, arguments); - this.check(); - }, - - addItems: function (items) { - this.options.items = this.options.items.concat(items); - this.button_group.addItems.apply(this.button_group, arguments); - this.check(); - }, - - removeItemAt: function (indexes) { - indexes = indexes || []; - BI.removeAt(this.options.items, indexes); - this.button_group.removeItemAt.apply(this.button_group, arguments); - this.check(); - }, - - populate: function (items) { - var self = this, o = this.options; - if (arguments.length === 0 && (BI.isFunction(this.button_group.attr("itemsCreator")))) {//接管loader的populate方法 - this.button_group.attr("itemsCreator").apply(this, [{times: 1}, function () { - if (arguments.length === 0) { - throw new Error("参数不能为空"); - } - self.populate.apply(self, arguments); - }]); - return; - } - BI.ListPane.superclass.populate.apply(this, arguments); - this.button_group.populate.apply(this.button_group, arguments); - }, - - empty: function () { - this.button_group.empty(); - }, - - setNotSelectedValue: function () { - this.button_group.setNotSelectedValue.apply(this.button_group, arguments); - }, - - getNotSelectedValue: function () { - return this.button_group.getNotSelectedValue(); - }, - - setValue: function () { - this.button_group.setValue.apply(this.button_group, arguments); - }, - - getValue: function () { - return this.button_group.getValue.apply(this.button_group, arguments); - }, - - getAllButtons: function () { - return this.button_group.getAllButtons(); - }, - - getAllLeaves: function () { - return this.button_group.getAllLeaves(); - }, - - getSelectedButtons: function () { - return this.button_group.getSelectedButtons(); - }, - - getNotSelectedButtons: function () { - return this.button_group.getNotSelectedButtons(); - }, - - getIndexByValue: function (value) { - return this.button_group.getIndexByValue(value); - }, - - getNodeById: function (id) { - return this.button_group.getNodeById(id); - }, - - getNodeByValue: function (value) { - return this.button_group.getNodeByValue(value); - } -}); -BI.ListPane.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.list_pane", BI.ListPane); \ No newline at end of file diff --git a/src/case/layer/panel.js b/src/case/layer/panel.js deleted file mode 100644 index 5e0f751900..0000000000 --- a/src/case/layer/panel.js +++ /dev/null @@ -1,79 +0,0 @@ -/** - * 带有标题栏的pane - * @class BI.Panel - * @extends BI.Widget - */ -BI.Panel = BI.inherit(BI.Widget,{ - _defaultConfig : function(){ - return BI.extend(BI.Panel.superclass._defaultConfig.apply(this,arguments),{ - baseCls: "bi-panel bi-border", - title:"", - titleButtons:[], - el:{}, - logic:{ - dynamic: false - } - }); - }, - - _init:function(){ - BI.Panel.superclass._init.apply(this,arguments); - var o = this.options; - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic("vertical", BI.extend(o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("top", this._createTitle() - ,this.options.el) - })))); - }, - - _createTitle:function(){ - var self = this, o = this.options; - this.text = BI.createWidget({ - type: "bi.label", - cls: "panel-title-text", - text: o.title, - height: 30 - }); - - this.button_group = BI.createWidget({ - type:"bi.button_group", - items: o.titleButtons, - layouts: [{ - type: "bi.center_adapt", - lgap:10 - }] - }); - - this.button_group.on(BI.Controller.EVENT_CHANGE, function(){ - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.button_group.on(BI.ButtonGroup.EVENT_CHANGE, function(value, obj){ - self.fireEvent(BI.Panel.EVENT_CHANGE, value, obj); - }); - - return { - el: { - type: "bi.left_right_vertical_adapt", - cls: "panel-title bi-tips bi-border-bottom bi-background", - height: 30, - items: { - left: [this.text], - right: [this.button_group] - }, - lhgap: 10, - rhgap: 10 - }, - height: 30 - }; - }, - - setTitle: function(title){ - this.text.setValue(title); - } -}); -BI.Panel.EVENT_CHANGE = "Panel.EVENT_CHANGE"; - -BI.shortcut("bi.panel",BI.Panel); \ No newline at end of file diff --git a/src/case/list/list.select.js b/src/case/list/list.select.js deleted file mode 100644 index 6a44b884e8..0000000000 --- a/src/case/list/list.select.js +++ /dev/null @@ -1,213 +0,0 @@ -/** - * 选择列表 - * - * Created by GUY on 2015/11/1. - * @class BI.SelectList - * @extends BI.Widget - */ -BI.SelectList = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SelectList.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-select-list", - direction: BI.Direction.Top,//toolbar的位置 - logic: { - dynamic: true - }, - items: [], - itemsCreator: BI.emptyFn, - hasNext: BI.emptyFn, - onLoaded: BI.emptyFn, - toolbar: { - type: "bi.multi_select_bar" - }, - el: { - type: "bi.list_pane" - } - }) - }, - _init: function () { - BI.SelectList.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - //全选 - this.toolbar = BI.createWidget(o.toolbar); - this.allSelected = false; - this.toolbar.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - self.allSelected = this.isSelected(); - if (type === BI.Events.CLICK) { - self.setAllSelected(self.allSelected); - self.fireEvent(BI.SelectList.EVENT_CHANGE, value, obj); - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.list = BI.createWidget(o.el, { - type: "bi.list_pane", - items: o.items, - itemsCreator: function (op, callback) { - op.times === 1 && self.toolbar.setVisible(false); - o.itemsCreator(op, function (items) { - callback.apply(self, arguments); - if (op.times === 1) { - self.toolbar.setVisible(items && items.length > 0); - self.toolbar.setEnable(items && items.length > 0); - } - self._checkAllSelected(); - }); - }, - onLoaded: o.onLoaded, - hasNext: o.hasNext - }); - - this.list.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - if (type === BI.Events.CLICK) { - self._checkAllSelected(); - self.fireEvent(BI.SelectList.EVENT_CHANGE, value, obj); - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction), BI.extend({ - scrolly: true - }, o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection(o.direction, this.toolbar, this.list) - })))); - - if (o.items.length <= 0) { - this.toolbar.setVisible(false); - this.toolbar.setEnable(false); - } - }, - - _checkAllSelected: function () { - var selectLength = this.list.getValue().length; - var notSelectLength = this.getAllLeaves().length - selectLength; - var hasNext = this.list.hasNext(); - var isAlreadyAllSelected = this.toolbar.isSelected(); - var isHalf = selectLength > 0 && (notSelectLength > 0 || (!isAlreadyAllSelected && hasNext)); - isHalf = isHalf || (notSelectLength > 0 && hasNext && isAlreadyAllSelected); - this.toolbar.setHalfSelected(isHalf); - !isHalf && this.toolbar.setSelected(selectLength > 0 && notSelectLength <= 0 && (!hasNext || isAlreadyAllSelected)); - }, - - setAllSelected: function (v) { - BI.each(this.getAllButtons(), function (i, btn) { - (btn.setSelected || btn.setAllSelected).apply(btn, [v]); - }); - this.allSelected = !!v; - this.toolbar.setSelected(v); - this.toolbar.setHalfSelected(false); - }, - - setToolBarVisible: function (b) { - this.toolbar.setVisible(b); - }, - - isAllSelected: function () { - return this.allSelected; - // return this.toolbar.isSelected(); - }, - - hasPrev: function () { - return this.list.hasPrev(); - }, - - hasNext: function () { - return this.list.hasNext(); - }, - - prependItems: function (items) { - this.list.prependItems.apply(this.list, arguments); - }, - - addItems: function (items) { - this.list.addItems.apply(this.list, arguments); - }, - - setValue: function (data) { - var selectAll = data.type === BI.ButtonGroup.CHOOSE_TYPE_ALL; - this.setAllSelected(selectAll); - this.list[selectAll ? "setNotSelectedValue" : "setValue"](data.value); - this._checkAllSelected(); - }, - - getValue: function () { - if (this.isAllSelected() === false) { - return { - type: BI.ButtonGroup.CHOOSE_TYPE_MULTI, - value: this.list.getValue(), - assist: this.list.getNotSelectedValue() - }; - } else { - return { - type: BI.ButtonGroup.CHOOSE_TYPE_ALL, - value: this.list.getNotSelectedValue(), - assist: this.list.getValue() - }; - } - }, - - empty: function () { - this.list.empty(); - }, - - populate: function (items) { - this.toolbar.setVisible(!BI.isEmptyArray(items)); - this.toolbar.setEnable(!BI.isEmptyArray(items)); - this.list.populate.apply(this.list, arguments); - this._checkAllSelected(); - }, - - _setEnable: function (enable) { - BI.SelectList.superclass._setEnable.apply(this, arguments); - this.toolbar.setEnable(enable); - }, - - resetHeight: function (h) { - var toolHeight = ( this.toolbar.element.outerHeight() || 25) * ( this.toolbar.isVisible() ? 1 : 0); - this.list.resetHeight ? this.list.resetHeight(h - toolHeight) : - this.list.element.css({"max-height": h - toolHeight + "px"}) - }, - - setNotSelectedValue: function () { - this.list.setNotSelectedValue.apply(this.list, arguments); - this._checkAllSelected(); - }, - - getNotSelectedValue: function () { - return this.list.getNotSelectedValue(); - }, - - getAllButtons: function () { - return this.list.getAllButtons(); - }, - - getAllLeaves: function () { - return this.list.getAllLeaves(); - }, - - getSelectedButtons: function () { - return this.list.getSelectedButtons(); - }, - - getNotSelectedButtons: function () { - return this.list.getNotSelectedButtons(); - }, - - getIndexByValue: function (value) { - return this.list.getIndexByValue(value); - }, - - getNodeById: function (id) { - return this.list.getNodeById(id); - }, - - getNodeByValue: function (value) { - return this.list.getNodeByValue(value); - } -}); -BI.SelectList.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.select_list", BI.SelectList); \ No newline at end of file diff --git a/src/case/loader/loader.lazy.js b/src/case/loader/loader.lazy.js deleted file mode 100644 index 2f3d6859cc..0000000000 --- a/src/case/loader/loader.lazy.js +++ /dev/null @@ -1,102 +0,0 @@ -/** - * Created by roy on 15/11/6. - */ -BI.LazyLoader = BI.inherit(BI.Widget, { - _const: { - PAGE: 100 - }, - _defaultConfig: function () { - return BI.extend(BI.LazyLoader.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-lazy-loader", - el: {} - }) - }, - - _init: function () { - var self = this, o = this.options; - BI.LazyLoader.superclass._init.apply(this, arguments); - var all = o.items.length; - this.loader = BI.createWidget({ - type: "bi.loader", - element: this, - //下面是button_group的属性 - el: o.el, - - itemsCreator: function (options, populate) { - populate(self._getNextItems(options)); - }, - hasNext: function (option) { - return option.count < all; - } - }); - - this.loader.on(BI.Loader.EVENT_CHANGE, function (obj) { - self.fireEvent(BI.LazyLoader.EVENT_CHANGE, obj) - }) - }, - _getNextItems: function (options) { - var self = this, o = this.options; - var lastNum = o.items.length - this._const.PAGE * (options.times - 1); - var lastItems = BI.last(o.items, lastNum); - var nextItems = BI.first(lastItems, this._const.PAGE); - return nextItems; - }, - - populate: function (items) { - this.loader.populate(items); - }, - - addItems: function (items) { - this.loader.addItems(items); - }, - - empty: function () { - this.loader.empty(); - }, - - setNotSelectedValue: function () { - this.loader.setNotSelectedValue.apply(this.loader, arguments); - }, - - getNotSelectedValue: function () { - return this.loader.getNotSelectedValue(); - }, - - setValue: function () { - this.loader.setValue.apply(this.loader, arguments); - }, - - getValue: function () { - return this.loader.getValue.apply(this.loader, arguments); - }, - - getAllButtons: function () { - return this.loader.getAllButtons(); - }, - - getAllLeaves: function () { - return this.loader.getAllLeaves(); - }, - - getSelectedButtons: function () { - return this.loader.getSelectedButtons(); - }, - - getNotSelectedButtons: function () { - return this.loader.getNotSelectedButtons(); - }, - - getIndexByValue: function (value) { - return this.loader.getIndexByValue(value); - }, - - getNodeById: function (id) { - return this.loader.getNodeById(id); - }, - - getNodeByValue: function (value) { - return this.loader.getNodeByValue(value); - } -}); -BI.LazyLoader.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.lazy_loader", BI.LazyLoader); \ No newline at end of file diff --git a/src/case/loader/loader.list.js b/src/case/loader/loader.list.js deleted file mode 100644 index b855c34a2d..0000000000 --- a/src/case/loader/loader.list.js +++ /dev/null @@ -1,196 +0,0 @@ -/** - * 恶心的加载控件, 为解决排序问题引入的控件 - * - * Created by GUY on 2015/11/12. - * @class BI.ListLoader - * @extends BI.Widget - */ -BI.ListLoader = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.ListLoader.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-list-loader", - - isDefaultInit: true,//是否默认初始化数据 - - //下面是button_group的属性 - el: { - type: "bi.button_group" - }, - - items: [], - itemsCreator: BI.emptyFn, - onLoaded: BI.emptyFn, - - //下面是分页信息 - count: false, - next: {}, - hasNext: BI.emptyFn - }) - }, - - _nextLoad: function () { - var self = this, o = this.options; - this.next.setLoading(); - o.itemsCreator.apply(this, [{times: ++this.times}, function () { - self.next.setLoaded(); - self.addItems.apply(self, arguments); - }]); - }, - - _init: function () { - BI.ListLoader.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (o.itemsCreator === false) { - o.next = false; - } - - this.button_group = BI.createWidget(o.el, { - type: "bi.button_group", - element: this, - chooseType: 0, - items: o.items, - behaviors: {}, - layouts: [{ - type: "bi.vertical" - }] - }); - this.button_group.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.ListLoader.EVENT_CHANGE, obj); - } - }); - - if (o.next !== false) { - this.next = BI.createWidget(BI.extend({ - type: "bi.loading_bar" - }, o.next)); - this.next.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - self._nextLoad(); - } - }) - } - - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [this.next] - }); - - o.isDefaultInit && BI.isEmpty(o.items) && BI.nextTick(BI.bind(function () { - this.populate(); - }, this)); - if (BI.isNotEmptyArray(o.items)) { - this.populate(o.items); - } - }, - - hasNext: function () { - var o = this.options; - if (BI.isNumber(o.count)) { - return this.count < o.count; - } - return !!o.hasNext.apply(this, [{ - times: this.times, - count: this.count - }]) - }, - - addItems: function (items) { - this.count += items.length; - if (BI.isObject(this.next)) { - if (this.hasNext()) { - this.options.items = this.options.items.concat(items); - this.next.setLoaded(); - } else { - this.next.setEnd(); - } - } - this.button_group.addItems.apply(this.button_group, arguments); - this.next.element.appendTo(this.element); - }, - - populate: function (items) { - var self = this, o = this.options; - if (arguments.length === 0 && (BI.isFunction(o.itemsCreator))) { - o.itemsCreator.apply(this, [{times: 1}, function () { - if (arguments.length === 0) { - throw new Error("参数不能为空"); - } - self.populate.apply(self, arguments); - o.onLoaded(); - }]); - return; - } - this.options.items = items; - this.times = 1; - this.count = 0; - this.count += items.length; - if (BI.isObject(this.next)) { - if (this.hasNext()) { - this.next.setLoaded(); - } else { - this.next.invisible(); - } - } - BI.DOM.hang([this.next]); - this.button_group.populate.apply(this.button_group, arguments); - this.next.element.appendTo(this.element); - }, - - empty: function () { - BI.DOM.hang([this.next]); - this.button_group.empty(); - this.next.element.appendTo(this.element); - BI.each([this.next], function (i, ob) { - ob && ob.setVisible(false); - }); - }, - - setNotSelectedValue: function () { - this.button_group.setNotSelectedValue.apply(this.button_group, arguments); - }, - - getNotSelectedValue: function () { - return this.button_group.getNotSelectedValue(); - }, - - setValue: function () { - this.button_group.setValue.apply(this.button_group, arguments); - }, - - getValue: function () { - return this.button_group.getValue.apply(this.button_group, arguments); - }, - - getAllButtons: function () { - return this.button_group.getAllButtons(); - }, - - getAllLeaves: function () { - return this.button_group.getAllLeaves(); - }, - - getSelectedButtons: function () { - return this.button_group.getSelectedButtons(); - }, - - getNotSelectedButtons: function () { - return this.button_group.getNotSelectedButtons(); - }, - - getIndexByValue: function (value) { - return this.button_group.getIndexByValue(value); - }, - - getNodeById: function (id) { - return this.button_group.getNodeById(id); - }, - - getNodeByValue: function (value) { - return this.button_group.getNodeByValue(value); - } -}); -BI.ListLoader.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.list_loader", BI.ListLoader); \ No newline at end of file diff --git a/src/case/loader/sort.list.js b/src/case/loader/sort.list.js deleted file mode 100644 index 93a7d148d3..0000000000 --- a/src/case/loader/sort.list.js +++ /dev/null @@ -1,176 +0,0 @@ -/** - * Created by GUY on 2016/4/29. - * - * @class BI.SortList - * @extends BI.Widget - */ -BI.SortList = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.SortList.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-sort-list", - - isDefaultInit: true,//是否默认初始化数据 - - //下面是button_group的属性 - el: { - type: "bi.button_group" - }, - - items: [], - itemsCreator: BI.emptyFn, - onLoaded: BI.emptyFn, - - //下面是分页信息 - count: false, - next: {}, - hasNext: BI.emptyFn - - //containment: this.element, - //connectWith: ".bi-sort-list", - }) - }, - - _init: function () { - BI.SortList.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.loader = BI.createWidget({ - type: "bi.list_loader", - element: this, - isDefaultInit: o.isDefaultInit, - el: o.el, - items: this._formatItems(o.items), - itemsCreator: function (op, callback) { - o.itemsCreator(op, function (items) { - callback(self._formatItems(items)); - }); - }, - onLoaded: o.onLoaded, - count: o.count, - next: o.next, - hasNext: o.hasNext - }); - this.loader.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.SortList.EVENT_CHANGE, value, obj); - } - }); - - this.loader.element.sortable({ - containment: o.containment || this.element, - connectWith: o.connectWith || ".bi-sort-list", - items: ".sort-item", - cursor: o.cursor || "drag", - tolerance: o.tolerance || "intersect", - placeholder: { - element: function ($currentItem) { - var holder = BI.createWidget({ - type: "bi.layout", - cls: "bi-sortable-holder", - height: $currentItem.outerHeight() - }); - holder.element.css({ - "margin-left": $currentItem.css("margin-left"), - "margin-right": $currentItem.css("margin-right"), - "margin-top": $currentItem.css("margin-top"), - "margin-bottom": $currentItem.css("margin-bottom"), - "margin": $currentItem.css("margin") - }); - return holder.element; - }, - update: function () { - - } - }, - start: function (event, ui) { - - }, - stop: function (event, ui) { - self.fireEvent(BI.SortList.EVENT_CHANGE); - }, - over: function (event, ui) { - - } - }); - }, - - _formatItems: function (items) { - BI.each(items, function (i, item) { - item = BI.stripEL(item); - item.cls = item.cls ? item.cls + " sort-item" : "sort-item"; - item.attributes = { - sorted: item.value - }; - }); - return items; - }, - - hasNext: function () { - return this.loader.hasNext(); - }, - - addItems: function (items) { - this.loader.addItems(items); - }, - - populate: function (items) { - if (items) { - arguments[0] = this._formatItems(items); - } - this.loader.populate.apply(this.loader, arguments); - }, - - empty: function () { - this.loader.empty(); - }, - - setNotSelectedValue: function () { - this.loader.setNotSelectedValue.apply(this.loader, arguments); - }, - - getNotSelectedValue: function () { - return this.loader.getNotSelectedValue(); - }, - - setValue: function () { - this.loader.setValue.apply(this.loader, arguments); - }, - - getValue: function () { - return this.loader.getValue(); - }, - - getAllButtons: function () { - return this.loader.getAllButtons(); - }, - - getAllLeaves: function () { - return this.loader.getAllLeaves(); - }, - - getSelectedButtons: function () { - return this.loader.getSelectedButtons(); - }, - - getNotSelectedButtons: function () { - return this.loader.getNotSelectedButtons(); - }, - - getIndexByValue: function (value) { - return this.loader.getIndexByValue(value); - }, - - getNodeById: function (id) { - return this.loader.getNodeById(id); - }, - - getNodeByValue: function (value) { - return this.loader.getNodeByValue(value); - }, - - getSortedValues: function () { - return this.loader.element.sortable("toArray", {attribute: "sorted"}); - } -}); -BI.SortList.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.sort_list", BI.SortList); \ No newline at end of file diff --git a/src/case/pager/pager.all.count.js b/src/case/pager/pager.all.count.js deleted file mode 100644 index 3edf00dfb9..0000000000 --- a/src/case/pager/pager.all.count.js +++ /dev/null @@ -1,168 +0,0 @@ -/** - * 有总页数和总行数的分页控件 - * Created by Young's on 2016/10/13. - */ -BI.AllCountPager = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.AllCountPager.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-all-count-pager", - height: 30, - pages: 1, //必选项 - curr: 1, //初始化当前页, pages为数字时可用, - count: 1 //总行数 - }) - }, - _init: function () { - BI.AllCountPager.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: "bi.small_text_editor", - cls: "pager-editor", - validationChecker: function (v) { - return (self.rowCount.getValue() === 0 && v === "0") || BI.isPositiveInteger(v); - }, - hgap: 4, - vgap: 0, - value: o.curr, - errorText: BI.i18nText("BI-Please_Input_Positive_Integer"), - width: 35, - height: 20 - }); - - this.pager = BI.createWidget({ - type: "bi.pager", - width: 36, - layouts: [{ - type: "bi.horizontal", - hgap: 1, - vgap: 1 - }], - - dynamicShow: false, - pages: o.pages, - curr: o.curr, - groups: 0, - - first: false, - last: false, - prev: { - type: "bi.icon_button", - value: "prev", - title: BI.i18nText("BI-Previous_Page"), - warningTitle: BI.i18nText("BI-Current_Is_First_Page"), - height: 20, - cls: "all-pager-prev column-pre-page-h-font" - }, - next: { - type: "bi.icon_button", - value: "next", - title: BI.i18nText("BI-Next_Page"), - warningTitle: BI.i18nText("BI-Current_Is_Last_Page"), - height: 20, - cls: "all-pager-next column-next-page-h-font" - }, - - hasPrev: o.hasPrev, - hasNext: o.hasNext, - firstPage: o.firstPage, - lastPage: o.lastPage - }); - - this.editor.on(BI.TextEditor.EVENT_CONFIRM, function () { - self.pager.setValue(BI.parseInt(self.editor.getValue())); - self.fireEvent(BI.AllCountPager.EVENT_CHANGE); - }); - this.pager.on(BI.Pager.EVENT_CHANGE, function () { - self.fireEvent(BI.AllCountPager.EVENT_CHANGE); - }); - this.pager.on(BI.Pager.EVENT_AFTER_POPULATE, function () { - self.editor.setValue(self.pager.getCurrentPage()); - }); - - this.allPages = BI.createWidget({ - type: "bi.label", - width: 30, - title: o.pages, - text: "/" + o.pages - }); - - this.rowCount = BI.createWidget({ - type: "bi.label", - height: o.height, - hgap: 5, - text: o.count, - title: o.count - }); - - var count = BI.createWidget({ - type: "bi.left", - height: o.height, - scrollable: false, - items: [{ - type: "bi.label", - height: o.height, - text: BI.i18nText("BI-Basic_Total"), - width: 15 - }, this.rowCount, { - type: "bi.label", - height: o.height, - text: BI.i18nText("BI-Tiao_Data"), - width: 50, - textAlign: "left" - }] - }); - BI.createWidget({ - type: "bi.center_adapt", - element: this, - columnSize: ["", 35, 40, 36], - items: [count, this.editor, this.allPages, this.pager] - }) - }, - - alwaysShowPager: true, - - setAllPages: function (v) { - this.allPages.setText("/" + v); - this.allPages.setTitle(v); - this.pager.setAllPages(v); - this.editor.setEnable(v >= 1); - }, - - setValue: function (v) { - this.pager.setValue(v); - }, - - setVPage: function (v) { - this.pager.setValue(v); - }, - - setCount: function (count) { - this.rowCount.setText(count); - this.rowCount.setTitle(count); - }, - - getCurrentPage: function () { - return this.pager.getCurrentPage(); - }, - - hasPrev: function () { - return this.pager.hasPrev(); - }, - - hasNext: function () { - return this.pager.hasNext(); - }, - - setPagerVisible: function (b) { - this.editor.setVisible(b); - this.allPages.setVisible(b); - this.pager.setVisible(b); - }, - - populate: function () { - this.pager.populate(); - } -}); -BI.AllCountPager.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.all_count_pager", BI.AllCountPager); \ No newline at end of file diff --git a/src/case/pager/pager.direction.js b/src/case/pager/pager.direction.js deleted file mode 100644 index e9fad56b9e..0000000000 --- a/src/case/pager/pager.direction.js +++ /dev/null @@ -1,282 +0,0 @@ -/** - * 显示页码的分页控件 - * - * Created by GUY on 2016/6/30. - * @class BI.DirectionPager - * @extends BI.Widget - */ -BI.DirectionPager = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.DirectionPager.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-direction-pager", - height: 30, - horizontal: { - pages: false, //总页数 - curr: 1, //初始化当前页, pages为数字时可用 - - hasPrev: BI.emptyFn, - hasNext: BI.emptyFn, - firstPage: 1, - lastPage: BI.emptyFn - }, - vertical: { - pages: false, //总页数 - curr: 1, //初始化当前页, pages为数字时可用 - - hasPrev: BI.emptyFn, - hasNext: BI.emptyFn, - firstPage: 1, - lastPage: BI.emptyFn - } - }) - }, - _init: function () { - BI.DirectionPager.superclass._init.apply(this, arguments); - var self = this, o = this.options; - var v = o.vertical, h = o.horizontal; - this._createVPager(); - this._createHPager(); - this.layout = BI.createWidget({ - type: "bi.absolute", - scrollable: false, - element: this, - items: [{ - el: this.vpager, - top: 5, - right: 74 - }, { - el: this.vlabel, - top: 5, - right: 111 - }, { - el: this.hpager, - top: 5, - right: -9 - }, { - el: this.hlabel, - top: 5, - right: 28 - }] - }); - }, - - _createVPager: function () { - var self = this, o = this.options; - var v = o.vertical; - this.vlabel = BI.createWidget({ - type: "bi.label", - width: 24, - height: 20, - value: v.curr, - title: v.curr, - invisible: true - }); - this.vpager = BI.createWidget({ - type: "bi.pager", - width: 76, - layouts: [{ - type: "bi.horizontal", - scrollx: false, - rgap: 24, - vgap: 1 - }], - invisible: true, - - dynamicShow: false, - pages: v.pages, - curr: v.curr, - groups: 0, - - first: false, - last: false, - prev: { - type: "bi.icon_button", - value: "prev", - title: BI.i18nText("BI-Up_Page"), - warningTitle: BI.i18nText("BI-Current_Is_First_Page"), - height: 20, - iconWidth: 16, - iconHeight: 16, - cls: "direction-pager-prev column-pre-page-h-font" - }, - next: { - type: "bi.icon_button", - value: "next", - title: BI.i18nText("BI-Down_Page"), - warningTitle: BI.i18nText("BI-Current_Is_Last_Page"), - height: 20, - iconWidth: 16, - iconHeight: 16, - cls: "direction-pager-next column-next-page-h-font" - }, - - hasPrev: v.hasPrev, - hasNext: v.hasNext, - firstPage: v.firstPage, - lastPage: v.lastPage - }); - - this.vpager.on(BI.Pager.EVENT_CHANGE, function () { - self.fireEvent(BI.DirectionPager.EVENT_CHANGE); - }); - this.vpager.on(BI.Pager.EVENT_AFTER_POPULATE, function () { - self.vlabel.setValue(this.getCurrentPage()); - self.vlabel.setTitle(this.getCurrentPage()); - }); - }, - - _createHPager: function () { - var self = this, o = this.options; - var h = o.horizontal; - this.hlabel = BI.createWidget({ - type: "bi.label", - width: 24, - height: 20, - value: h.curr, - title: h.curr, - invisible: true - }); - this.hpager = BI.createWidget({ - type: "bi.pager", - width: 76, - layouts: [{ - type: "bi.horizontal", - scrollx: false, - rgap: 24, - vgap: 1 - }], - invisible: true, - - dynamicShow: false, - pages: h.pages, - curr: h.curr, - groups: 0, - - first: false, - last: false, - prev: { - type: "bi.icon_button", - value: "prev", - title: BI.i18nText("BI-Left_Page"), - warningTitle: BI.i18nText("BI-Current_Is_First_Page"), - height: 20, - iconWidth: 16, - iconHeight: 16, - cls: "direction-pager-prev row-pre-page-h-font" - }, - next: { - type: "bi.icon_button", - value: "next", - title: BI.i18nText("BI-Right_Page"), - warningTitle: BI.i18nText("BI-Current_Is_Last_Page"), - height: 20, - iconWidth: 16, - iconHeight: 16, - cls: "direction-pager-next row-next-page-h-font" - }, - - hasPrev: h.hasPrev, - hasNext: h.hasNext, - firstPage: h.firstPage, - lastPage: h.lastPage - }); - - this.hpager.on(BI.Pager.EVENT_CHANGE, function () { - self.fireEvent(BI.DirectionPager.EVENT_CHANGE); - }); - this.hpager.on(BI.Pager.EVENT_AFTER_POPULATE, function () { - self.hlabel.setValue(this.getCurrentPage()); - self.hlabel.setTitle(this.getCurrentPage()); - }); - }, - - getVPage: function () { - return this.vpager.getCurrentPage(); - }, - - getHPage: function () { - return this.hpager.getCurrentPage(); - }, - - setVPage: function (v) { - this.vpager.setValue(v); - this.vlabel.setValue(v); - this.vlabel.setTitle(v); - }, - - setHPage: function (v) { - this.hpager.setValue(v); - this.hlabel.setValue(v); - this.hlabel.setTitle(v); - }, - - hasVNext: function () { - return this.vpager.hasNext(); - }, - - hasHNext: function () { - return this.hpager.hasNext(); - }, - - hasVPrev: function () { - return this.vpager.hasPrev(); - }, - - hasHPrev: function () { - return this.hpager.hasPrev(); - }, - - setHPagerVisible: function (b) { - this.hpager.setVisible(b); - this.hlabel.setVisible(b); - }, - - setVPagerVisible: function (b) { - this.vpager.setVisible(b); - this.vlabel.setVisible(b); - }, - - populate: function () { - this.vpager.populate(); - this.hpager.populate(); - var vShow = false, hShow = false; - if (!this.hasHNext() && !this.hasHPrev()) { - this.setHPagerVisible(false); - } else { - this.setHPagerVisible(true); - hShow = true; - } - if (!this.hasVNext() && !this.hasVPrev()) { - this.setVPagerVisible(false); - } else { - this.setVPagerVisible(true); - vShow = true; - } - this.setVisible(hShow || vShow); - var num = [74, 111, -9, 28]; - var items = this.layout.attr("items"); - - if (vShow === true && hShow === true) { - items[0].right = num[0]; - items[1].right = num[1]; - items[2].right = num[2]; - items[3].right = num[3]; - } else if (vShow === true) { - items[0].right = num[2]; - items[1].right = num[3]; - } else if (hShow === true) { - items[2].right = num[2]; - items[3].right = num[3]; - } - this.layout.attr("items", items); - this.layout.resize(); - }, - - clear: function () { - this.vpager.attr("curr", 1); - this.hpager.attr("curr", 1); - } -}); -BI.DirectionPager.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.direction_pager", BI.DirectionPager); \ No newline at end of file diff --git a/src/case/pager/pager.js b/src/case/pager/pager.js deleted file mode 100644 index 15f460bf2d..0000000000 --- a/src/case/pager/pager.js +++ /dev/null @@ -1,288 +0,0 @@ -/** - * 分页控件 - * - * Created by GUY on 2015/8/31. - * @class BI.DetailPager - * @extends BI.Widget - */ -BI.DetailPager = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.DetailPager.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-detail-pager", - behaviors: {}, - layouts: [{ - type: "bi.horizontal", - hgap: 10, - vgap: 0 - }], - - dynamicShow: true, //是否动态显示上一页、下一页、首页、尾页, 若为false,则指对其设置使能状态 - //dynamicShow为false时以下两个有用 - dynamicShowFirstLast: false,//是否动态显示首页、尾页 - dynamicShowPrevNext: false,//是否动态显示上一页、下一页 - pages: false, //总页数 - curr: function () { - return 1; - }, //初始化当前页 - groups: 0, //连续显示分页数 - jump: BI.emptyFn, //分页的回调函数 - - first: false, //是否显示首页 - last: false, //是否显示尾页 - prev: "上一页", - next: "下一页", - - firstPage: 1, - lastPage: function () { //在万不得已时才会调用这个函数获取最后一页的页码, 主要作用于setValue方法 - return 1; - }, - hasPrev: BI.emptyFn, //pages不可用时有效 - hasNext: BI.emptyFn //pages不可用时有效 - }) - }, - _init: function () { - BI.DetailPager.superclass._init.apply(this, arguments); - var self = this; - this.currPage = BI.result(this.options, "curr"); - //翻页太灵敏 - this._lock = false; - this._debouce = BI.debounce(function () { - self._lock = false; - }, 300); - this._populate(); - }, - - _populate: function () { - var self = this, o = this.options, view = [], dict = {}; - this.empty(); - var pages = BI.result(o, "pages"); - var curr = BI.result(this, "currPage"); - var groups = BI.result(o, "groups"); - var first = BI.result(o, "first"); - var last = BI.result(o, "last"); - var prev = BI.result(o, "prev"); - var next = BI.result(o, "next"); - - if (pages === false) { - groups = 0; - first = false; - last = false; - } else { - groups > pages && (groups = pages); - } - - //计算当前组 - dict.index = Math.ceil((curr + ((groups > 1 && groups !== pages) ? 1 : 0)) / (groups === 0 ? 1 : groups)); - - //当前页非首页,则输出上一页 - if (((!o.dynamicShow && !o.dynamicShowPrevNext) || curr > 1) && prev !== false) { - if (BI.isKey(prev)) { - view.push({ - text: prev, - value: "prev", - disabled: pages === false ? o.hasPrev(curr) === false : !(curr > 1 && prev !== false) - }) - } else { - view.push(BI.extend({ - disabled: pages === false ? o.hasPrev(curr) === false : !(curr > 1 && prev !== false) - }, prev)); - } - } - - //当前组非首组,则输出首页 - if (((!o.dynamicShow && !o.dynamicShowFirstLast) || (dict.index > 1 && groups !== 0)) && first) { - view.push({ - text: first, - value: "first", - disabled: !(dict.index > 1 && groups !== 0) - }); - if (dict.index > 1 && groups !== 0) { - view.push({ - type: "bi.label", - cls: "page-ellipsis", - text: "\u2026" - }); - } - } - - //输出当前页组 - dict.poor = Math.floor((groups - 1) / 2); - dict.start = dict.index > 1 ? curr - dict.poor : 1; - dict.end = dict.index > 1 ? (function () { - var max = curr + (groups - dict.poor - 1); - return max > pages ? pages : max; - }()) : groups; - if (dict.end - dict.start < groups - 1) { //最后一组状态 - dict.start = dict.end - groups + 1; - } - var s = dict.start, e = dict.end; - if (first && last && (dict.index > 1 && groups !== 0) && (pages > groups && dict.end < pages && groups !== 0)) { - s++; - e--; - } - for (; s <= e; s++) { - if (s === curr) { - view.push({ - text: s, - value: s, - selected: true - }) - } else { - view.push({ - text: s, - value: s - }) - } - } - - //总页数大于连续分页数,且当前组最大页小于总页,输出尾页 - if (((!o.dynamicShow && !o.dynamicShowFirstLast) || (pages > groups && dict.end < pages && groups !== 0)) && last) { - if (pages > groups && dict.end < pages && groups !== 0) { - view.push({ - type: "bi.label", - cls: "page-ellipsis", - text: "\u2026" - }); - } - view.push({ - text: last, - value: "last", - disabled: !(pages > groups && dict.end < pages && groups !== 0) - }) - } - - //当前页不为尾页时,输出下一页 - dict.flow = !prev && groups === 0; - if (((!o.dynamicShow && !o.dynamicShowPrevNext) && next) || (curr !== pages && next || dict.flow)) { - view.push((function () { - if (BI.isKey(next)) { - if (pages === false) { - return {text: next, value: "next", disabled: o.hasNext(curr) === false} - } - return (dict.flow && curr === pages) - ? - {text: next, value: "next", disabled: true} - : - {text: next, value: "next", disabled: !(curr !== pages && next || dict.flow)}; - } else { - return BI.extend({ - disabled: pages === false ? o.hasNext(curr) === false : !(curr !== pages && next || dict.flow) - }, next); - } - }())); - } - - this.button_group = BI.createWidget({ - type: "bi.button_group", - element: this, - items: BI.createItems(view, { - cls: "page-item bi-border bi-list-item-active", - height: 23, - hgap: 10 - }), - behaviors: o.behaviors, - layouts: o.layouts - }); - this.button_group.on(BI.Controller.EVENT_CHANGE, function (type, value, obj) { - if (self._lock === true) { - return; - } - self._lock = true; - self._debouce(); - if (type === BI.Events.CLICK) { - var v = self.button_group.getValue()[0]; - switch (v) { - case "first": - self.currPage = 1; - break; - case "last": - self.currPage = pages; - break; - case "prev": - self.currPage--; - break; - case "next": - self.currPage++; - break; - default: - self.currPage = v; - break; - } - o.jump.apply(self, [{ - pages: pages, - curr: self.currPage - }]); - self._populate(); - self.fireEvent(BI.DetailPager.EVENT_CHANGE, obj); - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.fireEvent(BI.DetailPager.EVENT_AFTER_POPULATE); - }, - - getCurrentPage: function () { - return this.currPage; - }, - - setAllPages: function (pages) { - this.options.pages = pages; - }, - - hasPrev: function (v) { - v || (v = 1); - var o = this.options; - var pages = this.options.pages; - return pages === false ? o.hasPrev(v) : v > 1; - }, - - hasNext: function (v) { - v || (v = 1); - var o = this.options; - var pages = this.options.pages; - return pages === false ? o.hasNext(v) : v < pages; - }, - - setValue: function (v) { - var o = this.options; - v = v | 0; - v = v < 1 ? 1 : v; - if (o.pages === false) { - var lastPage = BI.result(o, "lastPage"), firstPage = 1; - this.currPage = v > lastPage ? lastPage : ((firstPage = BI.result(o, "firstPage")), (v < firstPage ? firstPage : v)); - } else { - v = v > o.pages ? o.pages : v; - this.currPage = v; - } - this._populate(); - }, - - getValue: function () { - var val = this.button_group.getValue()[0]; - switch (val) { - case "prev": - return -1; - case "next": - return 1; - case "first": - return BI.MIN; - case "last": - return BI.MAX; - default : - return val; - } - }, - - attr: function (key, value) { - BI.DetailPager.superclass.attr.apply(this, arguments); - if (key === "curr") { - this.currPage = BI.result(this.options, "curr"); - } - }, - - populate: function () { - this._populate(); - } -}); -BI.DetailPager.EVENT_CHANGE = "EVENT_CHANGE"; -BI.DetailPager.EVENT_AFTER_POPULATE = "EVENT_AFTER_POPULATE"; -BI.shortcut("bi.detail_pager", BI.DetailPager); \ No newline at end of file diff --git a/src/case/segment/button.segment.js b/src/case/segment/button.segment.js deleted file mode 100644 index a90cef7c78..0000000000 --- a/src/case/segment/button.segment.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * 分段控件使用的button - * - * Created by GUY on 2015/9/7. - * @class BI.SegmentButton - * @extends BI.BasicButton - */ -BI.SegmentButton = BI.inherit(BI.BasicButton, { - - _defaultConfig: function () { - var conf = BI.SegmentButton.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + ' bi-segment-button bi-list-item-active', - shadow: true, - readonly: true, - hgap: 5 - }) - }, - - _init: function () { - BI.SegmentButton.superclass._init.apply(this, arguments); - var opts = this.options, self = this; - //if (BI.isNumber(opts.height) && BI.isNull(opts.lineHeight)) { - // this.element.css({lineHeight : (opts.height - 2) + 'px'}); - //} - this.text = BI.createWidget({ - type: "bi.label", - element: this, - height: opts.height - 2, - whiteSpace: opts.whiteSpace, - text: opts.text, - value: opts.value, - hgap: opts.hgap - }) - }, - - setSelected: function () { - BI.SegmentButton.superclass.setSelected.apply(this, arguments); - }, - - setText: function (text) { - BI.SegmentButton.superclass.setText.apply(this, arguments); - this.text.setText(text); - }, - - destroy: function () { - BI.SegmentButton.superclass.destroy.apply(this, arguments); - } -}); -BI.shortcut('bi.segment_button', BI.SegmentButton); \ No newline at end of file diff --git a/src/case/segment/segment.js b/src/case/segment/segment.js deleted file mode 100644 index 027de361f7..0000000000 --- a/src/case/segment/segment.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 单选按钮组 - * - * Created by GUY on 2015/9/7. - * @class BI.Segment - * @extends BI.Widget - */ -BI.Segment = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.Segment.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-segment", - items: [], - height: 24 - }); - }, - _init: function () { - BI.Segment.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.buttonGroup = BI.createWidget({ - element: this, - type: "bi.button_group", - items: BI.createItems(o.items, { - type: "bi.segment_button", - height: o.height - 2, - whiteSpace: o.whiteSpace - }), - layout: [ - { - type: "bi.center" - } - ] - }) - this.buttonGroup.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments) - }); - this.buttonGroup.on(BI.ButtonGroup.EVENT_CHANGE, function (value, obj) { - self.fireEvent(BI.Segment.EVENT_CHANGE, value, obj) - }) - }, - - setValue: function (v) { - this.buttonGroup.setValue(v); - }, - - setEnabledValue: function (v) { - this.buttonGroup.setEnabledValue(v); - }, - - getValue: function () { - return this.buttonGroup.getValue(); - } -}); -BI.Segment.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.segment', BI.Segment); \ No newline at end of file diff --git a/src/case/table/table.adaptive.js b/src/case/table/table.adaptive.js deleted file mode 100644 index 7146b83a76..0000000000 --- a/src/case/table/table.adaptive.js +++ /dev/null @@ -1,227 +0,0 @@ -/** - * 自适应宽度的表格 - * - * Created by GUY on 2016/2/3. - * @class BI.AdaptiveTable - * @extends BI.Widget - */ -BI.AdaptiveTable = BI.inherit(BI.Widget, { - - _const: { - perColumnSize: 100 - }, - - _defaultConfig: function () { - return BI.extend(BI.AdaptiveTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-adaptive-table", - el: { - type: "bi.resizable_table" - }, - isNeedResize: true, - isNeedFreeze: false,//是否需要冻结单元格 - freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为true时生效 - - isNeedMerge: false,//是否需要合并单元格 - mergeCols: [], //合并的单元格列号 - mergeRule: BI.emptyFn, - - columnSize: [], - minColumnSize: [], - maxColumnSize: [], - - headerRowSize: 25, - rowSize: 25, - - regionColumnSize: [], - - header: [], - items: [], //二维数组 - - //交叉表头 - crossHeader: [], - crossItems: [] - }); - }, - - _init: function () { - BI.AdaptiveTable.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - var data = this._digest(); - this.table = BI.createWidget(o.el, { - type: "bi.resizable_table", - element: this, - width: o.width, - height: o.height, - isNeedResize: o.isNeedResize, - isResizeAdapt: false, - - isNeedFreeze: o.isNeedFreeze, - freezeCols: data.freezeCols, - - isNeedMerge: o.isNeedMerge, - mergeCols: o.mergeCols, - mergeRule: o.mergeRule, - - columnSize: data.columnSize, - - headerRowSize: o.headerRowSize, - rowSize: o.rowSize, - - regionColumnSize: data.regionColumnSize, - - header: o.header, - items: o.items, - //交叉表头 - crossHeader: o.crossHeader, - crossItems: o.crossItems - }); - this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () { - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - self._populate(); - self.table.populate(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments); - }); - - this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () { - o.columnSize = this.getColumnSize(); - self._populate(); - self.table.populate(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments); - }); - }, - - _getFreezeColLength: function () { - return this.options.isNeedFreeze === true ? this.options.freezeCols.length : 0; - }, - - _digest: function () { - var o = this.options; - var columnSize = o.columnSize.slice(); - var regionColumnSize = o.regionColumnSize.slice(); - var freezeCols = o.freezeCols.slice(); - var regionSize = o.regionColumnSize[0]; - var freezeColLength = this._getFreezeColLength(); - if (!regionSize || regionSize > o.width - 10 || regionSize < 10) { - regionSize = (freezeColLength > o.columnSize.length / 2 ? 2 / 3 : 1 / 3) * o.width; - } - if (freezeColLength === 0) { - regionSize = 0; - } - if (freezeCols.length >= columnSize.length) { - freezeCols = []; - } - if (!BI.isNumber(columnSize[0])) { - columnSize = o.minColumnSize.slice(); - } - var summaryFreezeColumnSize = 0, summaryColumnSize = 0; - BI.each(columnSize, function (i, size) { - if (i < freezeColLength) { - summaryFreezeColumnSize += size; - } - summaryColumnSize += size; - }); - if (freezeColLength > 0) { - columnSize[freezeColLength - 1] = BI.clamp(regionSize - (summaryFreezeColumnSize - columnSize[freezeColLength - 1]), - o.minColumnSize[freezeColLength - 1] || 10, o.maxColumnSize[freezeColLength - 1] || Number.MAX_VALUE); - } - if (columnSize.length > 0) { - columnSize[columnSize.length - 1] = BI.clamp(o.width - BI.GridTableScrollbar.SIZE - regionSize - (summaryColumnSize - summaryFreezeColumnSize - columnSize[columnSize.length - 1]), - o.minColumnSize[columnSize.length - 1] || 10, o.maxColumnSize[columnSize.length - 1] || Number.MAX_VALUE); - } - regionColumnSize[0] = regionSize; - - return { - freezeCols: freezeCols, - columnSize: columnSize, - regionColumnSize: regionColumnSize - } - }, - - _populate: function () { - var o = this.options; - var data = this._digest(); - o.regionColumnSize = data.regionColumnSize; - o.columnSize = data.columnSize; - this.table.setColumnSize(data.columnSize); - this.table.setRegionColumnSize(data.regionColumnSize); - this.table.attr("freezeCols", data.freezeCols); - }, - - setWidth: function (width) { - BI.AdaptiveTable.superclass.setWidth.apply(this, arguments); - this.table.setWidth(width); - }, - - setHeight: function (height) { - BI.AdaptiveTable.superclass.setHeight.apply(this, arguments); - this.table.setHeight(height); - }, - - setColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - }, - - getColumnSize: function () { - return this.table.getColumnSize(); - }, - - setRegionColumnSize: function (regionColumnSize) { - this.options.regionColumnSize = regionColumnSize; - }, - - getRegionColumnSize: function () { - return this.table.getRegionColumnSize(); - }, - - setVerticalScroll: function (scrollTop) { - this.table.setVerticalScroll(scrollTop); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - this.table.setLeftHorizontalScroll(scrollLeft); - }, - - setRightHorizontalScroll: function (scrollLeft) { - this.table.setRightHorizontalScroll(scrollLeft); - }, - - getVerticalScroll: function () { - return this.table.getVerticalScroll(); - }, - - getLeftHorizontalScroll: function () { - return this.table.getLeftHorizontalScroll(); - }, - - getRightHorizontalScroll: function () { - return this.table.getRightHorizontalScroll(); - }, - - attr: function (key, value) { - var v = BI.AdaptiveTable.superclass.attr.apply(this, arguments); - if (key === "freezeCols") { - return v; - } - return this.table.attr.apply(this.table, arguments); - }, - - restore: function () { - this.table.restore(); - }, - - populate: function (items) { - var self = this, o = this.options; - this._populate(); - this.table.populate.apply(this.table, arguments); - }, - - destroy: function () { - this.table.destroy(); - BI.AdaptiveTable.superclass.destroy.apply(this, arguments); - } -}); -BI.shortcut('bi.adaptive_table', BI.AdaptiveTable); \ No newline at end of file diff --git a/src/case/table/table.dynamicsummarylayertree.js b/src/case/table/table.dynamicsummarylayertree.js deleted file mode 100644 index 7377c8956f..0000000000 --- a/src/case/table/table.dynamicsummarylayertree.js +++ /dev/null @@ -1,335 +0,0 @@ -/** - * - * 层级树状结构的表格 - * - * Created by GUY on 2016/8/12. - * @class BI.DynamicSummaryLayerTreeTable - * @extends BI.Widget - */ -BI.DynamicSummaryLayerTreeTable = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.DynamicSummaryLayerTreeTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-dynamic-summary-layer-tree-table", - - el: { - type: "bi.resizable_table" - }, - isNeedResize: true,//是否需要调整列宽 - isResizeAdapt: true,//是否需要在调整列宽或区域宽度的时候它们自适应变化 - - isNeedFreeze: false,//是否需要冻结单元格 - freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为tree时生效 - - isNeedMerge: true,//是否需要合并单元格 - mergeCols: [], - mergeRule: BI.emptyFn, - - columnSize: [], - minColumnSize: [], - maxColumnSize: [], - headerRowSize: 25, - footerRowSize: 25, - rowSize: 25, - - regionColumnSize: [], - - //行表头 - rowHeaderCreator: null, - - headerCellStyleGetter: BI.emptyFn, - summaryCellStyleGetter: BI.emptyFn, - sequenceCellStyleGetter: BI.emptyFn, - - header: [], - footer: false, - items: [], - - //交叉表头 - crossHeader: [], - crossItems: [] - }) - }, - - _getVDeep: function () { - return this.options.crossHeader.length;//纵向深度 - }, - - _getHDeep: function () { - var o = this.options; - return Math.max(o.mergeCols.length, o.freezeCols.length, BI.TableTree.maxDeep(o.items) - 1); - }, - - _createHeader: function (vDeep) { - var self = this, o = this.options; - var header = o.header || [], crossHeader = o.crossHeader || []; - var items = BI.TableTree.formatCrossItems(o.crossItems, vDeep, o.headerCellStyleGetter); - var result = []; - BI.each(items, function (row, node) { - var c = [crossHeader[row]]; - result.push(c.concat(node || [])); - }); - if (header && header.length > 0) { - var newHeader = this._formatColumns(header); - var deep = this._getHDeep(); - if (deep <= 0) { - newHeader.unshift(o.rowHeaderCreator || { - type: "bi.table_style_cell", - text: BI.i18nText("BI-Row_Header"), - styleGetter: o.headerCellStyleGetter - }); - } else { - newHeader[0] = o.rowHeaderCreator || { - type: "bi.table_style_cell", - text: BI.i18nText("BI-Row_Header"), - styleGetter: o.headerCellStyleGetter - }; - } - result.push(newHeader); - } - return result; - }, - - _formatItems: function (nodes, header, deep) { - var self = this, o = this.options; - var result = []; - - function track(node, layer) { - node.type || (node.type = "bi.layer_tree_table_cell"); - node.layer = layer; - var next = [node]; - next = next.concat(node.values || []); - if (next.length > 0) { - result.push(next); - } - if (BI.isNotEmptyArray(node.children)) { - BI.each(node.children, function (index, child) { - track(child, layer + 1); - }); - } - } - - BI.each(nodes, function (i, node) { - BI.each(node.children, function (j, c) { - track(c, 0); - }); - if (BI.isArray(node.values)) { - var next = [{ - type: "bi.table_style_cell", - text: BI.i18nText("BI-Summary_Values"), - styleGetter: function () { - return o.summaryCellStyleGetter(true); - } - }].concat(node.values); - result.push(next) - } - }); - return BI.DynamicSummaryTreeTable.formatSummaryItems(result, header, o.crossItems, 1); - }, - - _formatColumns: function (columns, deep) { - if (BI.isNotEmptyArray(columns)) { - deep = deep || this._getHDeep(); - return columns.slice(Math.max(0, deep - 1)); - } - return columns; - }, - - _formatFreezeCols: function () { - if (this.options.freezeCols.length > 0) { - return [0]; - } - return []; - }, - - _formatColumnSize: function (columnSize, deep) { - if (columnSize.length <= 0) { - return []; - } - var result = [0]; - deep = deep || this._getHDeep(); - BI.each(columnSize, function (i, size) { - if (i < deep) { - result[0] += size; - return; - } - result.push(size); - }); - return result; - }, - - _recomputeColumnSize: function () { - var o = this.options; - o.regionColumnSize = this.table.getRegionColumnSize(); - var columnSize = this.table.getColumnSize().slice(); - if (o.freezeCols.length > 1) { - for (var i = 0; i < o.freezeCols.length - 1; i++) { - columnSize.splice(1, 0, 0); - } - } - o.columnSize = columnSize; - }, - - _digest: function () { - var o = this.options; - var deep = this._getHDeep(); - var vDeep = this._getVDeep(); - var header = this._createHeader(vDeep); - var data = this._formatItems(o.items, header, deep); - var columnSize = o.columnSize.slice(); - var minColumnSize = o.minColumnSize.slice(); - var maxColumnSize = o.maxColumnSize.slice(); - BI.removeAt(columnSize, data.deletedCols); - BI.removeAt(minColumnSize, data.deletedCols); - BI.removeAt(maxColumnSize, data.deletedCols); - return { - header: data.header, - items: data.items, - columnSize: this._formatColumnSize(columnSize, deep), - minColumnSize: this._formatColumns(minColumnSize, deep), - maxColumnSize: this._formatColumns(maxColumnSize, deep), - freezeCols: this._formatFreezeCols() - } - }, - - _init: function () { - BI.DynamicSummaryLayerTreeTable.superclass._init.apply(this, arguments); - var self = this, o = this.options; - var data = this._digest(); - this.table = BI.createWidget(o.el, { - type: "bi.resizable_table", - element: this, - width: o.width, - height: o.height, - isNeedResize: o.isNeedResize, - isResizeAdapt: o.isResizeAdapt, - isNeedFreeze: o.isNeedFreeze, - freezeCols: data.freezeCols, - isNeedMerge: o.isNeedMerge, - mergeCols: [], - mergeRule: o.mergeRule, - columnSize: data.columnSize, - minColumnSize: data.minColumnSize, - maxColumnSize: data.maxColumnSize, - headerRowSize: o.headerRowSize, - rowSize: o.rowSize, - regionColumnSize: o.regionColumnSize, - header: data.header, - items: data.items - }); - this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () { - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () { - self._recomputeColumnSize(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () { - self._recomputeColumnSize(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments); - }); - }, - - setWidth: function (width) { - BI.DynamicSummaryLayerTreeTable.superclass.setWidth.apply(this, arguments); - this.table.setWidth(width); - }, - - setHeight: function (height) { - BI.DynamicSummaryLayerTreeTable.superclass.setHeight.apply(this, arguments); - this.table.setHeight(height); - }, - - setColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - }, - - getColumnSize: function () { - return this.options.columnSize; - }, - - setRegionColumnSize: function (columnSize) { - this.options.regionColumnSize = columnSize; - this.table.setRegionColumnSize(columnSize); - }, - - getRegionColumnSize: function () { - return this.table.getRegionColumnSize(); - }, - - setVerticalScroll: function (scrollTop) { - this.table.setVerticalScroll(scrollTop); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - this.table.setLeftHorizontalScroll(scrollLeft); - }, - - setRightHorizontalScroll: function (scrollLeft) { - this.table.setRightHorizontalScroll(scrollLeft); - }, - - getVerticalScroll: function () { - return this.table.getVerticalScroll(); - }, - - getLeftHorizontalScroll: function () { - return this.table.getLeftHorizontalScroll(); - }, - - getRightHorizontalScroll: function () { - return this.table.getRightHorizontalScroll(); - }, - - attr: function (key, value) { - var self = this; - if (BI.isObject(key)) { - BI.each(key, function (k, v) { - self.attr(k, v); - }); - return; - } - BI.DynamicSummaryLayerTreeTable.superclass.attr.apply(this, arguments); - switch (key) { - case "columnSize": - case "minColumnSize": - case "maxColumnSize": - case "freezeCols": - case "mergeCols": - return; - } - this.table.attr.apply(this.table, [key, value]); - }, - - restore: function () { - this.table.restore(); - }, - - populate: function (items, header, crossItems, crossHeader) { - var o = this.options; - if (items) { - o.items = items; - } - if (header) { - o.header = header; - } - if (crossItems) { - o.crossItems = crossItems; - } - if (crossHeader) { - o.crossHeader = crossHeader; - } - var data = this._digest(); - this.table.setColumnSize(data.columnSize); - this.table.attr("minColumnSize", data.minColumnSize); - this.table.attr("maxColumnSize", data.maxColumnSize); - this.table.attr("freezeCols", data.freezeCols); - this.table.populate(data.items, data.header); - }, - - destroy: function () { - this.table.destroy(); - BI.DynamicSummaryLayerTreeTable.superclass.destroy.apply(this, arguments); - } -}); - -BI.shortcut("bi.dynamic_summary_layer_tree_table", BI.DynamicSummaryLayerTreeTable); \ No newline at end of file diff --git a/src/case/table/table.dynamicsummarytree.js b/src/case/table/table.dynamicsummarytree.js deleted file mode 100644 index a621fc0982..0000000000 --- a/src/case/table/table.dynamicsummarytree.js +++ /dev/null @@ -1,360 +0,0 @@ -/** - * - * 树状结构的表格 - * - * Created by GUY on 2015/8/12. - * @class BI.DynamicSummaryTreeTable - * @extends BI.Widget - */ -BI.DynamicSummaryTreeTable = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.DynamicSummaryTreeTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-dynamic-summary-tree-table", - el: { - type: "bi.resizable_table" - }, - - isNeedResize: true,//是否需要调整列宽 - isResizeAdapt: true,//是否需要在调整列宽或区域宽度的时候它们自适应变化 - - isNeedFreeze: false,//是否需要冻结单元格 - freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为tree时生效 - - isNeedMerge: true,//是否需要合并单元格 - mergeCols: [], - mergeRule: BI.emptyFn, - - columnSize: [], - minColumnSize: [], - maxColumnSize: [], - headerRowSize: 25, - footerRowSize: 25, - rowSize: 25, - - regionColumnSize: [], - - headerCellStyleGetter: BI.emptyFn, - summaryCellStyleGetter: BI.emptyFn, - sequenceCellStyleGetter: BI.emptyFn, - - header: [], - footer: false, - items: [], - - //交叉表头 - crossHeader: [], - crossItems: [] - }) - }, - - _getVDeep: function () { - return this.options.crossHeader.length;//纵向深度 - }, - - _getHDeep: function () { - var o = this.options; - return Math.max(o.mergeCols.length, o.freezeCols.length, BI.TableTree.maxDeep(o.items) - 1); - }, - - _init: function () { - BI.DynamicSummaryTreeTable.superclass._init.apply(this, arguments); - var self = this, o = this.options; - var data = this._digest(); - this.table = BI.createWidget(o.el, { - type: "bi.resizable_table", - element: this, - width: o.width, - height: o.height, - - isNeedResize: o.isNeedResize, - isResizeAdapt: o.isResizeAdapt, - - isNeedFreeze: o.isNeedFreeze, - freezeCols: o.freezeCols, - isNeedMerge: o.isNeedMerge, - mergeCols: o.mergeCols, - mergeRule: o.mergeRule, - - columnSize: o.columnSize, - minColumnSize: o.minColumnSize, - maxColumnSize: o.maxColumnSize, - headerRowSize: o.headerRowSize, - rowSize: o.rowSize, - - regionColumnSize: o.regionColumnSize, - - header: data.header, - items: data.items - }); - this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () { - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - var columnSize = this.getColumnSize(); - var length = o.columnSize.length - columnSize.length; - o.columnSize = columnSize.slice(); - o.columnSize = o.columnSize.concat(BI.makeArray(length, 0)); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - var columnSize = this.getColumnSize(); - var length = o.columnSize.length - columnSize.length; - o.columnSize = columnSize.slice(); - o.columnSize = o.columnSize.concat(BI.makeArray(length, 0)); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments); - }); - }, - - _digest: function () { - var o = this.options; - var deep = this._getHDeep(); - var vDeep = this._getVDeep(); - var header = BI.TableTree.formatHeader(o.header, o.crossHeader, o.crossItems, deep, vDeep, o.headerCellStyleGetter); - var items = BI.DynamicSummaryTreeTable.formatHorizontalItems(o.items, deep, false, o.summaryCellStyleGetter); - var data = BI.DynamicSummaryTreeTable.formatSummaryItems(items, header, o.crossItems, deep); - var columnSize = o.columnSize.slice(); - var minColumnSize = o.minColumnSize.slice(); - var maxColumnSize = o.maxColumnSize.slice(); - BI.removeAt(columnSize, data.deletedCols); - BI.removeAt(minColumnSize, data.deletedCols); - BI.removeAt(maxColumnSize, data.deletedCols); - return { - header: data.header, - items: data.items, - columnSize: columnSize, - minColumnSize: minColumnSize, - maxColumnSize: maxColumnSize - }; - }, - - setWidth: function (width) { - BI.DynamicSummaryTreeTable.superclass.setWidth.apply(this, arguments); - this.table.setWidth(width); - }, - - setHeight: function (height) { - BI.DynamicSummaryTreeTable.superclass.setHeight.apply(this, arguments); - this.table.setHeight(height); - }, - - setColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - }, - - getColumnSize: function () { - return this.options.columnSize; - }, - - setRegionColumnSize: function (columnSize) { - this.options.regionColumnSize = columnSize; - this.table.setRegionColumnSize(columnSize); - }, - - getRegionColumnSize: function () { - return this.table.getRegionColumnSize(); - }, - - setVerticalScroll: function (scrollTop) { - this.table.setVerticalScroll(scrollTop); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - this.table.setLeftHorizontalScroll(scrollLeft); - }, - - setRightHorizontalScroll: function (scrollLeft) { - this.table.setRightHorizontalScroll(scrollLeft); - }, - - getVerticalScroll: function () { - return this.table.getVerticalScroll(); - }, - - getLeftHorizontalScroll: function () { - return this.table.getLeftHorizontalScroll(); - }, - - getRightHorizontalScroll: function () { - return this.table.getRightHorizontalScroll(); - }, - - attr: function (key) { - BI.DynamicSummaryTreeTable.superclass.attr.apply(this, arguments); - switch (key) { - case "minColumnSize": - case "maxColumnSize": - return; - } - this.table.attr.apply(this.table, arguments); - }, - - restore: function () { - this.table.restore(); - }, - - populate: function (items, header, crossItems, crossHeader) { - var o = this.options; - if (items) { - o.items = items; - } - if (header) { - o.header = header; - } - if (crossItems) { - o.crossItems = crossItems; - } - if (crossHeader) { - o.crossHeader = crossHeader; - } - var data = this._digest(); - this.table.setColumnSize(data.columnSize); - this.table.attr("minColumnSize", data.minColumnSize); - this.table.attr("maxColumnSize", data.maxColumnSize); - this.table.populate(data.items, data.header); - }, - - destroy: function () { - this.table.destroy(); - BI.DynamicSummaryTreeTable.superclass.destroy.apply(this, arguments); - } -}); - -BI.extend(BI.DynamicSummaryTreeTable, { - - formatHorizontalItems: function (nodes, deep, isCross, styleGetter) { - var result = []; - - function track(store, node) { - var next; - if (BI.isArray(node.children)) { - BI.each(node.children, function (index, child) { - var next; - if (store != -1) { - next = store.slice(); - next.push(node); - } else { - next = []; - } - track(next, child); - }); - if (store != -1) { - next = store.slice(); - next.push(node); - } else { - next = []; - } - if ((store == -1 || node.children.length > 1) && BI.isNotEmptyArray(node.values)) { - var summary = { - text: BI.i18nText("BI-Summary_Values"), - type: "bi.table_style_cell", - styleGetter: function () { - return styleGetter(store === -1) - } - }; - for (var i = next.length; i < deep; i++) { - next.push(summary); - } - if (!isCross) { - next = next.concat(node.values); - } - if (next.length > 0) { - if (!isCross) { - result.push(next); - } else { - for (var k = 0, l = node.values.length; k < l; k++) { - result.push(next); - } - } - } - } - return; - } - if (store != -1) { - next = store.slice(); - for (var i = next.length; i < deep; i++) { - next.push(node); - } - } else { - next = []; - } - if (!isCross && BI.isArray(node.values)) { - next = next.concat(node.values); - } - if (isCross && BI.isArray(node.values)) { - for (var i = 0, len = node.values.length; i < len - 1; i++) { - if (next.length > 0) { - result.push(next); - } - } - } - if (next.length > 0) { - result.push(next); - } - } - - BI.each(nodes, function (i, node) { - track(-1, node); - }); - //填充空位 - BI.each(result, function (i, line) { - var last = BI.last(line); - for (var j = line.length; j < deep; j++) { - line.push(last); - } - }); - return result; - }, - - formatSummaryItems: function (items, header, crossItems, deep) { - //求纵向需要去除的列 - var cols = []; - var leaf = 0; - - function track(node) { - if (BI.isArray(node.children)) { - BI.each(node.children, function (index, child) { - track(child); - }); - if (BI.isNotEmptyArray(node.values)) { - if (node.children.length === 1) { - for (var i = 0; i < node.values.length; i++) { - cols.push(leaf + i + deep); - } - } - leaf += node.values.length; - } - return; - } - if (node.values && node.values.length > 1) { - leaf += node.values.length; - } else { - leaf++; - } - } - - BI.each(crossItems, function (i, node) { - track(node); - }); - - if (cols.length > 0) { - var nHeader = [], nItems = []; - BI.each(header, function (i, node) { - var nNode = node.slice(); - BI.removeAt(nNode, cols); - nHeader.push(nNode); - }); - BI.each(items, function (i, node) { - var nNode = node.slice(); - BI.removeAt(nNode, cols); - nItems.push(nNode);; - }); - header = nHeader; - items = nItems; - } - return {items: items, header: header, deletedCols: cols}; - } -}); - -BI.shortcut("bi.dynamic_summary_tree_table", BI.DynamicSummaryTreeTable); \ No newline at end of file diff --git a/src/case/table/table.layertree.cell.js b/src/case/table/table.layertree.cell.js deleted file mode 100644 index 547660cb3f..0000000000 --- a/src/case/table/table.layertree.cell.js +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Created by GUY on 2016/5/7. - * @class BI.LayerTreeTableCell - * @extends BI.Single - */ -BI.LayerTreeTableCell = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.LayerTreeTableCell.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-layer-tree-table-cell", - layer: 0, - text: "" - }) - }, - - _init: function () { - BI.LayerTreeTableCell.superclass._init.apply(this, arguments); - var o = this.options; - BI.createWidget({ - type: "bi.label", - element: this.element, - textAlign: "left", - whiteSpace: "nowrap", - height: o.height, - text: o.text, - value: o.value, - lgap: 5 + 30 * o.layer, - rgap: 5 - }) - } -}); - -BI.shortcut("bi.layer_tree_table_cell", BI.LayerTreeTableCell); \ No newline at end of file diff --git a/src/case/table/table.layertree.js b/src/case/table/table.layertree.js deleted file mode 100644 index 568f83240a..0000000000 --- a/src/case/table/table.layertree.js +++ /dev/null @@ -1,318 +0,0 @@ -/** - * - * 层级树状结构的表格 - * - * Created by GUY on 2016/5/7. - * @class BI.LayerTreeTable - * @extends BI.Widget - */ -BI.LayerTreeTable = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.LayerTreeTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-layer-tree-table", - el: { - type: "bi.resizable_table" - }, - - isNeedResize: false,//是否需要调整列宽 - isResizeAdapt: true,//是否需要在调整列宽或区域宽度的时候它们自适应变化 - - isNeedFreeze: false,//是否需要冻结单元格 - freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为tree时生效 - - isNeedMerge: true,//是否需要合并单元格 - mergeCols: [], - mergeRule: BI.emptyFn, - - columnSize: [], - minColumnSize: [], - maxColumnSize: [], - - headerRowSize: 25, - rowSize: 25, - - regionColumnSize: [], - - rowHeaderCreator: null, - - headerCellStyleGetter: BI.emptyFn, - summaryCellStyleGetter: BI.emptyFn, - sequenceCellStyleGetter: BI.emptyFn, - - header: [], - items: [], - - //交叉表头 - crossHeader: [], - crossItems: [] - }) - }, - - _getVDeep: function () { - return this.options.crossHeader.length;//纵向深度 - }, - - _getHDeep: function () { - var o = this.options; - return Math.max(o.mergeCols.length, o.freezeCols.length, BI.TableTree.maxDeep(o.items) - 1); - }, - - _createHeader: function (vDeep) { - var self = this, o = this.options; - var header = o.header || [], crossHeader = o.crossHeader || []; - var items = BI.TableTree.formatCrossItems(o.crossItems, vDeep, o.headerCellStyleGetter); - var result = []; - BI.each(items, function (row, node) { - var c = [crossHeader[row]]; - result.push(c.concat(node || [])); - }); - if (header && header.length > 0) { - var newHeader = this._formatColumns(header); - var deep = this._getHDeep(); - if (deep <= 0) { - newHeader.unshift(o.rowHeaderCreator || { - type: "bi.table_style_cell", - text: BI.i18nText("BI-Row_Header"), - styleGetter: o.headerCellStyleGetter - }); - } else { - newHeader[0] = o.rowHeaderCreator || { - type: "bi.table_style_cell", - text: BI.i18nText("BI-Row_Header"), - styleGetter: o.headerCellStyleGetter - }; - } - result.push(newHeader); - } - return result; - }, - - _formatItems: function (nodes) { - var self = this, o = this.options; - var result = []; - - function track(node, layer) { - node.type || (node.type = "bi.layer_tree_table_cell"); - node.layer = layer; - var next = [node]; - next = next.concat(node.values || []); - if (next.length > 0) { - result.push(next); - } - if (BI.isNotEmptyArray(node.children)) { - BI.each(node.children, function (index, child) { - track(child, layer + 1); - }); - } - } - - BI.each(nodes, function (i, node) { - BI.each(node.children, function (j, c) { - track(c, 0); - }); - if (BI.isArray(node.values)) { - var next = [{ - type: "bi.table_style_cell", text: BI.i18nText("BI-Summary_Values"), styleGetter: function () { - return o.summaryCellStyleGetter(true); - } - }].concat(node.values); - result.push(next) - } - }); - return result; - }, - - _formatColumns: function (columns, deep) { - if (BI.isNotEmptyArray(columns)) { - deep = deep || this._getHDeep(); - return columns.slice(Math.max(0, deep - 1)); - } - return columns; - }, - - _formatFreezeCols: function () { - if (this.options.freezeCols.length > 0) { - return [0]; - } - return []; - }, - - _formatColumnSize: function (columnSize, deep) { - if (columnSize.length <= 0) { - return []; - } - var result = [0]; - deep = deep || this._getHDeep(); - BI.each(columnSize, function (i, size) { - if (i < deep) { - result[0] += size; - return; - } - result.push(size); - }); - return result; - }, - - _digest: function () { - var o = this.options; - var deep = this._getHDeep(); - var vDeep = this._getVDeep(); - return { - header: this._createHeader(vDeep), - items: this._formatItems(o.items), - columnSize: this._formatColumnSize(o.columnSize, deep), - minColumnSize: this._formatColumns(o.minColumnSize, deep), - maxColumnSize: this._formatColumns(o.maxColumnSize, deep), - freezeCols: this._formatFreezeCols() - } - }, - - _init: function () { - BI.LayerTreeTable.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - var data = this._digest(); - this.table = BI.createWidget(o.el, { - type: "bi.resizable_table", - element: this, - width: o.width, - height: o.height, - isNeedResize: o.isNeedResize, - isResizeAdapt: o.isResizeAdapt, - isNeedFreeze: o.isNeedFreeze, - freezeCols: data.freezeCols, - isNeedMerge: o.isNeedMerge, - mergeCols: [], - mergeRule: o.mergeRule, - columnSize: data.columnSize, - minColumnSize: data.minColumnSize, - maxColumnSize: data.maxColumnSize, - headerRowSize: o.headerRowSize, - rowSize: o.rowSize, - regionColumnSize: o.regionColumnSize, - header: data.header, - items: data.items - }); - this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () { - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - o.columnSize = this.getColumnSize(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - o.columnSize = this.getColumnSize(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments); - }); - }, - - setWidth: function (width) { - BI.LayerTreeTable.superclass.setWidth.apply(this, arguments); - this.table.setWidth(width); - }, - - setHeight: function (height) { - BI.LayerTreeTable.superclass.setHeight.apply(this, arguments); - this.table.setHeight(height); - }, - - setColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - }, - - getColumnSize: function () { - var columnSize = this.table.getColumnSize(); - var deep = this._getHDeep(); - var pre = []; - if (deep > 0) { - pre = BI.makeArray(deep, columnSize[0] / deep); - } - return pre.concat(columnSize.slice(1)); - }, - - setRegionColumnSize: function (columnSize) { - this.options.regionColumnSize = columnSize; - this.table.setRegionColumnSize(columnSize); - }, - - getRegionColumnSize: function () { - return this.table.getRegionColumnSize(); - }, - - setVerticalScroll: function (scrollTop) { - this.table.setVerticalScroll(scrollTop); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - this.table.setLeftHorizontalScroll(scrollLeft); - }, - - setRightHorizontalScroll: function (scrollLeft) { - this.table.setRightHorizontalScroll(scrollLeft); - }, - - getVerticalScroll: function () { - return this.table.getVerticalScroll(); - }, - - getLeftHorizontalScroll: function () { - return this.table.getLeftHorizontalScroll(); - }, - - getRightHorizontalScroll: function () { - return this.table.getRightHorizontalScroll(); - }, - - attr: function (key, value) { - var self = this; - if (BI.isObject(key)) { - BI.each(key, function (k, v) { - self.attr(k, v); - }); - return; - } - BI.LayerTreeTable.superclass.attr.apply(this, arguments); - switch (key) { - case "columnSize": - case "minColumnSize": - case "maxColumnSize": - case "freezeCols": - case "mergeCols": - return; - } - this.table.attr.apply(this.table, [key, value]); - }, - - restore: function () { - this.table.restore(); - }, - - populate: function (items, header, crossItems, crossHeader) { - var o = this.options; - o.items = items || []; - if (header) { - o.header = header; - } - if (crossItems) { - o.crossItems = crossItems; - } - if (crossHeader) { - o.crossHeader = crossHeader; - } - var data = this._digest(); - this.table.setColumnSize(data.columnSize); - this.table.attr("freezeCols", data.freezeCols); - this.table.attr("minColumnSize", data.minColumnSize); - this.table.attr("maxColumnSize", data.maxColumnSize); - this.table.populate(data.items, data.header); - }, - - destroy: function () { - this.table.destroy(); - BI.LayerTreeTable.superclass.destroy.apply(this, arguments); - } -}); - -BI.shortcut("bi.layer_tree_table", BI.LayerTreeTable); \ No newline at end of file diff --git a/src/case/table/table.style.cell.js b/src/case/table/table.style.cell.js deleted file mode 100644 index 25911fc26a..0000000000 --- a/src/case/table/table.style.cell.js +++ /dev/null @@ -1,46 +0,0 @@ -/** - * - * Created by GUY on 2016/5/26. - * @class BI.TableStyleCell - * @extends BI.Single - */ -BI.TableStyleCell = BI.inherit(BI.Single, { - - _defaultConfig: function () { - return BI.extend(BI.TableStyleCell.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-table-style-cell", - styleGetter: BI.emptyFn - }); - }, - - _init: function () { - BI.TableStyleCell.superclass._init.apply(this, arguments); - var o = this.options; - this.text = BI.createWidget({ - type: "bi.label", - element: this, - textAlign: "left", - forceCenter: true, - hgap: 5, - text: o.text - }); - this._digestStyle(); - }, - - _digestStyle: function () { - var o = this.options; - var style = o.styleGetter(); - if (style) { - this.text.element.css(style); - } - }, - - setText: function (text) { - this.text.setText(text); - }, - - populate: function () { - this._digestStyle(); - } -}); -BI.shortcut('bi.table_style_cell', BI.TableStyleCell); \ No newline at end of file diff --git a/src/case/table/table.tree.js b/src/case/table/table.tree.js deleted file mode 100644 index 99e92b7c01..0000000000 --- a/src/case/table/table.tree.js +++ /dev/null @@ -1,326 +0,0 @@ -/** - * - * 树状结构的表格 - * - * Created by GUY on 2015/9/22. - * @class BI.TableTree - * @extends BI.Widget - */ -BI.TableTree = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.TableTree.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-table-tree", - el: { - type: "bi.resizable_table" - }, - isNeedResize: true,//是否需要调整列宽 - isResizeAdapt: true,//是否需要在调整列宽或区域宽度的时候它们自适应变化 - - freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为tree时生效 - - isNeedMerge: true,//是否需要合并单元格 - mergeCols: [], - mergeRule: BI.emptyFn, - - columnSize: [], - minColumnSize: [], - maxColumnSize: [], - headerRowSize: 25, - rowSize: 25, - - regionColumnSize: [], - - headerCellStyleGetter: BI.emptyFn, - summaryCellStyleGetter: BI.emptyFn, - sequenceCellStyleGetter: BI.emptyFn, - - header: [], - items: [], - - //交叉表头 - crossHeader: [], - crossItems: [] - }) - }, - - _getVDeep: function () { - return this.options.crossHeader.length;//纵向深度 - }, - - _getHDeep: function () { - var o = this.options; - return Math.max(o.mergeCols.length, o.freezeCols.length, BI.TableTree.maxDeep(o.items) - 1); - }, - - _init: function () { - BI.TableTree.superclass._init.apply(this, arguments); - var self = this, o = this.options; - var data = this._digest(); - this.table = BI.createWidget(o.el, { - type: "bi.resizable_table", - element: this, - width: o.width, - height: o.height, - isNeedResize: o.isNeedResize, - isResizeAdapt: o.isResizeAdapt, - - isNeedFreeze: o.isNeedFreeze, - freezeCols: o.freezeCols, - isNeedMerge: o.isNeedMerge, - mergeCols: o.mergeCols, - mergeRule: o.mergeRule, - - columnSize: o.columnSize, - minColumnSize: o.minColumnSize, - maxColumnSize: o.maxColumnSize, - - headerRowSize: o.headerRowSize, - rowSize: o.rowSize, - - regionColumnSize: o.regionColumnSize, - - header: data.header, - items: data.items - }); - this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () { - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - o.columnSize = this.getColumnSize(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - o.columnSize = this.getColumnSize(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments); - }); - }, - - _digest: function () { - var self = this, o = this.options; - var deep = this._getHDeep(); - var vDeep = this._getVDeep(); - var header = BI.TableTree.formatHeader(o.header, o.crossHeader, o.crossItems, deep, vDeep, o.headerCellStyleGetter); - var items = BI.TableTree.formatItems(o.items, deep, false, o.summaryCellStyleGetter); - return { - header: header, - items: items - } - }, - - setWidth: function (width) { - BI.TableTree.superclass.setWidth.apply(this, arguments); - this.table.setWidth(width); - }, - - setHeight: function (height) { - BI.TableTree.superclass.setHeight.apply(this, arguments); - this.table.setHeight(height); - }, - - setColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - this.table.setColumnSize(columnSize); - }, - - getColumnSize: function () { - return this.table.getColumnSize(); - }, - - setRegionColumnSize: function (columnSize) { - this.options.regionColumnSize = columnSize; - this.table.setRegionColumnSize(columnSize); - }, - - getRegionColumnSize: function () { - return this.table.getRegionColumnSize(); - }, - - setVerticalScroll: function (scrollTop) { - this.table.setVerticalScroll(scrollTop); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - this.table.setLeftHorizontalScroll(scrollLeft); - }, - - setRightHorizontalScroll: function (scrollLeft) { - this.table.setRightHorizontalScroll(scrollLeft); - }, - - getVerticalScroll: function () { - return this.table.getVerticalScroll(); - }, - - getLeftHorizontalScroll: function () { - return this.table.getLeftHorizontalScroll(); - }, - - getRightHorizontalScroll: function () { - return this.table.getRightHorizontalScroll(); - }, - - attr: function () { - BI.TableTree.superclass.attr.apply(this, arguments); - this.table.attr.apply(this.table, arguments); - }, - - restore: function () { - this.table.restore(); - }, - - populate: function (items, header, crossItems, crossHeader) { - var o = this.options; - if (items) { - o.items = items || []; - } - if (header) { - o.header = header; - } - if (crossItems) { - o.crossItems = crossItems; - } - if (crossHeader) { - o.crossHeader = crossHeader; - } - var data = this._digest(); - this.table.populate(data.items, data.header); - }, - - destroy: function () { - this.table.destroy(); - BI.TableTree.superclass.destroy.apply(this, arguments); - } -}); - -BI.extend(BI.TableTree, { - formatHeader: function (header, crossHeader, crossItems, hDeep, vDeep, styleGetter) { - var items = BI.TableTree.formatCrossItems(crossItems, vDeep, styleGetter); - var result = []; - for (var i = 0; i < vDeep; i++) { - var c = []; - for (var j = 0; j < hDeep; j++) { - c.push(crossHeader[i]); - } - result.push(c.concat(items[i] || [])); - } - if (header && header.length > 0) { - result.push(header); - } - return result; - }, - - formatItems: function (nodes, deep, isCross, styleGetter) { - var self = this; - var result = []; - - function track(store, node) { - var next; - if (BI.isArray(node.children)) { - BI.each(node.children, function (index, child) { - var next; - if (store != -1) { - next = store.slice(); - next.push(node); - } else { - next = []; - } - track(next, child); - }); - if (store != -1) { - next = store.slice(); - next.push(node); - } else { - next = []; - } - if (/**(store == -1 || node.children.length > 1) &&**/ BI.isNotEmptyArray(node.values)) { - var summary = { - text: BI.i18nText("BI-Summary_Values"), - type: "bi.table_style_cell", - styleGetter: function () { - return styleGetter(store === -1) - } - }; - for (var i = next.length; i < deep; i++) { - next.push(summary); - } - if (!isCross) { - next = next.concat(node.values); - } - if (next.length > 0) { - if (!isCross) { - result.push(next); - } else { - for (var k = 0, l = node.values.length; k < l; k++) { - result.push(next); - } - } - } - } - - return; - } - if (store != -1) { - next = store.slice(); - for (var i = next.length; i < deep; i++) { - next.push(node); - } - } else { - next = []; - } - if (!isCross && BI.isArray(node.values)) { - next = next.concat(node.values); - } - if (isCross && BI.isArray(node.values)) { - for (var i = 0, len = node.values.length; i < len - 1; i++) { - if (next.length > 0) { - result.push(next); - } - } - } - if (next.length > 0) { - result.push(next); - } - } - - BI.each(nodes, function (i, node) { - track(-1, node); - }); - //填充空位 - BI.each(result, function (i, line) { - var last = BI.last(line); - for (var j = line.length; j < deep; j++) { - line.push(last); - } - }); - return result; - }, - - formatCrossItems: function (nodes, deep, styleGetter) { - var items = BI.TableTree.formatItems(nodes, deep, true, styleGetter); - return BI.unzip(items); - }, - - maxDeep: function (nodes) { - function track(deep, node) { - var d = deep; - if (BI.isNotEmptyArray(node.children)) { - BI.each(node.children, function (index, child) { - d = Math.max(d, track(deep + 1, child)); - }); - } - return d; - } - - var deep = 1; - if (BI.isObject(nodes)) { - BI.each(nodes, function (i, node) { - deep = Math.max(deep, track(1, node)); - }); - } - return deep; - } -}); - -BI.shortcut("bi.tree_table", BI.TableTree); \ No newline at end of file diff --git a/src/case/toolbar/toolbar.multiselect.js b/src/case/toolbar/toolbar.multiselect.js deleted file mode 100644 index 156398c47e..0000000000 --- a/src/case/toolbar/toolbar.multiselect.js +++ /dev/null @@ -1,121 +0,0 @@ -/** - * guy - * 复选导航条 - * Created by GUY on 2015/8/25. - * @class BI.MultiSelectBar - * @extends BI.BasicButton - */ -BI.MultiSelectBar = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.MultiSelectBar.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-multi-select-bar", - height: 25, - text: BI.i18nText('BI-Select_All'), - isAllCheckedBySelectedValue: BI.emptyFn, - //手动控制选中 - disableSelected: true, - isHalfCheckedBySelectedValue: function (selectedValues) { - return selectedValues.length > 0; - } - }) - }, - _init: function () { - BI.MultiSelectBar.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.checkbox", - stopPropagation: true, - handler: function () { - self.setSelected(self.isSelected()); - } - }); - this.half = BI.createWidget({ - type: "bi.half_icon_button", - stopPropagation: true, - handler: function () { - self.setSelected(true); - } - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.CLICK, self.isSelected(), self); - }); - this.half.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.CLICK, self.isSelected(), self); - }); - this.half.on(BI.HalfIconButton.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectBar.EVENT_CHANGE, self.isSelected(), self); - }); - this.checkbox.on(BI.Checkbox.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectBar.EVENT_CHANGE, self.isSelected(), self); - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - keyword: o.keyword, - value: o.value, - py: o.py - }); - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - width: 36, - el: { - type: "bi.center_adapt", - items: [this.checkbox, this.half] - } - }, { - el: this.text - }] - }); - this.half.invisible(); - }, - - //自己手动控制选中 - beforeClick: function () { - var isHalf = this.isHalfSelected(), isSelected = this.isSelected(); - if (isHalf === true) { - this.setSelected(true); - } else { - this.setSelected(!isSelected); - } - }, - - setSelected: function (v) { - this.checkbox.setSelected(v); - this.setHalfSelected(false); - }, - - setHalfSelected: function (b) { - this._half = !!b; - if (b === true) { - this.half.visible(); - this.checkbox.invisible(); - } else { - this.half.invisible(); - this.checkbox.visible(); - } - }, - - isHalfSelected: function () { - return !!this._half; - }, - - isSelected: function () { - return this.checkbox.isSelected(); - }, - - setValue: function (selectedValues) { - BI.MultiSelectBar.superclass.setValue.apply(this, arguments); - var isAllChecked = this.options.isAllCheckedBySelectedValue.apply(this, arguments); - this.setSelected(isAllChecked); - !isAllChecked && this.setHalfSelected(this.options.isHalfCheckedBySelectedValue.apply(this, arguments)); - } -}); -BI.MultiSelectBar.EVENT_CHANGE = "MultiSelectBar.EVENT_CHANGE"; -BI.shortcut("bi.multi_select_bar", BI.MultiSelectBar); \ No newline at end of file diff --git a/src/case/tree/branchrelation.js b/src/case/tree/branchrelation.js deleted file mode 100644 index 535f688024..0000000000 --- a/src/case/tree/branchrelation.js +++ /dev/null @@ -1,498 +0,0 @@ -/** - * 表关联树 - * - * Created by GUY on 2015/12/15. - * @class BI.BranchRelation - * @extends BI.Widget - */ -BI.BranchRelation = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.BranchRelation.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-branch-relation-tree", - items: [], - - centerOffset: 0,//重心偏移量 - direction: BI.Direction.Bottom, - align: BI.VerticalAlign.Top - }) - }, - - _init: function () { - BI.BranchRelation.superclass._init.apply(this, arguments); - this.populate(this.options.items); - }, - - //树分层 - _stratification: function () { - var levels = []; - this.tree.recursion(function (node, route) { - //node.isRoot = route.length <= 1; - node.leaf = node.isLeaf(); - if (!levels[route.length - 1]) { - levels[route.length - 1] = []; - } - levels[route.length - 1].push(node); - }); - return levels; - }, - - //计算所有节点的叶子结点个数 - _calculateLeaves: function () { - var count = 0; - - function track(node) { - var c = 0; - if (node.isLeaf()) { - return 1; - } - BI.each(node.getChildren(), function (i, child) { - c += track(child); - }); - node.set("leaves", c); - return c; - } - - count = track(this.tree.getRoot()); - return count; - }, - - //树平移 - _translate: function (levels) { - var adjust = []; - var maxLevel = levels.length; - BI.each(levels, function (i, nodes) { - if (!adjust[i]) { - adjust[i] = []; - } - BI.each(nodes, function (j, node) { - if (node.isLeaf() && i < maxLevel - 1) { - var newNode = new BI.Node(BI.UUID()); - //newNode.isEmptyRoot = node.isRoot || node.isEmptyRoot; - newNode.isNew = true; - //把node向下一层移 - var tar = 0; - if (j > 0) { - var c = nodes[j - 1].getLastChild(); - tar = levels[i + 1].indexOf(c) + 1; - } - levels[i + 1].splice(tar, 0, node); - //新增一个临时树节点 - var index = node.parent.getChildIndex(node.id); - node.parent.removeChildByIndex(index); - node.parent.addChild(newNode, index); - newNode.addChild(node); - adjust[i].push(newNode); - nodes[j] = newNode; - } else { - adjust[i].push(node); - } - }) - }); - return adjust; - }, - - //树补白 - _fill: function (levels) { - var adjust = []; - var maxLevel = levels.length; - BI.each(levels, function (i, nodes) { - if (!adjust[i]) { - adjust[i] = []; - } - BI.each(nodes, function (j, node) { - if (node.isLeaf() && i < maxLevel - 1) { - var newNode = new BI.Node(BI.UUID()); - newNode.leaf = true; - newNode.width = node.width; - newNode.height = node.height; - newNode.isNew = true; - //把node向下一层移 - var tar = 0; - if (j > 0) { - var c = nodes[j - 1].getLastChild(); - tar = levels[i + 1].indexOf(c) + 1; - } - levels[i + 1].splice(tar, 0, newNode); - //新增一个临时树节点 - node.addChild(newNode); - } - adjust[i].push(node); - }) - }); - return adjust; - }, - - //树调整 - _adjust: function (adjust) { - while (true) { - var isAllNeedAjust = false; - BI.backEach(adjust, function (i, nodes) { - BI.each(nodes, function (j, node) { - if (!node.isNew) { - var needAdjust = true; - BI.any(node.getChildren(), function (k, n) { - if (!n.isNew) { - needAdjust = false; - return true; - } - }); - if (!node.isLeaf() && needAdjust === true) { - var allChilds = []; - BI.each(node.getChildren(), function (k, n) { - allChilds = allChilds.concat(n.getChildren()); - }); - node.removeAllChilds(); - BI.each(allChilds, function (k, c) { - node.addChild(c); - }); - var newNode = new BI.Node(BI.UUID()); - //newNode.isEmptyRoot = node.isRoot || node.isEmptyRoot; - newNode.isNew = true; - var index = node.parent.getChildIndex(node.id); - node.parent.removeChildByIndex(index); - node.parent.addChild(newNode, index); - newNode.addChild(node); - isAllNeedAjust = true; - } - } - }) - }); - if (isAllNeedAjust === false) { - break; - } else {//树重构 - adjust = this._stratification(); - } - } - return adjust; - }, - - _calculateWidth: function () { - var o = this.options; - var width = 0; - - function track1(node) { - var w = 0; - if (node.isLeaf()) { - return node.width; - } - BI.each(node.getChildren(), function (i, child) { - w += track1(child); - }); - return w; - } - - function track2(node) { - var w = 0; - if (node.isLeaf()) { - return node.height; - } - BI.each(node.getChildren(), function (i, child) { - w += track2(child); - }); - return w; - } - - if (this._isVertical()) { - width = track1(this.tree.getRoot()); - } else { - width = track2(this.tree.getRoot()); - } - - return width; - }, - - _isVertical: function () { - var o = this.options; - return o.direction === BI.Direction.Top || o.direction === BI.Direction.Bottom; - }, - - _calculateHeight: function () { - var o = this.options; - var height = 0; - - function track1(node) { - var h = 0; - BI.each(node.getChildren(), function (i, child) { - h = Math.max(h, track1(child)); - }); - return h + (node.height || 0); - } - - function track2(node) { - var h = 0; - BI.each(node.getChildren(), function (i, child) { - h = Math.max(h, track2(child)); - }); - return h + (node.width || 0); - } - - if (this._isVertical()) { - height = track1(this.tree.getRoot()); - } else { - height = track2(this.tree.getRoot()); - } - return height; - }, - - _calculateXY: function (levels) { - var o = this.options; - var width = this._calculateWidth(); - var height = this._calculateHeight(); - var levelCount = levels.length; - var allLeavesCount = this._calculateLeaves(); - //计算坐标 - var xy = {}; - var levelHeight = height / levelCount; - BI.each(levels, function (i, nodes) { - //计算权重 - var weights = []; - BI.each(nodes, function (j, node) { - weights[j] = (node.get("leaves") || 1) / allLeavesCount; - }); - BI.each(nodes, function (j, node) { - //求前j个元素的权重 - var weight = BI.sum(weights.slice(0, j)); - //求坐标 - var x = weight * width + weights[j] * width / 2; - var y = i * levelHeight + levelHeight / 2; - xy[node.id] = {x: x, y: y}; - }) - }); - return xy; - }, - - _stroke: function (levels, xy) { - var height = this._calculateHeight(); - var levelCount = levels.length; - var levelHeight = height / levelCount; - var self = this, o = this.options; - switch (o.direction) { - case BI.Direction.Top: - BI.each(levels, function (i, nodes) { - BI.each(nodes, function (j, node) { - if (node.getChildrenLength() > 0 && !node.leaf) { - var path = ""; - var start = xy[node.id]; - var split = start.y + levelHeight / 2; - path += "M" + start.x + "," + (start.y + o.centerOffset) + "L" + start.x + "," + split; - var end = []; - BI.each(node.getChildren(), function (t, c) { - var e = end[t] = xy[c.id]; - path += "M" + e.x + "," + (e.y + o.centerOffset) + "L" + e.x + "," + split; - }); - if (end.length > 0) { - path += "M" + BI.first(end).x + "," + split + "L" + BI.last(end).x + "," + split; - } - self.svg.path(path).attr("stroke", "#d4dadd"); - } - }) - }); - break; - case BI.Direction.Bottom: - BI.each(levels, function (i, nodes) { - BI.each(nodes, function (j, node) { - if (node.getChildrenLength() > 0 && !node.leaf) { - var path = ""; - var start = xy[node.id]; - var split = start.y - levelHeight / 2; - path += "M" + start.x + "," + (start.y - o.centerOffset) + "L" + start.x + "," + split; - var end = []; - BI.each(node.getChildren(), function (t, c) { - var e = end[t] = xy[c.id]; - path += "M" + e.x + "," + (e.y - o.centerOffset) + "L" + e.x + "," + split; - }); - if (end.length > 0) { - path += "M" + BI.first(end).x + "," + split + "L" + BI.last(end).x + "," + split; - } - self.svg.path(path).attr("stroke", "#d4dadd"); - } - }) - }); - break; - case BI.Direction.Left: - BI.each(levels, function (i, nodes) { - BI.each(nodes, function (j, node) { - if (node.getChildrenLength() > 0 && !node.leaf) { - var path = ""; - var start = xy[node.id]; - var split = start.y + levelHeight / 2; - path += "M" + (start.y + o.centerOffset) + "," + start.x + "L" + split + "," + start.x; - var end = []; - BI.each(node.getChildren(), function (t, c) { - var e = end[t] = xy[c.id]; - path += "M" + (e.y + o.centerOffset) + "," + e.x + "L" + split + "," + e.x; - }); - if (end.length > 0) { - path += "M" + split + "," + BI.first(end).x + "L" + split + "," + BI.last(end).x; - } - self.svg.path(path).attr("stroke", "#d4dadd"); - } - }) - }); - break; - case BI.Direction.Right: - BI.each(levels, function (i, nodes) { - BI.each(nodes, function (j, node) { - if (node.getChildrenLength() > 0 && !node.leaf) { - var path = ""; - var start = xy[node.id]; - var split = start.y - levelHeight / 2; - path += "M" + (start.y - o.centerOffset) + "," + start.x + "L" + split + "," + start.x; - var end = []; - BI.each(node.getChildren(), function (t, c) { - var e = end[t] = xy[c.id]; - path += "M" + (e.y - o.centerOffset) + "," + e.x + "L" + split + "," + e.x; - }); - if (end.length > 0) { - path += "M" + split + "," + BI.first(end).x + "L" + split + "," + BI.last(end).x; - } - self.svg.path(path).attr("stroke", "#d4dadd"); - } - }) - }); - break; - } - }, - - _createBranches: function (levels) { - var self = this, o = this.options; - if (o.direction === BI.Direction.Bottom || o.direction === BI.Direction.Right) { - levels = levels.reverse(); - } - var xy = this._calculateXY(levels); - //画图 - this._stroke(levels, xy); - }, - - _isNeedAdjust: function () { - var o = this.options; - return o.direction === BI.Direction.Top && o.align === BI.VerticalAlign.Bottom || o.direction === BI.Direction.Bottom && o.align === BI.VerticalAlign.Top - || o.direction === BI.Direction.Left && o.align === BI.HorizontalAlign.Right || o.direction === BI.Direction.Right && o.align === BI.HorizontalAlign.Left - }, - - setValue: function (value) { - - }, - - getValue: function () { - - }, - - _transformToTreeFormat: function (sNodes) { - var i, l; - if (!sNodes) { - return []; - } - - if (BI.isArray(sNodes)) { - var r = []; - var tmpMap = []; - for (i = 0, l = sNodes.length; i < l; i++) { - tmpMap[sNodes[i].id] = sNodes[i]; - } - for (i = 0, l = sNodes.length; i < l; i++) { - if (tmpMap[sNodes[i].pId] && sNodes[i].id != sNodes[i].pId) { - if (!tmpMap[sNodes[i].pId].children) { - tmpMap[sNodes[i].pId].children = []; - } - tmpMap[sNodes[i].pId].children.push(sNodes[i]); - } else { - r.push(sNodes[i]); - } - } - return r; - } else { - return [sNodes]; - } - }, - - populate: function (items) { - var self = this, o = this.options; - o.items = items || []; - this.empty(); - items = this._transformToTreeFormat(o.items); - this.tree = new BI.Tree(); - this.tree.initTree(items); - - this.svg = BI.createWidget({ - type: "bi.svg" - }); - - //树分层 - var levels = this._stratification(); - - if (this._isNeedAdjust()) { - //树平移 - var adjust = this._translate(levels); - //树调整 - adjust = this._adjust(adjust); - - this._createBranches(adjust); - } else { - var adjust = this._fill(levels); - - this._createBranches(adjust); - } - - var container = BI.createWidget({ - type: "bi.layout", - width: this._isVertical() ? this._calculateWidth() : this._calculateHeight(), - height: this._isVertical() ? this._calculateHeight() : this._calculateWidth() - }); - BI.createWidget({ - type: "bi.absolute", - element: container, - items: [{ - el: this.svg, - top: 0, - left: 0, - right: 0, - bottom: 0 - }] - }); - if (this._isVertical()) { - items = [{ - type: "bi.handstand_branch_tree", - expander: { - direction: o.direction - }, - el: { - layouts: [{ - type: "bi.horizontal_adapt", - verticalAlign: o.align - }] - }, - items: items - }] - } else { - items = [{ - type: "bi.branch_tree", - expander: { - direction: o.direction - }, - el: { - layouts: [{ - type: "bi.vertical" - }, { - type: o.align === BI.HorizontalAlign.Left ? "bi.left" : "bi.right" - }] - }, - items: items - }] - } - BI.createWidget({ - type: "bi.adaptive", - element: container, - items: items - }); - BI.createWidget({ - type: "bi.center_adapt", - scrollable: true, - element: this, - items: [container] - }); - } -}); -BI.BranchRelation.EVENT_CHANGE = "BranchRelation.EVENT_CHANGE"; -BI.shortcut("bi.branch_relation", BI.BranchRelation); \ No newline at end of file diff --git a/src/case/tree/expander/expander.branch.handstand.js b/src/case/tree/expander/expander.branch.handstand.js deleted file mode 100644 index 69595011e9..0000000000 --- a/src/case/tree/expander/expander.branch.handstand.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * 倒立的Branch - * @class BI.HandStandBranchExpander - * @extend BI.Widget - * create by young - */ -BI.HandStandBranchExpander = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.HandStandBranchExpander.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-handstand-branch-expander", - direction: BI.Direction.Top, - logic: { - dynamic: true - }, - el: {type: "bi.label"}, - popup: {} - }) - }, - - _init: function () { - BI.HandStandBranchExpander.superclass._init.apply(this, arguments); - var o = this.options; - this._initExpander(); - this._initBranchView(); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction), BI.extend({}, o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection(o.direction, { - type: "bi.center_adapt", - items: [this.expander] - }, this.branchView) - })))); - }, - - _initExpander: function () { - var self = this, o = this.options; - this.expander = BI.createWidget(o.el); - this.expander.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - }, - - _initBranchView: function () { - var self = this, o = this.options; - this.branchView = BI.createWidget(o.popup, {}); - this.branchView.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - }, - - populate: function (items) { - this.branchView.populate.apply(this.branchView, arguments); - }, - - getValue: function () { - return this.branchView.getValue(); - } -}); -BI.HandStandBranchExpander.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.handstand_branch_expander", BI.HandStandBranchExpander); \ No newline at end of file diff --git a/src/case/tree/expander/expander.branch.js b/src/case/tree/expander/expander.branch.js deleted file mode 100644 index 5a70ade0ae..0000000000 --- a/src/case/tree/expander/expander.branch.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * @class BI.BranchExpander - * @extend BI.Widget - * create by young - */ -BI.BranchExpander = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.BranchExpander.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-branch-expander", - direction: BI.Direction.Left, - logic: { - dynamic: true - }, - el: {}, - popup: {} - }) - }, - - _init: function () { - BI.BranchExpander.superclass._init.apply(this, arguments); - var o = this.options; - this._initExpander(); - this._initBranchView(); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction), BI.extend({}, o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection(o.direction, this.expander, this.branchView) - })))); - }, - - _initExpander: function () { - var self = this, o = this.options; - this.expander = BI.createWidget(o.el, { - type: "bi.label", - width: 30, - height: "100%" - }); - this.expander.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - }, - - _initBranchView: function () { - var self = this, o = this.options; - this.branchView = BI.createWidget(o.popup, {}); - this.branchView.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - }, - - populate: function (items) { - this.branchView.populate.apply(this.branchView, arguments); - }, - - getValue: function () { - return this.branchView.getValue(); - } -}); -BI.BranchExpander.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.branch_expander", BI.BranchExpander); \ No newline at end of file diff --git a/src/case/tree/tree.branch.handstand.js b/src/case/tree/tree.branch.handstand.js deleted file mode 100644 index 0259daa40c..0000000000 --- a/src/case/tree/tree.branch.handstand.js +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @class BI.HandStandBranchTree - * @extends BI.Widget - * create by young - * 横向分支的树 - */ -BI.HandStandBranchTree = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.HandStandBranchTree.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-handstand-branch-tree", - expander: {}, - el: {}, - items: [] - }) - }, - _init: function () { - BI.HandStandBranchTree.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.branchTree = BI.createWidget({ - type: "bi.custom_tree", - element: this, - expander: BI.extend({ - type: "bi.handstand_branch_expander", - el: {}, - popup: { - type: "bi.custom_tree" - } - }, o.expander), - el: BI.extend({ - type: "bi.button_tree", - chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI, - layouts: [{ - type: "bi.horizontal_adapt" - }] - }, o.el), - items: this.options.items - }); - this.branchTree.on(BI.CustomTree.EVENT_CHANGE, function(){ - self.fireEvent(BI.HandStandBranchTree.EVENT_CHANGE, arguments); - }); - this.branchTree.on(BI.Controller.EVENT_CHANGE, function(){ - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - }, - - populate: function () { - this.branchTree.populate.apply(this.branchTree, arguments); - }, - - getValue: function () { - return this.branchTree.getValue(); - } -}); -BI.HandStandBranchTree.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.handstand_branch_tree", BI.HandStandBranchTree); \ No newline at end of file diff --git a/src/case/tree/tree.branch.js b/src/case/tree/tree.branch.js deleted file mode 100644 index f1c5334db0..0000000000 --- a/src/case/tree/tree.branch.js +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @class BI.BranchTree - * @extends BI.Widget - * create by young - * 横向分支的树 - */ -BI.BranchTree = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.BranchTree.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-branch-tree", - expander: {}, - el: {}, - items: [] - }) - }, - _init: function () { - BI.BranchTree.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.branchTree = BI.createWidget({ - type: "bi.custom_tree", - element: this, - expander: BI.extend({ - type: "bi.branch_expander", - el: {}, - popup: { - type: "bi.custom_tree" - } - }, o.expander), - el: BI.extend({ - type: "bi.button_tree", - chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI, - layouts: [{ - type: "bi.vertical" - }] - }, o.el), - items: this.options.items - }); - this.branchTree.on(BI.CustomTree.EVENT_CHANGE, function(){ - self.fireEvent(BI.BranchTree.EVENT_CHANGE, arguments); - }); - this.branchTree.on(BI.Controller.EVENT_CHANGE, function(){ - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - }, - - populate: function () { - this.branchTree.populate.apply(this.branchTree, arguments); - }, - - getValue: function () { - return this.branchTree.getValue(); - } -}); -BI.BranchTree.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.branch_tree", BI.BranchTree); \ No newline at end of file diff --git a/src/case/tree/tree.display.js b/src/case/tree/tree.display.js deleted file mode 100644 index 41cf91acf4..0000000000 --- a/src/case/tree/tree.display.js +++ /dev/null @@ -1,71 +0,0 @@ -/** - * guy - * 异步树 - * @class BI.DisplayTree - * @extends BI.TreeView - */ -BI.DisplayTree = BI.inherit(BI.TreeView, { - _defaultConfig: function () { - return BI.extend(BI.DisplayTree.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-display-tree" - }) - }, - _init: function () { - BI.DisplayTree.superclass._init.apply(this, arguments); - }, - - //配置属性 - _configSetting: function () { - var setting = { - view: { - selectedMulti: false, - dblClickExpand: false, - showIcon: false, - showTitle: false - }, - data: { - key: { - title: "title", - name: "text" - }, - simpleData: { - enable: true - } - }, - callback: { - beforeCollapse: beforeCollapse - } - }; - - function beforeCollapse(treeId, treeNode) { - return false; - } - - return setting; - }, - - _dealWidthNodes: function (nodes) { - nodes = BI.DisplayTree.superclass._dealWidthNodes.apply(this, arguments); - var self = this, o = this.options; - BI.each(nodes, function (i, node) { - if (node.text == null) { - if (node.count > 0) { - node.text = node.value + "(" + BI.i18nText("BI-Basic_Altogether") + node.count + BI.i18nText("BI-Basic_Count") + ")"; - } - } - }); - return nodes; - }, - - initTree: function (nodes, setting) { - var setting = setting || this._configSetting(); - this.nodes = $.fn.zTree.init(this.tree.element, setting, nodes); - }, - - destroy: function () { - BI.DisplayTree.superclass.destroy.apply(this, arguments); - } -}); -BI.DisplayTree.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.display_tree", BI.DisplayTree); \ No newline at end of file diff --git a/src/case/tree/tree.level.js b/src/case/tree/tree.level.js deleted file mode 100644 index 3ca6a75dcd..0000000000 --- a/src/case/tree/tree.level.js +++ /dev/null @@ -1,133 +0,0 @@ -/** - * guy - * 二级树 - * @class BI.LevelTree - * @extends BI.Single - */ -BI.LevelTree = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.LevelTree.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-level-tree", - el: { - chooseType: 0 - }, - expander: {}, - items: [] - }) - }, - - _init: function () { - BI.LevelTree.superclass._init.apply(this, arguments); - - this.initTree(this.options.items); - }, - - _formatItems: function (nodes, layer) { - var self = this; - BI.each(nodes, function (i, node) { - var extend = {layer: layer}; - if (!BI.isKey(node.id)) { - node.id = BI.UUID(); - } - if (node.isParent === true || BI.isNotEmptyArray(node.children)) { - switch (i) { - case 0 : - extend.type = "bi.first_plus_group_node"; - break; - case nodes.length - 1 : - extend.type = "bi.last_plus_group_node"; - break; - default : - extend.type = "bi.mid_plus_group_node"; - break; - } - BI.defaults(node, extend); - self._formatItems(node.children, layer + 1); - } else { - switch (i) { - case nodes.length - 1: - extend.type = "bi.last_tree_leaf_item"; - break; - default : - extend.type = "bi.mid_tree_leaf_item"; - } - BI.defaults(node, extend); - } - }); - return nodes; - }, - - _assertId: function (sNodes) { - BI.each(sNodes, function (i, node) { - if (!BI.isKey(node.id)) { - node.id = BI.UUID(); - } - }); - }, - - //构造树结构, - initTree: function (nodes) { - var self = this, o = this.options; - this.empty(); - this._assertId(nodes); - this.tree = BI.createWidget({ - type: "bi.custom_tree", - element: this, - expander: BI.extend({ - el: {}, - popup: { - type: "bi.custom_tree" - } - }, o.expander), - - items: this._formatItems(BI.Tree.transformToTreeFormat(nodes), 0), - - el: BI.extend({ - type: "bi.button_tree", - chooseType: 0, - layouts: [{ - type: "bi.vertical" - }] - }, o.el) - }); - this.tree.on(BI.Controller.EVENT_CHANGE, function (type) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.LevelTree.EVENT_CHANGE, arguments); - } - }) - }, - - //生成树方法 - stroke: function (nodes) { - this.tree.stroke.apply(this.tree, arguments); - }, - - populate: function (items) { - items = this._formatItems(BI.Tree.transformToTreeFormat(items), 0); - this.tree.populate(items); - }, - - setValue: function (v) { - this.tree.setValue(v); - }, - - getValue: function () { - return this.tree.getValue(); - }, - - getAllLeaves: function () { - return this.tree.getAllLeaves(); - }, - - getNodeById: function (id) { - return this.tree.getNodeById(id); - }, - - getNodeByValue: function (id) { - return this.tree.getNodeByValue(id); - } -}); -BI.LevelTree.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.level_tree", BI.LevelTree); \ No newline at end of file diff --git a/src/case/tree/tree.simple.js b/src/case/tree/tree.simple.js deleted file mode 100644 index fc267b49d1..0000000000 --- a/src/case/tree/tree.simple.js +++ /dev/null @@ -1,121 +0,0 @@ -/** - * 简单的多选树 - * - * Created by GUY on 2016/2/16. - * @class BI.SimpleTreeView - * @extends BI.Widget - */ -BI.SimpleTreeView = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.SimpleTreeView.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-simple-tree", - itemsCreator: BI.emptyFn, - items: null - }) - }, - _init: function () { - BI.SimpleTreeView.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.structure = new BI.Tree(); - this.tree = BI.createWidget({ - type: "bi.tree_view", - element: this, - itemsCreator: function (op, callback) { - var fn = function (items) { - callback({ - items: items - }); - self.structure.initTree(BI.Tree.transformToTreeFormat(items)); - }; - if (BI.isNotNull(o.items)) { - fn(o.items); - } else { - o.itemsCreator(op, fn); - } - } - }); - this.tree.on(BI.TreeView.EVENT_CHANGE, function () { - self.fireEvent(BI.SimpleTreeView.EVENT_CHANGE, arguments); - }); - if (BI.isNotEmptyArray(o.items)) { - this.populate(); - } - }, - - populate: function (items, keyword) { - if (items) { - this.options.items = items; - } - this.tree.stroke({ - keyword: keyword - }); - }, - - setValue: function (v) { - v || (v = []); - var self = this, map = {}; - var selected = []; - BI.each(v, function (i, val) { - var node = self.structure.search(val, "value"); - if (node) { - var p = node; - p = p.getParent(); - if (p) { - if (!map[p.value]) { - map[p.value] = 0; - } - map[p.value]++; - } - - while (p && p.getChildrenLength() <= map[p.value]) { - selected.push(p.value); - p = p.getParent(); - if (p) { - if (!map[p.value]) { - map[p.value] = 0; - } - map[p.value]++; - } - } - } - }); - - this.tree.setValue(BI.makeObject(v.concat(selected))); - }, - - _getValue: function () { - var self = this, result = [], val = this.tree.getValue(); - var track = function (nodes) { - BI.each(nodes, function (key, node) { - if (BI.isEmpty(node)) { - result.push(key); - } else { - track(node); - } - }) - }; - track(val); - return result; - }, - - empty: function () { - this.tree.empty(); - }, - - getValue: function () { - var self = this, result = [], val = this._getValue(); - BI.each(val, function (i, key) { - var target = self.structure.search(key, "value"); - if (target) { - self.structure._traverse(target, function (node) { - if (node.isLeaf()) { - result.push(node.value); - } - }) - } - }); - return result; - } -}); -BI.SimpleTreeView.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.simple_tree", BI.SimpleTreeView); diff --git a/src/case/trigger/trigger.editor.js b/src/case/trigger/trigger.editor.js deleted file mode 100644 index 457489e6e9..0000000000 --- a/src/case/trigger/trigger.editor.js +++ /dev/null @@ -1,78 +0,0 @@ -/** - * 文本输入框trigger - * - * Created by GUY on 2015/9/15. - * @class BI.EditorTrigger - * @extends BI.Trigger - */ -BI.EditorTrigger = BI.inherit(BI.Trigger, { - _const: { - hgap: 4 - }, - - _defaultConfig: function () { - var conf = BI.EditorTrigger.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-editor-trigger bi-border", - height: 24, - validationChecker: BI.emptyFn, - quitChecker: BI.emptyFn, - allowBlank: false, - watermark: "", - errorText: "" - }); - }, - - _init: function () { - this.options.height -= 2; - BI.EditorTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.editor = BI.createWidget({ - type: "bi.sign_editor", - height: o.height, - value: o.value, - validationChecker: o.validationChecker, - quitChecker: o.quitChecker, - allowBlank: o.allowBlank, - watermark: o.watermark, - errorText: o.errorText - }); - this.editor.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.editor.on(BI.SignEditor.EVENT_CHANGE, function () { - self.fireEvent(BI.EditorTrigger.EVENT_CHANGE, arguments); - }); - - BI.createWidget({ - element: this, - type: 'bi.htape', - items: [ - { - el: this.editor - }, { - el: { - type: "bi.trigger_icon_button", - cls: "bi-border-left", - width: o.triggerWidth || o.height - }, - width: o.triggerWidth || o.height - } - ] - }); - }, - - getValue: function () { - return this.editor.getValue(); - }, - - setValue: function (value) { - this.editor.setValue(value); - }, - - setText: function (text) { - this.editor.setState(text); - } -}); -BI.EditorTrigger.EVENT_CHANGE = "BI.EditorTrigger.EVENT_CHANGE"; -BI.shortcut("bi.editor_trigger", BI.EditorTrigger); \ No newline at end of file diff --git a/src/case/trigger/trigger.icon.js b/src/case/trigger/trigger.icon.js deleted file mode 100644 index 0872514ae1..0000000000 --- a/src/case/trigger/trigger.icon.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * 图标按钮trigger - * - * Created by GUY on 2015/10/8. - * @class BI.IconTrigger - * @extends BI.Trigger - */ -BI.IconTrigger = BI.inherit(BI.Trigger, { - - _defaultConfig: function () { - return BI.extend(BI.IconTrigger.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-icon-trigger", - el: {}, - height: 24 - }); - }, - _init: function () { - var o = this.options; - BI.IconTrigger.superclass._init.apply(this, arguments); - this.iconButton = BI.createWidget(o.el, { - type: "bi.trigger_icon_button", - element: this, - width: o.width, - height: o.height - }); - } -}); -BI.shortcut('bi.icon_trigger', BI.IconTrigger); \ No newline at end of file diff --git a/src/case/trigger/trigger.icon.text.js b/src/case/trigger/trigger.icon.text.js deleted file mode 100644 index d092a92a07..0000000000 --- a/src/case/trigger/trigger.icon.text.js +++ /dev/null @@ -1,75 +0,0 @@ -/** - * 文字trigger - * - * Created by GUY on 2015/9/15. - * @class BI.IconTextTrigger - * @extends BI.Trigger - */ -BI.IconTextTrigger = BI.inherit(BI.Trigger, { - _const: { - hgap: 4 - }, - - _defaultConfig: function () { - var conf = BI.IconTextTrigger.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-text-trigger", - height: 24 - }); - }, - - _init: function () { - BI.IconTextTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - height: o.height, - text: o.text, - hgap: c.hgap - }); - this.trigerButton = BI.createWidget({ - type: "bi.trigger_icon_button", - cls: "bi-border-left", - width: o.triggerWidth || o.height - }); - - BI.createWidget({ - element: this, - type: 'bi.htape', - items: [{ - el: { - type: "bi.icon_change_button", - cls: "icon-combo-trigger-icon " + o.iconClass, - ref: function (_ref) { - self.icon = _ref; - }, - disableSelected: true - }, - width: o.triggerWidth || o.height - }, - { - el: this.text - }, { - el: this.trigerButton, - width: o.triggerWidth || o.height - } - ] - }); - }, - - setValue: function (value) { - this.text.setValue(value); - this.text.setTitle(value); - }, - - setIcon: function (iconCls) { - this.icon.setIcon(iconCls); - }, - - setText: function (text) { - this.text.setText(text); - this.text.setTitle(text); - } -}); -BI.shortcut("bi.icon_text_trigger", BI.IconTextTrigger); \ No newline at end of file diff --git a/src/case/trigger/trigger.text.js b/src/case/trigger/trigger.text.js deleted file mode 100644 index 44b4dd46f0..0000000000 --- a/src/case/trigger/trigger.text.js +++ /dev/null @@ -1,62 +0,0 @@ -/** - * 文字trigger - * - * Created by GUY on 2015/9/15. - * @class BI.TextTrigger - * @extends BI.Trigger - */ -BI.TextTrigger = BI.inherit(BI.Trigger, { - _const: { - hgap: 4 - }, - - _defaultConfig: function () { - var conf = BI.TextTrigger.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-text-trigger", - height: 24 - }); - }, - - _init: function () { - BI.TextTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - height: o.height, - text: o.text, - hgap: c.hgap, - readonly: o.readonly - }); - this.trigerButton = BI.createWidget({ - type: "bi.trigger_icon_button", - cls: "bi-border-left", - width: o.triggerWidth || o.height - }); - - BI.createWidget({ - element: this, - type: 'bi.htape', - items: [ - { - el: this.text - }, { - el: this.trigerButton, - width: o.triggerWidth || o.height - } - ] - }); - }, - - setValue: function (value) { - this.text.setValue(value); - this.text.setTitle(value); - }, - - setText: function (text) { - this.text.setText(text); - this.text.setTitle(text); - } -}); -BI.shortcut("bi.text_trigger", BI.TextTrigger); \ No newline at end of file diff --git a/src/case/trigger/trigger.text.select.js b/src/case/trigger/trigger.text.select.js deleted file mode 100644 index 5f66a31abf..0000000000 --- a/src/case/trigger/trigger.text.select.js +++ /dev/null @@ -1,53 +0,0 @@ -/** - * 选择字段trigger - * - * Created by GUY on 2015/9/15. - * @class BI.SelectTextTrigger - * @extends BI.Trigger - */ -BI.SelectTextTrigger = BI.inherit(BI.Trigger, { - - _defaultConfig: function () { - return BI.extend(BI.SelectTextTrigger.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-select-text-trigger bi-border", - height: 24 - }); - }, - - _init: function () { - this.options.height -= 2; - BI.SelectTextTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.trigger = BI.createWidget({ - type: "bi.text_trigger", - element: this, - height: o.height - }); - if (BI.isKey(o.text)) { - this.setValue(o.text); - } - }, - - setValue: function (vals) { - var o = this.options; - vals = BI.isArray(vals) ? vals : [vals]; - var result = []; - var items = BI.Tree.transformToArrayFormat(this.options.items); - BI.each(items, function (i, item) { - if (BI.deepContains(vals, item.value) && !result.contains(item.text || item.value)) { - result.push(item.text || item.value); - } - }); - - if (result.length > 0) { - this.trigger.setText(result.join(",")); - } else { - this.trigger.setText(o.text); - } - }, - - populate: function (items) { - this.options.items = items; - } -}); -BI.shortcut("bi.select_text_trigger", BI.SelectTextTrigger); \ No newline at end of file diff --git a/src/case/trigger/trigger.text.select.small.js b/src/case/trigger/trigger.text.select.small.js deleted file mode 100644 index 3728317254..0000000000 --- a/src/case/trigger/trigger.text.select.small.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * 选择字段trigger小一号的 - * - * @class BI.SmallSelectTextTrigger - * @extends BI.Trigger - */ -BI.SmallSelectTextTrigger = BI.inherit(BI.Trigger, { - - _defaultConfig: function () { - return BI.extend(BI.SmallSelectTextTrigger.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-small-select-text-trigger bi-border", - height: 20 - }); - }, - - _init: function () { - this.options.height -= 2; - BI.SmallSelectTextTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.trigger = BI.createWidget({ - type: "bi.small_text_trigger", - element: this, - height: o.height - 2 - }); - if (BI.isKey(o.text)) { - this.setValue(o.text); - } - }, - - setValue: function (vals) { - var o = this.options; - vals = BI.isArray(vals) ? vals : [vals]; - var result = []; - var items = BI.Tree.transformToArrayFormat(this.options.items); - BI.each(items, function (i, item) { - if (BI.deepContains(vals, item.value) && !result.contains(item.text || item.value)) { - result.push(item.text || item.value); - } - }); - - if (result.length > 0) { - this.trigger.element.removeClass("bi-water-mark"); - this.trigger.setText(result.join(",")); - } else { - this.trigger.element.addClass("bi-water-mark"); - this.trigger.setText(o.text); - } - }, - - populate: function (items) { - this.options.items = items; - } -}); -BI.shortcut("bi.small_select_text_trigger", BI.SmallSelectTextTrigger); \ No newline at end of file diff --git a/src/case/trigger/trigger.text.small.js b/src/case/trigger/trigger.text.small.js deleted file mode 100644 index 1628a8c19c..0000000000 --- a/src/case/trigger/trigger.text.small.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * 文字trigger(右边小三角小一号的) == - * - * @class BI.SmallTextTrigger - * @extends BI.Trigger - */ -BI.SmallTextTrigger = BI.inherit(BI.Trigger, { - _const: { - hgap: 4, - }, - - _defaultConfig: function () { - var conf = BI.SmallTextTrigger.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-text-trigger", - height: 20 - }); - }, - - _init: function () { - BI.SmallTextTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - height: o.height, - text: o.text, - hgap: c.hgap - }); - this.trigerButton = BI.createWidget({ - type: "bi.trigger_icon_button", - width: o.triggerWidth || o.height - }); - - BI.createWidget({ - element: this, - type: 'bi.htape', - items: [ - { - el: this.text - }, { - el: this.trigerButton, - width: o.triggerWidth || o.height - } - ] - }); - }, - - setValue: function (value) { - this.text.setValue(value); - }, - - setText: function (text) { - this.text.setText(text); - } -}); -BI.shortcut("bi.small_text_trigger", BI.SmallTextTrigger); \ No newline at end of file diff --git a/src/clone-element.js b/src/clone-element.js new file mode 100644 index 0000000000..8f8e97242a --- /dev/null +++ b/src/clone-element.js @@ -0,0 +1,10 @@ +import { extend } from './util'; +import { h } from './h'; + +export function cloneElement(vnode, props) { + return h( + vnode.nodeName, + extend(extend({}, vnode.attributes), props), + arguments.length>2 ? [].slice.call(arguments, 2) : vnode.children + ); +} diff --git a/src/component.js b/src/component.js new file mode 100644 index 0000000000..7516ca6eb5 --- /dev/null +++ b/src/component.js @@ -0,0 +1,81 @@ +import { FORCE_RENDER } from './constants'; +import { extend } from './util'; +import { renderComponent } from './vdom/component'; +import { enqueueRender } from './render-queue'; + +/** Base Component class. + * Provides `setState()` and `forceUpdate()`, which trigger rendering. + * @public + * + * @example + * class MyFoo extends Component { + * render(props, state) { + * return <div />; + * } + * } + */ +export function Component(props, context) { + this._dirty = true; + + /** @public + * @type {object} + */ + this.context = context; + + /** @public + * @type {object} + */ + this.props = props; + + /** @public + * @type {object} + */ + this.state = this.state || {}; +} + + +extend(Component.prototype, { + + /** Returns a `boolean` indicating if the component should re-render when receiving the given `props` and `state`. + * @param {object} nextProps + * @param {object} nextState + * @param {object} nextContext + * @returns {Boolean} should the component re-render + * @name shouldComponentUpdate + * @function + */ + + + /** Update component state by copying properties from `state` to `this.state`. + * @param {object} state A hash of state properties to update with new values + * @param {function} callback A function to be called once component state is updated + */ + setState(state, callback) { + let s = this.state; + if (!this.prevState) this.prevState = extend({}, s); + extend(s, typeof state==='function' ? state(s, this.props) : state); + if (callback) (this._renderCallbacks = (this._renderCallbacks || [])).push(callback); + enqueueRender(this); + }, + + + /** Immediately perform a synchronous re-render of the component. + * @param {function} callback A function to be called after component is re-rendered. + * @private + */ + forceUpdate(callback) { + if (callback) (this._renderCallbacks = (this._renderCallbacks || [])).push(callback); + renderComponent(this, FORCE_RENDER); + }, + + + /** Accepts `props` and `state`, and returns a new Virtual DOM tree to build. + * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx). + * @param {object} props Props (eg: JSX attributes) received from parent element/component + * @param {object} state The component's current state + * @param {object} context Context object (if a parent component has provided context) + * @returns VNode + */ + render() {} + +}); diff --git a/src/component/allvaluechooser/abstract.allvaluechooser.js b/src/component/allvaluechooser/abstract.allvaluechooser.js deleted file mode 100644 index 5183a27fa7..0000000000 --- a/src/component/allvaluechooser/abstract.allvaluechooser.js +++ /dev/null @@ -1,79 +0,0 @@ -/** - * 简单的复选下拉框控件, 适用于数据量少的情况, 与valuechooser的区别是allvaluechooser setValue和getValue返回的是所有值 - * 封装了字段处理逻辑 - * - * Created by GUY on 2015/10/29. - * @class BI.AbstractAllValueChooser - * @extends BI.Widget - */ -BI.AbstractAllValueChooser = BI.inherit(BI.Widget, { - - _const: { - perPage: 100 - }, - - _defaultConfig: function () { - return BI.extend(BI.AbstractAllValueChooser.superclass._defaultConfig.apply(this, arguments), { - width: 200, - height: 30, - items: null, - itemsCreator: BI.emptyFn, - cache: true - }); - }, - - _valueFormatter: function (v) { - var text = v; - if (BI.isNotNull(this.items)) { - BI.some(this.items, function (i, item) { - if (item.value === v) { - text = item.text; - return true; - } - }); - } - return text; - }, - - _itemsCreator: function (options, callback) { - var self = this, o = this.options; - if (!o.cache || !this.items) { - o.itemsCreator({}, function (items) { - self.items = items; - call(items); - }); - } else { - call(this.items); - } - function call(items) { - var keywords = (options.keywords || []).slice(); - if (options.keyword) { - keywords.push(options.keyword); - } - BI.each(keywords, function (i, kw) { - var search = BI.Func.getSearchResult(items, kw); - items = search.matched.concat(search.finded); - }); - if (options.selectedValues) {//过滤 - var filter = BI.makeObject(options.selectedValues, true); - items = BI.filter(items, function (i, ob) { - return !filter[ob.value]; - }); - } - if (options.type === BI.MultiSelectCombo.REQ_GET_ALL_DATA) { - callback({ - items: items - }); - return; - } - if (options.type === BI.MultiSelectCombo.REQ_GET_DATA_LENGTH) { - callback({count: items.length}); - return; - } - callback({ - items: items, - hasNext: false - }); - } - } -}); \ No newline at end of file diff --git a/src/component/allvaluechooser/combo.allvaluechooser.js b/src/component/allvaluechooser/combo.allvaluechooser.js deleted file mode 100644 index 908da7ec95..0000000000 --- a/src/component/allvaluechooser/combo.allvaluechooser.js +++ /dev/null @@ -1,62 +0,0 @@ -/** - * 简单的复选下拉框控件, 适用于数据量少的情况, 与valuechooser的区别是allvaluechooser setValue和getValue返回的是所有值 - * 封装了字段处理逻辑 - * - * Created by GUY on 2015/10/29. - * @class BI.AllValueChooserCombo - * @extends BI.AbstractAllValueChooser - */ -BI.AllValueChooserCombo = BI.inherit(BI.AbstractAllValueChooser, { - - _defaultConfig: function () { - return BI.extend(BI.AllValueChooserCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-all-value-chooser-combo", - width: 200, - height: 30, - items: null, - itemsCreator: BI.emptyFn, - cache: true - }); - }, - - _init: function () { - BI.AllValueChooserCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (BI.isNotNull(o.items)) { - this.items = o.items; - } - this.combo = BI.createWidget({ - type: 'bi.multi_select_combo', - element: this, - itemsCreator: BI.bind(this._itemsCreator, this), - valueFormatter: BI.bind(this._valueFormatter, this), - width: o.width, - height: o.height - }); - - this.combo.on(BI.MultiSelectCombo.EVENT_CONFIRM, function () { - self.fireEvent(BI.AllValueChooserCombo.EVENT_CONFIRM); - }); - }, - - setValue: function (v) { - this.combo.setValue({ - type: BI.Selection.Multi, - value: v || [] - }); - }, - - getValue: function () { - var val = this.combo.getValue() || {}; - if (val.type === BI.Selection.All) { - return val.assist; - } - return val.value || []; - }, - - populate: function () { - this.combo.populate.apply(this, arguments); - } -}); -BI.AllValueChooserCombo.EVENT_CONFIRM = "AllValueChooserCombo.EVENT_CONFIRM"; -BI.shortcut('bi.all_value_chooser_combo', BI.AllValueChooserCombo); \ No newline at end of file diff --git a/src/component/allvaluechooser/pane.allvaluechooser.js b/src/component/allvaluechooser/pane.allvaluechooser.js deleted file mode 100644 index 4d9a1f4086..0000000000 --- a/src/component/allvaluechooser/pane.allvaluechooser.js +++ /dev/null @@ -1,62 +0,0 @@ -/** - * 简单的复选下拉框控件, 适用于数据量少的情况, 与valuechooser的区别是allvaluechooser setValue和getValue返回的是所有值 - * 封装了字段处理逻辑 - * - * Created by GUY on 2015/10/29. - * @class BI.AllValueChooserPane - * @extends BI.AbstractAllValueChooser - */ -BI.AllValueChooserPane = BI.inherit(BI.AbstractAllValueChooser, { - - _defaultConfig: function () { - return BI.extend(BI.AllValueChooserPane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-all-value-chooser-pane", - width: 200, - height: 30, - items: null, - itemsCreator: BI.emptyFn, - cache: true - }); - }, - - _init: function () { - BI.AllValueChooserPane.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (BI.isNotNull(o.items)) { - this.items = o.items; - } - this.list = BI.createWidget({ - type: 'bi.multi_select_list', - element: this, - itemsCreator: BI.bind(this._itemsCreator, this), - valueFormatter: BI.bind(this._valueFormatter, this), - width: o.width, - height: o.height - }); - - this.list.on(BI.MultiSelectList.EVENT_CHANGE, function () { - self.fireEvent(BI.AllValueChooserPane.EVENT_CHANGE); - }); - }, - - setValue: function (v) { - this.list.setValue({ - type: BI.Selection.Multi, - value: v || [] - }); - }, - - getValue: function () { - var val = this.list.getValue() || {}; - if (val.type === BI.Selection.All) { - return val.assist; - } - return val.value || []; - }, - - populate: function () { - this.list.populate.apply(this.list, arguments); - } -}); -BI.AllValueChooserPane.EVENT_CHANGE = "AllValueChooserPane.EVENT_CHANGE"; -BI.shortcut('bi.all_value_chooser_pane', BI.AllValueChooserPane); \ No newline at end of file diff --git a/src/component/treevaluechooser/abstract.treevaluechooser.js b/src/component/treevaluechooser/abstract.treevaluechooser.js deleted file mode 100644 index d881febe31..0000000000 --- a/src/component/treevaluechooser/abstract.treevaluechooser.js +++ /dev/null @@ -1,658 +0,0 @@ -BI.AbstractTreeValueChooser = BI.inherit(BI.Widget, { - - _const: { - perPage: 100 - }, - - _defaultConfig: function () { - return BI.extend(BI.AbstractTreeValueChooser.superclass._defaultConfig.apply(this, arguments), { - items: null, - itemsCreator: BI.emptyFn - }); - }, - - _initData: function (items) { - this.items = items; - var nodes = BI.Tree.treeFormat(items); - this.tree = new BI.Tree(); - this.tree.initTree(nodes); - }, - - _itemsCreator: function (options, callback) { - var self = this, o = this.options; - if (!this.items) { - o.itemsCreator({}, function (items) { - self._initData(items); - call(); - }); - } else { - call(); - } - function call() { - switch (options.type) { - case BI.TreeView.REQ_TYPE_INIT_DATA: - self._reqInitTreeNode(options, callback); - break; - case BI.TreeView.REQ_TYPE_ADJUST_DATA: - self._reqAdjustTreeNode(options, callback); - break; - case BI.TreeView.REQ_TYPE_SELECT_DATA: - self._reqSelectedTreeNode(options, callback); - break; - case BI.TreeView.REQ_TYPE_GET_SELECTED_DATA: - self._reqDisplayTreeNode(options, callback); - break; - default : - self._reqTreeNode(options, callback); - break; - } - } - }, - - _reqDisplayTreeNode: function (op, callback) { - var self = this; - var result = []; - var selectedValues = op.selectedValues; - - if (selectedValues == null || BI.isEmpty(selectedValues)) { - callback({}); - return; - } - - doCheck([], this.tree.getRoot(), selectedValues); - - callback({ - items: result - }); - - function doCheck(parentValues, node, selected) { - if (selected == null || BI.isEmpty(selected)) { - BI.each(node.getChildren(), function (i, child) { - var newParents = BI.clone(parentValues); - newParents.push(child.value); - var llen = self._getChildCount(newParents); - createOneJson(child, node.id, llen); - doCheck(newParents, child, {}); - }); - return; - } - BI.each(selected, function (k) { - var node = self._getTreeNode(parentValues, k); - var newParents = BI.clone(parentValues); - newParents.push(node.value); - createOneJson(node, node.parent && node.parent.id, getCount(selected[k], newParents)); - doCheck(newParents, node, selected[k]); - }) - } - - function getCount(jo, parentValues) { - if (jo == null) { - return 0; - } - if (BI.isEmpty(jo)) { - return self._getChildCount(parentValues); - } - - return BI.size(jo); - } - - function createOneJson(node, pId, llen) { - result.push({ - id: node.id, - pId: pId, - text: node.text + (llen > 0 ? ("(" + BI.i18nText("BI-Basic_Altogether") + llen + BI.i18nText("BI-Basic_Count") + ")") : ""), - value: node.value, - open: true - }); - } - }, - - _reqSelectedTreeNode: function (op, callback) { - var self = this; - var selectedValues = BI.deepClone(op.selectedValues); - var notSelectedValue = op.notSelectedValue || {}; - var keyword = op.keyword || ""; - var parentValues = op.parentValues || []; - - if (selectedValues == null || BI.isEmpty(selectedValues)) { - callback({}); - return; - } - - dealWithSelectedValues(selectedValues); - callback(selectedValues); - - - function dealWithSelectedValues(selectedValues) { - var p = parentValues.concat(notSelectedValue); - //存储的值中存在这个值就把它删掉 - //例如选中了中国-江苏-南京, 取消中国或江苏或南京 - if (canFindKey(selectedValues, p)) { - //如果搜索的值在父亲链中 - if (isSearchValueInParent(p)) { - //例如选中了 中国-江苏, 搜索江苏, 取消江苏 - //例如选中了 中国-江苏, 搜索江苏, 取消中国 - self._deleteNode(selectedValues, p); - } else { - var searched = []; - var finded = search(parentValues, notSelectedValue, [], searched); - if (finded && BI.isNotEmptyArray(searched)) { - BI.each(searched, function (i, arr) { - var node = self._getNode(selectedValues, arr); - if (node) { - //例如选中了 中国-江苏-南京,搜索南京,取消中国 - self._deleteNode(selectedValues, arr); - } else { - //例如选中了 中国-江苏,搜索南京,取消中国 - expandSelectedValue(selectedValues, arr, BI.last(arr)); - } - }) - } - } - } - - //存储的值中不存在这个值,但父亲节点是全选的情况 - //例如选中了中国-江苏,取消南京 - //important 选中了中国-江苏,取消了江苏,但是搜索的是南京 - if (isChild(selectedValues, p)) { - var result = [], finded = false; - //如果parentValues中有匹配的值,说明搜索结果不在当前值下 - if (isSearchValueInParent(p)) { - finded = true; - } else { - //从当前值开始搜 - finded = search(parentValues, notSelectedValue, result); - p = parentValues; - } - - if (finded === true) { - //去掉点击的节点之后的结果集 - expandSelectedValue(selectedValues, p, notSelectedValue); - //添加去掉搜索的结果集 - if (result.length > 0) { - BI.each(result, function (i, strs) { - self._buildTree(selectedValues, strs); - }) - } - } - } - - } - - function expandSelectedValue(selectedValues, parents, notSelectedValue) { - var next = selectedValues; - var childrenCount = []; - var path = []; - //去掉点击的节点之后的结果集 - BI.some(parents, function (i, v) { - var t = next[v]; - if (t == null) { - if (i === 0) { - return true; - } - if (BI.isEmpty(next)) { - var split = parents.slice(0, i); - var expanded = self._getChildren(split); - path.push(split); - childrenCount.push(expanded.length); - //如果只有一个值且取消的就是这个值 - if (i === parents.length - 1 && expanded.length === 1 && expanded[0] === notSelectedValue) { - for (var j = childrenCount.length - 1; j >= 0; j--) { - if (childrenCount[j] === 1) { - self._deleteNode(selectedValues, path[j]); - } else { - break; - } - } - } else { - BI.each(expanded, function (m, child) { - if (i === parents.length - 1 && child.value === notSelectedValue) { - return true; - } - next[child.value] = {}; - }); - } - next = next[v]; - } else { - return true; - // next = {}; - // next[v] = {}; - } - } else { - next = t; - } - }); - } - - function search(parents, current, result, searched) { - var newParents = BI.clone(parents); - newParents.push(current); - if (self._isMatch(parents, current, keyword)) { - searched && searched.push(newParents); - return true; - } - - var children = self._getChildren(newParents); - - var notSearch = []; - var can = false; - - BI.each(children, function (i, child) { - if (search(newParents, child.value, result, searched)) { - can = true; - } else { - notSearch.push(child.value); - } - }); - if (can === true) { - BI.each(notSearch, function (i, v) { - var next = BI.clone(newParents); - next.push(v); - result.push(next); - }); - } - return can; - } - - function isSearchValueInParent(parentValues) { - for (var i = 0, len = parentValues.length; i < len; i++) { - if (self._isMatch(parentValues.slice(0, parentValues.length - 1), parentValues[i], keyword)) { - return true; - } - } - return false; - } - - function canFindKey(selectedValues, parents) { - var t = selectedValues; - for (var i = 0; i < parents.length; i++) { - var v = parents[i]; - t = t[v]; - if (t == null) { - return false; - } - } - return true; - } - - function isChild(selectedValues, parents) { - var t = selectedValues; - for (var i = 0; i < parents.length; i++) { - var v = parents[i]; - if (!BI.has(t, v)) { - return false; - } - t = t[v]; - if (BI.isEmpty(t)) { - return true; - } - } - return false; - } - }, - - _reqAdjustTreeNode: function (op, callback) { - var self = this; - var result = []; - var selectedValues = op.selectedValues; - if (selectedValues == null || BI.isEmpty(selectedValues)) { - callback({}); - return; - } - BI.each(selectedValues, function (k, v) { - result.push([k]); - }); - - dealWithSelectedValues(selectedValues, []); - - var jo = {}; - BI.each(result, function (i, strs) { - self._buildTree(jo, strs); - }); - callback(jo); - - function dealWithSelectedValues(selected, parents) { - if (selected == null || BI.isEmpty(selected)) { - return true; - } - var can = true; - BI.each(selected, function (k, v) { - var p = BI.clone(parents); - p.push(k); - if (!dealWithSelectedValues(selected[k], p)) { - BI.each(selected[k], function (nk, nv) { - var t = BI.clone(p); - t.push(nk); - result.push(t); - }); - can = false; - } - }); - return can && isAllSelected(selected, parents); - } - - function isAllSelected(selected, parents) { - return BI.isEmpty(selected) || self._getChildCount(parents) === BI.size(selected); - } - }, - - _reqInitTreeNode: function (op, callback) { - var self = this; - var result = []; - var keyword = op.keyword || ""; - var selectedValues = op.selectedValues; - var lastSearchValue = op.lastSearchValue || ""; - var output = search(); - BI.nextTick(function () { - callback({ - hasNext: output.length > self._const.perPage, - items: result, - lastSearchValue: BI.last(output) - }) - }); - - function search() { - var children = self._getChildren([]); - var start = children.length; - if (lastSearchValue !== "") { - for (var j = 0, len = start; j < len; j++) { - if (children[j].value === lastSearchValue) { - start = j + 1; - break; - } - } - } else { - start = 0; - } - var output = []; - for (var i = start, len = children.length; i < len; i++) { - if (output.length < self._const.perPage) { - var find = nodeSearch(1, [], children[i].value, false, result); - } else if (output.length === self._const.perPage) { - var find = nodeSearch(1, [], children[i].value, false, []); - } - if (find[0] === true) { - output.push(children[i].value); - } - if (output.length > self._const.perPage) { - break; - } - } - return output; - } - - function nodeSearch(deep, parentValues, current, isAllSelect, result) { - if (self._isMatch(parentValues, current, keyword)) { - var checked = isAllSelect || isSelected(parentValues, current); - createOneJson(parentValues, current, false, checked, !isAllSelect && isHalf(parentValues, current), true, result); - return [true, checked]; - } - var newParents = BI.clone(parentValues); - newParents.push(current); - var children = self._getChildren(newParents); - - var can = false, checked = false; - - var isCurAllSelected = isAllSelect || isAllSelected(parentValues, current); - BI.each(children, function (i, child) { - var state = nodeSearch(deep + 1, newParents, child.value, isCurAllSelected, result); - if (state[1] === true) { - checked = true; - } - if (state[0] === true) { - can = true; - } - }); - if (can === true) { - checked = isCurAllSelected || (isSelected(parentValues, current) && checked); - createOneJson(parentValues, current, true, checked, false, false, result); - } - return [can, checked]; - } - - function createOneJson(parentValues, value, isOpen, checked, half, flag, result) { - var node = self._getTreeNode(parentValues, value) - result.push({ - id: node.id, - pId: node.pId, - text: node.text, - value: node.value, - title: node.title, - isParent: node.getChildrenLength() > 0, - open: isOpen, - checked: checked, - halfCheck: half, - flag: flag - }); - } - - function isHalf(parentValues, value) { - var find = findSelectedObj(parentValues); - if (find == null) { - return null; - } - return BI.any(find, function (v, ob) { - if (v === value) { - if (ob != null && !BI.isEmpty(ob)) { - return true; - } - } - }); - } - - function isAllSelected(parentValues, value) { - var find = findSelectedObj(parentValues); - if (find == null) { - return null; - } - return BI.any(find, function (v, ob) { - if (v === value) { - if (ob != null && BI.isEmpty(ob)) { - return true; - } - } - }); - } - - function isSelected(parentValues, value) { - var find = findSelectedObj(parentValues); - if (find == null) { - return false; - } - return BI.any(find, function (v) { - if (v === value) { - return true; - } - }); - } - - function findSelectedObj(parentValues) { - var find = selectedValues; - if (find == null) { - return null; - } - BI.every(parentValues, function (i, v) { - find = find[v]; - if (find == null) { - return false; - } - return true; - }); - return find; - } - }, - - _reqTreeNode: function (op, callback) { - var self = this; - var result = []; - var times = op.times; - var checkState = op.checkState || {}; - var parentValues = op.parentValues || []; - var selectedValues = op.selectedValues || {}; - var valueMap = {}; - // if (judgeState(parentValues, selectedValues, checkState)) { - valueMap = dealWidthSelectedValue(parentValues, selectedValues); - // } - var nodes = this._getChildren(parentValues); - for (var i = (times - 1) * this._const.perPage; nodes[i] && i < times * this._const.perPage; i++) { - var state = getCheckState(nodes[i].value, parentValues, valueMap, checkState); - result.push({ - id: nodes[i].id, - pId: nodes[i].pId, - value: nodes[i].value, - text: nodes[i].text, - times: 1, - isParent: nodes[i].getChildrenLength() > 0, - checked: state[0], - halfCheck: state[1] - }) - } - BI.nextTick(function () { - callback({ - items: result, - hasNext: nodes.length > times * self._const.perPage - }); - }); - - function judgeState(parentValues, selected_value, checkState) { - var checked = checkState.checked, half = checkState.half; - if (parentValues.length > 0 && !checked) { - return false; - } - return (parentValues.length === 0 || (checked && half) && !BI.isEmpty(selected_value)); - } - - function dealWidthSelectedValue(parentValues, selectedValues) { - var valueMap = {}; - BI.each(parentValues, function (i, v) { - selectedValues = selectedValues[v] || {}; - }); - BI.each(selectedValues, function (value, obj) { - if (BI.isNull(obj)) { - valueMap[value] = [0, 0]; - return; - } - if (BI.isEmpty(obj)) { - valueMap[value] = [2, 0]; - return; - } - var nextNames = {}; - BI.each(obj, function (t, o) { - if (BI.isNull(o) || BI.isEmpty(o)) { - nextNames[t] = true; - } - }); - valueMap[value] = [1, BI.size(nextNames)]; - }); - return valueMap; - } - - function getCheckState(current, parentValues, valueMap, checkState) { - var checked = checkState.checked, half = checkState.half; - var tempCheck = false, halfCheck = false; - if (BI.has(valueMap, current)) { - //可能是半选 - if (valueMap[current][0] === 1) { - var values = BI.clone(parentValues); - values.push(current); - var childCount = self._getChildCount(values); - if (childCount > 0 && childCount !== valueMap[current][1]) { - halfCheck = true; - } - } else if (valueMap[current][0] === 2) { - tempCheck = true; - } - } - var check; - if (!checked && !halfCheck && !tempCheck) { - check = BI.has(valueMap, current); - } else { - check = ((tempCheck || checked) && !half) || BI.has(valueMap, current); - } - return [check, halfCheck]; - } - }, - - _getNode: function (selectedValues, parentValues) { - var pNode = selectedValues; - for (var i = 0, len = parentValues.length; i < len; i++) { - if (pNode == null) { - return null; - } - pNode = pNode[parentValues[i]]; - } - return pNode; - }, - - _deleteNode: function (selectedValues, values) { - var name = values[values.length - 1]; - var p = values.slice(0, values.length - 1); - var pNode = this._getNode(selectedValues, p); - if (pNode != null && pNode[name]) { - delete pNode[name]; - //递归删掉空父节点 - while (p.length > 0 && BI.isEmpty(pNode)) { - name = p[p.length - 1]; - p = p.slice(0, p.length - 1); - pNode = this._getNode(selectedValues, p); - if (pNode != null) { - delete pNode[name]; - } - } - } - }, - - _buildTree: function (jo, values) { - var t = jo; - BI.each(values, function (i, v) { - if (!BI.has(t, v)) { - t[v] = {}; - } - t = t[v]; - }); - }, - - _isMatch: function (parentValues, value, keyword) { - var node = this._getTreeNode(parentValues, value); - var finded = BI.Func.getSearchResult([node.text || node.value], keyword); - return finded.finded.length > 0 || finded.matched.length > 0; - }, - - _getTreeNode: function (parentValues, v) { - var self = this; - var findedParentNode; - var index = 0; - this.tree.traverse(function (node) { - if (self.tree.isRoot(node)) { - return; - } - if (index > parentValues.length) { - return false; - } - if (index === parentValues.length && node.value === v) { - findedParentNode = node; - return false; - } - if (node.value === parentValues[index]) { - index++; - return; - } - return true; - }); - return findedParentNode; - }, - - _getChildren: function (parentValues) { - if (parentValues.length > 0) { - var value = BI.last(parentValues); - var parent = this._getTreeNode(parentValues.slice(0, parentValues.length - 1), value); - } else { - var parent = this.tree.getRoot(); - } - return parent.getChildren(); - }, - - _getChildCount: function (parentValues) { - return this._getChildren(parentValues).length; - } -}); \ No newline at end of file diff --git a/src/component/treevaluechooser/combo.treevaluechooser.js b/src/component/treevaluechooser/combo.treevaluechooser.js deleted file mode 100644 index 5a7fa64ac0..0000000000 --- a/src/component/treevaluechooser/combo.treevaluechooser.js +++ /dev/null @@ -1,52 +0,0 @@ -/** - * 简单的复选下拉树控件, 适用于数据量少的情况 - * - * Created by GUY on 2015/10/29. - * @class BI.TreeValueChooserCombo - * @extends BI.Widget - */ -BI.TreeValueChooserCombo = BI.inherit(BI.AbstractTreeValueChooser, { - - _defaultConfig: function () { - return BI.extend(BI.TreeValueChooserCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-tree-value-chooser-combo", - width: 200, - height: 30, - items: null, - itemsCreator: BI.emptyFn - }); - }, - - _init: function () { - BI.TreeValueChooserCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (BI.isNotNull(o.items)) { - this._initData(o.items); - } - this.combo = BI.createWidget({ - type: 'bi.multi_tree_combo', - element: this, - itemsCreator: BI.bind(this._itemsCreator, this), - width: o.width, - height: o.height - }); - - this.combo.on(BI.MultiTreeCombo.EVENT_CONFIRM, function () { - self.fireEvent(BI.TreeValueChooserCombo.EVENT_CONFIRM); - }); - }, - - setValue: function (v) { - this.combo.setValue(v); - }, - - getValue: function () { - return this.combo.getValue(); - }, - - populate: function () { - this.combo.populate.apply(this.combo, arguments); - } -}); -BI.TreeValueChooserCombo.EVENT_CONFIRM = "TreeValueChooserCombo.EVENT_CONFIRM"; -BI.shortcut('bi.tree_value_chooser_combo', BI.TreeValueChooserCombo); \ No newline at end of file diff --git a/src/component/treevaluechooser/pane.treevaluechooser.js b/src/component/treevaluechooser/pane.treevaluechooser.js deleted file mode 100644 index c0ebb8f327..0000000000 --- a/src/component/treevaluechooser/pane.treevaluechooser.js +++ /dev/null @@ -1,53 +0,0 @@ -/** - * 简单的复选下拉树控件, 适用于数据量少的情况 - * - * Created by GUY on 2015/10/29. - * @class BI.TreeValueChooserPane - * @extends BI.AbstractTreeValueChooser - */ -BI.TreeValueChooserPane = BI.inherit(BI.AbstractTreeValueChooser, { - - _defaultConfig: function () { - return BI.extend(BI.TreeValueChooserPane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-tree-value-chooser-pane", - items: null, - itemsCreator: BI.emptyFn - }); - }, - - _init: function () { - BI.TreeValueChooserPane.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.pane = BI.createWidget({ - type: 'bi.multi_select_tree', - element: this, - itemsCreator: BI.bind(this._itemsCreator, this) - }); - - this.pane.on(BI.MultiSelectTree.EVENT_CHANGE, function () { - self.fireEvent(BI.TreeValueChooserPane.EVENT_CHANGE); - }); - if (BI.isNotNull(o.items)) { - this._initData(o.items); - this.populate(); - } - }, - - setSelectedValue: function (v) { - this.pane.setSelectedValue(v); - }, - - setValue: function (v) { - this.pane.setValue(v); - }, - - getValue: function () { - return this.pane.getValue(); - }, - - populate: function () { - this.pane.populate.apply(this.pane, arguments); - } -}); -BI.TreeValueChooserPane.EVENT_CHANGE = "TreeValueChooserPane.EVENT_CHANGE"; -BI.shortcut('bi.tree_value_chooser_pane', BI.TreeValueChooserPane); \ No newline at end of file diff --git a/src/component/valuechooser/abstract.valuechooser.js b/src/component/valuechooser/abstract.valuechooser.js deleted file mode 100644 index 9b96e1ab51..0000000000 --- a/src/component/valuechooser/abstract.valuechooser.js +++ /dev/null @@ -1,89 +0,0 @@ -/** - * 简单的复选下拉框控件, 适用于数据量少的情况 - * 封装了字段处理逻辑 - * - * Created by GUY on 2015/10/29. - * @class BI.AbstractValueChooser - * @extends BI.Widget - */ -BI.AbstractValueChooser = BI.inherit(BI.Widget, { - - _const: { - perPage: 100 - }, - - _defaultConfig: function () { - return BI.extend(BI.AbstractValueChooser.superclass._defaultConfig.apply(this, arguments), { - items: null, - itemsCreator: BI.emptyFn, - cache: true - }); - }, - - _valueFormatter: function (v) { - var text = v; - if (BI.isNotNull(this.items)) { - BI.some(this.items, function (i, item) { - if (item.value === v) { - text = item.text; - return true; - } - }); - } - return text; - }, - - _getItemsByTimes: function (items, times) { - var res = []; - for (var i = (times - 1) * this._const.perPage; items[i] && i < times * this._const.perPage; i++) { - res.push(items[i]); - } - return res; - }, - - _hasNextByTimes: function (items, times) { - return times * this._const.perPage < items.length; - }, - - _itemsCreator: function (options, callback) { - var self = this, o = this.options; - if (!o.cache || !this.items) { - o.itemsCreator({}, function (items) { - self.items = items; - call(items); - }); - } else { - call(this.items); - } - function call(items) { - var keywords = (options.keywords || []).slice(); - if (options.keyword) { - keywords.push(options.keyword); - } - BI.each(keywords, function (i, kw) { - var search = BI.Func.getSearchResult(items, kw); - items = search.matched.concat(search.finded); - }); - if (options.selectedValues) {//过滤 - var filter = BI.makeObject(options.selectedValues, true); - items = BI.filter(items, function (i, ob) { - return !filter[ob.value]; - }); - } - if (options.type === BI.MultiSelectCombo.REQ_GET_ALL_DATA) { - callback({ - items: items - }); - return; - } - if (options.type === BI.MultiSelectCombo.REQ_GET_DATA_LENGTH) { - callback({count: items.length}); - return; - } - callback({ - items: self._getItemsByTimes(items, options.times), - hasNext: self._hasNextByTimes(items, options.times) - }); - } - } -}); \ No newline at end of file diff --git a/src/component/valuechooser/combo.valuechooser.js b/src/component/valuechooser/combo.valuechooser.js deleted file mode 100644 index 2f88d21281..0000000000 --- a/src/component/valuechooser/combo.valuechooser.js +++ /dev/null @@ -1,59 +0,0 @@ -/** - * 简单的复选下拉框控件, 适用于数据量少的情况 - * 封装了字段处理逻辑 - * - * Created by GUY on 2015/10/29. - * @class BI.ValueChooserCombo - * @extends BI.Widget - */ -BI.ValueChooserCombo = BI.inherit(BI.AbstractValueChooser, { - - _defaultConfig: function () { - return BI.extend(BI.ValueChooserCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-value-chooser-combo", - width: 200, - height: 30, - items: null, - itemsCreator: BI.emptyFn, - cache: true - }); - }, - - _init: function () { - BI.ValueChooserCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (BI.isNotNull(o.items)) { - this.items = o.items; - } - this.combo = BI.createWidget({ - type: 'bi.multi_select_combo', - element: this, - itemsCreator: BI.bind(this._itemsCreator, this), - valueFormatter: BI.bind(this._valueFormatter, this), - width: o.width, - height: o.height - }); - - this.combo.on(BI.MultiSelectCombo.EVENT_CONFIRM, function () { - self.fireEvent(BI.ValueChooserCombo.EVENT_CONFIRM); - }); - }, - - setValue: function (v) { - this.combo.setValue(v); - }, - - getValue: function () { - var val = this.combo.getValue() || {}; - return { - type: val.type, - value: val.value - } - }, - - populate: function () { - this.combo.populate.apply(this, arguments); - } -}); -BI.ValueChooserCombo.EVENT_CONFIRM = "ValueChooserCombo.EVENT_CONFIRM"; -BI.shortcut('bi.value_chooser_combo', BI.ValueChooserCombo); \ No newline at end of file diff --git a/src/component/valuechooser/pane.valuechooser.js b/src/component/valuechooser/pane.valuechooser.js deleted file mode 100644 index 49c4aaf188..0000000000 --- a/src/component/valuechooser/pane.valuechooser.js +++ /dev/null @@ -1,56 +0,0 @@ -/** - * 简单的复选下拉框控件, 适用于数据量少的情况 - * 封装了字段处理逻辑 - * - * Created by GUY on 2015/10/29. - * @class BI.ValueChooserPane - * @extends BI.Widget - */ -BI.ValueChooserPane = BI.inherit(BI.AbstractValueChooser, { - - _defaultConfig: function () { - return BI.extend(BI.ValueChooserPane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-value-chooser-pane", - items: null, - itemsCreator: BI.emptyFn, - cache: true - }); - }, - - _init: function () { - BI.ValueChooserPane.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.list = BI.createWidget({ - type: 'bi.multi_select_list', - element: this, - itemsCreator: BI.bind(this._itemsCreator, this), - valueFormatter: BI.bind(this._valueFormatter, this) - }); - - this.list.on(BI.MultiSelectList.EVENT_CHANGE, function () { - self.fireEvent(BI.ValueChooserPane.EVENT_CHANGE); - }); - if (BI.isNotNull(o.items)) { - this.items = o.items; - this.populate(); - } - }, - - setValue: function (v) { - this.list.setValue(v); - }, - - getValue: function () { - var val = this.list.getValue() || {}; - return { - type: val.type, - value: val.value - } - }, - - populate: function () { - this.list.populate.apply(this.list, arguments); - } -}); -BI.ValueChooserPane.EVENT_CHANGE = "ValueChooserPane.EVENT_CHANGE"; -BI.shortcut('bi.value_chooser_pane', BI.ValueChooserPane); \ No newline at end of file diff --git a/src/config.js b/src/config.js deleted file mode 100644 index 07cb50f291..0000000000 --- a/src/config.js +++ /dev/null @@ -1,96 +0,0 @@ -//工程配置 -(function () { - //注册布局 - var isSupportFlex = BI.isSupportCss3("flex"); - BI.Plugin.registerWidget("bi.horizontal", function (ob) { - if (isSupportFlex) { - return BI.extend(ob, {type: "bi.flex_horizontal"}); - } else { - return ob; - } - }); - BI.Plugin.registerWidget("bi.center_adapt", function (ob) { - if (isSupportFlex && ob.items && ob.items.length <= 1) { - //有滚动条的情况下需要用到flex_wrapper_center布局 - if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) { - //不是IE用flex_wrapper_center布局 - if (!BI.isIE()) { - return BI.extend(ob, {type: "bi.flex_wrapper_center"}); - } - return ob; - } - return BI.extend(ob, {type: "bi.flex_center"}); - } else { - return ob; - } - }); - BI.Plugin.registerWidget("bi.vertical_adapt", function (ob) { - if (isSupportFlex) { - //有滚动条的情况下需要用到flex_wrapper_center布局 - if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) { - //不是IE用flex_wrapper_center布局 - if (!BI.isIE()) { - return BI.extend({}, ob, {type: "bi.flex_wrapper_vertical_center"}); - } - return ob; - } - return BI.extend(ob, {type: "bi.flex_vertical_center"}); - } else { - return ob; - } - }); - BI.Plugin.registerWidget("bi.float_center_adapt", function (ob) { - if (isSupportFlex) { - //有滚动条的情况下需要用到flex_wrapper_center布局 - if (ob.scrollable === true || ob.scrollx === true || ob.scrolly === true) { - //不是IE用flex_wrapper_center布局 - if (!BI.isIE()) { - return BI.extend({}, ob, {type: "bi.flex_wrapper_center"}); - } - return ob; - } - return BI.extend(ob, {type: "bi.flex_center"}); - } else { - return ob; - } - }); - //注册滚动条 - BI.Plugin.registerWidget("bi.grid_table_scrollbar", function (ob) { - if (BI.isIE9Below()) { - return BI.extend(ob, {type: "bi.native_table_scrollbar"}); - } else { - return ob; - } - }); - BI.Plugin.registerWidget("bi.grid_table_horizontal_scrollbar", function (ob) { - if (BI.isIE9Below()) { - return BI.extend(ob, {type: "bi.native_table_horizontal_scrollbar"}); - } else { - return ob; - } - }); - - //注册控件 - BI.Plugin.registerWidget("bi.grid_table", function (ob) { - //非chrome下滚动条滑动效果不好,禁止掉 - if (!(BI.isChrome() && BI.isWindows() && !BI.isEdge())) { - return BI.extend(ob, {type: "bi.quick_grid_table"}); - } else { - return ob; - } - }); - BI.Plugin.registerWidget("bi.collection_table", function (ob) { - //非chrome下滚动条滑动效果不好,禁止掉 - if (!(BI.isChrome() && BI.isWindows() && !BI.isEdge())) { - return BI.extend(ob, {type: "bi.quick_collection_table"}); - } else { - return ob; - } - }); - //IE8下滚动条用原生的 - $(function () { - if (BI.isIE9Below()) { - BI.GridTableScrollbar.SIZE = 18; - } - }) -}()); \ No newline at end of file diff --git a/src/constants.js b/src/constants.js new file mode 100644 index 0000000000..23be941052 --- /dev/null +++ b/src/constants.js @@ -0,0 +1,13 @@ +// render modes + +export const NO_RENDER = 0; +export const SYNC_RENDER = 1; +export const FORCE_RENDER = 2; +export const ASYNC_RENDER = 3; + + +export const ATTR_KEY = '__preactattr_'; + +// DOM properties that should NOT have "px" added when numeric +export const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i; + diff --git a/src/core/action/action.js b/src/core/action/action.js deleted file mode 100644 index 8fa54dbf86..0000000000 --- a/src/core/action/action.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * guy - * 由一个元素切换到另一个元素的行为 - * @class BI.Action - * @extends BI.OB - * @abstract - */ -BI.Action = BI.inherit(BI.OB, { - _defaultConfig: function() { - return BI.extend(BI.Action.superclass._defaultConfig.apply(this, arguments), { - src: null, - tar: null - }); - }, - - _init : function() { - BI.Action.superclass._init.apply(this, arguments); - }, - - actionPerformed: function(src, tar, callback){ - - }, - - actionBack: function(tar, src, callback){ - - } -}); - -BI.ActionFactory = { - createAction: function(key, options){ - var action; - switch (key){ - case "show": - action = BI.ShowAction; - break; - } - return new action(options); - } -} \ No newline at end of file diff --git a/src/core/action/action.show.js b/src/core/action/action.show.js deleted file mode 100644 index 1f24c9a0ef..0000000000 --- a/src/core/action/action.show.js +++ /dev/null @@ -1,27 +0,0 @@ -/** - * guy - * 由一个元素切换到另一个元素的行为 - * @class BI.ShowAction - * @extends BI.Action - */ -BI.ShowAction = BI.inherit(BI.Action, { - _defaultConfig: function () { - return BI.extend(BI.ShowAction.superclass._defaultConfig.apply(this, arguments), {}); - }, - - _init: function () { - BI.ShowAction.superclass._init.apply(this, arguments); - }, - - actionPerformed: function (src, tar, callback) { - tar = tar || this.options.tar; - tar.setVisible(true); - callback && callback(); - }, - - actionBack: function (tar, src, callback) { - tar = tar || this.options.tar; - tar.setVisible(false); - callback && callback(); - } -}); \ No newline at end of file diff --git a/src/core/adapter/adapter.floatsection.js b/src/core/adapter/adapter.floatsection.js deleted file mode 100644 index 19e85faf37..0000000000 --- a/src/core/adapter/adapter.floatsection.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * 弹出层 - * @class BI.PopoverSection - * @extends BI.Widget - * @abstract - */ -BI.PopoverSection = BI.inherit(BI.Widget, { - _init : function() { - BI.PopoverSection.superclass._init.apply(this, arguments); - }, - - rebuildNorth : function(north) { - return true; - }, - rebuildCenter : function(center) {}, - rebuildSouth : function(south) { - return false; - }, - close: function(){ - this.fireEvent(BI.PopoverSection.EVENT_CLOSE); - }, - end: function(){ - - } -}); -BI.PopoverSection.EVENT_CLOSE = "EVENT_CLOSE"; \ No newline at end of file diff --git a/src/core/alias.js b/src/core/alias.js deleted file mode 100644 index ae6d0f9be5..0000000000 --- a/src/core/alias.js +++ /dev/null @@ -1,640 +0,0 @@ -;(function () { - if (!window.BI) { - window.BI = {}; - } - function isEmpty(value) { - // 判断是否为空值 - var result = value === "" || value === null || value === undefined; - return result; - } - - // 判断是否是无效的日期 - function isInvalidDate(date) { - return date == "Invalid Date" || date == "NaN"; - } - - /** - * 科学计数格式 - */ - function _eFormat(text, fmt) { - var e = fmt.indexOf("E"); - var eleft = fmt.substr(0, e), eright = fmt.substr(e + 1); - if (/^[0\.-]+$/.test(text)) { - text = BI._numberFormat(0.0, eleft) + 'E' + BI._numberFormat(0, eright) - } else { - var isNegative = text < 0; - if (isNegative) { - text = text.substr(1); - } - var elvl = (eleft.split('.')[0] || '').length; - var point = text.indexOf("."); - if (point < 0) { - point = text.length; - } - var i = 0; //第一个不为0的数的位置 - text = text.replace('.', ''); - for (var len = text.length; i < len; i++) { - var ech = text.charAt(i); - if (ech <= '9' && ech >= '1') { - break; - } - } - var right = point - i - elvl; - var left = text.substr(i, elvl); - var dis = i + elvl - text.length; - if (dis > 0) { - //末位补全0 - for (var k = 0; k < dis; k++) { - left += '0'; - } - } else { - left += '.' + text.substr(i + elvl); - } - left = left.replace(/^[0]+/, ''); - if (right < 0 && eright.indexOf('-') < 0) { - eright += ';-' + eright; - } - text = BI._numberFormat(left, eleft) + 'E' + BI._numberFormat(right, eright); - if (isNegative) { - text = '-' + text; - } - } - return text; - } - - /** - * 数字格式 - */ - function _numberFormat(text, format) { - var text = text + ''; - //数字格式,区分正负数 - var numMod = format.indexOf(';'); - if (numMod > -1) { - if (text >= 0) { - return _numberFormat(text + "", format.substring(0, numMod)); - } else { - return _numberFormat((-text) + "", format.substr(numMod + 1)); - } - } else { - //兼容格式处理负数的情况(copy:fr-jquery.format.js) - if (+text < 0 && format.charAt(0) !== '-') { - return _numberFormat((-text) + "", '-' + format); - } - } - var tp = text.split('.'), fp = format.split('.'), - tleft = tp[0] || '', fleft = fp[0] || '', - tright = tp[1] || '', fright = fp[1] || ''; - //百分比,千分比的小数点移位处理 - if (/[%‰]$/.test(format)) { - var paddingZero = /[%]$/.test(format) ? '00' : '000'; - tright += paddingZero; - tleft += tright.substr(0, paddingZero.length); - tleft = tleft.replace(/^0+/gi, ''); - tright = tright.substr(paddingZero.length).replace(/0+$/gi, ''); - } - var right = _dealWithRight(tright, fright); - if (right.leftPlus) { - //小数点后有进位 - tleft = parseInt(tleft) + 1 + ''; - - tleft = isNaN(tleft) ? '1' : tleft; - } - right = right.num; - var left = _dealWithLeft(tleft, fleft); - if (!(/[0-9]/.test(left))) { - left = left + '0'; - } - if (!(/[0-9]/.test(right))) { - return left + right; - } else { - return left + '.' + right; - } - } - - /** - * 处理小数点右边小数部分 - * @param tright 右边内容 - * @param fright 右边格式 - * @returns {JSON} 返回处理结果和整数部分是否需要进位 - * @private - */ - function _dealWithRight(tright, fright) { - var right = '', j = 0, i = 0; - for (var len = fright.length; i < len; i++) { - var ch = fright.charAt(i); - var c = tright.charAt(j); - switch (ch) { - case '0': - if (isEmpty(c)) { - c = '0'; - } - right += c; - j++; - break; - case '#': - right += c; - j++; - break; - default : - right += ch; - break; - } - } - var rll = tright.substr(j); - var result = {}; - if (!isEmpty(rll) && rll.charAt(0) > 4) { - //有多余字符,需要四舍五入 - result.leftPlus = true; - var numReg = right.match(/^[0-9]+/); - if (numReg) { - var num = numReg[0]; - var orilen = num.length; - var newnum = parseInt(num) + 1 + ''; - //进位到整数部分 - if (newnum.length > orilen) { - newnum = newnum.substr(1); - } else { - newnum = String.leftPad(newnum, orilen, '0'); - result.leftPlus = false; - } - right = right.replace(/^[0-9]+/, newnum); - } - } - result.num = right; - return result; - } - - /** - * 处理小数点左边整数部分 - * @param tleft 左边内容 - * @param fleft 左边格式 - * @returns {string} 返回处理结果 - * @private - */ - function _dealWithLeft(tleft, fleft) { - var left = ''; - var j = tleft.length - 1; - var combo = -1, last = -1; - var i = fleft.length - 1; - for (; i >= 0; i--) { - var ch = fleft.charAt(i); - var c = tleft.charAt(j); - switch (ch) { - case '0': - if (isEmpty(c)) { - c = '0'; - } - last = -1; - left = c + left; - j--; - break; - case '#': - last = i; - left = c + left; - j--; - break; - case ',': - if (!isEmpty(c)) { - //计算一个,分隔区间的长度 - var com = fleft.match(/,[#0]+/); - if (com) { - combo = com[0].length - 1; - } - left = ',' + left; - } - break; - default : - left = ch + left; - break; - } - } - if (last > -1) { - //处理剩余字符 - var tll = tleft.substr(0, j + 1); - left = left.substr(0, last) + tll + left.substr(last); - } - if (combo > 0) { - //处理,分隔区间 - var res = left.match(/[0-9]+,/); - if (res) { - res = res[0]; - var newstr = '', n = res.length - 1 - combo; - for (; n >= 0; n = n - combo) { - newstr = res.substr(n, combo) + ',' + newstr; - } - var lres = res.substr(0, n + combo); - if (!isEmpty(lres)) { - newstr = lres + ',' + newstr; - } - } - left = left.replace(/[0-9]+,/, newstr); - } - return left; - } - - BI.cjkEncode = function (text) { - // alex:如果非字符串,返回其本身(cjkEncode(234) 返回 ""是不对的) - if (typeof text !== 'string') { - return text; - } - - var newText = ""; - for (var i = 0; i < text.length; i++) { - var code = text.charCodeAt(i); - if (code >= 128 || code === 91 || code === 93) {//91 is "[", 93 is "]". - newText += "[" + code.toString(16) + "]"; - } else { - newText += text.charAt(i); - } - } - - return newText - }; - - BI.cjkEncodeDO = function (o) { - if (BI.isPlainObject(o)) { - var result = {}; - $.each(o, function (k, v) { - if (!(typeof v == "string")) { - v = BI.jsonEncode(v); - } - //wei:bug 43338,如果key是中文,cjkencode后o的长度就加了1,ie9以下版本死循环,所以新建对象result。 - k = BI.cjkEncode(k); - result[k] = BI.cjkEncode(v); - }); - return result; - } - return o; - }; - - BI.jsonEncode = function (o) { - //james:这个Encode是抄的EXT的 - var useHasOwn = {}.hasOwnProperty ? true : false; - - // crashes Safari in some instances - //var validRE = /^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/; - - var m = { - "\b": '\\b', - "\t": '\\t', - "\n": '\\n', - "\f": '\\f', - "\r": '\\r', - '"': '\\"', - "\\": '\\\\' - }; - - var encodeString = function (s) { - if (/["\\\x00-\x1f]/.test(s)) { - return '"' + s.replace(/([\x00-\x1f\\"])/g, function (a, b) { - var c = m[b]; - if (c) { - return c; - } - c = b.charCodeAt(); - return "\\u00" + - Math.floor(c / 16).toString(16) + - (c % 16).toString(16); - }) + '"'; - } - return '"' + s + '"'; - }; - - var encodeArray = function (o) { - var a = ["["], b, i, l = o.length, v; - for (i = 0; i < l; i += 1) { - v = o[i]; - switch (typeof v) { - case "undefined": - case "function": - case "unknown": - break; - default: - if (b) { - a.push(','); - } - a.push(v === null ? "null" : BI.jsonEncode(v)); - b = true; - } - } - a.push("]"); - return a.join(""); - }; - - if (typeof o == "undefined" || o === null) { - return "null"; - } else if (BI.isArray(o)) { - return encodeArray(o); - } else if (o instanceof Date) { - /* - * alex:原来只是把年月日时分秒简单地拼成一个String,无法decode - * 现在这么处理就可以decode了,但是JS.jsonDecode和Java.JSONObject也要跟着改一下 - */ - return BI.jsonEncode({ - __time__: o.getTime() - }) - } else if (typeof o == "string") { - return encodeString(o); - } else if (typeof o == "number") { - return isFinite(o) ? String(o) : "null"; - } else if (typeof o == "boolean") { - return String(o); - } else if (BI.isFunction(o)) { - return String(o); - } else { - var a = ["{"], b, i, v; - for (i in o) { - if (!useHasOwn || o.hasOwnProperty(i)) { - v = o[i]; - switch (typeof v) { - case "undefined": - case "unknown": - break; - default: - if (b) { - a.push(','); - } - a.push(BI.jsonEncode(i), ":", - v === null ? "null" : BI.jsonEncode(v)); - b = true; - } - } - } - a.push("}"); - return a.join(""); - } - }; - - BI.jsonDecode = function (text) { - - try { - // 注意0啊 - //var jo = $.parseJSON(text) || {}; - var jo = $.parseJSON(text); - if (jo == null) { - jo = {}; - } - } catch (e) { - /* - * richie:浏览器只支持标准的JSON字符串转换,而jQuery会默认调用浏览器的window.JSON.parse()函数进行解析 - * 比如:var str = "{'a':'b'}",这种形式的字符串转换为JSON就会抛异常 - */ - try { - jo = new Function("return " + text)() || {}; - } catch (e) { - //do nothing - } - if (jo == null) { - jo = []; - } - } - if (!_hasDateInJson(text)) { - return jo; - } - - function _hasDateInJson(json) { - if (!json || typeof json !== "string") { - return false; - } - return json.indexOf("__time__") != -1; - } - - return (function (o) { - if (typeof o === "string") { - return o; - } - if (o && o.__time__ != null) { - return new Date(o.__time__); - } - for (var a in o) { - if (o[a] == o || typeof o[a] == 'object' || $.isFunction(o[a])) { - break; - } - o[a] = arguments.callee(o[a]); - } - - return o; - })(jo); - }; - - BI.contentFormat = function (cv, fmt) { - if (isEmpty(cv)) { - //原值为空,返回空字符 - return ''; - } - var text = cv.toString(); - if (isEmpty(fmt)) { - //格式为空,返回原字符 - return text; - } - if (fmt.match(/^T/)) { - //T - 文本格式 - return text; - } else if (fmt.match(/^D/)) { - //D - 日期(时间)格式 - if (!(cv instanceof Date)) { - if (typeof cv === 'number') { - //毫秒数类型 - cv = new Date(cv); - } else { - //字符串类型,如yyyyMMdd、MMddyyyy等这样无分隔符的结构 - cv = Date.parseDate(cv + "", Date.patterns.ISO8601Long); - } - } - if (!BI.isNull(cv)) { - var needTrim = fmt.match(/^DT/); - text = BI.date2Str(cv, fmt.substring(needTrim ? 2 : 1)); - } - } else if (fmt.match(/E/)) { - //科学计数格式 - text = _eFormat(text, fmt); - } else { - //数字格式 - text = _numberFormat(text, fmt); - } - //¤ - 货币格式 - text = text.replace(/¤/g, '¥'); - return text; - }; - - /** - * 把日期对象按照指定格式转化成字符串 - * - * @example - * var date = new Date('Thu Dec 12 2013 00:00:00 GMT+0800'); - * var result = BI.date2Str(date, 'yyyy-MM-dd');//2013-12-12 - * - * @class BI.date2Str - * @param date 日期 - * @param format 日期格式 - * @returns {String} - */ - BI.date2Str = function (date, format) { - if (!date) { - return ''; - } - // O(len(format)) - var len = format.length, result = ''; - if (len > 0) { - var flagch = format.charAt(0), start = 0, str = flagch; - for (var i = 1; i < len; i++) { - var ch = format.charAt(i); - if (flagch !== ch) { - result += compileJFmt({ - 'char': flagch, - 'str': str, - 'len': i - start - }, date); - flagch = ch; - start = i; - str = flagch; - } else { - str += ch; - } - } - result += compileJFmt({ - 'char': flagch, - 'str': str, - 'len': len - start - }, date); - } - return result; - - function compileJFmt(jfmt, date) { - var str = jfmt.str, len = jfmt.len, ch = jfmt['char']; - switch (ch) { - case 'E': //星期 - str = Date._DN[date.getDay()]; - break; - case 'y': //年 - if (len <= 3) { - str = (date.getFullYear() + '').slice(2, 4); - } else { - str = date.getFullYear(); - } - break; - case 'M': //月 - if (len > 2) { - str = Date._MN[date.getMonth()]; - } else if (len < 2) { - str = date.getMonth() + 1; - } else { - str = String.leftPad(date.getMonth() + 1 + '', 2, '0'); - } - break; - case 'd': //日 - if (len > 1) { - str = String.leftPad(date.getDate() + '', 2, '0'); - } else { - str = date.getDate(); - } - break; - case 'h': //时(12) - var hour = date.getHours() % 12; - if (hour === 0) { - hour = 12; - } - if (len > 1) { - str = String.leftPad(hour + '', 2, '0'); - } else { - str = hour; - } - break; - case 'H': //时(24) - if (len > 1) { - str = String.leftPad(date.getHours() + '', 2, '0'); - } else { - str = date.getHours(); - } - break; - case 'm': - if (len > 1) { - str = String.leftPad(date.getMinutes() + '', 2, '0'); - } else { - str = date.getMinutes(); - } - break; - case 's': - if (len > 1) { - str = String.leftPad(date.getSeconds() + '', 2, '0'); - } else { - str = date.getSeconds(); - } - break; - case 'a': - str = date.getHours() < 12 ? 'am' : 'pm'; - break; - case 'z': - str = date.getTimezone(); - break; - default: - str = jfmt.str; - break; - } - return str; - } - }; - - BI.object2Number = function (value) { - if (value == null) { - return 0; - } - if (typeof value == 'number') { - return value; - } else { - var str = value + ""; - if (str.indexOf(".") === -1) { - return parseInt(str); - } else { - return parseFloat(str); - } - } - }; - - BI.object2Date = function (obj) { - if (obj == null) { - return new Date(); - } - if (obj instanceof Date) { - return obj; - } else if (typeof obj == 'number') { - return new Date(obj); - } else { - var str = obj + ""; - str = str.replace(/-/g, '/'); - var dt = new Date(str); - if (!isInvalidDate(dt)) { - return dt; - } - - return new Date(); - } - }; - - BI.object2Time = function (obj) { - if (obj == null) { - return new Date(); - } - if (obj instanceof Date) { - return obj; - } else { - var str = obj + ""; - str = str.replace(/-/g, '/'); - var dt = new Date(str); - if (!isInvalidDate(dt)) { - return dt; - } - if (str.indexOf('/') === -1 && str.indexOf(':') !== -1) { - dt = new Date("1970/01/01 " + str); - if (!isInvalidDate(dt)) { - return dt; - } - } - dt = BI.str2Date(str, "HH:mm:ss"); - if (!isInvalidDate(dt)) { - return dt; - } - return new Date(); - } - }; -})(); diff --git a/src/core/base.js b/src/core/base.js deleted file mode 100644 index 7b62f8b6d0..0000000000 --- a/src/core/base.js +++ /dev/null @@ -1,1157 +0,0 @@ -/** - * 基本函数 - * Create By GUY 2014\11\17 - * - */ - -if (!window.BI) { - window.BI = {}; -} -; -!(function ($, undefined) { - var traverse = function (func, context) { - return function (value, key, obj) { - return func.call(context, key, value, obj); - } - }; - var _apply = function (name) { - return function () { - return _[name].apply(_, arguments); - } - }; - var _applyFunc = function (name) { - return function () { - var args = Array.prototype.slice.call(arguments, 0); - args[1] = _.isFunction(args[1]) ? traverse(args[1], args[2]) : args[1]; - return _[name].apply(_, args); - } - }; - - //Utility - _.extend(BI, { - i18nText: function (key) { - var localeText = (BI.i18n && BI.i18n[key]) || ""; - if (!localeText) { - localeText = key; - } - var len = arguments.length; - if (len > 1) { - for (var i = 1; i < len; i++) { - var key = "{R" + i + "}"; - localeText = localeText.replaceAll(key, arguments[i] + ""); - } - } - return localeText; - }, - - assert: function (v, is) { - if (this.isFunction(is)) { - if (!is(v)) { - throw new Error(v + " error"); - } else { - return true; - } - } - if (!this.isArray(is)) { - is = [is]; - } - if (!this.deepContains(is, v)) { - throw new Error(v + " error"); - } - }, - - warn: function (message) { - console.warn(message) - }, - - UUID: function () { - var f = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']; - var str = ""; - for (var i = 0; i < 16; i++) { - var r = parseInt(f.length * Math.random(), 10); - str += f[r]; - } - return str; - }, - - isWidget: function (widget) { - return widget instanceof BI.Widget || (BI.View && widget instanceof BI.View); - }, - - createWidgets: function (items, options) { - if (!BI.isArray(items)) { - throw new Error("cannot create Widgets") - } - return BI.map(BI.flatten(items), function (i, item) { - return BI.createWidget(item, BI.deepClone(options)); - }); - }, - - createItems: function (data, innerAttr, outerAttr) { - innerAttr = BI.isArray(innerAttr) ? innerAttr : BI.makeArray(BI.flatten(data).length, innerAttr); - outerAttr = BI.isArray(outerAttr) ? outerAttr : BI.makeArray(BI.flatten(data).length, outerAttr); - return BI.map(data, function (i, item) { - if (BI.isArray(item)) { - return BI.createItems(item, innerAttr, outerAttr); - } - if (item instanceof BI.Widget) { - return BI.extend({}, innerAttr.shift(), outerAttr.shift(), { - type: null, - el: item - }); - } - if (innerAttr[0] instanceof BI.Widget) { - outerAttr.shift(); - return BI.extend({}, item, { - el: innerAttr.shift() - }) - } - if (item.el instanceof BI.Widget || (BI.View && item.el instanceof BI.View)) { - innerAttr.shift(); - return BI.extend({}, outerAttr.shift(), {type: null}, item); - } - if (item.el) { - return BI.extend({}, outerAttr.shift(), item, { - el: BI.extend({}, innerAttr.shift(), item.el) - }) - } - return BI.extend({}, outerAttr.shift(), { - el: BI.extend({}, innerAttr.shift(), item) - }) - }) - }, - - //用容器包装items - packageItems: function (items, layouts) { - for (var i = layouts.length - 1; i >= 0; i--) { - items = BI.map(items, function (k, it) { - return BI.extend({}, layouts[i], { - items: [ - BI.extend({}, layouts[i].el, { - el: it - }) - ] - }) - }) - } - return items; - }, - - formatEL: function (obj) { - if (obj && !obj.type && obj.el) { - return obj; - } - return { - el: obj - }; - }, - - //剥开EL - stripEL: function (obj) { - return obj.type && obj || obj.el || obj; - }, - - trans2Element: function (widgets) { - return BI.map(widgets, function (i, wi) { - return wi.element; - }); - } - }); - - //集合相关方法 - _.each(["where", "findWhere", "contains", "invoke", "pluck", "shuffle", "sample", "toArray", "size"], function (name) { - BI[name] = _apply(name) - }); - _.each(["each", "map", "reduce", "reduceRight", "find", "filter", "reject", "every", "all", "some", "any", "max", "min", - "sortBy", "groupBy", "indexBy", "countBy", "partition"], function (name) { - BI[name] = _applyFunc(name) - }); - _.extend(BI, { - clamp: function (value, minValue, maxValue) { - if (value < minValue) { - value = minValue; - } - if (value > maxValue) { - value = maxValue; - } - return value; - }, - //数数 - count: function (from, to, predicate) { - var t; - if (predicate) { - for (t = from; t < to; t++) { - predicate(t); - } - } - return to - from; - }, - - //倒数 - inverse: function (from, to, predicate) { - return BI.count(to, from, predicate); - }, - - firstKey: function (obj) { - var res = undefined; - BI.any(obj, function (key, value) { - res = key; - return true; - }); - return res; - }, - - lastKey: function (obj) { - var res = undefined; - BI.each(obj, function (key, value) { - res = key; - return true; - }); - return res; - }, - - firstObject: function (obj) { - var res = undefined; - BI.any(obj, function (key, value) { - res = value; - return true; - }); - return res; - }, - - lastObject: function (obj) { - var res = undefined; - BI.each(obj, function (key, value) { - res = value; - return true; - }); - return res; - }, - - concat: function (obj1, obj2) { - if (BI.isKey(obj1)) { - return obj1 + "" + obj2; - } - if (BI.isArray(obj1)) { - return obj1.concat(obj2); - } - if (BI.isObject(obj1)) { - return _.extend({}, obj1, obj2); - } - }, - - backEach: function (obj, predicate, context) { - predicate = BI.iteratee(predicate, context); - for (var index = obj.length - 1; index >= 0; index--) { - predicate(index, obj[index], obj); - } - return false; - }, - - backAny: function (obj, predicate, context) { - predicate = BI.iteratee(predicate, context); - for (var index = obj.length - 1; index >= 0; index--) { - if (predicate(index, obj[index], obj)) { - return true; - } - } - return false; - }, - - backEvery: function (obj, predicate, context) { - predicate = BI.iteratee(predicate, context); - for (var index = obj.length - 1; index >= 0; index--) { - if (!predicate(index, obj[index], obj)) { - return false; - } - } - return true; - }, - - backFindKey: function (obj, predicate, context) { - predicate = BI.iteratee(predicate, context); - var keys = _.keys(obj), key; - for (var i = keys.length - 1; i >= 0; i--) { - key = keys[i]; - if (predicate(obj[key], key, obj)) { - return key; - } - } - }, - - backFind: function (obj, predicate, context) { - var key; - if (BI.isArray(obj)) { - key = BI.findLastIndex(obj, predicate, context); - } else { - key = BI.backFindKey(obj, predicate, context); - } - if (key !== void 0 && key !== -1) { - return obj[key]; - } - }, - - remove: function (obj, target, context) { - var isFunction = BI.isFunction(target); - target = isFunction || BI.isArray(target) ? target : [target]; - var i; - if (BI.isArray(obj)) { - for (i = 0; i < obj.length; i++) { - if ((isFunction && target.apply(context, [i, obj[i]]) === true) || (!isFunction && target.contains(obj[i]))) { - obj.splice(i--, 1); - } - } - } else { - BI.each(obj, function (i, v) { - if ((isFunction && target.apply(context, [i, obj[i]]) === true) || (!isFunction && target.contains(obj[i]))) { - delete obj[i]; - } - }); - } - }, - - removeAt: function (obj, index) { - index = BI.isArray(index) ? index : [index]; - var isArray = BI.isArray(obj), i; - for (i = 0; i < index.length; i++) { - if (isArray) { - obj[index[i]] = "$deleteIndex"; - } else { - delete obj[index[i]]; - } - } - if (isArray) { - BI.remove(obj, "$deleteIndex"); - } - }, - - string2Array: function (str) { - return str.split('&-&'); - }, - - array2String: function (array) { - return array.join("&-&"); - }, - - abc2Int: function (str) { - var idx = 0, start = 'A', str = str.toUpperCase(); - for (var i = 0, len = str.length; i < len; ++i) { - idx = str.charAt(i).charCodeAt(0) - start.charCodeAt(0) + 26 * idx + 1; - if (idx > (2147483646 - str.charAt(i).charCodeAt(0) + start.charCodeAt(0)) / 26) { - return 0; - } - } - return idx; - }, - - int2Abc: function (num) { - var DIGITS = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']; - var idx = num, str = ""; - if (num === 0) { - return ""; - } - while (idx !== 0) { - var t = idx % 26; - if (t === 0) { - t = 26; - } - str = DIGITS[t - 1] + str; - idx = (idx - t) / 26; - } - return str; - } - }); - - //数组相关的方法 - _.each(["first", "initial", "last", "rest", "compact", "flatten", "without", "union", "intersection", - "difference", "zip", "unzip", "object", "indexOf", "lastIndexOf", "sortedIndex", "range"], function (name) { - BI[name] = _apply(name) - }); - _.each(["findIndex", "findLastIndex"], function (name) { - BI[name] = _applyFunc(name) - }); - _.extend(BI, { - //构建一个长度为length的数组 - makeArray: function (length, value) { - var res = []; - for (var i = 0; i < length; i++) { - if (BI.isNull(value)) { - res.push(i); - } else { - res.push(BI.deepClone(value)); - } - } - return res; - }, - - makeObject: function (array, value) { - var map = {}; - for (var i = 0; i < array.length; i++) { - if (BI.isNull(value)) { - map[array[i]] = array[i]; - } else { - map[array[i]] = BI.deepClone(value); - } - } - return map; - }, - - makeArrayByArray: function (array, value) { - var res = []; - if (!array) { - return res; - } - for (var i = 0, len = array.length; i < len; i++) { - if (BI.isArray(array[i])) { - res.push(arguments.callee(array[i], value)); - } else { - res.push(BI.deepClone(value)); - } - } - return res; - }, - - uniq: function (array, isSorted, iteratee, context) { - if (array == null) { - return []; - } - if (!_.isBoolean(isSorted)) { - context = iteratee; - iteratee = isSorted; - isSorted = false; - } - iteratee && (iteratee = traverse(iteratee, context)); - return _.uniq.call(_, array, isSorted, iteratee, context); - } - }); - - //对象相关方法 - _.each(["keys", "allKeys", "values", "pairs", "invert", "create", "functions", "extend", "extendOwn", - "defaults", "clone", "property", "propertyOf", "matcher", "isEqual", "isMatch", "isEmpty", - "isElement", "isNumber", "isString", "isArray", "isObject", "isArguments", "isFunction", "isFinite", - "isBoolean", "isDate", "isRegExp", "isError", "isNaN", "isUndefined"], function (name) { - BI[name] = _apply(name) - }); - _.each(["mapObject", "findKey", "pick", "omit", "tap"], function (name) { - BI[name] = _applyFunc(name) - }); - _.extend(BI, { - - inherit: function (sb, sp, overrides) { - if (typeof sp == 'object') { - overrides = sp; - sp = sb; - sb = function () { - return sp.apply(this, arguments); - }; - } - var F = function () { - }, spp = sp.prototype; - F.prototype = spp; - sb.prototype = new F(); - sb.superclass = spp; - _.extend(sb.prototype, overrides, { - superclass: sp - }); - return sb; - }, - - has: function (obj, keys) { - if (BI.isArray(keys)) { - if (keys.length === 0) { - return false; - } - return BI.every(keys, function (i, key) { - return _.has(obj, key); - }); - } - return _.has.apply(_, arguments); - }, - - //数字和字符串可以作为key - isKey: function (key) { - return BI.isNumber(key) || (BI.isString(key) && key.length > 0); - }, - - //忽略大小写的等于 - isCapitalEqual: function (a, b) { - a = BI.isNull(a) ? a : ("" + a).toLowerCase(); - b = BI.isNull(b) ? b : ("" + b).toLowerCase(); - return BI.isEqual(a, b); - }, - - isWidthOrHeight: function (w) { - if (typeof w == 'number') { - return w >= 0; - } else if (typeof w == 'string') { - return /^\d{1,3}%$/.exec(w) || w == 'auto' || /^\d+px$/.exec(w); - } - }, - - isNotNull: function (obj) { - return !BI.isNull(obj); - }, - - isNull: function (obj) { - return typeof obj === "undefined" || obj === null; - }, - - isPlainObject: function () { - return $.isPlainObject.apply($, arguments); - }, - - isEmptyArray: function (arr) { - return BI.isArray(arr) && BI.isEmpty(arr); - }, - - isNotEmptyArray: function (arr) { - return BI.isArray(arr) && !BI.isEmpty(arr); - }, - - isEmptyObject: function (obj) { - return BI.isEqual(obj, {}); - }, - - isNotEmptyObject: function (obj) { - return BI.isPlainObject(obj) && !BI.isEmptyObject(obj); - }, - - isEmptyString: function (obj) { - return BI.isString(obj) && obj.length === 0; - }, - - isNotEmptyString: function (obj) { - return BI.isString(obj) && !BI.isEmptyString(obj); - }, - - isWindow: function () { - return $.isWindow.apply($, arguments); - } - }); - - //deep方法 - _.extend(BI, { - /** - *完全克隆�?个js对象 - * @param obj - * @returns {*} - */ - deepClone: function (obj) { - if (obj === null || obj === undefined) { - return obj; - } - - var type = Object.prototype.toString.call(obj); - - // Date - if (type === '[object Date]') { - return new Date(obj.getTime()); - } - - var i, clone, key; - - // Array - if (type === '[object Array]') { - i = obj.length; - - clone = []; - - while (i--) { - clone[i] = BI.deepClone(obj[i]); - } - } - // Object - else if (type === '[object Object]' && obj.constructor === Object) { - clone = {}; - - for (var i in obj) { - if (_.has(obj, i)) { - clone[i] = BI.deepClone(obj[i]); - } - } - } - - return clone || obj; - }, - - isDeepMatch: function (object, attrs) { - var keys = BI.keys(attrs), length = keys.length; - if (object == null) { - return !length; - } - var obj = Object(object); - for (var i = 0; i < length; i++) { - var key = keys[i]; - if (!BI.isEqual(attrs[key], obj[key]) || !(key in obj)) { - return false; - } - } - return true; - }, - - deepContains: function (obj, copy) { - if (BI.isObject(copy)) { - return BI.any(obj, function (i, v) { - if (BI.isEqual(v, copy)) { - return true; - } - }) - } - return BI.contains(obj, copy); - }, - - deepIndexOf: function (obj, target) { - for (var i = 0; i < obj.length; i++) { - if (BI.isEqual(target, obj[i])) { - return i; - } - } - return -1; - }, - - deepRemove: function (obj, target) { - var done = false; - var i; - if (BI.isArray(obj)) { - for (i = 0; i < obj.length; i++) { - if (BI.isEqual(target, obj[i])) { - obj.splice(i--, 1); - done = true; - } - } - } else { - BI.each(obj, function (i, v) { - if (BI.isEqual(target, obj[i])) { - delete obj[i]; - done = true; - } - }); - } - return done; - }, - - deepWithout: function (obj, target) { - if (BI.isArray(obj)) { - var result = []; - for (var i = 0; i < obj.length; i++) { - if (!BI.isEqual(target, obj[i])) { - result.push(obj[i]); - } - } - return result; - } else { - var result = {}; - BI.each(obj, function (i, v) { - if (!BI.isEqual(target, obj[i])) { - result[i] = v; - } - }); - return result; - } - }, - - deepUnique: function (array) { - var result = []; - BI.each(array, function (i, item) { - if (!BI.deepContains(result, item)) { - result.push(item); - } - }); - return result; - }, - - //比较两个对象得出不一样的key值 - deepDiff: function (object, other) { - object || (object = {}); - other || (other = {}); - var result = []; - var used = []; - for (var b in object) { - if (this.has(object, b)) { - if (!this.isEqual(object[b], other[b])) { - result.push(b); - } - used.push(b); - } - } - for (var b in other) { - if (this.has(other, b) && !used.contains(b)) { - result.push(b); - } - } - return result; - } - }); - - //通用方法 - _.each(["uniqueId", "result", "chain", "iteratee", "escape", "unescape"], function (name) { - BI[name] = function () { - return _[name].apply(_, arguments); - } - }); - - //事件相关方法 - _.each(["bind", "once", "partial", "debounce", "throttle", "delay", "defer", "wrap"], function (name) { - BI[name] = function () { - return _[name].apply(_, arguments); - } - }); - - _.extend(BI, { - nextTick: (function () { - var callbacks = []; - var pending = false; - var timerFunc; - - function nextTickHandler() { - pending = false; - var copies = callbacks.slice(0); - callbacks = []; - for (var i = 0; i < copies.length; i++) { - copies[i](); - } - } - - if (typeof Promise !== 'undefined') { - var p = Promise.resolve(); - timerFunc = function () { - p.then(nextTickHandler); - } - } else - - /* istanbul ignore if */ - if (typeof MutationObserver !== 'undefined') { - var counter = 1; - var observer = new MutationObserver(nextTickHandler); - var textNode = document.createTextNode(counter + ""); - observer.observe(textNode, { - characterData: true - }); - timerFunc = function () { - counter = (counter + 1) % 2; - textNode.data = counter + ""; - } - } else { - timerFunc = function () { - setTimeout(nextTickHandler, 0) - } - } - return function queueNextTick(cb) { - var _resolve; - var args = [].slice.call(arguments, 1); - callbacks.push(function () { - if (cb) { - cb.apply(null, args); - } - if (_resolve) { - _resolve.apply(null, args); - } - }); - if (!pending) { - pending = true; - timerFunc(); - } - if (!cb && typeof Promise !== 'undefined') { - return new Promise(function (resolve) { - _resolve = resolve - }) - } - } - })() - }); - - //数字相关方法 - _.each(["random"], function (name) { - BI[name] = _apply(name) - }); - _.extend(BI, { - getTime: function () { - if (window.performance && window.performance.now) { - return window.performance.now(); - } else { - if (window.performance && window.performance.webkitNow) { - return window.performance.webkitNow(); - } else { - if (Date.now) { - return Date.now(); - } else { - return new Date().getTime(); - } - } - } - }, - - parseInt: function (number) { - var radix = 10; - if (/^0x/g.test(number)) { - radix = 16; - } - try { - return parseInt(number, radix); - } catch (e) { - throw new Error(number + "parse int error"); - return NaN; - } - }, - - parseSafeInt: function (value) { - var MAX_SAFE_INTEGER = 9007199254740991; - return value - ? this.clamp(this.parseInt(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) - : (value === 0 ? value : 0); - }, - - parseFloat: function (number) { - try { - return parseFloat(number); - } catch (e) { - throw new Error(number + "parse float error"); - return NaN; - } - }, - - isNaturalNumber: function (number) { - if (/^\d+$/.test(number)) { - return true; - } - return false; - }, - - isPositiveInteger: function (number) { - if (/^\+?[1-9][0-9]*$/.test(number)) { - return true; - } - return false; - }, - - isNegativeInteger: function (number) { - if (/^\-[1-9][0-9]*$/.test(number)) { - return true; - } - return false; - }, - - isInteger: function (number) { - if (/^\-?\d+$/.test(number)) { - return true; - } - return false; - }, - - isNumeric: function (number) { - return $.isNumeric(number); - }, - - isFloat: function (number) { - if (/^([+-]?)\\d*\\.\\d+$/.test(number)) { - return true; - } - return false; - }, - - isOdd: function (number) { - if (!BI.isInteger(number)) { - return false; - } - return number & 1 === 1; - }, - - isEven: function (number) { - if (!BI.isInteger(number)) { - return false; - } - return number & 1 === 0; - }, - - sum: function (array, iteratee, context) { - var sum = 0; - BI.each(array, function (i, item) { - if (iteratee) { - sum += Number(iteratee.apply(context, [i, item])); - } else { - sum += Number(item); - } - }); - return sum; - }, - - average: function (array, iteratee, context) { - var sum = BI.sum(array, iteratee, context); - return sum / array.length; - } - }); - - //字符串相关方法 - _.extend(BI, { - trim: function () { - return $.trim.apply($, arguments); - }, - - toUpperCase: function (string) { - return (string + "").toLocaleUpperCase(); - }, - - toLowerCase: function (string) { - return (string + "").toLocaleLowerCase(); - }, - - isEndWithBlank: function (string) { - return /(\s|\u00A0)$/.test(string); - }, - - isLiteral: function (exp) { - var literalValueRE = /^\s?(true|false|-?[\d\.]+|'[^']*'|"[^"]*")\s?$/ - return literalValueRE.test(exp) - }, - - stripQuotes: function (str) { - var a = str.charCodeAt(0) - var b = str.charCodeAt(str.length - 1) - return a === b && (a === 0x22 || a === 0x27) - ? str.slice(1, -1) - : str - }, - - //background-color => backgroundColor - camelize: function (str) { - return str.replace(/-(.)/g, function (_, character) { - return character.toUpperCase(); - }); - }, - - //backgroundColor => background-color - hyphenate: function (str) { - return str.replace(/([A-Z])/g, '-$1').toLowerCase(); - }, - - isNotEmptyString: function (str) { - return BI.isString(str) && !BI.isEmpty(str); - }, - - isEmptyString: function (str) { - return BI.isString(str) && BI.isEmpty(str); - }, - - /** - * 对字符串进行加密 {@link #decrypt} - * @static - * @param str 原始字符�? - * @param keyt 密钥 - * @returns {String} 加密后的字符�? - */ - encrypt: function (str, keyt) { - if (str == "") { - return ""; - } - str = escape(str); - if (!keyt || keyt == "") { - keyt = "655"; - } - keyt = escape(keyt); - if (keyt == null || keyt.length <= 0) { - alert("Please enter a password with which to encrypt the message."); - return null; - } - var prand = ""; - for (var i = 0; i < keyt.length; i++) { - prand += keyt.charCodeAt(i).toString(); - } - var sPos = Math.floor(prand.length / 5); - var mult = parseInt(prand.charAt(sPos) + prand.charAt(sPos * 2) + prand.charAt(sPos * 3) + prand.charAt(sPos * 4) + prand.charAt(sPos * 5)); - - var incr = Math.ceil(keyt.length / 2); - var modu = Math.pow(2, 31) - 1; - if (mult < 2) { - alert("Algorithm cannot find a suitable hash. Please choose a different password. \nPossible considerations are to choose a more complex or longer password."); - return null; - } -// var salt = Math.round(Math.random() * 1000000000) % 100000000; - var salt = 101; - prand += salt; - while (prand.length > 10) { - prand = (parseInt(prand.substring(0, 10)) + parseInt(prand.substring(10, prand.length), 10)).toString(); - } - prand = (mult * prand + incr) % modu; - var enc_chr = ""; - var enc_str = ""; - for (var i = 0; i < str.length; i++) { - enc_chr = parseInt(str.charCodeAt(i) ^ Math.floor((prand / modu) * 255)); - if (enc_chr < 16) { - enc_str += "0" + enc_chr.toString(16); - } else { - enc_str += enc_chr.toString(16); - } - prand = (mult * prand + incr) % modu; - } - salt = salt.toString(16); - while (salt.length < 8) { - salt = "0" + salt; - } - enc_str += salt; - return enc_str; - }, - - /** - * 对加密后的字符串解密 {@link #encrypt} - * @static - * @param str 加密过的字符�? - * @param keyt 密钥 - * @returns {String} 解密后的字符�? - */ - decrypt: function (str, keyt) { - if (str == "") { - return ""; - } - if (!keyt || keyt == "") { - keyt = "655"; - } - keyt = escape(keyt); - if (str == null || str.length < 8) { - return; - } - if (keyt == null || keyt.length <= 0) { - return; - } - var prand = ""; - for (var i = 0; i < keyt.length; i++) { - prand += keyt.charCodeAt(i).toString(); - } - var sPos = Math.floor(prand.length / 5); - var tempmult = prand.charAt(sPos) + prand.charAt(sPos * 2) + prand.charAt(sPos * 3) + prand.charAt(sPos * 4); - if (sPos * 5 < prand.length) { - tempmult += prand.charAt(sPos * 5); - } - var mult = parseInt(tempmult); - var incr = Math.round(keyt.length / 2); - var modu = Math.pow(2, 31) - 1; - var salt = parseInt(str.substring(str.length - 8, str.length), 16); - str = str.substring(0, str.length - 8); - prand += salt; - while (prand.length > 10) { - prand = (parseInt(prand.substring(0, 10), 10) + parseInt(prand.substring(10, prand.length), 10)).toString(); - } - prand = (mult * prand + incr) % modu; - var enc_chr = ""; - var enc_str = ""; - for (var i = 0; i < str.length; i += 2) { - enc_chr = parseInt(parseInt(str.substring(i, i + 2), 16) ^ Math.floor((prand / modu) * 255)); - enc_str += String.fromCharCode(enc_chr); - prand = (mult * prand + incr) % modu; - } - return unescape(enc_str); - } - }); - - //浏览器相关方法 - _.extend(BI, { - isIE: function () { - return /(msie|trident)/i.test(navigator.userAgent.toLowerCase()); - }, - - getIEVersion: function () { - var version = 0; - var agent = navigator.userAgent.toLowerCase(); - var v1 = agent.match(/(?:msie\s([\w.]+))/); - var v2 = agent.match(/(?:trident.*rv:([\w.]+))/); - if (v1 && v2 && v1[1] && v2[1]) { - version = Math.max(v1[1] * 1, v2[1] * 1); - } else if (v1 && v1[1]) { - version = v1[1] * 1; - } else if (v2 && v2[1]) { - version = v2[1] * 1; - } else { - version = 0; - } - return version; - }, - - isIE9Below: function () { - if (!BI.isIE()) { - return false; - } - return this.getIEVersion() < 9; - }, - - isIE9: function () { - return this.getIEVersion() === 9; - }, - - isEdge: function () { - return /edge/i.test(navigator.userAgent.toLowerCase()); - }, - - isChrome: function () { - return /chrome/i.test(navigator.userAgent.toLowerCase()); - }, - - isFireFox: function () { - return /firefox/i.test(navigator.userAgent.toLowerCase()); - }, - - isOpera: function () { - return /opera/i.test(navigator.userAgent.toLowerCase()); - }, - - isSafari: function () { - return /safari/i.test(navigator.userAgent.toLowerCase()); - }, - - isKhtml: function () { - return /Konqueror|Safari|KHTML/i.test(navigator.userAgent); - }, - - isMac: function () { - return /macintosh|mac os x/i.test(navigator.userAgent); - }, - - isWindows: function () { - return /windows|win32/i.test(navigator.userAgent); - }, - - isSupportCss3: function (style) { - var prefix = ['webkit', 'Moz', 'ms', 'o'], - i, len, - humpString = [], - htmlStyle = document.documentElement.style, - _toHumb = function (string) { - return string.replace(/-(\w)/g, function ($0, $1) { - return $1.toUpperCase(); - }); - }; - - for (i in prefix) { - humpString.push(_toHumb(prefix[i] + '-' + style)); - } - humpString.push(_toHumb(style)); - - for (i = 0, len = humpString.length; i < len; i++) { - if (humpString[i] in htmlStyle) { - return true; - } - } - return false; - } - }); - //BI请求 - _.extend(BI, { - - ajax: function (option) { - option || (option = {}); - var async = option.async; - option.data = BI.cjkEncodeDO(option.data || {}); - - $.ajax({ - url: option.url, - type: "POST", - data: option.data, - async: async, - error: option.error, - complete: function (res, status) { - if (BI.isFunction(option.complete)) { - option.complete(BI.jsonDecode(res.responseText), status); - } - } - }); - } - }); -})(jQuery); \ No newline at end of file diff --git a/src/core/behavior/behavior.highlight.js b/src/core/behavior/behavior.highlight.js deleted file mode 100644 index 2dfe3f10eb..0000000000 --- a/src/core/behavior/behavior.highlight.js +++ /dev/null @@ -1,42 +0,0 @@ -/** - * guy - * - * @class BI.HighlightBehavior - * @extends BI.Behavior - */ -BI.HighlightBehavior = BI.inherit(BI.Behavior, { - _defaultConfig: function () { - return BI.extend(BI.HighlightBehavior.superclass._defaultConfig.apply(this, arguments), {}); - }, - - _init: function () { - BI.HighlightBehavior.superclass._init.apply(this, arguments); - - }, - - doBehavior: function (items) { - var args = Array.prototype.slice.call(arguments, 1), - o = this.options; - BI.each(items, function (i, item) { - if (item instanceof BI.Single) { - var rule = o.rule(item.getValue(), item); - - function doBe(run) { - if (run === true) { - item.doHighLight.apply(item, args); - } else { - item.unHighLight.apply(item, args); - } - } - - if (BI.isFunction(rule)) { - rule(doBe); - } else { - doBe(rule); - } - } else { - item.doBehavior.apply(item, args); - } - }) - } -}); \ No newline at end of file diff --git a/src/core/behavior/behavior.js b/src/core/behavior/behavior.js deleted file mode 100644 index 50c6f627fe..0000000000 --- a/src/core/behavior/behavior.js +++ /dev/null @@ -1,37 +0,0 @@ -BI.BehaviorFactory = { - createBehavior: function(key, options){ - var behavior; - switch (key){ - case "highlight": - behavior = BI.HighlightBehavior; - break; - case "redmark": - behavior = BI.RedMarkBehavior; - break; - } - return new behavior(options); - } -} - -/** - * guy - * 行为控件 - * @class BI.Behavior - * @extends BI.OB - */ -BI.Behavior = BI.inherit(BI.OB, { - _defaultConfig: function() { - return BI.extend(BI.Behavior.superclass._defaultConfig.apply(this, arguments), { - rule: function(){return true;} - }); - }, - - _init : function() { - BI.Behavior.superclass._init.apply(this, arguments); - - }, - - doBehavior: function(){ - - } -}); \ No newline at end of file diff --git a/src/core/behavior/behavior.redmark.js b/src/core/behavior/behavior.redmark.js deleted file mode 100644 index 9e094a7fdf..0000000000 --- a/src/core/behavior/behavior.redmark.js +++ /dev/null @@ -1,34 +0,0 @@ -/** - * guy - * 标红行为 - * @class BI.RedMarkBehavior - * @extends BI.Behavior - */ -BI.RedMarkBehavior = BI.inherit(BI.Behavior, { - _defaultConfig: function() { - return BI.extend(BI.RedMarkBehavior.superclass._defaultConfig.apply(this, arguments), { - - }); - }, - - _init : function() { - BI.RedMarkBehavior.superclass._init.apply(this, arguments); - - }, - - doBehavior: function(items){ - var args = Array.prototype.slice.call(arguments, 1), - o = this.options; - BI.each(items, function(i, item){ - if(item instanceof BI.Single) { - if (o.rule(item.getValue(), item)) { - item.doRedMark.apply(item, args); - } else { - item.unRedMark.apply(item, args); - } - } else { - item.doBehavior.apply(item, args); - } - }) - } -}); \ No newline at end of file diff --git a/src/core/controller.js b/src/core/controller.js deleted file mode 100644 index 91b5e4aeef..0000000000 --- a/src/core/controller.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * guy - * 控制器 - * Controller层超类 - * @class BI.Controller - * @extends BI.OB - * @abstract - */ -BI.Controller = BI.inherit(BI.OB, { - _defaultConfig: function() { - return BI.extend(BI.Controller.superclass._defaultConfig.apply(this, arguments), { - - }) - }, - _init : function() { - BI.Controller.superclass._init.apply(this, arguments); - }, - - destroy: function(){ - - } -}); -BI.Controller.EVENT_CHANGE = "__EVENT_CHANGE__"; \ No newline at end of file diff --git a/src/core/controller/controller.broadcast.js b/src/core/controller/controller.broadcast.js deleted file mode 100644 index 202f2432e5..0000000000 --- a/src/core/controller/controller.broadcast.js +++ /dev/null @@ -1,46 +0,0 @@ -/** - * 广播 - * - * Created by GUY on 2015/12/23. - * @class - */ -BI.BroadcastController = BI.inherit(BI.Controller, { - _defaultConfig: function () { - return BI.extend(BI.BroadcastController.superclass._defaultConfig.apply(this, arguments), {}); - }, - - _init: function () { - BI.BroadcastController.superclass._init.apply(this, arguments); - this._broadcasts = {}; - }, - - on: function (name, fn) { - var self = this; - if (!this._broadcasts[name]) { - this._broadcasts[name] = []; - } - this._broadcasts[name].push(fn); - return function () { - self.remove(name, fn); - } - }, - - send: function (name) { - var args = [].slice.call(arguments, 1); - BI.each(this._broadcasts[name], function (i, fn) { - fn.apply(null, args); - }); - }, - - remove: function (name, fn) { - if (fn) { - this._broadcasts[name].remove(fn); - if (this._broadcasts[name].length === 0) { - delete this._broadcasts[name]; - } - } else { - delete this._broadcasts[name]; - } - return this; - } -}); \ No newline at end of file diff --git a/src/core/controller/controller.bubbles.js b/src/core/controller/controller.bubbles.js deleted file mode 100644 index 63cf3607cd..0000000000 --- a/src/core/controller/controller.bubbles.js +++ /dev/null @@ -1,214 +0,0 @@ -/** - * 气泡图控制器 - * 控制气泡图的显示方向 - * - * Created by GUY on 2015/8/21. - * @class - */ -BI.BubblesController = BI.inherit(BI.Controller, { - _defaultConfig: function () { - return BI.extend(BI.BubblesController.superclass._defaultConfig.apply(this, arguments), {}); - }, - - _const: { - bubbleHeight: 35 - }, - - _init: function () { - BI.BubblesController.superclass._init.apply(this, arguments); - this.bubblesManager = {}; - this.storeBubbles = {}; - }, - - _createBubble: function (direct, text, height) { - return BI.createWidget({ - type: "bi.bubble", - text: text, - height: height || 35, - direction: direct - }); - }, - - _getOffsetLeft: function (name, context, offsetStyle) { - var left = 0; - if ("center" === offsetStyle) { - left = context.element.offset().left + (context.element.bounds().width - this.get(name).element.bounds().width) / 2; - if (left < 0) { - left = 0; - } - return left; - } - if ("right" === offsetStyle) { - left = context.element.offset().left + context.element.bounds().width - this.get(name).element.bounds().width; - if (left < 0) { - left = 0; - } - return left; - } - return context.element.offset().left; - }, - - _getOffsetTop: function (name, context, offsetStyle) { - var top = 0; - if ("center" === offsetStyle) { - top = context.element.offset().top + (context.element.bounds().height - this.get(name).element.bounds().height) / 2; - if (top < 0) { - top = 0; - } - return top; - } else if ("right" === offsetStyle) { - top = context.element.offset().top + context.element.bounds().height - this.get(name).element.bounds().height; - if (top < 0) { - top = 0; - } - return top; - } - return context.element.offset().top; - }, - - _getLeftPosition: function (name, context, offsetStyle) { - var position = $.getLeftPosition(context, this.get(name)); - position.top = this._getOffsetTop(name, context, offsetStyle); - return position; - }, - - _getBottomPosition: function (name, context, offsetStyle) { - var position = $.getBottomPosition(context, this.get(name)); - position.left = this._getOffsetLeft(name, context, offsetStyle); - return position; - }, - - _getTopPosition: function (name, context, offsetStyle) { - var position = $.getTopPosition(context, this.get(name)); - position.left = this._getOffsetLeft(name, context, offsetStyle); - return position; - }, - - _getRightPosition: function (name, context, offsetStyle) { - var position = $.getRightPosition(context, this.get(name)); - position.top = this._getOffsetTop(name, context, offsetStyle); - return position; - }, - - /** - * - * @param name - * @param text - * @param context - * @param offsetStyle center, left, right三种类型, 默认left - * @returns {BI.BubblesController} - */ - show: function (name, text, context, opt) { - opt || (opt = {}); - var container = opt.container || context; - var offsetStyle = opt.offsetStyle || {}; - if (!this.storeBubbles[name]) { - this.storeBubbles[name] = {}; - } - if (!this.storeBubbles[name]["top"]) { - this.storeBubbles[name]["top"] = this._createBubble("top", text); - } - BI.createWidget({ - type: "bi.absolute", - element: container, - items: [{ - el: this.storeBubbles[name]["top"] - }] - }); - this.set(name, this.storeBubbles[name]["top"]); - var position = this._getTopPosition(name, context, offsetStyle); - this.get(name).element.css({left: position.left, top: position.top}); - this.get(name).invisible(); - if (!$.isTopSpaceEnough(context, this.get(name))) { - if (!this.storeBubbles[name]["left"]) { - this.storeBubbles[name]["left"] = this._createBubble("left", text, 30); - } - BI.createWidget({ - type: "bi.absolute", - element: container, - items: [{ - el: this.storeBubbles[name]["left"] - }] - }); - this.set(name, this.storeBubbles[name]["left"]); - var position = this._getLeftPosition(name, context, offsetStyle); - this.get(name).element.css({left: position.left, top: position.top}); - this.get(name).invisible(); - if (!$.isLeftSpaceEnough(context, this.get(name))) { - if (!this.storeBubbles[name]["right"]) { - this.storeBubbles[name]["right"] = this._createBubble("right", text, 30); - } - BI.createWidget({ - type: "bi.absolute", - element: container, - items: [{ - el: this.storeBubbles[name]["right"] - }] - }); - this.set(name, this.storeBubbles[name]["right"]); - var position = this._getRightPosition(name, context, offsetStyle); - this.get(name).element.css({left: position.left, top: position.top}); - this.get(name).invisible(); - if (!$.isRightSpaceEnough(context, this.get(name))) { - if (!this.storeBubbles[name]["bottom"]) { - this.storeBubbles[name]["bottom"] = this._createBubble("bottom", text); - } - BI.createWidget({ - type: "bi.absolute", - element: container, - items: [{ - el: this.storeBubbles[name]["bottom"] - }] - }); - this.set(name, this.storeBubbles[name]["bottom"]); - var position = this._getBottomPosition(name, context, offsetStyle); - this.get(name).element.css({left: position.left, top: position.top}); - this.get(name).invisible(); - } - } - } - this.get(name).setText(text); - this.get(name).visible(); - return this; - }, - - hide: function (name) { - if (!this.has(name)) { - return this; - } - this.get(name).invisible(); - return this; - }, - - add: function (name, bubble) { - if (this.has(name)) { - return this; - } - this.set(name, bubble); - return this; - }, - - get: function (name) { - return this.bubblesManager[name]; - }, - - set: function (name, bubble) { - this.bubblesManager[name] = bubble; - }, - - has: function (name) { - return this.bubblesManager[name] != null; - }, - - remove: function (name) { - if (!this.has(name)) { - return this; - } - BI.each(this.storeBubbles[name], function (dir, bubble) { - bubble.destroy(); - }); - delete this.storeBubbles[name]; - delete this.bubblesManager[name]; - return this; - } -}); \ No newline at end of file diff --git a/src/core/controller/controller.floatbox.js b/src/core/controller/controller.floatbox.js deleted file mode 100644 index 413526caeb..0000000000 --- a/src/core/controller/controller.floatbox.js +++ /dev/null @@ -1,143 +0,0 @@ -/** - * guy - * FloatBox弹出层控制器, z-index在100w层级 - * @class BI.FloatBoxController - * @extends BI.Controller - */ -BI.FloatBoxController = BI.inherit(BI.Controller, { - _defaultConfig: function () { - return BI.extend(BI.FloatBoxController.superclass._defaultConfig.apply(this, arguments), { - modal: true, // 模态窗口 - render: "body" - }); - }, - - _init: function () { - BI.FloatBoxController.superclass._init.apply(this, arguments); - this.modal = this.options.modal; - this.floatManager = {}; - this.floatLayer = {}; - this.floatContainer = {}; - this.floatOpened = {}; - this.zindex = BI.zIndex_floatbox; - this.zindexMap = {}; - }, - - _check: function (name) { - return BI.isNotNull(this.floatManager[name]); - }, - - create: function (name, section, options) { - if (this._check(name)) { - return this; - } - var floatbox = BI.createWidget({ - type: "bi.float_box" - }, options); - floatbox.populate(section); - this.add(name, floatbox, options); - return this; - }, - - add: function (name, floatbox, options) { - var self = this; - options || (options = {}); - if (this._check(name)) { - return this; - } - this.floatContainer[name] = BI.createWidget({ - type: "bi.absolute", - cls: "bi-popup-view", - items: [{ - el: (this.floatLayer[name] = BI.createWidget({ - type: 'bi.absolute', - items: [floatbox] - })), - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - this.floatManager[name] = floatbox; - (function (key) { - floatbox.on(BI.FloatBox.EVENT_FLOAT_BOX_CLOSED, function () { - self.close(key); - }) - })(name); - BI.createWidget({ - type: "bi.absolute", - element: options.container || this.options.render, - items: [{ - el: this.floatContainer[name], - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - return this; - }, - - open: function (name) { - if (!this._check(name)) { - return this; - } - if (!this.floatOpened[name]) { - this.floatOpened[name] = true; - var container = this.floatContainer[name]; - container.element.css("zIndex", this.zindex++); - this.modal && container.element.__hasZIndexMask__(this.zindexMap[name]) && container.element.__releaseZIndexMask__(this.zindexMap[name]); - this.zindexMap[name] = this.zindex; - this.modal && container.element.__buildZIndexMask__(this.zindex++); - this.get(name).setZindex(this.zindex++); - this.floatContainer[name].visible(); - var floatbox = this.get(name); - floatbox.show(); - var W = $(this.options.render).width(), H = $(this.options.render).height(); - var w = floatbox.element.width(), h = floatbox.element.height(); - var left = (W - w) / 2, top = (H - h) / 2; - if (left < 0) { - left = 0; - } - if (top < 0) { - top = 0; - } - floatbox.element.css({ - left: left + "px", - top: top + "px" - }); - } - return this; - }, - - close: function (name) { - if (!this._check(name)) { - return this; - } - if (this.floatOpened[name]) { - delete this.floatOpened[name]; - this.floatContainer[name].invisible(); - this.modal && this.floatContainer[name].element.__releaseZIndexMask__(this.zindexMap[name]); - } - return this; - }, - - get: function (name) { - return this.floatManager[name]; - }, - - remove: function (name) { - if (!this._check(name)) { - return this; - } - this.floatContainer[name].destroy(); - this.modal && this.floatContainer[name].element.__releaseZIndexMask__(this.zindexMap[name]); - delete this.floatManager[name]; - delete this.floatLayer[name]; - delete this.zindexMap[name]; - delete this.floatContainer[name]; - delete this.floatOpened[name]; - return this; - } -}); \ No newline at end of file diff --git a/src/core/controller/controller.layer.js b/src/core/controller/controller.layer.js deleted file mode 100644 index fd644d4699..0000000000 --- a/src/core/controller/controller.layer.js +++ /dev/null @@ -1,172 +0,0 @@ -/** - * 弹出层面板控制器, z-index在10w层级 - * - * Created by GUY on 2015/6/24. - * @class - */ -BI.LayerController = BI.inherit(BI.Controller, { - _defaultConfig: function () { - return BI.extend(BI.LayerController.superclass._defaultConfig.apply(this, arguments), { - render: "body" - }); - }, - - _init: function () { - BI.LayerController.superclass._init.apply(this, arguments); - this.layerManager = {}; - this.layouts = {}; - this.zindex = BI.zIndex_layer; - BI.Resizers.add("layerController" + BI.uniqueId(), BI.bind(this._resize, this)); - }, - - _resize: function () { - BI.each(this.layouts, function (i, layer) { - if (layer.element.is(":visible")) { - layer.element.trigger("__resize__"); - } - }) - }, - - make: function (name, container, op) { - if (this.has(name)) { - return this.get(name); - } - op || (op = {}); - var widget = BI.createWidget((op.render || {}), { - type: "bi.layout" - }); - BI.createWidget({ - type: "bi.absolute", - element: container || this.options.render, - items: [BI.extend({ - el: widget - }, { - top: 0, - left: 0, - right: 0, - bottom: 0 - }, op.offset)] - }); - this.add(name, widget, widget); - return widget; - }, - - create: function (name, from, op) { - if (this.has(name)) { - return this.get(name); - } - op || (op = {}); - var offset = op.offset || {}; - var w = from; - if (BI.isWidget(from)) { - w = from.element; - } - if (BI.isNotEmptyString(w)) { - w = $(w); - } - if (this.has(name)) { - return this.get(name); - } - var widget = BI.createWidget((op.render || {}), { - type: "bi.layout", - cls: op.cls - }); - var layout = BI.createWidget({ - type: "bi.absolute", - items: [{ - el: widget, - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - BI.createWidget({ - type: "bi.absolute", - element: op.container || this.options.render, - items: [{ - el: layout, - left: offset.left || 0, - right: offset.right || 0, - top: offset.top || 0, - bottom: offset.bottom || 0 - }] - }); - if (w) { - layout.element.addClass("bi-popup-view"); - layout.element.css({ - left: w.offset().left + (offset.left || 0), - top: w.offset().top + (offset.top || 0), - width: offset.width || (w.outerWidth() - (offset.right || 0)) || "", - height: offset.height || (w.outerHeight() - (offset.bottom || 0)) || "" - }); - layout.element.on("__resize__", function () { - w.is(":visible") && - layout.element.css({ - left: w.offset().left + (offset.left || 0), - top: w.offset().top + (offset.top || 0), - width: offset.width || (w.outerWidth() - (offset.right || 0)) || "", - height: offset.height || (w.outerHeight() - (offset.bottom || 0)) || "" - }); - }); - } - this.add(name, widget, layout); - return widget; - }, - - hide: function (name, callback) { - if (!this.has(name)) { - return this; - } - this._getLayout(name).invisible(); - this._getLayout(name).element.hide(0, callback); - return this; - }, - - show: function (name, callback) { - if (!this.has(name)) { - return this; - } - this._getLayout(name).visible(); - this._getLayout(name).element.css("z-index", this.zindex++).show(0, callback).trigger("__resize__"); - return this; - }, - - isVisible: function (name) { - return this.has(name) && this._getLayout(name).isVisible(); - }, - - add: function (name, layer, layout) { - if (this.has(name)) { - throw new Error("name is already exist"); - } - layout.setVisible(false); - this.layerManager[name] = layer; - this.layouts[name] = layout; - layout.element.css("z-index", this.zindex++); - return this; - }, - - _getLayout: function (name) { - return this.layouts[name]; - }, - - get: function (name) { - return this.layerManager[name]; - }, - - has: function (name) { - return this.layerManager[name] != null; - }, - - remove: function (name) { - if (!this.has(name)) { - return this; - } - this.layerManager[name].destroy(); - this.layouts[name].destroy(); - delete this.layerManager[name]; - delete this.layouts[name]; - return this; - } -}); \ No newline at end of file diff --git a/src/core/controller/controller.masker.js b/src/core/controller/controller.masker.js deleted file mode 100644 index 5c34fc8d53..0000000000 --- a/src/core/controller/controller.masker.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * 遮罩面板, z-index在1亿层级 - * - * Created by GUY on 2015/6/24. - * @class - */ -BI.MaskersController = BI.inherit(BI.LayerController, { - _defaultConfig: function () { - return BI.extend(BI.MaskersController.superclass._defaultConfig.apply(this, arguments), {}); - }, - - _init: function () { - BI.MaskersController.superclass._init.apply(this, arguments); - this.zindex = BI.zIndex_masker; - } -}); \ No newline at end of file diff --git a/src/core/controller/controller.resizer.js b/src/core/controller/controller.resizer.js deleted file mode 100644 index d45b13bc9c..0000000000 --- a/src/core/controller/controller.resizer.js +++ /dev/null @@ -1,69 +0,0 @@ -/** - * window.resize 控制器 - * - * Created by GUY on 2015/6/24. - * @class - */ -BI.ResizeController = BI.inherit(BI.Controller, { - _defaultConfig: function () { - return BI.extend(BI.ResizeController.superclass._defaultConfig.apply(this, arguments), {}); - }, - - _init: function () { - BI.ResizeController.superclass._init.apply(this, arguments); - var self = this; - this.resizerManger = {}; - var fn = BI.debounce(function (ev) { - //if (BI.isWindow(ev.target)) { - self._resize(ev); - //} - }, 30); - $(window).resize(fn); - }, - - _resize: function (ev) { - BI.each(this.resizerManger, function (key, resizer) { - if (resizer instanceof $) { - if (resizer.is(":visible")) { - resizer.trigger("__resize__"); - } - return; - } - if (resizer instanceof BI.Layout) { - resizer.resize(); - return; - } - if (BI.isFunction(resizer)) { - resizer(ev); - return; - } - }) - }, - - add: function (name, resizer) { - var self = this; - if (this.has(name)) { - return this; - } - this.resizerManger[name] = resizer; - return function () { - self.remove(name); - }; - }, - - get: function (name) { - return this.resizerManger[name]; - }, - - has: function (name) { - return this.resizerManger[name] != null; - }, - - remove: function (name) { - if (!this.has(name)) { - return this; - } - delete this.resizerManger[name]; - return this; - } -}); \ No newline at end of file diff --git a/src/core/controller/controller.tooltips.js b/src/core/controller/controller.tooltips.js deleted file mode 100644 index 6cd9c989c3..0000000000 --- a/src/core/controller/controller.tooltips.js +++ /dev/null @@ -1,137 +0,0 @@ -/** - * tooltip控制器 - * 控制tooltip的显示, 且页面中只有一个tooltip显示 - * - * Created by GUY on 2015/9/8. - * @class BI.TooltipsController - * @extends BI.Controller - */ -BI.TooltipsController = BI.inherit(BI.Controller, { - _defaultConfig: function () { - return BI.extend(BI.TooltipsController.superclass._defaultConfig.apply(this, arguments), {}); - }, - - _const: { - height: 20 - }, - - _init: function () { - BI.TooltipsController.superclass._init.apply(this, arguments); - this.tooltipsManager = {}; - this.showingTips = {};//存储正在显示的tooltip - }, - - _createTooltip: function (text, level) { - return BI.createWidget({ - type: "bi.tooltip", - text: text, - level: level, - stopEvent: true, - height: this._const.height - }); - }, - - hide: function (name, callback) { - if (!this.has(name)) { - return this; - } - delete this.showingTips[name]; - this.get(name).element.hide(0, callback); - this.get(name).invisible(); - return this; - }, - - create: function (name, text, level, context) { - if (!this.has(name)) { - var tooltip = this._createTooltip(text, level); - this.add(name, tooltip); - BI.createWidget({ - type: "bi.absolute", - element: context || "body", - items: [{ - el: tooltip - }] - }); - tooltip.invisible(); - } - return this.get(name); - }, - - //opt: {container: '', belowMouse: false} - show: function (e, name, text, level, context, opt) { - opt || (opt = {}); - var self = this; - BI.each(this.showingTips, function (i, tip) { - self.hide(i); - }); - this.showingTips = {}; - if (!this.has(name)) { - this.create(name, text, level, opt.container || context); - } - - var offset = context.element.offset(); - var bounds = context.element.bounds(); - if(bounds.height === 0 || bounds.width === 0) { - return; - } - var top = offset.top + bounds.height + 5; - var tooltip = this.get(name); - tooltip.setText(text); - tooltip.element.css({ - left: "0px", - top: "0px" - }); - tooltip.visible(); - tooltip.element.height(tooltip.element[0].scrollHeight); - this.showingTips[name] = true; - var x = e.pageX || e.clientX, y = (e.pageY || e.clientY) + 15; - if (x + tooltip.element.outerWidth() > $("body").outerWidth()) { - x -= tooltip.element.outerWidth(); - } - if (y + tooltip.element.outerHeight() > $("body").outerHeight()) { - y -= tooltip.element.outerHeight() + 15; - top = offset.top - tooltip.element.outerHeight() - 5; - !opt.belowMouse && (y = Math.min(y, top)); - } else { - !opt.belowMouse && (y = Math.max(y, top)); - } - tooltip.element.css({ - left: x < 0 ? 0 : x + "px", - top: y < 0 ? 0 : y + "px" - }); - tooltip.element.hover(function () { - self.remove(name); - context.element.trigger("mouseleave.title" + context.getName()); - }); - return this; - }, - - add: function (name, bubble) { - if (this.has(name)) { - return this; - } - this.set(name, bubble); - return this; - }, - - get: function (name) { - return this.tooltipsManager[name]; - }, - - set: function (name, bubble) { - this.tooltipsManager[name] = bubble; - }, - - has: function (name) { - return this.tooltipsManager[name] != null; - }, - - remove: function (name) { - if (!this.has(name)) { - return this; - } - this.tooltipsManager[name].destroy(); - delete this.tooltipsManager[name]; - return this; - } -}); \ No newline at end of file diff --git a/src/core/events.js b/src/core/events.js deleted file mode 100644 index cbaf9f4af6..0000000000 --- a/src/core/events.js +++ /dev/null @@ -1,432 +0,0 @@ -/** - * 事件集合 - * @class BI.Events - */ -_.extend(BI, { - Events: { - - /** - * @static - * @property keydown事件 - */ - KEYDOWN: "_KEYDOWN", - - /** - * @static - * @property 回撤事件 - */ - BACKSPACE: "_BACKSPACE", - - /** - * @static - * @property 空格事件 - */ - SPACE: "_SPACE", - - /** - * @static - * @property 回车事件 - */ - ENTER: "_ENTER", - - /** - * @static - * @property 确定事件 - */ - CONFIRM: '_CONFIRM', - - /** - * @static - * @property 错误事件 - */ - ERROR: '_ERROR', - - /** - * @static - * @property 暂停事件 - */ - PAUSE: '_PAUSE', - - /** - * @static - * @property destroy事件 - */ - DESTROY: '_DESTROY', - - /** - * @static - * @property 取消挂载事件 - */ - UNMOUNT: '_UNMOUNT', - - /** - * @static - * @property 清除选择 - */ - CLEAR: '_CLEAR', - - /** - * @static - * @property 添加数据 - */ - ADD: '_ADD', - - /** - * @static - * @property 正在编辑状态事件 - */ - EDITING: '_EDITING', - - /** - * @static - * @property 空状态事件 - */ - EMPTY: '_EMPTY', - - /** - * @static - * @property 显示隐藏事件 - */ - VIEW: '_VIEW', - - /** - * @static - * @property 窗体改变大小 - */ - RESIZE: "_RESIZE", - - /** - * @static - * @property 编辑前事件 - */ - BEFOREEDIT: '_BEFOREEDIT', - - /** - * @static - * @property 编辑后事件 - */ - AFTEREDIT: '_AFTEREDIT', - - /** - * @static - * @property 开始编辑事件 - */ - STARTEDIT: '_STARTEDIT', - - /** - * @static - * @property 停止编辑事件 - */ - STOPEDIT: '_STOPEDIT', - - /** - * @static - * @property 值改变事件 - */ - CHANGE: '_CHANGE', - - /** - * @static - * @property 下拉弹出菜单事件 - */ - EXPAND: '_EXPAND', - - /** - * @static - * @property 关闭下拉菜单事件 - */ - COLLAPSE: '_COLLAPSE', - - /** - * @static - * @property 回调事件 - */ - CALLBACK: '_CALLBACK', - - /** - * @static - * @property 点击事件 - */ - CLICK: '_CLICK', - - /** - * @static - * @property 状态改变事件,一般是用在复选按钮和单选按钮 - */ - STATECHANGE: '_STATECHANGE', - - /** - * @static - * @property 状态改变前事件 - */ - BEFORESTATECHANGE: '_BEFORESTATECHANGE', - - - /** - * @static - * @property 初始化事件 - */ - INIT: '_INIT', - - /** - * @static - * @property 初始化后事件 - */ - AFTERINIT: '_AFTERINIT', - - /** - * @static - * @property 滚动条滚动事件 - */ - SCROLL: '_SCROLL', - - - /** - * @static - * @property 开始加载事件 - */ - STARTLOAD: '_STARTLOAD', - - /** - * @static - * @property 加载后事件 - */ - AFTERLOAD: '_AFTERLOAD', - - - /** - * @static - * @property 提交前事件 - */ - BS: 'beforesubmit', - - /** - * @static - * @property 提交后事件 - */ - AS: 'aftersubmit', - - /** - * @static - * @property 提交完成事件 - */ - SC: 'submitcomplete', - - /** - * @static - * @property 提交失败事件 - */ - SF: 'submitfailure', - - /** - * @static - * @property 提交成功事件 - */ - SS: 'submitsuccess', - - /** - * @static - * @property 校验提交前事件 - */ - BVW: 'beforeverifywrite', - - /** - * @static - * @property 校验提交后事件 - */ - AVW: 'afterverifywrite', - - /** - * @static - * @property 校验后事件 - */ - AV: 'afterverify', - - /** - * @static - * @property 填报前事件 - */ - BW: 'beforewrite', - - /** - * @static - * @property 填报后事件 - */ - AW: 'afterwrite', - - /** - * @static - * @property 填报成功事件 - */ - WS: 'writesuccess', - - /** - * @static - * @property 填报失败事件 - */ - WF: 'writefailure', - - /** - * @static - * @property 添加行前事件 - */ - BA: 'beforeappend', - - /** - * @static - * @property 添加行后事件 - */ - AA: 'afterappend', - - /** - * @static - * @property 删除行前事件 - */ - BD: 'beforedelete', - - /** - * @static - * @property 删除行后事件 - */ - AD: 'beforedelete', - - /** - * @static - * @property 未提交离开事件 - */ - UC: 'unloadcheck', - - - /** - * @static - * @property PDF导出前事件 - */ - BTOPDF: 'beforetopdf', - - /** - * @static - * @property PDF导出后事件 - */ - ATOPDF: 'aftertopdf', - - /** - * @static - * @property Excel导出前事件 - */ - BTOEXCEL: 'beforetoexcel', - - /** - * @static - * @property Excel导出后事件 - */ - ATOEXCEL: 'aftertoexcel', - - /** - * @static - * @property Word导出前事件 - */ - BTOWORD: 'beforetoword', - - /** - * @static - * @property Word导出后事件 - */ - ATOWORD: 'aftertoword', - - /** - * @static - * @property 图片导出前事件 - */ - BTOIMAGE: 'beforetoimage', - - /** - * @static - * @property 图片导出后事件 - */ - ATOIMAGE: 'aftertoimage', - - /** - * @static - * @property HTML导出前事件 - */ - BTOHTML: 'beforetohtml', - - /** - * @static - * @property HTML导出后事件 - */ - ATOHTML: 'aftertohtml', - - /** - * @static - * @property Excel导入前事件 - */ - BIMEXCEL: 'beforeimportexcel', - - /** - * @static - * @property Excel导出后事件 - */ - AIMEXCEL: 'afterimportexcel', - - /** - * @static - * @property PDF打印前事件 - */ - BPDFPRINT: 'beforepdfprint', - - /** - * @static - * @property PDF打印后事件 - */ - APDFPRINT: 'afterpdfprint', - - /** - * @static - * @property Flash打印前事件 - */ - BFLASHPRINT: 'beforeflashprint', - - /** - * @static - * @property Flash打印后事件 - */ - AFLASHPRINT: 'afterflashprint', - - /** - * @static - * @property Applet打印前事件 - */ - BAPPLETPRINT: 'beforeappletprint', - - /** - * @static - * @property Applet打印后事件 - */ - AAPPLETPRINT: 'afterappletprint', - - /** - * @static - * @property 服务器打印前事件 - */ - BSEVERPRINT: 'beforeserverprint', - - /** - * @static - * @property 服务器打印后事件 - */ - ASERVERPRINT: 'afterserverprint', - - /** - * @static - * @property 邮件发送前事件 - */ - BEMAIL: 'beforeemail', - - /** - * @static - * @property 邮件发送后事件 - */ - AEMAIL: 'afteremail' - } -}); \ No newline at end of file diff --git a/src/core/foundation.js b/src/core/foundation.js deleted file mode 100644 index 7967adfc88..0000000000 --- a/src/core/foundation.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Created by richie on 15/7/8. - */ -/** - * 初始化BI对象 - */ -if (window.BI == null) { - window.BI = {}; -} \ No newline at end of file diff --git a/src/core/func/dom.js b/src/core/func/dom.js deleted file mode 100644 index 59ce4fa6b2..0000000000 --- a/src/core/func/dom.js +++ /dev/null @@ -1,590 +0,0 @@ -/** - * guy - * 最基础的dom操作 - */ -BI.extend(jQuery.fn, { - - destroy: function () { - this.remove(); - if (BI.isIE() === true) { - this[0].outerHTML = ''; - } - }, - /** - * 高亮显示 - * @param text 必需 - * @param keyword - * @param py 必需 - * @returns {*} - * @private - */ - __textKeywordMarked__: function (text, keyword, py) { - if (!BI.isKey(keyword) || (text + "").length > 100) { - return this.text((text + "").replaceAll(" ", " ")); - } - keyword = keyword + ""; - keyword = BI.toUpperCase(keyword); - var textLeft = (text || "") + ""; - py = (py || BI.makeFirstPY(text)) + ""; - if (py != null) { - py = BI.toUpperCase(py); - } - this.empty(); - while (true) { - var tidx = BI.toUpperCase(textLeft).indexOf(keyword); - var pidx = null; - if (py != null) { - pidx = py.indexOf(keyword); - if (pidx >= 0) { - pidx = pidx % text.length; - } - } - - if (tidx >= 0) { - this.append(textLeft.substr(0, tidx)); - this.append($("<span>").addClass("bi-keyword-red-mark") - .text(textLeft.substr(tidx, keyword.length).replaceAll(" ", " "))); - - textLeft = textLeft.substr(tidx + keyword.length); - if (py != null) { - py = py.substr(tidx + keyword.length); - } - } else if (pidx != null && pidx >= 0 && Math.floor(pidx / text.length) === Math.floor((pidx + keyword.length - 1) / text.length)) { - this.append(textLeft.substr(0, pidx)); - this.append($("<span>").addClass("bi-keyword-red-mark") - .text(textLeft.substr(pidx, keyword.length).replaceAll(" ", " "))); - if (py != null) { - py = py.substr(pidx + keyword.length); - } - textLeft = textLeft.substr(pidx + keyword.length); - } else { - this.append(textLeft); - break; - } - } - - return this; - }, - - getDomHeight: function (parent) { - var clone = $(this).clone(); - clone.appendTo($(parent || "body")); - var height = clone.height(); - clone.remove(); - return height; - }, - - //是否有竖直滚动条 - hasVerticalScroll: function () { - return this.height() > 0 && this[0].clientWidth < this[0].offsetWidth; - }, - - //是否有水平滚动条 - hasHorizonScroll: function () { - return this.width() > 0 && this[0].clientHeight < this[0].offsetHeight; - }, - - //获取计算后的样式 - getStyle: function (name) { - var node = this[0]; - var computedStyle = void 0; - - // W3C Standard - if (window.getComputedStyle) { - // In certain cases such as within an iframe in FF3, this returns null. - computedStyle = window.getComputedStyle(node, null); - if (computedStyle) { - return computedStyle.getPropertyValue(BI.hyphenate(name)); - } - } - // Safari - if (document.defaultView && document.defaultView.getComputedStyle) { - computedStyle = document.defaultView.getComputedStyle(node, null); - // A Safari bug causes this to return null for `display: none` elements. - if (computedStyle) { - return computedStyle.getPropertyValue(BI.hyphenate(name)); - } - if (name === 'display') { - return 'none'; - } - } - // Internet Explorer - if (node.currentStyle) { - if (name === 'float') { - return node.currentStyle.cssFloat || node.currentStyle.styleFloat; - } - return node.currentStyle[BI.camelize(name)]; - } - return node.style && node.style[BI.camelize(name)]; - }, - - __isMouseInBounds__: function (e) { - var offset2Body = this.offset(); - return !(e.pageX < offset2Body.left || e.pageX > offset2Body.left + this.outerWidth() - || e.pageY < offset2Body.top || e.pageY > offset2Body.top + this.outerHeight()) - }, - - __hasZIndexMask__: function (zindex) { - return zindex && this.zIndexMask[zindex] != null; - }, - - __buildZIndexMask__: function (zindex, domArray) { - this.zIndexMask = this.zIndexMask || {};//存储z-index的mask - this.indexMask = this.indexMask || [];//存储mask - var mask = BI.createWidget({ - type: "bi.center_adapt", - cls: "bi-z-index-mask", - items: domArray - }); - - mask.element.css({"z-index": zindex}); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: mask, - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - this.indexMask.push(mask); - zindex && (this.zIndexMask[zindex] = mask); - return mask.element; - }, - - __releaseZIndexMask__: function (zindex) { - if (zindex && this.zIndexMask[zindex]) { - this.indexMask.remove(this.zIndexMask[zindex]); - this.zIndexMask[zindex].destroy(); - return; - } - this.indexMask = this.indexMask || []; - var indexMask = this.indexMask.pop(); - indexMask && indexMask.destroy(); - } -}); - -BI.extend(jQuery, { - - getLeftPosition: function (combo, popup, extraWidth) { - return { - left: combo.element.offset().left - popup.element.outerWidth() - (extraWidth || 0) - }; - }, - - getRightPosition: function (combo, popup, extraWidth) { - var el = combo.element; - return { - left: el.offset().left + el.outerWidth() + (extraWidth || 0) - } - }, - - getTopPosition: function (combo, popup, extraHeight) { - return { - top: combo.element.offset().top - popup.element.outerHeight() - (extraHeight || 0) - }; - }, - - getBottomPosition: function (combo, popup, extraHeight) { - var el = combo.element; - return { - top: el.offset().top + el.outerHeight() + (extraHeight || 0) - }; - }, - - isLeftSpaceEnough: function (combo, popup, extraWidth) { - return $.getLeftPosition(combo, popup, extraWidth).left >= 0; - }, - - isRightSpaceEnough: function (combo, popup, extraWidth) { - var viewBounds = popup.element.bounds(), windowBounds = $("body").bounds(); - return $.getRightPosition(combo, popup, extraWidth).left + viewBounds.width <= windowBounds.width; - }, - - isTopSpaceEnough: function (combo, popup, extraHeight) { - return $.getTopPosition(combo, popup, extraHeight).top >= 0; - }, - - isBottomSpaceEnough: function (combo, popup, extraHeight) { - var viewBounds = popup.element.bounds(), windowBounds = $("body").bounds(); - return $.getBottomPosition(combo, popup, extraHeight).top + viewBounds.height <= windowBounds.height; - }, - - isRightSpaceLarger: function (combo) { - var windowBounds = $("body").bounds(); - return windowBounds.width - combo.element.offset().left - combo.element.bounds().width >= combo.element.offset().left; - }, - - isBottomSpaceLarger: function (combo) { - var windowBounds = $("body").bounds(); - return windowBounds.height - combo.element.offset().top - combo.element.bounds().height >= combo.element.offset().top; - }, - - getLeftAlignPosition: function (combo, popup, extraWidth) { - var viewBounds = popup.element.bounds(), windowBounds = $("body").bounds(); - var left = combo.element.offset().left + extraWidth; - if (left + viewBounds.width > windowBounds.width) { - left = windowBounds.width - viewBounds.width; - } - if (left < 0) { - left = 0; - } - return { - left: left - } - }, - - getLeftAdaptPosition: function (combo, popup, extraWidth) { - if ($.isLeftSpaceEnough(combo, popup, extraWidth)) { - return $.getLeftPosition(combo, popup, extraWidth); - } - return { - left: 0 - } - }, - - getRightAlignPosition: function (combo, popup, extraWidth) { - var comboBounds = combo.element.bounds(), viewBounds = popup.element.bounds(); - var left = combo.element.offset().left + comboBounds.width - viewBounds.width - extraWidth; - if (left < 0) { - left = 0; - } - return { - left: left - } - }, - - getRightAdaptPosition: function (combo, popup, extraWidth) { - if ($.isRightSpaceEnough(combo, popup, extraWidth)) { - return $.getRightPosition(combo, popup, extraWidth); - } - return { - left: $("body").bounds().width - popup.element.bounds().width - } - }, - - getTopAlignPosition: function (combo, popup, extraHeight, needAdaptHeight) { - var comboOffset = combo.element.offset(); - var comboBounds = combo.element.bounds(), popupBounds = popup.element.bounds(), - windowBounds = $("body").bounds(); - var top, adaptHeight; - if ($.isBottomSpaceEnough(combo, popup, -1 * comboBounds.height + extraHeight)) { - top = comboOffset.top + extraHeight; - } else if (needAdaptHeight) { - top = comboOffset.top + extraHeight; - adaptHeight = windowBounds.height - top; - } else { - top = windowBounds.height - popupBounds.height; - if (top < extraHeight) { - adaptHeight = windowBounds.height - extraHeight; - } - } - if (top < extraHeight) { - top = extraHeight; - } - return adaptHeight ? { - top: top, - adaptHeight: adaptHeight - } : { - top: top - } - }, - - getTopAdaptPosition: function (combo, popup, extraHeight, needAdaptHeight) { - var popupBounds = popup.element.bounds(), windowBounds = $("body").bounds(); - if ($.isTopSpaceEnough(combo, popup, extraHeight)) { - return $.getTopPosition(combo, popup, extraHeight); - } - if (needAdaptHeight) { - return { - top: 0, - adaptHeight: combo.element.offset().top - extraHeight - } - } - if (popupBounds.height + extraHeight > windowBounds.height) { - return { - top: 0, - adaptHeight: windowBounds.height - extraHeight - } - } - return { - top: 0 - } - }, - - getBottomAlignPosition: function (combo, popup, extraHeight, needAdaptHeight) { - var comboOffset = combo.element.offset(); - var comboBounds = combo.element.bounds(), popupBounds = popup.element.bounds(), - windowBounds = $("body").bounds(); - var top, adaptHeight; - if ($.isTopSpaceEnough(combo, popup, -1 * comboBounds.height + extraHeight)) { - top = comboOffset.top + comboBounds.height - popupBounds.height - extraHeight; - } else if (needAdaptHeight) { - top = 0; - adaptHeight = comboOffset.top + comboBounds.height - extraHeight; - } else { - top = 0; - if (popupBounds.height + extraHeight > windowBounds.height) { - adaptHeight = windowBounds.height - extraHeight; - } - } - if (top < 0) { - top = 0; - } - return adaptHeight ? { - top: top, - adaptHeight: adaptHeight - } : { - top: top - } - }, - - getBottomAdaptPosition: function (combo, popup, extraHeight, needAdaptHeight) { - var comboOffset = combo.element.offset(); - var comboBounds = combo.element.bounds(), popupBounds = popup.element.bounds(), - windowBounds = $("body").bounds(); - if ($.isBottomSpaceEnough(combo, popup, extraHeight)) { - return $.getBottomPosition(combo, popup, extraHeight); - } - if (needAdaptHeight) { - return { - top: comboOffset.top + comboBounds.height + extraHeight, - adaptHeight: windowBounds.height - comboOffset.top - comboBounds.height - extraHeight - } - } - if (popupBounds.height + extraHeight > windowBounds.height) { - return { - top: extraHeight, - adaptHeight: windowBounds.height - extraHeight - } - } - return { - top: windowBounds.height - popupBounds.height - extraHeight - } - }, - - getCenterAdaptPosition: function (combo, popup) { - var comboOffset = combo.element.offset(); - var comboBounds = combo.element.bounds(), popupBounds = popup.element.bounds(), - windowBounds = $("body").bounds(); - var left; - if (comboOffset.left + comboBounds.width / 2 + popupBounds.width / 2 > windowBounds.width) { - left = windowBounds.width - popupBounds.width; - } else { - left = comboOffset.left + comboBounds.width / 2 - popupBounds.width / 2; - } - if (left < 0) { - left = 0; - } - return { - left: left - } - }, - - getMiddleAdaptPosition: function (combo, popup) { - var comboOffset = combo.element.offset(); - var comboBounds = combo.element.bounds(), popupBounds = popup.element.bounds(), - windowBounds = $("body").bounds(); - var top; - if (comboOffset.top + comboBounds.height / 2 + popupBounds.height / 2 > windowBounds.height) { - top = windowBounds.height - popupBounds.height; - } else { - top = comboOffset.top + comboBounds.height / 2 - popupBounds.height / 2; - } - if (top < 0) { - top = 0; - } - return { - top: top - } - }, - - getComboPositionByDirections: function (combo, popup, extraWidth, extraHeight, needAdaptHeight, directions) { - extraWidth || (extraWidth = 0); - extraHeight || (extraHeight = 0); - var i, direct; - var leftRight = [], topBottom = []; - var isNeedAdaptHeight = false, tbFirst = false, lrFirst = false; - var left, top, pos; - for (i = 0; i < directions.length; i++) { - direct = directions[i]; - switch (direct) { - case "left": - leftRight.push(direct); - break; - case "right": - leftRight.push(direct); - break; - case "top": - topBottom.push(direct); - break; - case "bottom": - topBottom.push(direct); - break; - } - } - for (i = 0; i < directions.length; i++) { - direct = directions[i]; - switch (direct) { - case "left": - if (!isNeedAdaptHeight) { - var tW = tbFirst ? extraHeight : extraWidth, tH = tbFirst ? 0 : extraHeight; - if ($.isLeftSpaceEnough(combo, popup, tW)) { - left = $.getLeftPosition(combo, popup, tW).left; - if (topBottom[0] === "bottom") { - pos = $.getTopAlignPosition(combo, popup, tH, needAdaptHeight); - pos.dir = "left,bottom"; - } else { - pos = $.getBottomAlignPosition(combo, popup, tH, needAdaptHeight); - pos.dir = "left,top"; - } - if (tbFirst) { - pos.change = "left"; - } - pos.left = left; - return pos; - } - } - lrFirst = true; - break; - case "right": - if (!isNeedAdaptHeight) { - var tW = tbFirst ? extraHeight : extraWidth, tH = tbFirst ? extraWidth : extraHeight; - if ($.isRightSpaceEnough(combo, popup, tW)) { - left = $.getRightPosition(combo, popup, tW).left; - if (topBottom[0] === "bottom") { - pos = $.getTopAlignPosition(combo, popup, tH, needAdaptHeight); - pos.dir = "right,bottom"; - } else { - pos = $.getBottomAlignPosition(combo, popup, tH, needAdaptHeight); - pos.dir = "right,top"; - } - if (tbFirst) { - pos.change = "right"; - } - pos.left = left; - return pos; - } - } - lrFirst = true; - break; - case "top": - var tW = lrFirst ? extraHeight : extraWidth, tH = lrFirst ? extraWidth : extraHeight; - if ($.isTopSpaceEnough(combo, popup, tH)) { - top = $.getTopPosition(combo, popup, tH).top; - if (leftRight[0] === "right") { - pos = $.getLeftAlignPosition(combo, popup, tW, needAdaptHeight); - pos.dir = "top,right"; - } else { - pos = $.getRightAlignPosition(combo, popup, tW); - pos.dir = "top,left"; - } - if (lrFirst) { - pos.change = "top"; - } - pos.top = top; - return pos; - } - if (needAdaptHeight) { - isNeedAdaptHeight = true; - } - tbFirst = true; - break; - case "bottom": - var tW = lrFirst ? extraHeight : extraWidth, tH = lrFirst ? extraWidth : extraHeight; - if ($.isBottomSpaceEnough(combo, popup, tH)) { - top = $.getBottomPosition(combo, popup, tH).top; - if (leftRight[0] === "right") { - pos = $.getLeftAlignPosition(combo, popup, tW, needAdaptHeight); - pos.dir = "bottom,right"; - } else { - pos = $.getRightAlignPosition(combo, popup, tW); - pos.dir = "bottom,left"; - } - if (lrFirst) { - pos.change = "bottom"; - } - pos.top = top; - return pos; - } - if (needAdaptHeight) { - isNeedAdaptHeight = true; - } - tbFirst = true; - break; - } - } - - switch (directions[0]) { - case "left": - case "right": - if ($.isRightSpaceLarger(combo)) { - left = $.getRightAdaptPosition(combo, popup, extraWidth).left; - } else { - left = $.getLeftAdaptPosition(combo, popup, extraWidth).left; - } - if (topBottom[0] === "bottom") { - pos = $.getTopAlignPosition(combo, popup, extraHeight, needAdaptHeight); - pos.left = left; - pos.dir = directions[0] + ",bottom"; - return pos; - } - pos = $.getBottomAlignPosition(combo, popup, extraHeight, needAdaptHeight); - pos.left = left; - pos.dir = directions[0] + ",top"; - return pos; - default : - if ($.isBottomSpaceLarger(combo)) { - pos = $.getBottomAdaptPosition(combo, popup, extraHeight, needAdaptHeight); - } else { - pos = $.getTopAdaptPosition(combo, popup, extraHeight, needAdaptHeight); - } - if (leftRight[0] === "right") { - left = $.getLeftAlignPosition(combo, popup, extraWidth, needAdaptHeight).left; - pos.left = left; - pos.dir = directions[0] + ",right"; - return pos; - } - left = $.getRightAlignPosition(combo, popup, extraWidth).left; - pos.left = left; - pos.dir = directions[0] + ",left"; - return pos; - } - }, - - - getComboPosition: function (combo, popup, extraWidth, extraHeight, needAdaptHeight, directions, offsetStyle) { - extraWidth || (extraWidth = 0); - extraHeight || (extraHeight = 0); - var bodyHeight = $("body").bounds().height - extraHeight; - var maxHeight = Math.min(popup.attr("maxHeight") || bodyHeight, bodyHeight); - popup.resetHeight && popup.resetHeight(maxHeight); - var position = $.getComboPositionByDirections(combo, popup, extraWidth, extraHeight, needAdaptHeight, directions || ['bottom', 'top', 'right', 'left']); - switch (offsetStyle) { - case "center": - if (position.change) { - var p = $.getMiddleAdaptPosition(combo, popup); - position.top = p.top; - } else { - var p = $.getCenterAdaptPosition(combo, popup); - position.left = p.left; - } - break; - case "middle": - if (position.change) { - var p = $.getCenterAdaptPosition(combo, popup); - position.left = p.left; - } else { - var p = $.getMiddleAdaptPosition(combo, popup); - position.top = p.top; - } - break; - } - if (needAdaptHeight === true) { - popup.resetHeight && popup.resetHeight(Math.min(bodyHeight - position.top, maxHeight)); - } - return position; - } -}); \ No newline at end of file diff --git a/src/core/func/function.js b/src/core/func/function.js deleted file mode 100644 index aa331d1a64..0000000000 --- a/src/core/func/function.js +++ /dev/null @@ -1,303 +0,0 @@ -/** - * 基本的函数 - * Created by GUY on 2015/6/24. - */ -BI.Func = {}; -BI.extend(BI.Func, { - /** - * 创建唯一的名字 - * @param array - * @param name - * @returns {*} - */ - createDistinctName: function (array, name) { - var src = name, idx = 1; - name = name || ""; - while (true) { - if (BI.every(array, function (i, item) { - return item.name !== name; - })) { - break; - } - name = src + (idx++); - } - return name; - }, - /** - * 获取搜索结果 - * @param items - * @param keyword - * @param param 搜索哪个属性 - */ - getSearchResult: function (items, keyword, param) { - var isArray = BI.isArray(items); - items = isArray ? BI.flatten(items) : items; - param || (param = "text"); - if (!BI.isKey(keyword)) { - return { - finded: BI.deepClone(items), - matched: isArray ? [] : {} - }; - } - var t, text, py; - keyword = BI.toUpperCase(keyword); - var matched = isArray ? [] : {}, finded = isArray ? [] : {}; - BI.each(items, function (i, item) { - item = BI.deepClone(item); - t = BI.stripEL(item); - text = t[param] || t.text || t.value || t.name || t; - py = BI.makeFirstPY(text); - text = BI.toUpperCase(text); - py = BI.toUpperCase(py); - var pidx; - if (text.indexOf(keyword) > -1) { - if (text === keyword) { - isArray ? matched.push(item) : (matched[i] = item); - } else { - isArray ? finded.push(item) : (finded[i] = item); - } - } else if (pidx = py.indexOf(keyword), (pidx > -1 && Math.floor(pidx / text.length) === Math.floor((pidx + keyword.length - 1) / text.length))) { - if (text === keyword || keyword.length === text.length) { - isArray ? matched.push(item) : (matched[i] = item); - } else { - isArray ? finded.push(item) : (finded[i] = item); - } - } - }); - return { - matched: matched, - finded: finded - } - }, -}); - -/** - * 对DOM操作的通用函数 - * @type {{}} - */ -BI.DOM = {}; -BI.extend(BI.DOM, { - - /** - * 把dom数组或元素悬挂起来,使其不对html产生影响 - * @param dom - */ - hang: function (doms) { - if (BI.isEmpty(doms)) { - return; - } - var frag = document.createDocumentFragment(); - BI.each(doms, function (i, dom) { - dom instanceof BI.Widget && (dom = dom.element); - dom instanceof $ && dom[0] && frag.appendChild(dom[0]); - }); - return frag; - }, - - isExist: function (obj) { - return $("body").find(obj.element).length > 0; - }, - - //预加载图片 - preloadImages: function (srcArray, onload) { - var count = 0, images = []; - - function complete() { - count++; - if (count >= srcArray.length) { - onload(); - } - } - - BI.each(srcArray, function (i, src) { - images[i] = new Image(); - images[i].src = src; - images[i].onload = function () { - complete() - }; - images[i].onerror = function () { - complete() - }; - }); - }, - - isColor: function (color) { - return color && (this.isRGBColor(color) || this.isHexColor(color)); - }, - - isRGBColor: function (color) { - if (!color) { - return false; - } - return color.substr(0, 3) === "rgb"; - }, - - isHexColor: function (color) { - if (!color) { - return false; - } - return color[0] === "#" && color.length === 7; - }, - - isDarkColor: function (hex) { - if (!hex || !this.isHexColor(hex)) { - return false; - } - var rgb = this.rgb2json(this.hex2rgb(hex)); - var grayLevel = Math.round(rgb.r * 0.299 + rgb.g * 0.587 + rgb.b * 0.114); - if (grayLevel < 192/**网上给的是140**/) { - return true; - } - return false; - }, - - //获取对比颜色 - getContrastColor: function (color) { - if (!color || !this.isColor(color)) { - return ""; - } - if (this.isDarkColor(color)) { - return "#ffffff"; - } - return "#1a1a1a"; - }, - - rgb2hex: function (rgbColour) { - if (!rgbColour || rgbColour.substr(0, 3) != "rgb") { - return ""; - } - var rgbValues = rgbColour.match(/\d+(\.\d+)?/g); - var red = BI.parseInt(rgbValues[0]); - var green = BI.parseInt(rgbValues[1]); - var blue = BI.parseInt(rgbValues[2]); - - var hexColour = "#" + this.int2hex(red) + this.int2hex(green) + this.int2hex(blue); - - return hexColour; - }, - - rgb2json: function (rgbColour) { - if (!rgbColour) { - return {}; - } - if (!this.isRGBColor(rgbColour)) { - return {}; - } - var rgbValues = rgbColour.match(/\d+(\.\d+)?/g); - return { - r: BI.parseInt(rgbValues[0]), - g: BI.parseInt(rgbValues[1]), - b: BI.parseInt(rgbValues[2]) - }; - }, - - rgba2json: function (rgbColour) { - if (!rgbColour) { - return {}; - } - var rgbValues = rgbColour.match(/\d+(\.\d+)?/g); - return { - r: BI.parseInt(rgbValues[0]), - g: BI.parseInt(rgbValues[1]), - b: BI.parseInt(rgbValues[2]), - a: BI.parseFloat(rgbValues[3]) - }; - }, - - json2rgb: function (rgb) { - if (!BI.isKey(rgb.r) || !BI.isKey(rgb.g) || !BI.isKey(rgb.b)) { - return ""; - } - return "rgb(" + rgb.r + "," + rgb.g + "," + rgb.b + ")"; - }, - - json2rgba: function (rgba) { - if (!BI.isKey(rgba.r) || !BI.isKey(rgba.g) || !BI.isKey(rgba.b)) { - return ""; - } - return "rgba(" + rgba.r + "," + rgba.g + "," + rgba.b + "," + rgba.a + ")"; - }, - - int2hex: function (strNum) { - var hexdig = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']; - - return hexdig[strNum >>> 4] + '' + hexdig[strNum & 15]; - }, - - hex2rgb: function (color) { - if (!color) { - return ""; - } - if (!this.isHexColor(color)) { - return color; - } - var tempValue = "rgb(", colorArray; - - if (color.length === 7) { - colorArray = [BI.parseInt('0x' + color.substring(1, 3)), - BI.parseInt('0x' + color.substring(3, 5)), - BI.parseInt('0x' + color.substring(5, 7))]; - } - else if (color.length === 4) { - colorArray = [BI.parseInt('0x' + color.substring(1, 2)), - BI.parseInt('0x' + color.substring(2, 3)), - BI.parseInt('0x' + color.substring(3, 4))]; - } - tempValue += colorArray[0] + ","; - tempValue += colorArray[1] + ","; - tempValue += colorArray[2] + ")"; - - return tempValue; - }, - - rgba2rgb: function (rgbColour, BGcolor) { - if (BI.isNull(BGcolor)) { - BGcolor = 1; - } - if (rgbColour.substr(0, 4) != "rgba") { - return ""; - } - var rgbValues = rgbColour.match(/\d+(\.\d+)?/g); - if (rgbValues.length < 4) { - return ""; - } - var R = BI.parseFloat(rgbValues[0]); - var G = BI.parseFloat(rgbValues[1]); - var B = BI.parseFloat(rgbValues[2]); - var A = BI.parseFloat(rgbValues[3]); - - return "rgb(" + Math.floor(255 * (BGcolor * (1 - A )) + R * A) + "," + - Math.floor(255 * (BGcolor * (1 - A )) + G * A) + "," + - Math.floor(255 * (BGcolor * (1 - A )) + B * A) + ")"; - }, - - getTextSizeWidth: function (text, fontSize) { - var span = $("<span></span>").addClass("text-width-span").appendTo($("body")); - - if (fontSize == null) { - fontSize = 12; - } - fontSize = fontSize + "px"; - - span.css("font-size", fontSize).text(text); - - var width = span.width(); - span.remove(); - - return width; - }, - - //获取滚动条的宽度 - getScrollWidth: function () { - if (this._scrollWidth == null) { - var ul = $("<div>").width(50).height(50).css({ - position: "absolute", - top: "-9999px", - overflow: "scroll" - }).appendTo($("body")); - this._scrollWidth = ul[0].offsetWidth - ul[0].clientWidth; - ul.destroy(); - } - return this._scrollWidth; - } -}); \ No newline at end of file diff --git a/src/core/jquery.js b/src/core/jquery.js deleted file mode 100644 index d234a72554..0000000000 --- a/src/core/jquery.js +++ /dev/null @@ -1,9599 +0,0 @@ -/*! - * jQuery JavaScript Library v1.9.1 - * http://jquery.com/ - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * - * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2013-2-4 - */ -(function( window, undefined ) { - -// Can't do this because several apps including ASP.NET trace -// the stack via arguments.caller.callee and Firefox dies if -// you try to trace through "use strict" call chains. (#13335) -// Support: Firefox 18+ -//"use strict"; -var - // The deferred used on DOM ready - readyList, - - // A central reference to the root jQuery(document) - rootjQuery, - - // Support: IE<9 - // For `typeof node.method` instead of `node.method !== undefined` - core_strundefined = typeof undefined, - - // Use the correct document accordingly with window argument (sandbox) - document = window.document, - location = window.location, - - // Map over jQuery in case of overwrite - _jQuery = window.jQuery, - - // Map over the $ in case of overwrite - _$ = window.$, - - // [[Class]] -> type pairs - class2type = {}, - - // List of deleted data cache ids, so we can reuse them - core_deletedIds = [], - - core_version = "1.9.1", - - // Save a reference to some core methods - core_concat = core_deletedIds.concat, - core_push = core_deletedIds.push, - core_slice = core_deletedIds.slice, - core_indexOf = core_deletedIds.indexOf, - core_toString = class2type.toString, - core_hasOwn = class2type.hasOwnProperty, - core_trim = core_version.trim, - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - // The jQuery object is actually just the init constructor 'enhanced' - return new jQuery.fn.init( selector, context, rootjQuery ); - }, - - // Used for matching numbers - core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, - - // Used for splitting on whitespace - core_rnotwhite = /\S+/g, - - // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // A simple way to check for HTML strings - // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, - - // Match a standalone tag - rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, - - // JSON RegExp - rvalidchars = /^[\],:{}\s]*$/, - rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, - rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, - rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([\da-z])/gi, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }, - - // The ready event handler - completed = function( event ) { - - // readyState === "complete" is good enough for us to call the dom ready in oldIE - if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { - detach(); - jQuery.ready(); - } - }, - // Clean-up method for dom ready events - detach = function() { - if ( document.addEventListener ) { - document.removeEventListener( "DOMContentLoaded", completed, false ); - window.removeEventListener( "load", completed, false ); - - } else { - document.detachEvent( "onreadystatechange", completed ); - window.detachEvent( "onload", completed ); - } - }; - -jQuery.fn = jQuery.prototype = { - // The current version of jQuery being used - jquery: core_version, - - constructor: jQuery, - init: function( selector, context, rootjQuery ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - - // scripts is true for back-compat - jQuery.merge( this, jQuery.parseHTML( - match[1], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[2] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id !== match[2] ) { - return rootjQuery.find( selector ); - } - - // Otherwise, we inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || rootjQuery ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return rootjQuery.ready( selector ); - } - - if ( selector.selector !== undefined ) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }, - - // Start with an empty selector - selector: "", - - // The default length of a jQuery object is 0 - length: 0, - - // The number of elements contained in the matched element set - size: function() { - return this.length; - }, - - toArray: function() { - return core_slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num == null ? - - // Return a 'clean' array - this.toArray() : - - // Return just the object - ( num < 0 ? this[ this.length + num ] : this[ num ] ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - ret.context = this.context; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - ready: function( fn ) { - // Add the callback - jQuery.ready.promise().done( fn ); - - return this; - }, - - slice: function() { - return this.pushStack( core_slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }, - - end: function() { - return this.prevObject || this.constructor(null); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: core_push, - sort: [].sort, - splice: [].splice -}; - -// Give the init function the jQuery prototype for later instantiation -jQuery.fn.init.prototype = jQuery.fn; - -jQuery.extend = jQuery.fn.extend = function() { - var src, copyIsArray, copy, name, options, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // extend jQuery itself if only one argument is passed - if ( length === i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend({ - noConflict: function( deep ) { - if ( window.$ === jQuery ) { - window.$ = _$; - } - - if ( deep && window.jQuery === jQuery ) { - window.jQuery = _jQuery; - } - - return jQuery; - }, - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( !document.body ) { - return setTimeout( jQuery.ready ); - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.trigger ) { - jQuery( document ).trigger("ready").off("ready"); - } - }, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - return jQuery.type(obj) === "function"; - }, - - isArray: Array.isArray || function( obj ) { - return jQuery.type(obj) === "array"; - }, - - isWindow: function( obj ) { - return obj != null && obj == obj.window; - }, - - isNumeric: function( obj ) { - return !isNaN( parseFloat(obj) ) && isFinite( obj ); - }, - - type: function( obj ) { - if ( obj == null ) { - return String( obj ); - } - return typeof obj === "object" || typeof obj === "function" ? - class2type[ core_toString.call(obj) ] || "object" : - typeof obj; - }, - - isPlainObject: function( obj ) { - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - try { - // Not own constructor property must be Object - if ( obj.constructor && - !core_hasOwn.call(obj, "constructor") && - !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { - return false; - } - } catch ( e ) { - // IE8,9 Will throw exceptions on certain host objects #9897 - return false; - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - - var key; - for ( key in obj ) {} - - return key === undefined || core_hasOwn.call( obj, key ); - }, - - isEmptyObject: function( obj ) { - var name; - for ( name in obj ) { - return false; - } - return true; - }, - - error: function( msg ) { - throw new Error( msg ); - }, - - // data: string of html - // context (optional): If specified, the fragment will be created in this context, defaults to document - // keepScripts (optional): If true, will include scripts passed in the html string - parseHTML: function( data, context, keepScripts ) { - if ( !data || typeof data !== "string" ) { - return null; - } - if ( typeof context === "boolean" ) { - keepScripts = context; - context = false; - } - context = context || document; - - var parsed = rsingleTag.exec( data ), - scripts = !keepScripts && []; - - // Single tag - if ( parsed ) { - return [ context.createElement( parsed[1] ) ]; - } - - parsed = jQuery.buildFragment( [ data ], context, scripts ); - if ( scripts ) { - jQuery( scripts ).remove(); - } - return jQuery.merge( [], parsed.childNodes ); - }, - - parseJSON: function( data ) { - // Attempt to parse using the native JSON parser first - if ( window.JSON && window.JSON.parse ) { - return window.JSON.parse( data ); - } - - if ( data === null ) { - return data; - } - - if ( typeof data === "string" ) { - - // Make sure leading/trailing whitespace is removed (IE can't handle it) - data = jQuery.trim( data ); - - if ( data ) { - // Make sure the incoming data is actual JSON - // Logic borrowed from http://json.org/json2.js - if ( rvalidchars.test( data.replace( rvalidescape, "@" ) - .replace( rvalidtokens, "]" ) - .replace( rvalidbraces, "")) ) { - - return ( new Function( "return " + data ) )(); - } - } - } - - jQuery.error( "Invalid JSON: " + data ); - }, - - // Cross-browser xml parsing - parseXML: function( data ) { - var xml, tmp; - if ( !data || typeof data !== "string" ) { - return null; - } - try { - if ( window.DOMParser ) { // Standard - tmp = new DOMParser(); - xml = tmp.parseFromString( data , "text/xml" ); - } else { // IE - xml = new ActiveXObject( "Microsoft.XMLDOM" ); - xml.async = "false"; - xml.loadXML( data ); - } - } catch( e ) { - xml = undefined; - } - if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { - jQuery.error( "Invalid XML: " + data ); - } - return xml; - }, - - noop: function() {}, - - // Evaluates a script in a global context - // Workarounds based on findings by Jim Driscoll - // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context - globalEval: function( data ) { - if ( data && jQuery.trim( data ) ) { - // We use execScript on Internet Explorer - // We use an anonymous function so that context is window - // rather than jQuery in Firefox - ( window.execScript || function( data ) { - window[ "eval" ].call( window, data ); - } )( data ); - } - }, - - // Convert dashed to camelCase; used by the css and data modules - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - // args is for internal usage only - each: function( obj, callback, args ) { - var value, - i = 0, - length = obj.length, - isArray = isArraylike( obj ); - - if ( args ) { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.apply( obj[ i ], args ); - - if ( value === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } else { - for ( i in obj ) { - value = callback.call( obj[ i ], i, obj[ i ] ); - - if ( value === false ) { - break; - } - } - } - } - - return obj; - }, - - // Use native String.trim function wherever possible - trim: core_trim && !core_trim.call("\uFEFF\xA0") ? - function( text ) { - return text == null ? - "" : - core_trim.call( text ); - } : - - // Otherwise use our own trimming functionality - function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArraylike( Object(arr) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - core_push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - var len; - - if ( arr ) { - if ( core_indexOf ) { - return core_indexOf.call( arr, elem, i ); - } - - len = arr.length; - i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; - - for ( ; i < len; i++ ) { - // Skip accessing in sparse arrays - if ( i in arr && arr[ i ] === elem ) { - return i; - } - } - } - - return -1; - }, - - merge: function( first, second ) { - var l = second.length, - i = first.length, - j = 0; - - if ( typeof l === "number" ) { - for ( ; j < l; j++ ) { - first[ i++ ] = second[ j ]; - } - } else { - while ( second[j] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, inv ) { - var retVal, - ret = [], - i = 0, - length = elems.length; - inv = !!inv; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - retVal = !!callback( elems[ i ], i ); - if ( inv !== retVal ) { - ret.push( elems[ i ] ); - } - } - - return ret; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var value, - i = 0, - length = elems.length, - isArray = isArraylike( elems ), - ret = []; - - // Go through the array, translating each of the items to their - if ( isArray ) { - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - } - - // Flatten any nested arrays - return core_concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var args, proxy, tmp; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = core_slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - // Multifunctional method to get and set values of a collection - // The value/s can optionally be executed if it's a function - access: function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - length = elems.length, - bulk = key == null; - - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !jQuery.isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < length; i++ ) { - fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); - } - } - } - - return chainable ? - elems : - - // Gets - bulk ? - fn.call( elems ) : - length ? fn( elems[0], key ) : emptyGet; - }, - - now: function() { - return ( new Date() ).getTime(); - } -}); - -jQuery.ready.promise = function( obj ) { - if ( !readyList ) { - - readyList = jQuery.Deferred(); - - // Catch cases where $(document).ready() is called after the browser event has already occurred. - // we once tried to use readyState "interactive" here, but it caused issues like the one - // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - setTimeout( jQuery.ready ); - - // Standards-based browsers support DOMContentLoaded - } else if ( document.addEventListener ) { - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed, false ); - - // If IE event model is used - } else { - // Ensure firing before onload, maybe late but safe also for iframes - document.attachEvent( "onreadystatechange", completed ); - - // A fallback to window.onload, that will always work - window.attachEvent( "onload", completed ); - - // If IE and not a frame - // continually check to see if the document is ready - var top = false; - - try { - top = window.frameElement == null && document.documentElement; - } catch(e) {} - - if ( top && top.doScroll ) { - (function doScrollCheck() { - if ( !jQuery.isReady ) { - - try { - // Use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - top.doScroll("left"); - } catch(e) { - return setTimeout( doScrollCheck, 50 ); - } - - // detach all dom ready events - detach(); - - // and execute any waiting functions - jQuery.ready(); - } - })(); - } - } - } - return readyList.promise( obj ); -}; - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -function isArraylike( obj ) { - var length = obj.length, - type = jQuery.type( obj ); - - if ( jQuery.isWindow( obj ) ) { - return false; - } - - if ( obj.nodeType === 1 && length ) { - return true; - } - - return type === "array" || type !== "function" && - ( length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj ); -} - -// All jQuery objects should point back to these -rootjQuery = jQuery(document); -// String to Object options format cache -var optionsCache = {}; - -// Convert String-formatted options into Object-formatted ones and store in cache -function createOptions( options ) { - var object = optionsCache[ options ] = {}; - jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) { - object[ flag ] = true; - }); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - ( optionsCache[ options ] || createOptions( options ) ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - // Last fire value (for non-forgettable lists) - memory, - // Flag to know if list was already fired - fired, - // End of the loop when firing - firingLength, - // Index of currently firing callback (modified by remove if needed) - firingIndex, - // First callback to fire (used internally by add and fireWith) - firingStart, - // Actual callback list - list = [], - // Stack of fire calls for repeatable lists - stack = !options.once && [], - // Fire callbacks - fire = function( data ) { - memory = options.memory && data; - fired = true; - firingIndex = firingStart || 0; - firingStart = 0; - firingLength = list.length; - firing = true; - for ( ; list && firingIndex < firingLength; firingIndex++ ) { - if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { - memory = false; // To prevent further calls using add - break; - } - } - firing = false; - if ( list ) { - if ( stack ) { - if ( stack.length ) { - fire( stack.shift() ); - } - } else if ( memory ) { - list = []; - } else { - self.disable(); - } - } - }, - // Actual Callbacks object - self = { - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - // First, we save the current length - var start = list.length; - (function add( args ) { - jQuery.each( args, function( _, arg ) { - var type = jQuery.type( arg ); - if ( type === "function" ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && type !== "string" ) { - // Inspect recursively - add( arg ); - } - }); - })( arguments ); - // Do we need to add the callbacks to the - // current firing batch? - if ( firing ) { - firingLength = list.length; - // With memory, if we're not firing then - // we should call right away - } else if ( memory ) { - firingStart = start; - fire( memory ); - } - } - return this; - }, - // Remove a callback from the list - remove: function() { - if ( list ) { - jQuery.each( arguments, function( _, arg ) { - var index; - while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - // Handle firing indexes - if ( firing ) { - if ( index <= firingLength ) { - firingLength--; - } - if ( index <= firingIndex ) { - firingIndex--; - } - } - } - }); - } - return this; - }, - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); - }, - // Remove all callbacks from the list - empty: function() { - list = []; - return this; - }, - // Have the list do nothing anymore - disable: function() { - list = stack = memory = undefined; - return this; - }, - // Is it disabled? - disabled: function() { - return !list; - }, - // Lock the list in its current state - lock: function() { - stack = undefined; - if ( !memory ) { - self.disable(); - } - return this; - }, - // Is it locked? - locked: function() { - return !stack; - }, - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - if ( list && ( !fired || stack ) ) { - if ( firing ) { - stack.push( args ); - } else { - fire( args ); - } - } - return this; - }, - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; -jQuery.extend({ - - Deferred: function( func ) { - var tuples = [ - // action, add listener, listener list, final state - [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], - [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], - [ "notify", "progress", jQuery.Callbacks("memory") ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - then: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - return jQuery.Deferred(function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { - var action = tuple[ 0 ], - fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; - // deferred[ done | fail | progress ] for forwarding actions to newDefer - deferred[ tuple[1] ](function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise() - .done( newDefer.resolve ) - .fail( newDefer.reject ) - .progress( newDefer.notify ); - } else { - newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); - } - }); - }); - fns = null; - }).promise(); - }, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Keep pipe for back-compat - promise.pipe = promise.then; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 3 ]; - - // promise[ done | fail | progress ] = list.add - promise[ tuple[1] ] = list.add; - - // Handle state - if ( stateString ) { - list.add(function() { - // state = [ resolved | rejected ] - state = stateString; - - // [ reject_list | resolve_list ].disable; progress_list.lock - }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); - } - - // deferred[ resolve | reject | notify ] - deferred[ tuple[0] ] = function() { - deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); - return this; - }; - deferred[ tuple[0] + "With" ] = list.fireWith; - }); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( subordinate /* , ..., subordinateN */ ) { - var i = 0, - resolveValues = core_slice.call( arguments ), - length = resolveValues.length, - - // the count of uncompleted subordinates - remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - - // the master Deferred. If resolveValues consist of only a single Deferred, just use that. - deferred = remaining === 1 ? subordinate : jQuery.Deferred(), - - // Update function for both resolve and progress values - updateFunc = function( i, contexts, values ) { - return function( value ) { - contexts[ i ] = this; - values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; - if( values === progressValues ) { - deferred.notifyWith( contexts, values ); - } else if ( !( --remaining ) ) { - deferred.resolveWith( contexts, values ); - } - }; - }, - - progressValues, progressContexts, resolveContexts; - - // add listeners to Deferred subordinates; treat others as resolved - if ( length > 1 ) { - progressValues = new Array( length ); - progressContexts = new Array( length ); - resolveContexts = new Array( length ); - for ( ; i < length; i++ ) { - if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { - resolveValues[ i ].promise() - .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ) - .progress( updateFunc( i, progressContexts, progressValues ) ); - } else { - --remaining; - } - } - } - - // if we're not waiting on anything, resolve the master - if ( !remaining ) { - deferred.resolveWith( resolveContexts, resolveValues ); - } - - return deferred.promise(); - } -}); -jQuery.support = (function() { - - var support, all, a, - input, select, fragment, - opt, eventName, isSupported, i, - div = document.createElement("div"); - - // Setup - div.setAttribute( "className", "t" ); - div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; - - // Support tests won't run in some limited or non-browser environments - all = div.getElementsByTagName("*"); - a = div.getElementsByTagName("a")[ 0 ]; - if ( !all || !a || !all.length ) { - return {}; - } - - // First batch of tests - select = document.createElement("select"); - opt = select.appendChild( document.createElement("option") ); - input = div.getElementsByTagName("input")[ 0 ]; - - a.style.cssText = "top:1px;float:left;opacity:.5"; - support = { - // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) - getSetAttribute: div.className !== "t", - - // IE strips leading whitespace when .innerHTML is used - leadingWhitespace: div.firstChild.nodeType === 3, - - // Make sure that tbody elements aren't automatically inserted - // IE will insert them into empty tables - tbody: !div.getElementsByTagName("tbody").length, - - // Make sure that link elements get serialized correctly by innerHTML - // This requires a wrapper element in IE - htmlSerialize: !!div.getElementsByTagName("link").length, - - // Get the style information from getAttribute - // (IE uses .cssText instead) - style: /top/.test( a.getAttribute("style") ), - - // Make sure that URLs aren't manipulated - // (IE normalizes it by default) - hrefNormalized: a.getAttribute("href") === "/a", - - // Make sure that element opacity exists - // (IE uses filter instead) - // Use a regex to work around a WebKit issue. See #5145 - opacity: /^0.5/.test( a.style.opacity ), - - // Verify style float existence - // (IE uses styleFloat instead of cssFloat) - cssFloat: !!a.style.cssFloat, - - // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) - checkOn: !!input.value, - - // Make sure that a selected-by-default option has a working selected property. - // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) - optSelected: opt.selected, - - // Tests for enctype support on a form (#6743) - enctype: !!document.createElement("form").enctype, - - // Makes sure cloning an html5 element does not cause problems - // Where outerHTML is undefined, this still works - html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav></:nav>", - - // jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode - boxModel: document.compatMode === "CSS1Compat", - - // Will be defined later - deleteExpando: true, - noCloneEvent: true, - inlineBlockNeedsLayout: false, - shrinkWrapBlocks: false, - reliableMarginRight: true, - boxSizingReliable: true, - pixelPosition: false - }; - - // Make sure checked status is properly cloned - input.checked = true; - support.noCloneChecked = input.cloneNode( true ).checked; - - // Make sure that the options inside disabled selects aren't marked as disabled - // (WebKit marks them as disabled) - select.disabled = true; - support.optDisabled = !opt.disabled; - - // Support: IE<9 - try { - delete div.test; - } catch( e ) { - support.deleteExpando = false; - } - - // Check if we can trust getAttribute("value") - input = document.createElement("input"); - input.setAttribute( "value", "" ); - support.input = input.getAttribute( "value" ) === ""; - - // Check if an input maintains its value after becoming a radio - input.value = "t"; - input.setAttribute( "type", "radio" ); - support.radioValue = input.value === "t"; - - // #11217 - WebKit loses check when the name is after the checked attribute - input.setAttribute( "checked", "t" ); - input.setAttribute( "name", "t" ); - - fragment = document.createDocumentFragment(); - fragment.appendChild( input ); - - // Check if a disconnected checkbox will retain its checked - // value of true after appended to the DOM (IE6/7) - support.appendChecked = input.checked; - - // WebKit doesn't clone checked state correctly in fragments - support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<9 - // Opera does not clone events (and typeof div.attachEvent === undefined). - // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() - if ( div.attachEvent ) { - div.attachEvent( "onclick", function() { - support.noCloneEvent = false; - }); - - div.cloneNode( true ).click(); - } - - // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event) - // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP), test/csp.php - for ( i in { submit: true, change: true, focusin: true }) { - div.setAttribute( eventName = "on" + i, "t" ); - - support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false; - } - - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - // Run tests that need a body at doc ready - jQuery(function() { - var container, marginDiv, tds, - divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", - body = document.getElementsByTagName("body")[0]; - - if ( !body ) { - // Return for frameset docs that don't have a body - return; - } - - container = document.createElement("div"); - container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; - - body.appendChild( container ).appendChild( div ); - - // Support: IE8 - // Check if table cells still have offsetWidth/Height when they are set - // to display:none and there are still other visible table cells in a - // table row; if so, offsetWidth/Height are not reliable for use when - // determining if an element has been hidden directly using - // display:none (it is still safe to use offsets if a parent element is - // hidden; don safety goggles and see bug #4512 for more information). - div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>"; - tds = div.getElementsByTagName("td"); - tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; - isSupported = ( tds[ 0 ].offsetHeight === 0 ); - - tds[ 0 ].style.display = ""; - tds[ 1 ].style.display = "none"; - - // Support: IE8 - // Check if empty table cells still have offsetWidth/Height - support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); - - // Check box-sizing and margin behavior - div.innerHTML = ""; - div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; - support.boxSizing = ( div.offsetWidth === 4 ); - support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 ); - - // Use window.getComputedStyle because jsdom on node.js will break without it. - if ( window.getComputedStyle ) { - support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; - support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; - - // Check if div with explicit width and no margin-right incorrectly - // gets computed margin-right based on width of container. (#3333) - // Fails in WebKit before Feb 2011 nightlies - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - marginDiv = div.appendChild( document.createElement("div") ); - marginDiv.style.cssText = div.style.cssText = divReset; - marginDiv.style.marginRight = marginDiv.style.width = "0"; - div.style.width = "1px"; - - support.reliableMarginRight = - !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); - } - - if ( typeof div.style.zoom !== core_strundefined ) { - // Support: IE<8 - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - div.innerHTML = ""; - div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; - support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); - - // Support: IE6 - // Check if elements with layout shrink-wrap their children - div.style.display = "block"; - div.innerHTML = "<div></div>"; - div.firstChild.style.width = "5px"; - support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); - - if ( support.inlineBlockNeedsLayout ) { - // Prevent IE 6 from affecting layout for positioned elements #11048 - // Prevent IE from shrinking the body in IE 7 mode #12869 - // Support: IE<8 - body.style.zoom = 1; - } - } - - body.removeChild( container ); - - // Null elements to avoid leaks in IE - container = div = tds = marginDiv = null; - }); - - // Null elements to avoid leaks in IE - all = select = fragment = opt = a = input = null; - - return support; -})(); - -var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, - rmultiDash = /([A-Z])/g; - -function internalData( elem, name, data, pvt /* Internal Use Only */ ){ - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var thisCache, ret, - internalKey = jQuery.expando, - getByName = typeof name === "string", - - // We have to handle DOM nodes and JS objects differently because IE6-7 - // can't GC object references properly across the DOM-JS boundary - isNode = elem.nodeType, - - // Only DOM nodes need the global jQuery cache; JS object data is - // attached directly to the object so GC can occur automatically - cache = isNode ? jQuery.cache : elem, - - // Only defining an ID for JS objects if its cache already exists allows - // the code to shortcut on the same path as a DOM node with no cache - id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; - - // Avoid doing any more work than we need to when trying to get data on an - // object that has no data at all - if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) { - return; - } - - if ( !id ) { - // Only DOM nodes need a new unique ID for each element since their data - // ends up in the global cache - if ( isNode ) { - elem[ internalKey ] = id = core_deletedIds.pop() || jQuery.guid++; - } else { - id = internalKey; - } - } - - if ( !cache[ id ] ) { - cache[ id ] = {}; - - // Avoids exposing jQuery metadata on plain JS objects when the object - // is serialized using JSON.stringify - if ( !isNode ) { - cache[ id ].toJSON = jQuery.noop; - } - } - - // An object can be passed to jQuery.data instead of a key/value pair; this gets - // shallow copied over onto the existing cache - if ( typeof name === "object" || typeof name === "function" ) { - if ( pvt ) { - cache[ id ] = jQuery.extend( cache[ id ], name ); - } else { - cache[ id ].data = jQuery.extend( cache[ id ].data, name ); - } - } - - thisCache = cache[ id ]; - - // jQuery data() is stored in a separate object inside the object's internal data - // cache in order to avoid key collisions between internal data and user-defined - // data. - if ( !pvt ) { - if ( !thisCache.data ) { - thisCache.data = {}; - } - - thisCache = thisCache.data; - } - - if ( data !== undefined ) { - thisCache[ jQuery.camelCase( name ) ] = data; - } - - // Check for both converted-to-camel and non-converted data property names - // If a data property was specified - if ( getByName ) { - - // First Try to find as-is property data - ret = thisCache[ name ]; - - // Test for null|undefined property data - if ( ret == null ) { - - // Try to find the camelCased property - ret = thisCache[ jQuery.camelCase( name ) ]; - } - } else { - ret = thisCache; - } - - return ret; -} - -function internalRemoveData( elem, name, pvt ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var i, l, thisCache, - isNode = elem.nodeType, - - // See jQuery.data for more information - cache = isNode ? jQuery.cache : elem, - id = isNode ? elem[ jQuery.expando ] : jQuery.expando; - - // If there is already no cache entry for this object, there is no - // purpose in continuing - if ( !cache[ id ] ) { - return; - } - - if ( name ) { - - thisCache = pvt ? cache[ id ] : cache[ id ].data; - - if ( thisCache ) { - - // Support array or space separated string names for data keys - if ( !jQuery.isArray( name ) ) { - - // try the string as a key before any manipulation - if ( name in thisCache ) { - name = [ name ]; - } else { - - // split the camel cased version by spaces unless a key with the spaces exists - name = jQuery.camelCase( name ); - if ( name in thisCache ) { - name = [ name ]; - } else { - name = name.split(" "); - } - } - } else { - // If "name" is an array of keys... - // When data is initially created, via ("key", "val") signature, - // keys will be converted to camelCase. - // Since there is no way to tell _how_ a key was added, remove - // both plain key and camelCase key. #12786 - // This will only penalize the array argument path. - name = name.concat( jQuery.map( name, jQuery.camelCase ) ); - } - - for ( i = 0, l = name.length; i < l; i++ ) { - delete thisCache[ name[i] ]; - } - - // If there is no data left in the cache, we want to continue - // and let the cache object itself get destroyed - if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { - return; - } - } - } - - // See jQuery.data for more information - if ( !pvt ) { - delete cache[ id ].data; - - // Don't destroy the parent cache unless the internal data object - // had been the only thing left in it - if ( !isEmptyDataObject( cache[ id ] ) ) { - return; - } - } - - // Destroy the cache - if ( isNode ) { - jQuery.cleanData( [ elem ], true ); - - // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) - } else if ( jQuery.support.deleteExpando || cache != cache.window ) { - delete cache[ id ]; - - // When all else fails, null - } else { - cache[ id ] = null; - } -} - -jQuery.extend({ - cache: {}, - - // Unique for each copy of jQuery on the page - // Non-digits removed to match rinlinejQuery - expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ), - - // The following elements throw uncatchable exceptions if you - // attempt to add expando properties to them. - noData: { - "embed": true, - // Ban all objects except for Flash (which handle expandos) - "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", - "applet": true - }, - - hasData: function( elem ) { - elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - return !!elem && !isEmptyDataObject( elem ); - }, - - data: function( elem, name, data ) { - return internalData( elem, name, data ); - }, - - removeData: function( elem, name ) { - return internalRemoveData( elem, name ); - }, - - // For internal use only. - _data: function( elem, name, data ) { - return internalData( elem, name, data, true ); - }, - - _removeData: function( elem, name ) { - return internalRemoveData( elem, name, true ); - }, - - // A method for determining if a DOM node can handle the data expando - acceptData: function( elem ) { - // Do not set data on non-element because it will not be cleared (#8335). - if ( elem.nodeType && elem.nodeType !== 1 && elem.nodeType !== 9 ) { - return false; - } - - var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; - - // nodes accept data unless otherwise specified; rejection can be conditional - return !noData || noData !== true && elem.getAttribute("classid") === noData; - } -}); - -jQuery.fn.extend({ - data: function( key, value ) { - var attrs, name, - elem = this[0], - i = 0, - data = null; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = jQuery.data( elem ); - - if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { - attrs = elem.attributes; - for ( ; i < attrs.length; i++ ) { - name = attrs[i].name; - - if ( !name.indexOf( "data-" ) ) { - name = jQuery.camelCase( name.slice(5) ); - - dataAttr( elem, name, data[ name ] ); - } - } - jQuery._data( elem, "parsedAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each(function() { - jQuery.data( this, key ); - }); - } - - return jQuery.access( this, function( value ) { - - if ( value === undefined ) { - // Try to fetch any internally stored data first - return elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null; - } - - this.each(function() { - jQuery.data( this, key, value ); - }); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each(function() { - jQuery.removeData( this, key ); - }); - } -}); - -function dataAttr( elem, key, data ) { - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - - var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); - - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} - - // Make sure we set the data so it isn't changed later - jQuery.data( elem, key, data ); - - } else { - data = undefined; - } - } - - return data; -} - -// checks a cache object for emptiness -function isEmptyDataObject( obj ) { - var name; - for ( name in obj ) { - - // if the public data object is empty, the private is still empty - if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { - continue; - } - if ( name !== "toJSON" ) { - return false; - } - } - - return true; -} -jQuery.extend({ - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = jQuery._data( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || jQuery.isArray(data) ) { - queue = jQuery._data( elem, type, jQuery.makeArray(data) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - hooks.cur = fn; - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // not intended for public consumption - generates a queueHooks object, or returns the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return jQuery._data( elem, key ) || jQuery._data( elem, key, { - empty: jQuery.Callbacks("once memory").add(function() { - jQuery._removeData( elem, type + "queue" ); - jQuery._removeData( elem, key ); - }) - }); - } -}); - -jQuery.fn.extend({ - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[0], type ); - } - - return data === undefined ? - this : - this.each(function() { - var queue = jQuery.queue( this, type, data ); - - // ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }, - dequeue: function( type ) { - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }, - // Based off of the plugin by Clint Helfers, with permission. - // http://blindsignals.com/index.php/2009/07/jquery-delay/ - delay: function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = setTimeout( next, time ); - hooks.stop = function() { - clearTimeout( timeout ); - }; - }); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while( i-- ) { - tmp = jQuery._data( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -}); -var nodeHook, boolHook, - rclass = /[\t\r\n]/g, - rreturn = /\r/g, - rfocusable = /^(?:input|select|textarea|button|object)$/i, - rclickable = /^(?:a|area)$/i, - rboolean = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i, - ruseDefault = /^(?:checked|selected)$/i, - getSetAttribute = jQuery.support.getSetAttribute, - getSetInput = jQuery.support.input; - -jQuery.fn.extend({ - attr: function( name, value ) { - return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each(function() { - jQuery.removeAttr( this, name ); - }); - }, - - prop: function( name, value ) { - return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - name = jQuery.propFix[ name ] || name; - return this.each(function() { - // try/catch handles cases where IE balks (such as removing a property on window) - try { - this[ name ] = undefined; - delete this[ name ]; - } catch( e ) {} - }); - }, - - addClass: function( value ) { - var classes, elem, cur, clazz, j, - i = 0, - len = this.length, - proceed = typeof value === "string" && value; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).addClass( value.call( this, j, this.className ) ); - }); - } - - if ( proceed ) { - // The disjunction here is for better compressibility (see removeClass) - classes = ( value || "" ).match( core_rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - " " - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - elem.className = jQuery.trim( cur ); - - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, clazz, j, - i = 0, - len = this.length, - proceed = arguments.length === 0 || typeof value === "string" && value; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( j ) { - jQuery( this ).removeClass( value.call( this, j, this.className ) ); - }); - } - if ( proceed ) { - classes = ( value || "" ).match( core_rnotwhite ) || []; - - for ( ; i < len; i++ ) { - elem = this[ i ]; - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && ( elem.className ? - ( " " + elem.className + " " ).replace( rclass, " " ) : - "" - ); - - if ( cur ) { - j = 0; - while ( (clazz = classes[j++]) ) { - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - elem.className = value ? jQuery.trim( cur ) : ""; - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value, - isBool = typeof stateVal === "boolean"; - - if ( jQuery.isFunction( value ) ) { - return this.each(function( i ) { - jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); - }); - } - - return this.each(function() { - if ( type === "string" ) { - // toggle individual class names - var className, - i = 0, - self = jQuery( this ), - state = stateVal, - classNames = value.match( core_rnotwhite ) || []; - - while ( (className = classNames[ i++ ]) ) { - // check each className given, space separated list - state = isBool ? state : !self.hasClass( className ); - self[ state ? "addClass" : "removeClass" ]( className ); - } - - // Toggle whole class name - } else if ( type === core_strundefined || type === "boolean" ) { - if ( this.className ) { - // store className if set - jQuery._data( this, "__className__", this.className ); - } - - // If the element has a class name or if we're passed "false", - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; - } - }); - }, - - hasClass: function( selector ) { - var className = " " + selector + " ", - i = 0, - l = this.length; - for ( ; i < l; i++ ) { - if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { - return true; - } - } - - return false; - }, - - val: function( value ) { - var ret, hooks, isFunction, - elem = this[0]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { - return ret; - } - - ret = elem.value; - - return typeof ret === "string" ? - // handle most common string cases - ret.replace(rreturn, "") : - // handle cases where value is null/undef or number - ret == null ? "" : ret; - } - - return; - } - - isFunction = jQuery.isFunction( value ); - - return this.each(function( i ) { - var val, - self = jQuery(this); - - if ( this.nodeType !== 1 ) { - return; - } - - if ( isFunction ) { - val = value.call( this, i, self.val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - } else if ( typeof val === "number" ) { - val += ""; - } else if ( jQuery.isArray( val ) ) { - val = jQuery.map(val, function ( value ) { - return value == null ? "" : value + ""; - }); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - }); - } -}); - -jQuery.extend({ - valHooks: { - option: { - get: function( elem ) { - // attributes.value is undefined in Blackberry 4.7 but - // uses .value. See #6932 - var val = elem.attributes.value; - return !val || val.specified ? elem.value : elem.text; - } - }, - select: { - get: function( elem ) { - var value, option, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one" || index < 0, - values = one ? null : [], - max = one ? index + 1 : options.length, - i = index < 0 ? - max : - one ? index : 0; - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // oldIE doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - // Don't return options that are disabled or in a disabled optgroup - ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && - ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var values = jQuery.makeArray( value ); - - jQuery(elem).find("option").each(function() { - this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; - }); - - if ( !values.length ) { - elem.selectedIndex = -1; - } - return values; - } - } - }, - - attr: function( elem, name, value ) { - var hooks, notxml, ret, - nType = elem.nodeType; - - // don't get/set attributes on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === core_strundefined ) { - return jQuery.prop( elem, name, value ); - } - - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - // All attributes are lowercase - // Grab necessary hook if one is defined - if ( notxml ) { - name = name.toLowerCase(); - hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook ); - } - - if ( value !== undefined ) { - - if ( value === null ) { - jQuery.removeAttr( elem, name ); - - } else if ( hooks && notxml && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - elem.setAttribute( name, value + "" ); - return value; - } - - } else if ( hooks && notxml && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { - return ret; - - } else { - - // In IE9+, Flash objects don't have .getAttribute (#12945) - // Support: IE9+ - if ( typeof elem.getAttribute !== core_strundefined ) { - ret = elem.getAttribute( name ); - } - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? - undefined : - ret; - } - }, - - removeAttr: function( elem, value ) { - var name, propName, - i = 0, - attrNames = value && value.match( core_rnotwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( (name = attrNames[i++]) ) { - propName = jQuery.propFix[ name ] || name; - - // Boolean attributes get special treatment (#10870) - if ( rboolean.test( name ) ) { - // Set corresponding property to false for boolean attributes - // Also clear defaultChecked/defaultSelected (if appropriate) for IE<8 - if ( !getSetAttribute && ruseDefault.test( name ) ) { - elem[ jQuery.camelCase( "default-" + name ) ] = - elem[ propName ] = false; - } else { - elem[ propName ] = false; - } - - // See #9699 for explanation of this approach (setting first, then removal) - } else { - jQuery.attr( elem, name, "" ); - } - - elem.removeAttribute( getSetAttribute ? name : propName ); - } - } - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { - // Setting the type on a radio button after the value resets the value in IE6-9 - // Reset value to default in case type is set after value during creation - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - }, - - propFix: { - tabindex: "tabIndex", - readonly: "readOnly", - "for": "htmlFor", - "class": "className", - maxlength: "maxLength", - cellspacing: "cellSpacing", - cellpadding: "cellPadding", - rowspan: "rowSpan", - colspan: "colSpan", - usemap: "useMap", - frameborder: "frameBorder", - contenteditable: "contentEditable" - }, - - prop: function( elem, name, value ) { - var ret, hooks, notxml, - nType = elem.nodeType; - - // don't get/set properties on text, comment and attribute nodes - if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); - - if ( notxml ) { - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { - return ret; - - } else { - return ( elem[ name ] = value ); - } - - } else { - if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { - return ret; - - } else { - return elem[ name ]; - } - } - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set - // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - var attributeNode = elem.getAttributeNode("tabindex"); - - return attributeNode && attributeNode.specified ? - parseInt( attributeNode.value, 10 ) : - rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? - 0 : - undefined; - } - } - } -}); - -// Hook for boolean attributes -boolHook = { - get: function( elem, name ) { - var - // Use .prop to determine if this attribute is understood as boolean - prop = jQuery.prop( elem, name ), - - // Fetch it accordingly - attr = typeof prop === "boolean" && elem.getAttribute( name ), - detail = typeof prop === "boolean" ? - - getSetInput && getSetAttribute ? - attr != null : - // oldIE fabricates an empty string for missing boolean attributes - // and conflates checked/selected into attroperties - ruseDefault.test( name ) ? - elem[ jQuery.camelCase( "default-" + name ) ] : - !!attr : - - // fetch an attribute node for properties not recognized as boolean - elem.getAttributeNode( name ); - - return detail && detail.value !== false ? - name.toLowerCase() : - undefined; - }, - set: function( elem, value, name ) { - if ( value === false ) { - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { - // IE<8 needs the *property* name - elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); - - // Use defaultChecked and defaultSelected for oldIE - } else { - elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; - } - - return name; - } -}; - -// fix oldIE value attroperty -if ( !getSetInput || !getSetAttribute ) { - jQuery.attrHooks.value = { - get: function( elem, name ) { - var ret = elem.getAttributeNode( name ); - return jQuery.nodeName( elem, "input" ) ? - - // Ignore the value *property* by using defaultValue - elem.defaultValue : - - ret && ret.specified ? ret.value : undefined; - }, - set: function( elem, value, name ) { - if ( jQuery.nodeName( elem, "input" ) ) { - // Does not return so that setAttribute is also used - elem.defaultValue = value; - } else { - // Use nodeHook if defined (#1954); otherwise setAttribute is fine - return nodeHook && nodeHook.set( elem, value, name ); - } - } - }; -} - -// IE6/7 do not support getting/setting some attributes with get/setAttribute -if ( !getSetAttribute ) { - - // Use this for any attribute in IE6/7 - // This fixes almost every IE6/7 issue - nodeHook = jQuery.valHooks.button = { - get: function( elem, name ) { - var ret = elem.getAttributeNode( name ); - return ret && ( name === "id" || name === "name" || name === "coords" ? ret.value !== "" : ret.specified ) ? - ret.value : - undefined; - }, - set: function( elem, value, name ) { - // Set the existing or create a new attribute node - var ret = elem.getAttributeNode( name ); - if ( !ret ) { - elem.setAttributeNode( - (ret = elem.ownerDocument.createAttribute( name )) - ); - } - - ret.value = value += ""; - - // Break association with cloned elements by also using setAttribute (#9646) - return name === "value" || value === elem.getAttribute( name ) ? - value : - undefined; - } - }; - - // Set contenteditable to false on removals(#10429) - // Setting to empty string throws an error as an invalid value - jQuery.attrHooks.contenteditable = { - get: nodeHook.get, - set: function( elem, value, name ) { - nodeHook.set( elem, value === "" ? false : value, name ); - } - }; - - // Set width and height to auto instead of 0 on empty string( Bug #8150 ) - // This is for removals - jQuery.each([ "width", "height" ], function( i, name ) { - jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { - set: function( elem, value ) { - if ( value === "" ) { - elem.setAttribute( name, "auto" ); - return value; - } - } - }); - }); -} - - -// Some attributes require a special call on IE -// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !jQuery.support.hrefNormalized ) { - jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { - jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { - get: function( elem ) { - var ret = elem.getAttribute( name, 2 ); - return ret == null ? undefined : ret; - } - }); - }); - - // href/src property should get the full normalized URL (#10299/#12915) - jQuery.each([ "href", "src" ], function( i, name ) { - jQuery.propHooks[ name ] = { - get: function( elem ) { - return elem.getAttribute( name, 4 ); - } - }; - }); -} - -if ( !jQuery.support.style ) { - jQuery.attrHooks.style = { - get: function( elem ) { - // Return undefined in the case of empty string - // Note: IE uppercases css property names, but if we were to .toLowerCase() - // .cssText, that would destroy case senstitivity in URL's, like in "background" - return elem.style.cssText || undefined; - }, - set: function( elem, value ) { - return ( elem.style.cssText = value + "" ); - } - }; -} - -// Safari mis-reports the default selected property of an option -// Accessing the parent's selectedIndex property fixes it -if ( !jQuery.support.optSelected ) { - jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { - get: function( elem ) { - var parent = elem.parentNode; - - if ( parent ) { - parent.selectedIndex; - - // Make sure that it also works with optgroups, see #5701 - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - return null; - } - }); -} - -// IE6/7 call enctype encoding -if ( !jQuery.support.enctype ) { - jQuery.propFix.enctype = "encoding"; -} - -// Radios and checkboxes getter/setter -if ( !jQuery.support.checkOn ) { - jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - get: function( elem ) { - // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified - return elem.getAttribute("value") === null ? "on" : elem.value; - } - }; - }); -} -jQuery.each([ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { - set: function( elem, value ) { - if ( jQuery.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); - } - } - }); -}); -var rformElems = /^(?:input|select|textarea)$/i, - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|contextmenu)|click/, - rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - var tmp, events, t, handleObjIn, - special, eventHandle, handleObj, - handlers, type, namespaces, origType, - elemData = jQuery._data( elem ); - - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !(events = elemData.events) ) { - events = elemData.events = {}; - } - if ( !(eventHandle = elemData.handle) ) { - eventHandle = elemData.handle = function( e ) { - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ? - jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : - undefined; - }; - // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events - eventHandle.elem = elem; - } - - // Handle multiple events separated by a space - // jQuery(...).bind("mouseover mouseout", fn); - types = ( types || "" ).match( core_rnotwhite ) || [""]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend({ - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join(".") - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !(handlers = events[ type ]) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener/attachEvent if the special events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - // Bind the global event handler to the element - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); - - } else if ( elem.attachEvent ) { - elem.attachEvent( "on" + type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - // Nullify elem to prevent memory leaks in IE - elem = null; - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - var j, handleObj, tmp, - origCount, t, events, - special, handlers, type, - namespaces, origType, - elemData = jQuery.hasData( elem ) && jQuery._data( elem ); - - if ( !elemData || !(events = elemData.events) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( core_rnotwhite ) || [""]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - delete elemData.handle; - - // removeData also checks for emptiness and clears the expando if empty - // so use it instead of delete - jQuery._removeData( elem, "events" ); - } - }, - - trigger: function( event, data, elem, onlyHandlers ) { - var handle, ontype, cur, - bubbleType, special, tmp, i, - eventPath = [ elem || document ], - type = core_hasOwn.call( event, "type" ) ? event.type : event, - namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; - - cur = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf(".") >= 0 ) { - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split("."); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf(":") < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - event.isTrigger = true; - event.namespace = namespaces.join("."); - event.namespace_re = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === (elem.ownerDocument || document) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { - - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { - event.preventDefault(); - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && - !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name name as the event. - // Can't use an .isFunction() check here because IE6/7 fails that test. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - try { - elem[ type ](); - } catch ( e ) { - // IE<9 dies on focus/blur to hidden element (#1486,#12518) - // only reproducible on winXP IE8 native, not IE9 in IE8 mode - } - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - dispatch: function( event ) { - - // Make a writable jQuery.Event from the native event object - event = jQuery.event.fix( event ); - - var i, ret, handleObj, matched, j, - handlerQueue = [], - args = core_slice.call( arguments ), - handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[0] = event; - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or - // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). - if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - var obj = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ); - if(obj.apply){ - ret = obj.apply( matched.elem, args ); - } - - if ( ret !== undefined ) { - if ( (event.result = ret) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var sel, handleObj, matches, i, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Find delegate handlers - // Black-hole SVG <use> instance trees (#13180) - // Avoid non-left-click bubbling in Firefox (#3861) - if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { - - for ( ; cur != this; cur = cur.parentNode || this ) { - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { - matches = []; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) >= 0 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matches[ sel ] ) { - matches.push( handleObj ); - } - } - if ( matches.length ) { - handlerQueue.push({ elem: cur, handlers: matches }); - } - } - } - } - - // Add the remaining (directly-bound) handlers - if ( delegateCount < handlers.length ) { - handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); - } - - return handlerQueue; - }, - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // Create a writable copy of the event object and normalize some properties - var i, prop, copy, - type = event.type, - originalEvent = event, - fixHook = this.fixHooks[ type ]; - - if ( !fixHook ) { - this.fixHooks[ type ] = fixHook = - rmouseEvent.test( type ) ? this.mouseHooks : - rkeyEvent.test( type ) ? this.keyHooks : - {}; - } - copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; - - event = new jQuery.Event( originalEvent ); - - i = copy.length; - while ( i-- ) { - prop = copy[ i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Support: IE<9 - // Fix target property (#1925) - if ( !event.target ) { - event.target = originalEvent.srcElement || document; - } - - // Support: Chrome 23+, Safari? - // Target should not be a text node (#504, #13143) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - // Support: IE<9 - // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) - event.metaKey = !!event.metaKey; - - return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; - }, - - // Includes some event props shared by KeyEvent and MouseEvent - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - - fixHooks: {}, - - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function( event, original ) { - - // Add which for key events - if ( event.which == null ) { - event.which = original.charCode != null ? original.charCode : original.keyCode; - } - - return event; - } - }, - - mouseHooks: { - props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function( event, original ) { - var body, eventDoc, doc, - button = original.button, - fromElement = original.fromElement; - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && original.clientX != null ) { - eventDoc = event.target.ownerDocument || document; - doc = eventDoc.documentElement; - body = eventDoc.body; - - event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); - event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); - } - - // Add relatedTarget, if necessary - if ( !event.relatedTarget && fromElement ) { - event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && button !== undefined ) { - event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event; - } - }, - - special: { - load: { - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - click: { - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { - this.click(); - return false; - } - } - }, - focus: { - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== document.activeElement && this.focus ) { - try { - this.focus(); - return false; - } catch ( e ) { - // Support: IE<9 - // If we error on focus to hidden element (#1486, #12518), - // let .trigger() run the handlers - } - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === document.activeElement && this.blur ) { - this.blur(); - return false; - } - }, - delegateType: "focusout" - }, - - beforeunload: { - postDispatch: function( event ) { - - // Even when returnValue equals to undefined Firefox will still show alert - if ( event.result !== undefined ) { - event.originalEvent.returnValue = event.result; - } - } - } - }, - - simulate: function( type, elem, event, bubble ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - var e = jQuery.extend( - new jQuery.Event(), - event, - { type: type, - isSimulated: true, - originalEvent: {} - } - ); - if ( bubble ) { - jQuery.event.trigger( e, null, elem ); - } else { - jQuery.event.dispatch.call( elem, e ); - } - if ( e.isDefaultPrevented() ) { - event.preventDefault(); - } - } -}; - -jQuery.removeEvent = document.removeEventListener ? - function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } - } : - function( elem, type, handle ) { - var name = "on" + type; - - if ( elem.detachEvent ) { - - // #8545, #7054, preventing memory leaks for custom events in IE6-8 - // detachEvent needed property on element, by name of that event, to properly expose it to GC - if ( typeof elem[ name ] === core_strundefined ) { - elem[ name ] = null; - } - - elem.detachEvent( name, handle ); - } - }; - -jQuery.Event = function( src, props ) { - // Allow instantiation without the 'new' keyword - if ( !(this instanceof jQuery.Event) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || - src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - if ( !e ) { - return; - } - - // If preventDefault exists, run it on the original event - if ( e.preventDefault ) { - e.preventDefault(); - - // Support: IE - // Otherwise set the returnValue property of the original event to false - } else { - e.returnValue = false; - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - if ( !e ) { - return; - } - // If stopPropagation exists, run it on the original event - if ( e.stopPropagation ) { - e.stopPropagation(); - } - - // Support: IE - // Set the cancelBubble property of the original event to true - e.cancelBubble = true; - }, - stopImmediatePropagation: function() { - this.isImmediatePropagationStopped = returnTrue; - this.stopPropagation(); - } -}; - -// Create mouseenter/leave events using mouseover/out and event-time checks -jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mousenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || (related !== target && !jQuery.contains( target, related )) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -}); - -// IE submit delegation -if ( !jQuery.support.submitBubbles ) { - - jQuery.event.special.submit = { - setup: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Lazy-add a submit handler when a descendant form may potentially be submitted - jQuery.event.add( this, "click._submit keypress._submit", function( e ) { - // Node name check avoids a VML-related crash in IE (#9807) - var elem = e.target, - form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; - if ( form && !jQuery._data( form, "submitBubbles" ) ) { - jQuery.event.add( form, "submit._submit", function( event ) { - event._submit_bubble = true; - }); - jQuery._data( form, "submitBubbles", true ); - } - }); - // return undefined since we don't need an event listener - }, - - postDispatch: function( event ) { - // If form was submitted by the user, bubble the event up the tree - if ( event._submit_bubble ) { - delete event._submit_bubble; - if ( this.parentNode && !event.isTrigger ) { - jQuery.event.simulate( "submit", this.parentNode, event, true ); - } - } - }, - - teardown: function() { - // Only need this for delegated form submit events - if ( jQuery.nodeName( this, "form" ) ) { - return false; - } - - // Remove delegated handlers; cleanData eventually reaps submit handlers attached above - jQuery.event.remove( this, "._submit" ); - } - }; -} - -// IE change delegation and checkbox/radio fix -if ( !jQuery.support.changeBubbles ) { - - jQuery.event.special.change = { - - setup: function() { - - if ( rformElems.test( this.nodeName ) ) { - // IE doesn't fire change on a check/radio until blur; trigger it on click - // after a propertychange. Eat the blur-change in special.change.handle. - // This still fires onchange a second time for check/radio after blur. - if ( this.type === "checkbox" || this.type === "radio" ) { - jQuery.event.add( this, "propertychange._change", function( event ) { - if ( event.originalEvent.propertyName === "checked" ) { - this._just_changed = true; - } - }); - jQuery.event.add( this, "click._change", function( event ) { - if ( this._just_changed && !event.isTrigger ) { - this._just_changed = false; - } - // Allow triggered, simulated change events (#11500) - jQuery.event.simulate( "change", this, event, true ); - }); - } - return false; - } - // Delegated event; lazy-add a change handler on descendant inputs - jQuery.event.add( this, "beforeactivate._change", function( e ) { - var elem = e.target; - - if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { - jQuery.event.add( elem, "change._change", function( event ) { - if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { - jQuery.event.simulate( "change", this.parentNode, event, true ); - } - }); - jQuery._data( elem, "changeBubbles", true ); - } - }); - }, - - handle: function( event ) { - var elem = event.target; - - // Swallow native change events from checkbox/radio, we already triggered them above - if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { - return event.handleObj.handler.apply( this, arguments ); - } - }, - - teardown: function() { - jQuery.event.remove( this, "._change" ); - - return !rformElems.test( this.nodeName ); - } - }; -} - -// Create "bubbling" focus and blur events -if ( !jQuery.support.focusinBubbles ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler while someone wants focusin/focusout - var attaches = 0, - handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - if ( attaches++ === 0 ) { - document.addEventListener( orig, handler, true ); - } - }, - teardown: function() { - if ( --attaches === 0 ) { - document.removeEventListener( orig, handler, true ); - } - } - }; - }); -} - -jQuery.fn.extend({ - - on: function( types, selector, data, fn, /*INTERNAL*/ one ) { - var type, origFn; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - this.on( type, selector, data, types[ type ], one ); - } - return this; - } - - if ( data == null && fn == null ) { - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return this; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return this.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - }); - }, - one: function( types, selector, data, fn ) { - return this.on( types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each(function() { - jQuery.event.remove( this, types, fn, selector ); - }); - }, - - bind: function( types, data, fn ) { - return this.on( types, null, data, fn ); - }, - unbind: function( types, fn ) { - return this.off( types, null, fn ); - }, - - delegate: function( selector, types, data, fn ) { - return this.on( types, selector, data, fn ); - }, - undelegate: function( selector, types, fn ) { - // ( namespace ) or ( selector, types [, fn] ) - return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); - }, - - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - triggerHandler: function( type, data ) { - var elem = this[0]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -}); -/*! - * Sizzle CSS Selector Engine - * Copyright 2012 jQuery Foundation and other contributors - * Released under the MIT license - * http://sizzlejs.com/ - */ -(function( window, undefined ) { - -var i, - cachedruns, - Expr, - getText, - isXML, - compile, - hasDuplicate, - outermostContext, - - // Local document vars - setDocument, - document, - docElem, - documentIsXML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - sortOrder, - - // Instance-specific data - expando = "sizzle" + -(new Date()), - preferredDoc = window.document, - support = {}, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - - // General-purpose constants - strundefined = typeof undefined, - MAX_NEGATIVE = 1 << 31, - - // Array methods - arr = [], - pop = arr.pop, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf if we can't use a native one - indexOf = arr.indexOf || function( elem ) { - var i = 0, - len = this.length; - for ( ; i < len; i++ ) { - if ( this[i] === elem ) { - return i; - } - } - return -1; - }, - - - // Regular expressions - - // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - // http://www.w3.org/TR/css3-syntax/#characters - characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", - - // Loosely modeled on CSS identifier characters - // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors - // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = characterEncoding.replace( "w", "w#" ), - - // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors - operators = "([*^$|!~]?=)", - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + - "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", - - // Prefer arguments quoted, - // then not containing pseudos/brackets, - // then attribute selectors/non-parenthetical expressions, - // then anything else - // These preferences are here to reduce the number of selectors - // needing tokenize in the PSEUDO preFilter - pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ), - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rsibling = /[\x20\t\r\n\f]*[+~]/, - - rnative = /^[^{]+\{\s*\[native code/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rescape = /'|\\/g, - rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, - - // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, - funescape = function( _, escaped ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - return high !== high ? - escaped : - // BMP codepoint - high < 0 ? - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }; - -// Use a stripped-down slice if we can't use a native one -try { - slice.call( preferredDoc.documentElement.childNodes, 0 )[0].nodeType; -} catch ( e ) { - slice = function( i ) { - var elem, - results = []; - while ( (elem = this[i++]) ) { - results.push( elem ); - } - return results; - }; -} - -/** - * For feature detection - * @param {Function} fn The function to test for native support - */ -function isNative( fn ) { - return rnative.test( fn + "" ); -} - -/** - * Create key-value caches of limited size - * @returns {Function(string, Object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var cache, - keys = []; - - return (cache = function( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key += " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key ] = value); - }); -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created div and expects a boolean result - */ -function assert( fn ) { - var div = document.createElement("div"); - - try { - return fn( div ); - } catch (e) { - return false; - } finally { - // release memory in IE - div = null; - } -} - -function Sizzle( selector, context, results, seed ) { - var match, elem, m, nodeType, - // QSA vars - i, groups, old, nid, newContext, newSelector; - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - - context = context || document; - results = results || []; - - if ( !selector || typeof selector !== "string" ) { - return results; - } - - if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { - return []; - } - - if ( !documentIsXML && !seed ) { - - // Shortcuts - if ( (match = rquickExpr.exec( selector )) ) { - // Speed-up: Sizzle("#ID") - if ( (m = match[1]) ) { - if ( nodeType === 9 ) { - elem = context.getElementById( m ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE, Opera, and Webkit return items - // by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - } else { - // Context is not a document - if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && - contains( context, elem ) && elem.id === m ) { - results.push( elem ); - return results; - } - } - - // Speed-up: Sizzle("TAG") - } else if ( match[2] ) { - push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) ); - return results; - - // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getByClassName && context.getElementsByClassName ) { - push.apply( results, slice.call(context.getElementsByClassName( m ), 0) ); - return results; - } - } - - // QSA path - if ( support.qsa && !rbuggyQSA.test(selector) ) { - old = true; - nid = expando; - newContext = context; - newSelector = nodeType === 9 && selector; - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - groups = tokenize( selector ); - - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; - - i = groups.length; - while ( i-- ) { - groups[i] = nid + toSelector( groups[i] ); - } - newContext = rsibling.test( selector ) && context.parentNode || context; - newSelector = groups.join(","); - } - - if ( newSelector ) { - try { - push.apply( results, slice.call( newContext.querySelectorAll( - newSelector - ), 0 ) ); - return results; - } catch(qsaError) { - } finally { - if ( !old ) { - context.removeAttribute("id"); - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Detect xml - * @param {Element|Object} elem An element or a document - */ -isXML = Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = elem && (elem.ownerDocument || elem).documentElement; - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -/** - * Sets document-related variables once based on the current document - * @param {Element|Object} [doc] An element or document object to use to set the document - * @returns {Object} Returns the current document - */ -setDocument = Sizzle.setDocument = function( node ) { - var doc = node ? node.ownerDocument || node : preferredDoc; - - // If no document and documentElement is available, return - if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { - return document; - } - - // Set our document - document = doc; - docElem = doc.documentElement; - - // Support tests - documentIsXML = isXML( doc ); - - // Check if getElementsByTagName("*") returns only elements - support.tagNameNoComments = assert(function( div ) { - div.appendChild( doc.createComment("") ); - return !div.getElementsByTagName("*").length; - }); - - // Check if attributes should be retrieved by attribute nodes - support.attributes = assert(function( div ) { - div.innerHTML = "<select></select>"; - var type = typeof div.lastChild.getAttribute("multiple"); - // IE8 returns a string for some attributes even when not present - return type !== "boolean" && type !== "string"; - }); - - // Check if getElementsByClassName can be trusted - support.getByClassName = assert(function( div ) { - // Opera can't find a second classname (in 9.6) - div.innerHTML = "<div class='hidden e'></div><div class='hidden'></div>"; - if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) { - return false; - } - - // Safari 3.2 caches class attributes and doesn't catch changes - div.lastChild.className = "e"; - return div.getElementsByClassName("e").length === 2; - }); - - // Check if getElementById returns elements by name - // Check if getElementsByName privileges form controls or returns elements by ID - support.getByName = assert(function( div ) { - // Inject content - div.id = expando + 0; - div.innerHTML = "<a name='" + expando + "'></a><div name='" + expando + "'></div>"; - docElem.insertBefore( div, docElem.firstChild ); - - // Test - var pass = doc.getElementsByName && - // buggy browsers will return fewer than the correct 2 - doc.getElementsByName( expando ).length === 2 + - // buggy browsers will return more than the correct 0 - doc.getElementsByName( expando + 0 ).length; - support.getIdNotName = !doc.getElementById( expando ); - - // Cleanup - docElem.removeChild( div ); - - return pass; - }); - - // IE6/7 return modified attributes - Expr.attrHandle = assert(function( div ) { - div.innerHTML = "<a href='#'></a>"; - return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && - div.firstChild.getAttribute("href") === "#"; - }) ? - {} : - { - "href": function( elem ) { - return elem.getAttribute( "href", 2 ); - }, - "type": function( elem ) { - return elem.getAttribute("type"); - } - }; - - // ID find and filter - if ( support.getIdNotName ) { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== strundefined && !documentIsXML ) { - var m = context.getElementById( id ); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [m] : []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - return elem.getAttribute("id") === attrId; - }; - }; - } else { - Expr.find["ID"] = function( id, context ) { - if ( typeof context.getElementById !== strundefined && !documentIsXML ) { - var m = context.getElementById( id ); - - return m ? - m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? - [m] : - undefined : - []; - } - }; - Expr.filter["ID"] = function( id ) { - var attrId = id.replace( runescape, funescape ); - return function( elem ) { - var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); - return node && node.value === attrId; - }; - }; - } - - // Tag - Expr.find["TAG"] = support.tagNameNoComments ? - function( tag, context ) { - if ( typeof context.getElementsByTagName !== strundefined ) { - return context.getElementsByTagName( tag ); - } - } : - function( tag, context ) { - var elem, - tmp = [], - i = 0, - results = context.getElementsByTagName( tag ); - - // Filter out possible comments - if ( tag === "*" ) { - while ( (elem = results[i++]) ) { - if ( elem.nodeType === 1 ) { - tmp.push( elem ); - } - } - - return tmp; - } - return results; - }; - - // Name - Expr.find["NAME"] = support.getByName && function( tag, context ) { - if ( typeof context.getElementsByName !== strundefined ) { - return context.getElementsByName( name ); - } - }; - - // Class - Expr.find["CLASS"] = support.getByClassName && function( className, context ) { - if ( typeof context.getElementsByClassName !== strundefined && !documentIsXML ) { - return context.getElementsByClassName( className ); - } - }; - - // QSA and matchesSelector support - - // matchesSelector(:active) reports false when true (IE9/Opera 11.5) - rbuggyMatches = []; - - // qSa(:focus) reports false when true (Chrome 21), - // no need to also add to buggyMatches since matches checks buggyQSA - // A support test would require too much code (would include document ready) - rbuggyQSA = [ ":focus" ]; - - if ( (support.qsa = isNative(doc.querySelectorAll)) ) { - // Build QSA regex - // Regex strategy adopted from Diego Perini - assert(function( div ) { - // Select is set to empty string on purpose - // This is to test IE's treatment of not explictly - // setting a boolean content attribute, - // since its presence should be enough - // http://bugs.jquery.com/ticket/12359 - div.innerHTML = "<select><option selected=''></option></select>"; - - // IE8 - Some boolean attributes are not treated correctly - if ( !div.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - }); - - assert(function( div ) { - - // Opera 10-12/IE8 - ^= $= *= and empty values - // Should not select anything - div.innerHTML = "<input type='hidden' i=''/>"; - if ( div.querySelectorAll("[i^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( !div.querySelectorAll(":enabled").length ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Opera 10-11 does not throw on post-comma invalid pseudos - div.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = isNative( (matches = docElem.matchesSelector || - docElem.mozMatchesSelector || - docElem.webkitMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( div ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( div, "div" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( div, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = new RegExp( rbuggyMatches.join("|") ); - - // Element contains another - // Purposefully does not implement inclusive descendent - // As in, an element does not contain itself - contains = isNative(docElem.contains) || docElem.compareDocumentPosition ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - // Document order sorting - sortOrder = docElem.compareDocumentPosition ? - function( a, b ) { - var compare; - - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - if ( (compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b )) ) { - if ( compare & 1 || a.parentNode && a.parentNode.nodeType === 11 ) { - if ( a === doc || contains( preferredDoc, a ) ) { - return -1; - } - if ( b === doc || contains( preferredDoc, b ) ) { - return 1; - } - return 0; - } - return compare & 4 ? -1 : 1; - } - - return a.compareDocumentPosition ? -1 : 1; - } : - function( a, b ) { - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - - // Parentless nodes are either documents or disconnected - } else if ( !aup || !bup ) { - return a === doc ? -1 : - b === doc ? 1 : - aup ? -1 : - bup ? 1 : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : - - // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - // Always assume the presence of duplicates if sort doesn't - // pass them to our comparison function (as in Google Chrome). - hasDuplicate = false; - [0, 0].sort( sortOrder ); - support.detectDuplicates = hasDuplicate; - - return document; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - // rbuggyQSA always contains :focus, so no need for an existence check - if ( support.matchesSelector && !documentIsXML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && !rbuggyQSA.test(expr) ) { - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch(e) {} - } - - return Sizzle( expr, document, null, [elem] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - var val; - - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - if ( !documentIsXML ) { - name = name.toLowerCase(); - } - if ( (val = Expr.attrHandle[ name ]) ) { - return val( elem ); - } - if ( documentIsXML || support.attributes ) { - return elem.getAttribute( name ); - } - return ( (val = elem.getAttributeNode( name )) || elem.getAttribute( name ) ) && elem[ name ] === true ? - name : - val && val.specified ? val.value : null; -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -// Document sorting and removing duplicates -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - i = 1, - j = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - results.sort( sortOrder ); - - if ( hasDuplicate ) { - for ( ; (elem = results[i]); i++ ) { - if ( elem === results[ i - 1 ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - return results; -}; - -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && ( ~b.sourceIndex || MAX_NEGATIVE ) - ( ~a.sourceIndex || MAX_NEGATIVE ); - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -// Returns a function to use in pseudos for input types -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -// Returns a function to use in pseudos for buttons -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -// Returns a function to use in pseudos for positionals -function createPositionalPseudo( fn ) { - return markFunction(function( argument ) { - argument = +argument; - return markFunction(function( seed, matches ) { - var j, - matchIndexes = fn( [], seed.length, argument ), - i = matchIndexes.length; - - // Match elements found at the specified indexes - while ( i-- ) { - if ( seed[ (j = matchIndexes[i]) ] ) { - seed[j] = !(matches[j] = seed[j]); - } - } - }); - }); -} - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - // If no nodeType, this is expected to be an array - for ( ; (node = elem[i]); i++ ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (see #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[5] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[4] ) { - match[2] = match[4]; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeName ) { - if ( nodeName === "*" ) { - return function() { return true; }; - } - - nodeName = nodeName.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, outerCache, node, diff, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { - return false; - } - } - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - // Seek `elem` from a previously-cached index - outerCache = parent[ expando ] || (parent[ expando ] = {}); - cache = outerCache[ type ] || []; - nodeIndex = cache[0] === dirruns && cache[1]; - diff = cache[0] === dirruns && cache[2]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - // Use previously-cached element index if available - } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { - diff = cache[1]; - - // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) - } else { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { - // Cache the index of each encountered element - if ( useCache ) { - (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf.call( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - // Potentially complex pseudos - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - // lang value must be a valid identifider - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsXML ? - elem.getAttribute("xml:lang") || elem.getAttribute("lang") : - elem.lang) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - // Boolean properties - "enabled": function( elem ) { - return elem.disabled === false; - }, - - "disabled": function( elem ) { - return elem.disabled === true; - }, - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), - // not comment, processing instructions, or others - // Thanks to Diego Perini for the nodeName shortcut - // Greater than "@" means alpha characters (specifically not starting with "#" or "?") - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) - // use getAttribute instead to test this case - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type ); - }, - - // Position-in-collection - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -function tokenize( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( tokens = [] ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push( { - value: matched, - // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - } ); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push( { - value: matched, - type: type, - matches: match - } ); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -} - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - checkNonElements = base && dir === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var data, cache, outerCache, - dirkey = dirruns + " " + doneName; - - // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) { - if ( (data = cache[1]) === true || data === cachedruns ) { - return data === true; - } - } else { - cache = outerCache[ dir ] = [ dirkey ]; - cache[1] = matcher( elem, context, xml ) || cachedruns; - if ( cache[1] === true ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf.call( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( tokens.slice( 0, i - 1 ) ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - // A counter to specify which element is currently being matched - var matcherCachedRuns = 0, - bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, expandContext ) { - var elem, j, matcher, - setMatched = [], - matchedCount = 0, - i = "0", - unmatched = seed && [], - outermost = expandContext != null, - contextBackup = outermostContext, - // We must always have either seed elements or context - elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1); - - if ( outermost ) { - outermostContext = context !== document && context; - cachedruns = matcherCachedRuns; - } - - // Add elements passing elementMatchers directly to results - // Keep `i` a string if there are no elements so `matchedCount` will be "00" below - for ( ; (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context, xml ) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - cachedruns = ++matcherCachedRuns; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // Apply set filters to unmatched elements - matchedCount += i; - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !group ) { - group = tokenize( selector ); - } - i = group.length; - while ( i-- ) { - cached = matcherFromTokens( group[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - } - return cached; -}; - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function select( selector, context, results, seed ) { - var i, tokens, token, type, find, - match = tokenize( selector ); - - if ( !seed ) { - // Try to minimize operations if there is only one group - if ( match.length === 1 ) { - - // Take a shortcut and set the context if the root selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - context.nodeType === 9 && !documentIsXML && - Expr.relative[ tokens[1].type ] ) { - - context = Expr.find["ID"]( token.matches[0].replace( runescape, funescape ), context )[0]; - if ( !context ) { - return results; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && context.parentNode || context - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, slice.call( seed, 0 ) ); - return results; - } - - break; - } - } - } - } - } - - // Compile and execute a filtering function - // Provide `match` to avoid retokenization if we modified the selector above - compile( selector, match )( - seed, - context, - documentIsXML, - results, - rsibling.test( selector ) - ); - return results; -} - -// Deprecated -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Easy API for creating new setFilters -function setFilters() {} -Expr.filters = setFilters.prototype = Expr.pseudos; -Expr.setFilters = new setFilters(); - -// Initialize with the default document -setDocument(); - -// Override sizzle attribute retrieval -Sizzle.attr = jQuery.attr; -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.pseudos; -jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - -})( window ); -var runtil = /Until$/, - rparentsprev = /^(?:parents|prev(?:Until|All))/, - isSimple = /^.[^:#\[\.,]*$/, - rneedsContext = jQuery.expr.match.needsContext, - // methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend({ - find: function( selector ) { - var i, ret, self, - len = this.length; - - if ( typeof selector !== "string" ) { - self = this; - return this.pushStack( jQuery( selector ).filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - }) ); - } - - ret = []; - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, this[ i ], ret ); - } - - // Needed because $( selector, context ) becomes $( context ).find( selector ) - ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); - ret.selector = ( this.selector ? this.selector + " " : "" ) + selector; - return ret; - }, - - has: function( target ) { - var i, - targets = jQuery( target, this ), - len = targets.length; - - return this.filter(function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }, - - not: function( selector ) { - return this.pushStack( winnow(this, selector, false) ); - }, - - filter: function( selector ) { - return this.pushStack( winnow(this, selector, true) ); - }, - - is: function( selector ) { - return !!selector && ( - typeof selector === "string" ? - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - rneedsContext.test( selector ) ? - jQuery( selector, this.context ).index( this[0] ) >= 0 : - jQuery.filter( selector, this ).length > 0 : - this.filter( selector ).length > 0 ); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - ret = [], - pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? - jQuery( selectors, context || this.context ) : - 0; - - for ( ; i < l; i++ ) { - cur = this[i]; - - while ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) { - if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { - ret.push( cur ); - break; - } - cur = cur.parentNode; - } - } - - return this.pushStack( ret.length > 1 ? jQuery.unique( ret ) : ret ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; - } - - // index in selector - if ( typeof elem === "string" ) { - return jQuery.inArray( this[0], jQuery( elem ) ); - } - - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem, this ); - }, - - add: function( selector, context ) { - var set = typeof selector === "string" ? - jQuery( selector, context ) : - jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), - all = jQuery.merge( this.get(), set ); - - return this.pushStack( jQuery.unique(all) ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter(selector) - ); - } -}); - -jQuery.fn.andSelf = jQuery.fn.addBack; - -function sibling( cur, dir ) { - do { - cur = cur[ dir ]; - } while ( cur && cur.nodeType !== 1 ); - - return cur; -} - -jQuery.each({ - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return jQuery.sibling( elem.firstChild ); - }, - contents: function( elem ) { - return jQuery.nodeName( elem, "iframe" ) ? - elem.contentDocument || elem.contentWindow.document : - jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var ret = jQuery.map( this, fn, until ); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( this.length > 1 && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret ); - }; -}); - -jQuery.extend({ - filter: function( expr, elems, not ) { - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 ? - jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : - jQuery.find.matches(expr, elems); - }, - - dir: function( elem, dir, until ) { - var matched = [], - cur = elem[ dir ]; - - while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { - if ( cur.nodeType === 1 ) { - matched.push( cur ); - } - cur = cur[dir]; - } - return matched; - }, - - sibling: function( n, elem ) { - var r = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - r.push( n ); - } - } - - return r; - } -}); - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, keep ) { - - // Can't pass null or undefined to indexOf in Firefox 4 - // Set to 0 to skip string check - qualifier = qualifier || 0; - - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep(elements, function( elem, i ) { - var retVal = !!qualifier.call( elem, i, elem ); - return retVal === keep; - }); - - } else if ( qualifier.nodeType ) { - return jQuery.grep(elements, function( elem ) { - return ( elem === qualifier ) === keep; - }); - - } else if ( typeof qualifier === "string" ) { - var filtered = jQuery.grep(elements, function( elem ) { - return elem.nodeType === 1; - }); - - if ( isSimple.test( qualifier ) ) { - return jQuery.filter(qualifier, filtered, !keep); - } else { - qualifier = jQuery.filter( qualifier, filtered ); - } - } - - return jQuery.grep(elements, function( elem ) { - return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep; - }); -} -function createSafeFragment( document ) { - var list = nodeNames.split( "|" ), - safeFrag = document.createDocumentFragment(); - - if ( safeFrag.createElement ) { - while ( list.length ) { - safeFrag.createElement( - list.pop() - ); - } - } - return safeFrag; -} - -var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + - "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", - rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, - rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), - rleadingWhitespace = /^\s+/, - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, - rtagName = /<([\w:]+)/, - rtbody = /<tbody/i, - rhtml = /<|&#?\w+;/, - rnoInnerhtml = /<(?:script|style|link)/i, - manipulation_rcheckableType = /^(?:checkbox|radio)$/i, - // checked="checked" or checked - rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, - rscriptType = /^$|\/(?:java|ecma)script/i, - rscriptTypeMasked = /^true\/(.*)/, - rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, - - // We have to close these tags to support XHTML (#13200) - wrapMap = { - option: [ 1, "<select multiple='multiple'>", "</select>" ], - legend: [ 1, "<fieldset>", "</fieldset>" ], - area: [ 1, "<map>", "</map>" ], - param: [ 1, "<object>", "</object>" ], - thead: [ 1, "<table>", "</table>" ], - tr: [ 2, "<table><tbody>", "</tbody></table>" ], - col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], - td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], - - // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, - // unless wrapped in a div with non-breaking characters in front of it. - _default: jQuery.support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X<div>", "</div>" ] - }, - safeFragment = createSafeFragment( document ), - fragmentDiv = safeFragment.appendChild( document.createElement("div") ); - -wrapMap.optgroup = wrapMap.option; -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -jQuery.fn.extend({ - text: function( value ) { - return jQuery.access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); - }, null, value, arguments.length ); - }, - - wrapAll: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each(function(i) { - jQuery(this).wrapAll( html.call(this, i) ); - }); - } - - if ( this[0] ) { - // The elements to wrap the target around - var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); - - if ( this[0].parentNode ) { - wrap.insertBefore( this[0] ); - } - - wrap.map(function() { - var elem = this; - - while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { - elem = elem.firstChild; - } - - return elem; - }).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each(function(i) { - jQuery(this).wrapInner( html.call(this, i) ); - }); - } - - return this.each(function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - }); - }, - - wrap: function( html ) { - var isFunction = jQuery.isFunction( html ); - - return this.each(function(i) { - jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); - }); - }, - - unwrap: function() { - return this.parent().each(function() { - if ( !jQuery.nodeName( this, "body" ) ) { - jQuery( this ).replaceWith( this.childNodes ); - } - }).end(); - }, - - append: function() { - return this.domManip(arguments, true, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.appendChild( elem ); - } - }); - }, - - prepend: function() { - return this.domManip(arguments, true, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.insertBefore( elem, this.firstChild ); - } - }); - }, - - before: function() { - return this.domManip( arguments, false, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - }); - }, - - after: function() { - return this.domManip( arguments, false, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - }); - }, - - // keepData is for internal use only--do not document - remove: function( selector, keepData ) { - var elem, - i = 0; - - for ( ; (elem = this[i]) != null; i++ ) { - if ( !selector || jQuery.filter( selector, [ elem ] ).length > 0 ) { - if ( !keepData && elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem ) ); - } - - if ( elem.parentNode ) { - if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { - setGlobalEval( getAll( elem, "script" ) ); - } - elem.parentNode.removeChild( elem ); - } - } - } - - return this; - }, - - empty: function() { - var elem, - i = 0; - - for ( ; (elem = this[i]) != null; i++ ) { - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - } - - // Remove any remaining nodes - while ( elem.firstChild ) { - elem.removeChild( elem.firstChild ); - } - - // If this is a select, ensure that it displays empty (#12336) - // Support: IE<9 - if ( elem.options && jQuery.nodeName( elem, "select" ) ) { - elem.options.length = 0; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function () { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - }); - }, - - html: function( value ) { - return jQuery.access( this, function( value ) { - var elem = this[0] || {}, - i = 0, - l = this.length; - - if ( value === undefined ) { - return elem.nodeType === 1 ? - elem.innerHTML.replace( rinlinejQuery, "" ) : - undefined; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && - ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && - !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { - - value = value.replace( rxhtmlTag, "<$1></$2>" ); - - try { - for (; i < l; i++ ) { - // Remove element nodes and prevent memory leaks - elem = this[i] || {}; - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch(e) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function( value ) { - var isFunc = jQuery.isFunction( value ); - - // Make sure that the elements are removed from the DOM before they are inserted - // this can help fix replacing a parent with child elements - if ( !isFunc && typeof value !== "string" ) { - value = jQuery( value ).not( this ).detach(); - } - - return this.domManip( [ value ], true, function( elem ) { - var next = this.nextSibling, - parent = this.parentNode; - - if ( parent ) { - jQuery( this ).remove(); - parent.insertBefore( elem, next ); - } - }); - }, - - detach: function( selector ) { - return this.remove( selector, true ); - }, - - domManip: function( args, table, callback ) { - - // Flatten any nested arrays - args = core_concat.apply( [], args ); - - var first, node, hasScripts, - scripts, doc, fragment, - i = 0, - l = this.length, - set = this, - iNoClone = l - 1, - value = args[0], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) { - return this.each(function( index ) { - var self = set.eq( index ); - if ( isFunction ) { - args[0] = value.call( this, index, table ? self.html() : undefined ); - } - self.domManip( args, table, callback ); - }); - } - - if ( l ) { - fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - if ( first ) { - table = table && jQuery.nodeName( first, "tr" ); - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( - table && jQuery.nodeName( this[i], "table" ) ? - findOrAppend( this[i], "tbody" ) : - this[i], - node, - i - ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { - - if ( node.src ) { - // Hope ajax is available... - jQuery.ajax({ - url: node.src, - type: "GET", - dataType: "script", - async: false, - global: false, - "throws": true - }); - } else { - jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); - } - } - } - } - - // Fix #11809: Avoid leaking memory - fragment = first = null; - } - } - - return this; - } -}); - -function findOrAppend( elem, tag ) { - return elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) ); -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - var attr = elem.getAttributeNode("type"); - elem.type = ( attr && attr.specified ) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - if ( match ) { - elem.type = match[1]; - } else { - elem.removeAttribute("type"); - } - return elem; -} - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var elem, - i = 0; - for ( ; (elem = elems[i]) != null; i++ ) { - jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); - } -} - -function cloneCopyEvent( src, dest ) { - - if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { - return; - } - - var type, i, l, - oldData = jQuery._data( src ), - curData = jQuery._data( dest, oldData ), - events = oldData.events; - - if ( events ) { - delete curData.handle; - curData.events = {}; - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - - // make the cloned public data object a copy from the original - if ( curData.data ) { - curData.data = jQuery.extend( {}, curData.data ); - } -} - -function fixCloneNodeIssues( src, dest ) { - var nodeName, e, data; - - // We do not need to do anything for non-Elements - if ( dest.nodeType !== 1 ) { - return; - } - - nodeName = dest.nodeName.toLowerCase(); - - // IE6-8 copies events bound via attachEvent when using cloneNode. - if ( !jQuery.support.noCloneEvent && dest[ jQuery.expando ] ) { - data = jQuery._data( dest ); - - for ( e in data.events ) { - jQuery.removeEvent( dest, e, data.handle ); - } - - // Event data gets referenced instead of copied if the expando gets copied too - dest.removeAttribute( jQuery.expando ); - } - - // IE blanks contents when cloning scripts, and tries to evaluate newly-set text - if ( nodeName === "script" && dest.text !== src.text ) { - disableScript( dest ).text = src.text; - restoreScript( dest ); - - // IE6-10 improperly clones children of object elements using classid. - // IE10 throws NoModificationAllowedError if parent is null, #12132. - } else if ( nodeName === "object" ) { - if ( dest.parentNode ) { - dest.outerHTML = src.outerHTML; - } - - // This path appears unavoidable for IE9. When cloning an object - // element in IE9, the outerHTML strategy above is not sufficient. - // If the src has innerHTML and the destination does not, - // copy the src.innerHTML into the dest.innerHTML. #10324 - if ( jQuery.support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { - dest.innerHTML = src.innerHTML; - } - - } else if ( nodeName === "input" && manipulation_rcheckableType.test( src.type ) ) { - // IE6-8 fails to persist the checked state of a cloned checkbox - // or radio button. Worse, IE6-7 fail to give the cloned element - // a checked appearance if the defaultChecked value isn't also set - - dest.defaultChecked = dest.checked = src.checked; - - // IE6-7 get confused and end up setting the value of a cloned - // checkbox/radio button to an empty string instead of "on" - if ( dest.value !== src.value ) { - dest.value = src.value; - } - - // IE6-8 fails to return the selected option to the default selected - // state when cloning options - } else if ( nodeName === "option" ) { - dest.defaultSelected = dest.selected = src.defaultSelected; - - // IE6-8 fails to set the defaultValue to the correct value when - // cloning other types of input fields - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -jQuery.each({ - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - i = 0, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone(true); - jQuery( insert[i] )[ original ]( elems ); - - // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() - core_push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -}); - -function getAll( context, tag ) { - var elems, elem, - i = 0, - found = typeof context.getElementsByTagName !== core_strundefined ? context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== core_strundefined ? context.querySelectorAll( tag || "*" ) : - undefined; - - if ( !found ) { - for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { - if ( !tag || jQuery.nodeName( elem, tag ) ) { - found.push( elem ); - } else { - jQuery.merge( found, getAll( elem, tag ) ); - } - } - } - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], found ) : - found; -} - -// Used in buildFragment, fixes the defaultChecked property -function fixDefaultChecked( elem ) { - if ( manipulation_rcheckableType.test( elem.type ) ) { - elem.defaultChecked = elem.checked; - } -} - -jQuery.extend({ - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var destElements, node, clone, i, srcElements, - inPage = jQuery.contains( elem.ownerDocument, elem ); - - if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { - clone = elem.cloneNode( true ); - - // IE<=8 does not properly clone detached, unknown element nodes - } else { - fragmentDiv.innerHTML = elem.outerHTML; - fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); - } - - if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && - (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { - - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - // Fix all IE cloning issues - for ( i = 0; (node = srcElements[i]) != null; ++i ) { - // Ensure that the destination node is not null; Fixes #9587 - if ( destElements[i] ) { - fixCloneNodeIssues( node, destElements[i] ); - } - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0; (node = srcElements[i]) != null; i++ ) { - cloneCopyEvent( node, destElements[i] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - destElements = srcElements = node = null; - - // Return the cloned set - return clone; - }, - - buildFragment: function( elems, context, scripts, selection ) { - var j, elem, contains, - tmp, tag, tbody, wrap, - l = elems.length, - - // Ensure a safe fragment - safe = createSafeFragment( context ), - - nodes = [], - i = 0; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || safe.appendChild( context.createElement("div") ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - - tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[2]; - - // Descend through wrappers to the right content - j = wrap[0]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Manually add leading whitespace removed by IE - if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { - nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); - } - - // Remove IE's autoinserted <tbody> from table fragments - if ( !jQuery.support.tbody ) { - - // String was a <table>, *may* have spurious <tbody> - elem = tag === "table" && !rtbody.test( elem ) ? - tmp.firstChild : - - // String was a bare <thead> or <tfoot> - wrap[1] === "<table>" && !rtbody.test( elem ) ? - tmp : - 0; - - j = elem && elem.childNodes.length; - while ( j-- ) { - if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { - elem.removeChild( tbody ); - } - } - } - - jQuery.merge( nodes, tmp.childNodes ); - - // Fix #12392 for WebKit and IE > 9 - tmp.textContent = ""; - - // Fix #12392 for oldIE - while ( tmp.firstChild ) { - tmp.removeChild( tmp.firstChild ); - } - - // Remember the top-level container for proper cleanup - tmp = safe.lastChild; - } - } - } - - // Fix #11356: Clear elements from fragment - if ( tmp ) { - safe.removeChild( tmp ); - } - - // Reset defaultChecked for any radios and checkboxes - // about to be appended to the DOM in IE 6/7 (#8060) - if ( !jQuery.support.appendChecked ) { - jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); - } - - i = 0; - while ( (elem = nodes[ i++ ]) ) { - - // #4087 - If origin and destination elements are the same, and this is - // that element, do not do anything - if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { - continue; - } - - contains = jQuery.contains( elem.ownerDocument, elem ); - - // Append to fragment - tmp = getAll( safe.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( (elem = tmp[ j++ ]) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - tmp = null; - - return safe; - }, - - cleanData: function( elems, /* internal */ acceptData ) { - var elem, type, id, data, - i = 0, - internalKey = jQuery.expando, - cache = jQuery.cache, - deleteExpando = jQuery.support.deleteExpando, - special = jQuery.event.special; - - for ( ; (elem = elems[i]) != null; i++ ) { - - if ( acceptData || jQuery.acceptData( elem ) ) { - - id = elem[ internalKey ]; - data = id && cache[ id ]; - - if ( data ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Remove cache only if it was not already removed by jQuery.event.remove - if ( cache[ id ] ) { - - delete cache[ id ]; - - // IE does not allow us to delete expando properties from nodes, - // nor does it have a removeAttribute function on Document nodes; - // we must handle all of these cases - if ( deleteExpando ) { - delete elem[ internalKey ]; - - } else if ( typeof elem.removeAttribute !== core_strundefined ) { - elem.removeAttribute( internalKey ); - - } else { - elem[ internalKey ] = null; - } - - core_deletedIds.push( id ); - } - } - } - } - } -}); -var iframe, getStyles, curCSS, - ralpha = /alpha\([^)]*\)/i, - ropacity = /opacity\s*=\s*([^)]*)/, - rposition = /^(top|right|bottom|left)$/, - // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" - // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - rmargin = /^margin/, - rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), - rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), - rrelNum = new RegExp( "^([+-])=(" + core_pnum + ")", "i" ), - elemdisplay = { BODY: "block" }, - - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: 0, - fontWeight: 400 - }, - - cssExpand = [ "Top", "Right", "Bottom", "Left" ], - cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; - -// return a css property mapped to a potentially vendor prefixed property -function vendorPropName( style, name ) { - - // shortcut for names that are not vendor prefixed - if ( name in style ) { - return name; - } - - // check for vendor prefixed names - var capName = name.charAt(0).toUpperCase() + name.slice(1), - origName = name, - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in style ) { - return name; - } - } - - return origName; -} - -function isHidden( elem, el ) { - // isHidden might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); -} - -function showHide( elements, show ) { - var display, elem, hidden, - values = [], - index = 0, - length = elements.length; - - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - values[ index ] = jQuery._data( elem, "olddisplay" ); - display = elem.style.display; - if ( show ) { - // Reset the inline display of this element to learn if it is - // being hidden by cascaded rules or not - if ( !values[ index ] && display === "none" ) { - elem.style.display = ""; - } - - // Set elements which have been overridden with display: none - // in a stylesheet to whatever the default browser style is - // for such an element - if ( elem.style.display === "" && isHidden( elem ) ) { - values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); - } - } else { - - if ( !values[ index ] ) { - hidden = isHidden( elem ); - - if ( display && display !== "none" || !hidden ) { - jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); - } - } - } - } - - // Set the display of most of the elements in a second loop - // to avoid the constant reflow - for ( index = 0; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - if ( !show || elem.style.display === "none" || elem.style.display === "" ) { - elem.style.display = show ? values[ index ] || "" : "none"; - } - } - - return elements; -} - -jQuery.fn.extend({ - css: function( name, value ) { - return jQuery.access( this, function( elem, name, value ) { - var len, styles, - map = {}, - i = 0; - - if ( jQuery.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - }, - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - var bool = typeof state === "boolean"; - - return this.each(function() { - if ( bool ? state : isHidden( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - }); - } -}); - -jQuery.extend({ - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Exclude the following css properties to add px - cssNumber: { - "columnCount": true, - "fillOpacity": true, - "fontWeight": true, - "lineHeight": true, - "opacity": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: { - // normalize float css property - "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" - }, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = jQuery.camelCase( name ), - style = elem.style; - - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); - - // gets hook for the prefixed version - // followed by the unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // convert relative number strings (+= or -=) to relative numbers. #7345 - if ( type === "string" && (ret = rrelNum.exec( value )) ) { - value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); - // Fixes bug #9237 - type = "number"; - } - - // Make sure that NaN and null values aren't set. See: #7116 - if ( value == null || type === "number" && isNaN( value ) ) { - return; - } - - // If a number was passed in, add 'px' to the (except for certain CSS properties) - if ( type === "number" && !jQuery.cssNumber[ origName ] ) { - value += "px"; - } - - // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, - // but it would mean to define eight (for every problematic property) identical functions - if ( !jQuery.support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { - - // Wrapped to prevent IE from throwing errors when 'invalid' values are provided - // Fixes bug #5509 - try { - style[ name ] = value; - } catch(e) {} - } - - } else { - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var num, val, hooks, - origName = jQuery.camelCase( name ); - - // Make sure that we're working with the right name - name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); - - // gets hook for the prefixed version - // followed by the unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - //convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Return, converting to number if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; - } - return val; - }, - - // A method for quickly swapping in/out CSS properties to get correct calculations - swap: function( elem, options, callback, args ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.apply( elem, args || [] ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; - } -}); - -// NOTE: we've included the "window" in window.getComputedStyle -// because jsdom on node.js will break without it. -if ( window.getComputedStyle ) { - getStyles = function( elem ) { - return window.getComputedStyle( elem, null ); - }; - - curCSS = function( elem, name, _computed ) { - var width, minWidth, maxWidth, - computed = _computed || getStyles( elem ), - - // getPropertyValue is only needed for .css('filter') in IE9, see #12537 - ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined, - style = elem.style; - - if ( computed ) { - - if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { - ret = jQuery.style( elem, name ); - } - - // A tribute to the "awesome hack by Dean Edwards" - // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right - // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels - // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values - if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret; - }; -} else if ( document.documentElement.currentStyle ) { - getStyles = function( elem ) { - return elem.currentStyle; - }; - - curCSS = function( elem, name, _computed ) { - var left, rs, rsLeft, - computed = _computed || getStyles( elem ), - ret = computed ? computed[ name ] : undefined, - style = elem.style; - - // Avoid setting ret to empty string here - // so we don't default to auto - if ( ret == null && style && style[ name ] ) { - ret = style[ name ]; - } - - // From the awesome hack by Dean Edwards - // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 - - // If we're not dealing with a regular pixel number - // but a number that has a weird ending, we need to convert it to pixels - // but not position css attributes, as those are proportional to the parent element instead - // and we can't measure the parent instead because it might trigger a "stacking dolls" problem - if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { - - // Remember the original values - left = style.left; - rs = elem.runtimeStyle; - rsLeft = rs && rs.left; - - // Put in the new values to get a computed value out - if ( rsLeft ) { - rs.left = elem.currentStyle.left; - } - style.left = name === "fontSize" ? "1em" : ret; - ret = style.pixelLeft + "px"; - - // Revert the changed values - style.left = left; - if ( rsLeft ) { - rs.left = rsLeft; - } - } - - return ret === "" ? "auto" : ret; - }; -} - -function setPositiveNumber( elem, value, subtract ) { - var matches = rnumsplit.exec( value ); - return matches ? - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : - value; -} - -function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { - var i = extra === ( isBorderBox ? "border" : "content" ) ? - // If we already have the right measurement, avoid augmentation - 4 : - // Otherwise initialize for horizontal or vertical properties - name === "width" ? 1 : 0, - - val = 0; - - for ( ; i < 4; i += 2 ) { - // both box models exclude margin, so add it if we want it - if ( extra === "margin" ) { - val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); - } - - if ( isBorderBox ) { - // border-box includes padding, so remove it if we want content - if ( extra === "content" ) { - val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // at this point, extra isn't border nor margin, so remove border - if ( extra !== "margin" ) { - val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } else { - // at this point, extra isn't content, so add padding - val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // at this point, extra isn't content nor padding, so add border - if ( extra !== "padding" ) { - val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - return val; -} - -function getWidthOrHeight( elem, name, extra ) { - - // Start with offset property, which is equivalent to the border-box value - var valueIsBorderBox = true, - val = name === "width" ? elem.offsetWidth : elem.offsetHeight, - styles = getStyles( elem ), - isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // some non-html elements return undefined for offsetWidth, so check for null/undefined - // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 - // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 - if ( val <= 0 || val == null ) { - // Fall back to computed then uncomputed css if necessary - val = curCSS( elem, name, styles ); - if ( val < 0 || val == null ) { - val = elem.style[ name ]; - } - - // Computed unit is not pixels. Stop here and return. - if ( rnumnonpx.test(val) ) { - return val; - } - - // we need the check for style in case a browser which returns unreliable values - // for getComputedStyle silently falls back to the reliable elem.style - valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); - - // Normalize "", auto, and prepare for extra - val = parseFloat( val ) || 0; - } - - // use the active box-sizing model to add/subtract irrelevant styles - return ( val + - augmentWidthOrHeight( - elem, - name, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles - ) - ) + "px"; -} - -// Try to determine the default display value of an element -function css_defaultDisplay( nodeName ) { - var doc = document, - display = elemdisplay[ nodeName ]; - - if ( !display ) { - display = actualDisplay( nodeName, doc ); - - // If the simple way fails, read from inside an iframe - if ( display === "none" || !display ) { - // Use the already-created iframe if possible - iframe = ( iframe || - jQuery("<iframe frameborder='0' width='0' height='0'/>") - .css( "cssText", "display:block !important" ) - ).appendTo( doc.documentElement ); - - // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse - doc = ( iframe[0].contentWindow || iframe[0].contentDocument ).document; - doc.write("<!doctype html><html><body>"); - doc.close(); - - display = actualDisplay( nodeName, doc ); - iframe.detach(); - } - - // Store the correct default display - elemdisplay[ nodeName ] = display; - } - - return display; -} - -// Called ONLY from within css_defaultDisplay -function actualDisplay( name, doc ) { - var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - display = jQuery.css( elem[0], "display" ); - elem.remove(); - return display; -} - -jQuery.each([ "height", "width" ], function( i, name ) { - jQuery.cssHooks[ name ] = { - get: function( elem, computed, extra ) { - if ( computed ) { - // certain elements can have dimension info if we invisibly show them - // however, it must have a current display style that would benefit from this - return elem.offsetWidth === 0 && rdisplayswap.test( jQuery.css( elem, "display" ) ) ? - jQuery.swap( elem, cssShow, function() { - return getWidthOrHeight( elem, name, extra ); - }) : - getWidthOrHeight( elem, name, extra ); - } - }, - - set: function( elem, value, extra ) { - var styles = extra && getStyles( elem ); - return setPositiveNumber( elem, value, extra ? - augmentWidthOrHeight( - elem, - name, - extra, - jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - styles - ) : 0 - ); - } - }; -}); - -if ( !jQuery.support.opacity ) { - jQuery.cssHooks.opacity = { - get: function( elem, computed ) { - // IE uses filters for opacity - return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ? - ( 0.01 * parseFloat( RegExp.$1 ) ) + "" : - computed ? "1" : ""; - }, - - set: function( elem, value ) { - var style = elem.style, - currentStyle = elem.currentStyle, - opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "", - filter = currentStyle && currentStyle.filter || style.filter || ""; - - // IE has trouble with opacity if it does not have layout - // Force it by setting the zoom level - style.zoom = 1; - - // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652 - // if value === "", then remove inline opacity #12685 - if ( ( value >= 1 || value === "" ) && - jQuery.trim( filter.replace( ralpha, "" ) ) === "" && - style.removeAttribute ) { - - // Setting style.filter to null, "" & " " still leave "filter:" in the cssText - // if "filter:" is present at all, clearType is disabled, we want to avoid this - // style.removeAttribute is IE Only, but so apparently is this code path... - style.removeAttribute( "filter" ); - - // if there is no filter style applied in a css rule or unset inline opacity, we are done - if ( value === "" || currentStyle && !currentStyle.filter ) { - return; - } - } - - // otherwise, set new filter values - style.filter = ralpha.test( filter ) ? - filter.replace( ralpha, opacity ) : - filter + " " + opacity; - } - }; -} - -// These hooks cannot be added until DOM ready because the support test -// for it is not run until after DOM ready -jQuery(function() { - if ( !jQuery.support.reliableMarginRight ) { - jQuery.cssHooks.marginRight = { - get: function( elem, computed ) { - if ( computed ) { - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - // Work around by temporarily setting element display to inline-block - return jQuery.swap( elem, { "display": "inline-block" }, - curCSS, [ elem, "marginRight" ] ); - } - } - }; - } - - // Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 - // getComputedStyle returns percent when specified for top/left/bottom/right - // rather than make the css module depend on the offset module, we just check for it here - if ( !jQuery.support.pixelPosition && jQuery.fn.position ) { - jQuery.each( [ "top", "left" ], function( i, prop ) { - jQuery.cssHooks[ prop ] = { - get: function( elem, computed ) { - if ( computed ) { - computed = curCSS( elem, prop ); - // if curCSS returns percentage, fallback to offset - return rnumnonpx.test( computed ) ? - jQuery( elem ).position()[ prop ] + "px" : - computed; - } - } - }; - }); - } - -}); - -if ( jQuery.expr && jQuery.expr.filters ) { - jQuery.expr.filters.hidden = function( elem ) { - // Support: Opera <= 12.12 - // Opera reports offsetWidths and offsetHeights less than zero on some elements - return elem.offsetWidth <= 0 && elem.offsetHeight <= 0 || - (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none"); - }; - - jQuery.expr.filters.visible = function( elem ) { - return !jQuery.expr.filters.hidden( elem ); - }; -} - -// These hooks are used by animate to expand properties -jQuery.each({ - margin: "", - padding: "", - border: "Width" -}, function( prefix, suffix ) { - jQuery.cssHooks[ prefix + suffix ] = { - expand: function( value ) { - var i = 0, - expanded = {}, - - // assumes a single number if not a string - parts = typeof value === "string" ? value.split(" ") : [ value ]; - - for ( ; i < 4; i++ ) { - expanded[ prefix + cssExpand[ i ] + suffix ] = - parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; - } - - return expanded; - } - }; - - if ( !rmargin.test( prefix ) ) { - jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; - } -}); -var r20 = /%20/g, - rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - -jQuery.fn.extend({ - serialize: function() { - return jQuery.param( this.serializeArray() ); - }, - serializeArray: function() { - return this.map(function(){ - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop( this, "elements" ); - return elements ? jQuery.makeArray( elements ) : this; - }) - .filter(function(){ - var type = this.type; - // Use .is(":disabled") so that fieldset[disabled] works - return this.name && !jQuery( this ).is( ":disabled" ) && - rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && - ( this.checked || !manipulation_rcheckableType.test( type ) ); - }) - .map(function( i, elem ){ - var val = jQuery( this ).val(); - - return val == null ? - null : - jQuery.isArray( val ) ? - jQuery.map( val, function( val ){ - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - }) : - { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - }).get(); - } -}); - -//Serialize an array of form elements or a set of -//key/values into a query string -jQuery.param = function( a, traditional ) { - var prefix, - s = [], - add = function( key, value ) { - // If value is a function, invoke it and return its value - value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); - s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); - }; - - // Set traditional to true for jQuery <= 1.3.2 behavior. - if ( traditional === undefined ) { - traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; - } - - // If an array was passed in, assume that it is an array of form elements. - if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - }); - - } else { - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ).replace( r20, "+" ); -}; - -function buildParams( prefix, obj, traditional, add ) { - var name; - - if ( jQuery.isArray( obj ) ) { - // Serialize array item. - jQuery.each( obj, function( i, v ) { - if ( traditional || rbracket.test( prefix ) ) { - // Treat each array item as a scalar. - add( prefix, v ); - - } else { - // Item is non-scalar (array or object), encode its numeric index. - buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); - } - }); - - } else if ( !traditional && jQuery.type( obj ) === "object" ) { - // Serialize object item. - for ( name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } - - } else { - // Serialize scalar item. - add( prefix, obj ); - } -} -jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + - "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + - "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { - - // Handle event binding - jQuery.fn[ name ] = function( data, fn ) { - return arguments.length > 0 ? - this.on( name, null, data, fn ) : - this.trigger( name ); - }; -}); - -jQuery.fn.hover = function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); -}; -var - // Document location - ajaxLocParts, - ajaxLocation, - ajax_nonce = jQuery.now(), - - ajax_rquery = /\?/, - rhash = /#.*$/, - rts = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL - // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - rurl = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, - - // Keep a copy of the old load method - _load = jQuery.fn.load, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression - allTypes = "*/".concat("*"); - -// #8138, IE may throw an exception when accessing -// a field from window.location if document.domain has been set -try { - ajaxLocation = location.href; -} catch( e ) { - // Use the href attribute of an A element - // since IE will modify it given document.location - ajaxLocation = document.createElement( "a" ); - ajaxLocation.href = ""; - ajaxLocation = ajaxLocation.href; -} - -// Segment location into parts -ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; - -// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport -function addToPrefiltersOrTransports( structure ) { - - // dataTypeExpression is optional and defaults to "*" - return function( dataTypeExpression, func ) { - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match( core_rnotwhite ) || []; - - if ( jQuery.isFunction( func ) ) { - // For each dataType in the dataTypeExpression - while ( (dataType = dataTypes[i++]) ) { - // Prepend if requested - if ( dataType[0] === "+" ) { - dataType = dataType.slice( 1 ) || "*"; - (structure[ dataType ] = structure[ dataType ] || []).unshift( func ); - - // Otherwise append - } else { - (structure[ dataType ] = structure[ dataType ] || []).push( func ); - } - } - } - }; -} - -// Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { - - var inspected = {}, - seekingTransport = ( structure === transports ); - - function inspect( dataType ) { - var selected; - inspected[ dataType ] = true; - jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { - var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); - if( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) { - options.dataTypes.unshift( dataTypeOrTransport ); - inspect( dataTypeOrTransport ); - return false; - } else if ( seekingTransport ) { - return !( selected = dataTypeOrTransport ); - } - }); - return selected; - } - - return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); -} - -// A special extend for ajax options -// that takes "flat" options (not to be deep extended) -// Fixes #9887 -function ajaxExtend( target, src ) { - var deep, key, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for ( key in src ) { - if ( src[ key ] !== undefined ) { - ( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ]; - } - } - if ( deep ) { - jQuery.extend( true, target, deep ); - } - - return target; -} - -jQuery.fn.load = function( url, params, callback ) { - if ( typeof url !== "string" && _load ) { - return _load.apply( this, arguments ); - } - - var selector, response, type, - self = this, - off = url.indexOf(" "); - - if ( off >= 0 ) { - selector = url.slice( off, url.length ); - url = url.slice( 0, off ); - } - - // If it's a function - if ( jQuery.isFunction( params ) ) { - - // We assume that it's the callback - callback = params; - params = undefined; - - // Otherwise, build a param string - } else if ( params && typeof params === "object" ) { - type = "POST"; - } - - // If we have elements to modify, make the request - if ( self.length > 0 ) { - jQuery.ajax({ - url: url, - - // if "type" variable is undefined, then "GET" method will be used - type: type, - dataType: "html", - data: params - }).done(function( responseText ) { - - // Save response for use in complete callback - response = arguments; - - self.html( selector ? - - // If a selector was specified, locate the right elements in a dummy div - // Exclude scripts to avoid IE 'Permission Denied' errors - jQuery("<div>").append( jQuery.parseHTML( responseText ) ).find( selector ) : - - // Otherwise use the full result - responseText ); - - }).complete( callback && function( jqXHR, status ) { - self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); - }); - } - - return this; -}; - -// Attach a bunch of functions for handling common AJAX events -jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ){ - jQuery.fn[ type ] = function( fn ){ - return this.on( type, fn ); - }; -}); - -jQuery.each( [ "get", "post" ], function( i, method ) { - jQuery[ method ] = function( url, data, callback, type ) { - // shift arguments if data argument was omitted - if ( jQuery.isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - return jQuery.ajax({ - url: url, - type: method, - dataType: type, - data: data, - success: callback - }); - }; -}); - -jQuery.extend({ - - // Counter for holding the number of active queries - active: 0, - - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - - ajaxSettings: { - url: ajaxLocation, - type: "GET", - isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - - contents: { - xml: /xml/, - html: /html/, - json: /json/ - }, - - responseFields: { - xml: "responseXML", - text: "responseText" - }, - - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - - // Convert anything to text - "* text": window.String, - - // Text to html (true = no transformation) - "text html": true, - - // Evaluate text as a json expression - "text json": jQuery.parseJSON, - - // Parse text as xml - "text xml": jQuery.parseXML - }, - - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function( target, settings ) { - return settings ? - - // Building a settings object - ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : - - // Extending ajaxSettings - ajaxExtend( jQuery.ajaxSettings, target ); - }, - - ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), - ajaxTransport: addToPrefiltersOrTransports( transports ), - - // Main method - ajax: function( url, options ) { - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var // Cross-domain detection vars - parts, - // Loop variable - i, - // URL without anti-cache param - cacheURL, - // Response headers as string - responseHeadersString, - // timeout handle - timeoutTimer, - - // To know if global events are to be dispatched - fireGlobals, - - transport, - // Response headers - responseHeaders, - // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - // Callbacks context - callbackContext = s.context || s, - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks("once memory"), - // Status-dependent callbacks - statusCode = s.statusCode || {}, - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - // The jqXHR state - state = 0, - // Default abort message - strAbort = "canceled", - // Fake xhr - jqXHR = { - readyState: 0, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( state === 2 ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while ( (match = rheaders.exec( responseHeadersString )) ) { - responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; - } - } - match = responseHeaders[ key.toLowerCase() ]; - } - return match == null ? null : match; - }, - - // Raw string - getAllResponseHeaders: function() { - return state === 2 ? responseHeadersString : null; - }, - - // Caches the header - setRequestHeader: function( name, value ) { - var lname = name.toLowerCase(); - if ( !state ) { - name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( !state ) { - s.mimeType = type; - } - return this; - }, - - // Status-dependent callbacks - statusCode: function( map ) { - var code; - if ( map ) { - if ( state < 2 ) { - for ( code in map ) { - // Lazy-add the new callback in a way that preserves old ones - statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; - } - } else { - // Execute the appropriate callbacks - jqXHR.always( map[ jqXHR.status ] ); - } - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - var finalText = statusText || strAbort; - if ( transport ) { - transport.abort( finalText ); - } - done( 0, finalText ); - return this; - } - }; - - // Attach deferreds - deferred.promise( jqXHR ).complete = completeDeferred.add; - jqXHR.success = jqXHR.done; - jqXHR.error = jqXHR.fail; - - // Remove hash character (#7531: and string promotion) - // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) - // Handle falsy url in the settings object (#10093: consistency with old signature) - // We also use the url parameter if available - s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); - - // Alias method option to type as per ticket #12004 - s.type = options.method || options.type || s.method || s.type; - - // Extract dataTypes list - s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( core_rnotwhite ) || [""]; - - // A cross-domain request is in order when we have a protocol:host:port mismatch - if ( s.crossDomain == null ) { - parts = rurl.exec( s.url.toLowerCase() ); - s.crossDomain = !!( parts && - ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] || - ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? 80 : 443 ) ) != - ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ) ) - ); - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefilter, stop there - if ( state === 2 ) { - return jqXHR; - } - - // We can fire global events as of now if asked to - fireGlobals = s.global; - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger("ajaxStart"); - } - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - cacheURL = s.url; - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // If data is available, append data to url - if ( s.data ) { - cacheURL = ( s.url += ( ajax_rquery.test( cacheURL ) ? "&" : "?" ) + s.data ); - // #9682: remove data so that it's not used in an eventual retry - delete s.data; - } - - // Add anti-cache in url if needed - if ( s.cache === false ) { - s.url = rts.test( cacheURL ) ? - - // If there is already a '_' parameter, set its value - cacheURL.replace( rts, "$1_=" + ajax_nonce++ ) : - - // Otherwise add one to the end - cacheURL + ( ajax_rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ajax_nonce++; - } - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - if ( jQuery.lastModified[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); - } - if ( jQuery.etag[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? - s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { - // Abort if not done already and return - return jqXHR.abort(); - } - - // aborting is no longer a cancellation - strAbort = "abort"; - - // Install callbacks on deferreds - for ( i in { success: 1, error: 1, complete: 1 } ) { - jqXHR[ i ]( s[ i ] ); - } - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = setTimeout(function() { - jqXHR.abort("timeout"); - }, s.timeout ); - } - - try { - state = 1; - transport.send( requestHeaders, done ); - } catch ( e ) { - // Propagate exception as error if not done - if ( state < 2 ) { - done( -1, e ); - // Simply rethrow otherwise - } else { - throw e; - } - } - } - - // Callback for when everything is done - function done( status, nativeStatusText, responses, headers ) { - var isSuccess, success, error, response, modified, - statusText = nativeStatusText; - - // Called once - if ( state === 2 ) { - return; - } - - // State is "done" now - state = 2; - - // Clear timeout if it exists - if ( timeoutTimer ) { - clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status > 0 ? 4 : 0; - - // Get response data - if ( responses ) { - response = ajaxHandleResponses( s, jqXHR, responses ); - } - - // If successful, handle type chaining - if ( status >= 200 && status < 300 || status === 304 ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - modified = jqXHR.getResponseHeader("Last-Modified"); - if ( modified ) { - jQuery.lastModified[ cacheURL ] = modified; - } - modified = jqXHR.getResponseHeader("etag"); - if ( modified ) { - jQuery.etag[ cacheURL ] = modified; - } - } - - // if no content - if ( status === 204 ) { - isSuccess = true; - statusText = "nocontent"; - - // if not modified - } else if ( status === 304 ) { - isSuccess = true; - statusText = "notmodified"; - - // If we have data, let's convert it - } else { - isSuccess = ajaxConvert( s, response ); - statusText = isSuccess.state; - success = isSuccess.data; - error = isSuccess.error; - isSuccess = !error; - } - } else { - // We extract error from statusText - // then normalize statusText and status for non-aborts - error = statusText; - if ( status || !statusText ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = ( nativeStatusText || statusText ) + ""; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger("ajaxStop"); - } - } - } - - return jqXHR; - }, - - getScript: function( url, callback ) { - return jQuery.get( url, undefined, callback, "script" ); - }, - - getJSON: function( url, data, callback ) { - return jQuery.get( url, data, callback, "json" ); - } -}); - -/* Handles responses to an ajax request: - * - sets all responseXXX fields accordingly - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ -function ajaxHandleResponses( s, jqXHR, responses ) { - var firstDataType, ct, finalDataType, type, - contents = s.contents, - dataTypes = s.dataTypes, - responseFields = s.responseFields; - - // Fill responseXXX fields - for ( type in responseFields ) { - if ( type in responses ) { - jqXHR[ responseFields[type] ] = responses[ type ]; - } - } - - // Remove auto dataType and get content-type in the process - while( dataTypes[ 0 ] === "*" ) { - dataTypes.shift(); - if ( ct === undefined ) { - ct = s.mimeType || jqXHR.getResponseHeader("Content-Type"); - } - } - - // Check if we're dealing with a known content-type - if ( ct ) { - for ( type in contents ) { - if ( contents[ type ] && contents[ type ].test( ct ) ) { - dataTypes.unshift( type ); - break; - } - } - } - - // Check to see if we have a response for the expected dataType - if ( dataTypes[ 0 ] in responses ) { - finalDataType = dataTypes[ 0 ]; - } else { - // Try convertible dataTypes - for ( type in responses ) { - if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) { - finalDataType = type; - break; - } - if ( !firstDataType ) { - firstDataType = type; - } - } - // Or just use first one - finalDataType = finalDataType || firstDataType; - } - - // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - if ( finalDataType ) { - if ( finalDataType !== dataTypes[ 0 ] ) { - dataTypes.unshift( finalDataType ); - } - return responses[ finalDataType ]; - } -} - -// Chain conversions given the request and the original response -function ajaxConvert( s, response ) { - var conv2, current, conv, tmp, - converters = {}, - i = 0, - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(), - prev = dataTypes[ 0 ]; - - // Apply the dataFilter if provided - if ( s.dataFilter ) { - response = s.dataFilter( response, s.dataType ); - } - - // Create converters map with lowercased keys - if ( dataTypes[ 1 ] ) { - for ( conv in s.converters ) { - converters[ conv.toLowerCase() ] = s.converters[ conv ]; - } - } - - // Convert to each sequential dataType, tolerating list modification - for ( ; (current = dataTypes[++i]); ) { - - // There's only work to do if current dataType is non-auto - if ( current !== "*" ) { - - // Convert response if prev dataType is non-auto and differs from current - if ( prev !== "*" && prev !== current ) { - - // Seek a direct converter - conv = converters[ prev + " " + current ] || converters[ "* " + current ]; - - // If none found, seek a pair - if ( !conv ) { - for ( conv2 in converters ) { - - // If conv2 outputs current - tmp = conv2.split(" "); - if ( tmp[ 1 ] === current ) { - - // If prev can be converted to accepted input - conv = converters[ prev + " " + tmp[ 0 ] ] || - converters[ "* " + tmp[ 0 ] ]; - if ( conv ) { - // Condense equivalence converters - if ( conv === true ) { - conv = converters[ conv2 ]; - - // Otherwise, insert the intermediate dataType - } else if ( converters[ conv2 ] !== true ) { - current = tmp[ 0 ]; - dataTypes.splice( i--, 0, current ); - } - - break; - } - } - } - } - - // Apply converter (if not an equivalence) - if ( conv !== true ) { - - // Unless errors are allowed to bubble, catch and return them - if ( conv && s["throws"] ) { - response = conv( response ); - } else { - try { - response = conv( response ); - } catch ( e ) { - return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; - } - } - } - } - - // Update prev for next iteration - prev = current; - } - } - - return { state: "success", data: response }; -} -// Install script dataType -jQuery.ajaxSetup({ - accepts: { - script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /(?:java|ecma)script/ - }, - converters: { - "text script": function( text ) { - jQuery.globalEval( text ); - return text; - } - } -}); - -// Handle cache's special case and global -jQuery.ajaxPrefilter( "script", function( s ) { - if ( s.cache === undefined ) { - s.cache = false; - } - if ( s.crossDomain ) { - s.type = "GET"; - s.global = false; - } -}); - -// Bind script tag hack transport -jQuery.ajaxTransport( "script", function(s) { - - // This transport only deals with cross domain requests - if ( s.crossDomain ) { - - var script, - head = document.head || jQuery("head")[0] || document.documentElement; - - return { - - send: function( _, callback ) { - - script = document.createElement("script"); - - script.async = true; - - if ( s.scriptCharset ) { - script.charset = s.scriptCharset; - } - - script.src = s.url; - - // Attach handlers for all browsers - script.onload = script.onreadystatechange = function( _, isAbort ) { - - if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { - - // Handle memory leak in IE - script.onload = script.onreadystatechange = null; - - // Remove the script - if ( script.parentNode ) { - script.parentNode.removeChild( script ); - } - - // Dereference the script - script = null; - - // Callback if not abort - if ( !isAbort ) { - callback( 200, "success" ); - } - } - }; - - // Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending - // Use native DOM manipulation to avoid our domManip AJAX trickery - head.insertBefore( script, head.firstChild ); - }, - - abort: function() { - if ( script ) { - script.onload( undefined, true ); - } - } - }; - } -}); -var oldCallbacks = [], - rjsonp = /(=)\?(?=&|$)|\?\?/; - -// Default jsonp settings -jQuery.ajaxSetup({ - jsonp: "callback", - jsonpCallback: function() { - var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( ajax_nonce++ ) ); - this[ callback ] = true; - return callback; - } -}); - -// Detect, normalize options and install callbacks for jsonp requests -jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { - - var callbackName, overwritten, responseContainer, - jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? - "url" : - typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data" - ); - - // Handle iff the expected data type is "jsonp" or we have a parameter to set - if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { - - // Get callback name, remembering preexisting value associated with it - callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? - s.jsonpCallback() : - s.jsonpCallback; - - // Insert callback into url or form data - if ( jsonProp ) { - s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); - } else if ( s.jsonp !== false ) { - s.url += ( ajax_rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; - } - - // Use data converter to retrieve json after script execution - s.converters["script json"] = function() { - if ( !responseContainer ) { - jQuery.error( callbackName + " was not called" ); - } - return responseContainer[ 0 ]; - }; - - // force json dataType - s.dataTypes[ 0 ] = "json"; - - // Install callback - overwritten = window[ callbackName ]; - window[ callbackName ] = function() { - responseContainer = arguments; - }; - - // Clean-up function (fires after converters) - jqXHR.always(function() { - // Restore preexisting value - window[ callbackName ] = overwritten; - - // Save back as free - if ( s[ callbackName ] ) { - // make sure that re-using the options doesn't screw things around - s.jsonpCallback = originalSettings.jsonpCallback; - - // save the callback name for future use - oldCallbacks.push( callbackName ); - } - - // Call if it was a function and we have a response - if ( responseContainer && jQuery.isFunction( overwritten ) ) { - overwritten( responseContainer[ 0 ] ); - } - - responseContainer = overwritten = undefined; - }); - - // Delegate to script - return "script"; - } -}); -var xhrCallbacks, xhrSupported, - xhrId = 0, - // #5280: Internet Explorer will keep connections alive if we don't abort on unload - xhrOnUnloadAbort = window.ActiveXObject && function() { - // Abort all pending requests - var key; - for ( key in xhrCallbacks ) { - xhrCallbacks[ key ]( undefined, true ); - } - }; - -// Functions to create xhrs -function createStandardXHR() { - try { - return new window.XMLHttpRequest(); - } catch( e ) {} -} - -function createActiveXHR() { - try { - return new window.ActiveXObject("Microsoft.XMLHTTP"); - } catch( e ) {} -} - -// Create the request object -// (This is still attached to ajaxSettings for backward compatibility) -jQuery.ajaxSettings.xhr = window.ActiveXObject ? - /* Microsoft failed to properly - * implement the XMLHttpRequest in IE7 (can't request local files), - * so we use the ActiveXObject when it is available - * Additionally XMLHttpRequest can be disabled in IE7/IE8 so - * we need a fallback. - */ - function() { - return !this.isLocal && createStandardXHR() || createActiveXHR(); - } : - // For all other browsers, use the standard XMLHttpRequest object - createStandardXHR; - -// Determine support properties -xhrSupported = jQuery.ajaxSettings.xhr(); -jQuery.support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); -xhrSupported = jQuery.support.ajax = !!xhrSupported; - -// Create transport if the browser can provide an xhr -if ( xhrSupported ) { - - jQuery.ajaxTransport(function( s ) { - // Cross domain only allowed if supported through XMLHttpRequest - if ( !s.crossDomain || jQuery.support.cors ) { - - var callback; - - return { - send: function( headers, complete ) { - - // Get a new xhr - var handle, i, - xhr = s.xhr(); - - // Open the socket - // Passing null username, generates a login popup on Opera (#2865) - if ( s.username ) { - xhr.open( s.type, s.url, s.async, s.username, s.password ); - } else { - xhr.open( s.type, s.url, s.async ); - } - - // Apply custom fields if provided - if ( s.xhrFields ) { - for ( i in s.xhrFields ) { - xhr[ i ] = s.xhrFields[ i ]; - } - } - - // Override mime type if needed - if ( s.mimeType && xhr.overrideMimeType ) { - xhr.overrideMimeType( s.mimeType ); - } - - // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - if ( !s.crossDomain && !headers["X-Requested-With"] ) { - headers["X-Requested-With"] = "XMLHttpRequest"; - } - - // Need an extra try/catch for cross domain requests in Firefox 3 - try { - for ( i in headers ) { - xhr.setRequestHeader( i, headers[ i ] ); - } - } catch( err ) {} - - // Do send the request - // This may raise an exception which is actually - // handled in jQuery.ajax (so no try/catch here) - xhr.send( ( s.hasContent && s.data ) || null ); - - // Listener - callback = function( _, isAbort ) { - var status, responseHeaders, statusText, responses; - - // Firefox throws exceptions when accessing properties - // of an xhr when a network error occurred - // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE) - try { - - // Was never called and is aborted or complete - if ( callback && ( isAbort || xhr.readyState === 4 ) ) { - - // Only called once - callback = undefined; - - // Do not keep as active anymore - if ( handle ) { - xhr.onreadystatechange = jQuery.noop; - if ( xhrOnUnloadAbort ) { - delete xhrCallbacks[ handle ]; - } - } - - // If it's an abort - if ( isAbort ) { - // Abort it manually if needed - if ( xhr.readyState !== 4 ) { - xhr.abort(); - } - } else { - responses = {}; - status = xhr.status; - responseHeaders = xhr.getAllResponseHeaders(); - - // When requesting binary data, IE6-9 will throw an exception - // on any attempt to access responseText (#11426) - if ( typeof xhr.responseText === "string" ) { - responses.text = xhr.responseText; - } - - // Firefox throws an exception when accessing - // statusText for faulty cross-domain requests - try { - statusText = xhr.statusText; - } catch( e ) { - // We normalize with Webkit giving an empty statusText - statusText = ""; - } - - // Filter status for non standard behaviors - - // If the request is local and we have data: assume a success - // (success with no data won't get notified, that's the best we - // can do given current implementations) - if ( !status && s.isLocal && !s.crossDomain ) { - status = responses.text ? 200 : 404; - // IE - #1450: sometimes returns 1223 when it should be 204 - } else if ( status === 1223 ) { - status = 204; - } - } - } - } catch( firefoxAccessException ) { - if ( !isAbort ) { - complete( -1, firefoxAccessException ); - } - } - - // Call complete if needed - if ( responses ) { - complete( status, statusText, responses, responseHeaders ); - } - }; - - if ( !s.async ) { - // if we're in sync mode we fire the callback - callback(); - } else if ( xhr.readyState === 4 ) { - // (IE6 & IE7) if it's in cache and has been - // retrieved directly we need to fire the callback - setTimeout( callback ); - } else { - handle = ++xhrId; - if ( xhrOnUnloadAbort ) { - // Create the active xhrs callbacks list if needed - // and attach the unload handler - if ( !xhrCallbacks ) { - xhrCallbacks = {}; - jQuery( window ).unload( xhrOnUnloadAbort ); - } - // Add to list of active xhrs callbacks - xhrCallbacks[ handle ] = callback; - } - xhr.onreadystatechange = callback; - } - }, - - abort: function() { - if ( callback ) { - callback( undefined, true ); - } - } - }; - } - }); -} -var fxNow, timerId, - rfxtypes = /^(?:toggle|show|hide)$/, - rfxnum = new RegExp( "^(?:([+-])=|)(" + core_pnum + ")([a-z%]*)$", "i" ), - rrun = /queueHooks$/, - animationPrefilters = [ defaultPrefilter ], - tweeners = { - "*": [function( prop, value ) { - var end, unit, - tween = this.createTween( prop, value ), - parts = rfxnum.exec( value ), - target = tween.cur(), - start = +target || 0, - scale = 1, - maxIterations = 20; - - if ( parts ) { - end = +parts[2]; - unit = parts[3] || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - - // We need to compute starting value - if ( unit !== "px" && start ) { - // Iteratively approximate from a nonzero starting point - // Prefer the current property, because this process will be trivial if it uses the same units - // Fallback to end or a simple constant - start = jQuery.css( tween.elem, prop, true ) || end || 1; - - do { - // If previous iteration zeroed out, double until we get *something* - // Use a string for doubling factor so we don't accidentally see scale as unchanged below - scale = scale || ".5"; - - // Adjust and apply - start = start / scale; - jQuery.style( tween.elem, prop, start + unit ); - - // Update scale, tolerating zero or NaN from tween.cur() - // And breaking the loop if scale is unchanged or perfect, or if we've just had enough - } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations ); - } - - tween.unit = unit; - tween.start = start; - // If a +=/-= token was provided, we're doing a relative animation - tween.end = parts[1] ? start + ( parts[1] + 1 ) * end : end; - } - return tween; - }] - }; - -// Animations created synchronously will run synchronously -function createFxNow() { - setTimeout(function() { - fxNow = undefined; - }); - return ( fxNow = jQuery.now() ); -} - -function createTweens( animation, props ) { - jQuery.each( props, function( prop, value ) { - var collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ), - index = 0, - length = collection.length; - for ( ; index < length; index++ ) { - if ( collection[ index ].call( animation, prop, value ) ) { - - // we're done with this property - return; - } - } - }); -} - -function Animation( elem, properties, options ) { - var result, - stopped, - index = 0, - length = animationPrefilters.length, - deferred = jQuery.Deferred().always( function() { - // don't match elem in the :animated selector - delete tick.elem; - }), - tick = function() { - if ( stopped ) { - return false; - } - var currentTime = fxNow || createFxNow(), - remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), - // archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for ( ; index < length ; index++ ) { - animation.tweens[ index ].run( percent ); - } - - deferred.notifyWith( elem, [ animation, percent, remaining ]); - - if ( percent < 1 && length ) { - return remaining; - } else { - deferred.resolveWith( elem, [ animation ] ); - return false; - } - }, - animation = deferred.promise({ - elem: elem, - props: jQuery.extend( {}, properties ), - opts: jQuery.extend( true, { specialEasing: {} }, options ), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function( prop, end ) { - var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); - animation.tweens.push( tween ); - return tween; - }, - stop: function( gotoEnd ) { - var index = 0, - // if we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - if ( stopped ) { - return this; - } - stopped = true; - for ( ; index < length ; index++ ) { - animation.tweens[ index ].run( 1 ); - } - - // resolve when we played the last frame - // otherwise, reject - if ( gotoEnd ) { - deferred.resolveWith( elem, [ animation, gotoEnd ] ); - } else { - deferred.rejectWith( elem, [ animation, gotoEnd ] ); - } - return this; - } - }), - props = animation.props; - - propFilter( props, animation.opts.specialEasing ); - - for ( ; index < length ; index++ ) { - result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); - if ( result ) { - return result; - } - } - - createTweens( animation, props ); - - if ( jQuery.isFunction( animation.opts.start ) ) { - animation.opts.start.call( elem, animation ); - } - - jQuery.fx.timer( - jQuery.extend( tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - }) - ); - - // attach callbacks from options - return animation.progress( animation.opts.progress ) - .done( animation.opts.done, animation.opts.complete ) - .fail( animation.opts.fail ) - .always( animation.opts.always ); -} - -function propFilter( props, specialEasing ) { - var value, name, index, easing, hooks; - - // camelCase, specialEasing and expand cssHook pass - for ( index in props ) { - name = jQuery.camelCase( index ); - easing = specialEasing[ name ]; - value = props[ index ]; - if ( jQuery.isArray( value ) ) { - easing = value[ 1 ]; - value = props[ index ] = value[ 0 ]; - } - - if ( index !== name ) { - props[ name ] = value; - delete props[ index ]; - } - - hooks = jQuery.cssHooks[ name ]; - if ( hooks && "expand" in hooks ) { - value = hooks.expand( value ); - delete props[ name ]; - - // not quite $.extend, this wont overwrite keys already present. - // also - reusing 'index' from above because we have the correct "name" - for ( index in value ) { - if ( !( index in props ) ) { - props[ index ] = value[ index ]; - specialEasing[ index ] = easing; - } - } - } else { - specialEasing[ name ] = easing; - } - } -} - -jQuery.Animation = jQuery.extend( Animation, { - - tweener: function( props, callback ) { - if ( jQuery.isFunction( props ) ) { - callback = props; - props = [ "*" ]; - } else { - props = props.split(" "); - } - - var prop, - index = 0, - length = props.length; - - for ( ; index < length ; index++ ) { - prop = props[ index ]; - tweeners[ prop ] = tweeners[ prop ] || []; - tweeners[ prop ].unshift( callback ); - } - }, - - prefilter: function( callback, prepend ) { - if ( prepend ) { - animationPrefilters.unshift( callback ); - } else { - animationPrefilters.push( callback ); - } - } -}); - -function defaultPrefilter( elem, props, opts ) { - /*jshint validthis:true */ - var prop, index, length, - value, dataShow, toggle, - tween, hooks, oldfire, - anim = this, - style = elem.style, - orig = {}, - handled = [], - hidden = elem.nodeType && isHidden( elem ); - - // handle queue: false promises - if ( !opts.queue ) { - hooks = jQuery._queueHooks( elem, "fx" ); - if ( hooks.unqueued == null ) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if ( !hooks.unqueued ) { - oldfire(); - } - }; - } - hooks.unqueued++; - - anim.always(function() { - // doing this makes sure that the complete handler will be called - // before this completes - anim.always(function() { - hooks.unqueued--; - if ( !jQuery.queue( elem, "fx" ).length ) { - hooks.empty.fire(); - } - }); - }); - } - - // height/width overflow pass - if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { - // Make sure that nothing sneaks out - // Record all 3 overflow attributes because IE does not - // change the overflow attribute when overflowX and - // overflowY are set to the same value - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - - // Set display property to inline-block for height/width - // animations on inline elements that are having width/height animated - if ( jQuery.css( elem, "display" ) === "inline" && - jQuery.css( elem, "float" ) === "none" ) { - - // inline-level elements accept inline-block; - // block-level elements need to be inline with layout - if ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === "inline" ) { - style.display = "inline-block"; - - } else { - style.zoom = 1; - } - } - } - - if ( opts.overflow ) { - style.overflow = "hidden"; - if ( !jQuery.support.shrinkWrapBlocks ) { - anim.always(function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - }); - } - } - - - // show/hide pass - for ( index in props ) { - value = props[ index ]; - if ( rfxtypes.exec( value ) ) { - delete props[ index ]; - toggle = toggle || value === "toggle"; - if ( value === ( hidden ? "hide" : "show" ) ) { - continue; - } - handled.push( index ); - } - } - - length = handled.length; - if ( length ) { - dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} ); - if ( "hidden" in dataShow ) { - hidden = dataShow.hidden; - } - - // store state if its toggle - enables .stop().toggle() to "reverse" - if ( toggle ) { - dataShow.hidden = !hidden; - } - if ( hidden ) { - jQuery( elem ).show(); - } else { - anim.done(function() { - jQuery( elem ).hide(); - }); - } - anim.done(function() { - var prop; - jQuery._removeData( elem, "fxshow" ); - for ( prop in orig ) { - jQuery.style( elem, prop, orig[ prop ] ); - } - }); - for ( index = 0 ; index < length ; index++ ) { - prop = handled[ index ]; - tween = anim.createTween( prop, hidden ? dataShow[ prop ] : 0 ); - orig[ prop ] = dataShow[ prop ] || jQuery.style( elem, prop ); - - if ( !( prop in dataShow ) ) { - dataShow[ prop ] = tween.start; - if ( hidden ) { - tween.end = tween.start; - tween.start = prop === "width" || prop === "height" ? 1 : 0; - } - } - } - } -} - -function Tween( elem, options, prop, end, easing ) { - return new Tween.prototype.init( elem, options, prop, end, easing ); -} -jQuery.Tween = Tween; - -Tween.prototype = { - constructor: Tween, - init: function( elem, options, prop, end, easing, unit ) { - this.elem = elem; - this.prop = prop; - this.easing = easing || "swing"; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - }, - cur: function() { - var hooks = Tween.propHooks[ this.prop ]; - - return hooks && hooks.get ? - hooks.get( this ) : - Tween.propHooks._default.get( this ); - }, - run: function( percent ) { - var eased, - hooks = Tween.propHooks[ this.prop ]; - - if ( this.options.duration ) { - this.pos = eased = jQuery.easing[ this.easing ]( - percent, this.options.duration * percent, 0, 1, this.options.duration - ); - } else { - this.pos = eased = percent; - } - this.now = ( this.end - this.start ) * eased + this.start; - - if ( this.options.step ) { - this.options.step.call( this.elem, this.now, this ); - } - - if ( hooks && hooks.set ) { - hooks.set( this ); - } else { - Tween.propHooks._default.set( this ); - } - return this; - } -}; - -Tween.prototype.init.prototype = Tween.prototype; - -Tween.propHooks = { - _default: { - get: function( tween ) { - var result; - - if ( tween.elem[ tween.prop ] != null && - (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) { - return tween.elem[ tween.prop ]; - } - - // passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails - // so, simple values such as "10px" are parsed to Float. - // complex values such as "rotate(1rad)" are returned as is. - result = jQuery.css( tween.elem, tween.prop, "" ); - // Empty strings, null, undefined and "auto" are converted to 0. - return !result || result === "auto" ? 0 : result; - }, - set: function( tween ) { - // use step hook for back compat - use cssHook if its there - use .style if its - // available and use plain properties where available - if ( jQuery.fx.step[ tween.prop ] ) { - jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) { - jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); - } else { - tween.elem[ tween.prop ] = tween.now; - } - } - } -}; - -// Remove in 2.0 - this supports IE8's panic based approach -// to setting things on disconnected nodes - -Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function( tween ) { - if ( tween.elem.nodeType && tween.elem.parentNode ) { - tween.elem[ tween.prop ] = tween.now; - } - } -}; - -jQuery.each([ "toggle", "show", "hide" ], function( i, name ) { - var cssFn = jQuery.fn[ name ]; - jQuery.fn[ name ] = function( speed, easing, callback ) { - return speed == null || typeof speed === "boolean" ? - cssFn.apply( this, arguments ) : - this.animate( genFx( name, true ), speed, easing, callback ); - }; -}); - -jQuery.fn.extend({ - fadeTo: function( speed, to, easing, callback ) { - - // show any hidden elements after setting opacity to 0 - return this.filter( isHidden ).css( "opacity", 0 ).show() - - // animate to the value specified - .end().animate({ opacity: to }, speed, easing, callback ); - }, - animate: function( prop, speed, easing, callback ) { - var empty = jQuery.isEmptyObject( prop ), - optall = jQuery.speed( speed, easing, callback ), - doAnimation = function() { - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation( this, jQuery.extend( {}, prop ), optall ); - doAnimation.finish = function() { - anim.stop( true ); - }; - // Empty animations, or finishing resolves immediately - if ( empty || jQuery._data( this, "finish" ) ) { - anim.stop( true ); - } - }; - doAnimation.finish = doAnimation; - - return empty || optall.queue === false ? - this.each( doAnimation ) : - this.queue( optall.queue, doAnimation ); - }, - stop: function( type, clearQueue, gotoEnd ) { - var stopQueue = function( hooks ) { - var stop = hooks.stop; - delete hooks.stop; - stop( gotoEnd ); - }; - - if ( typeof type !== "string" ) { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if ( clearQueue && type !== false ) { - this.queue( type || "fx", [] ); - } - - return this.each(function() { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = jQuery._data( this ); - - if ( index ) { - if ( data[ index ] && data[ index ].stop ) { - stopQueue( data[ index ] ); - } - } else { - for ( index in data ) { - if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { - stopQueue( data[ index ] ); - } - } - } - - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { - timers[ index ].anim.stop( gotoEnd ); - dequeue = false; - timers.splice( index, 1 ); - } - } - - // start the next in the queue if the last step wasn't forced - // timers currently will call their complete callbacks, which will dequeue - // but only if they were gotoEnd - if ( dequeue || !gotoEnd ) { - jQuery.dequeue( this, type ); - } - }); - }, - finish: function( type ) { - if ( type !== false ) { - type = type || "fx"; - } - return this.each(function() { - var index, - data = jQuery._data( this ), - queue = data[ type + "queue" ], - hooks = data[ type + "queueHooks" ], - timers = jQuery.timers, - length = queue ? queue.length : 0; - - // enable finishing flag on private data - data.finish = true; - - // empty the queue first - jQuery.queue( this, type, [] ); - - if ( hooks && hooks.cur && hooks.cur.finish ) { - hooks.cur.finish.call( this ); - } - - // look for any active animations, and finish them - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && timers[ index ].queue === type ) { - timers[ index ].anim.stop( true ); - timers.splice( index, 1 ); - } - } - - // look for any animations in the old queue and finish them - for ( index = 0; index < length; index++ ) { - if ( queue[ index ] && queue[ index ].finish ) { - queue[ index ].finish.call( this ); - } - } - - // turn off finishing flag - delete data.finish; - }); - } -}); - -// Generate parameters to create a standard animation -function genFx( type, includeWidth ) { - var which, - attrs = { height: type }, - i = 0; - - // if we include width, step value is 1 to do all cssExpand values, - // if we don't include width, step value is 2 to skip over Left and Right - includeWidth = includeWidth? 1 : 0; - for( ; i < 4 ; i += 2 - includeWidth ) { - which = cssExpand[ i ]; - attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; - } - - if ( includeWidth ) { - attrs.opacity = attrs.width = type; - } - - return attrs; -} - -// Generate shortcuts for custom animations -jQuery.each({ - slideDown: genFx("show"), - slideUp: genFx("hide"), - slideToggle: genFx("toggle"), - fadeIn: { opacity: "show" }, - fadeOut: { opacity: "hide" }, - fadeToggle: { opacity: "toggle" } -}, function( name, props ) { - jQuery.fn[ name ] = function( speed, easing, callback ) { - return this.animate( props, speed, easing, callback ); - }; -}); - -jQuery.speed = function( speed, easing, fn ) { - var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { - complete: fn || !fn && easing || - jQuery.isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing - }; - - opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : - opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; - - // normalize opt.queue - true/undefined/null -> "fx" - if ( opt.queue == null || opt.queue === true ) { - opt.queue = "fx"; - } - - // Queueing - opt.old = opt.complete; - - opt.complete = function() { - if ( jQuery.isFunction( opt.old ) ) { - opt.old.call( this ); - } - - if ( opt.queue ) { - jQuery.dequeue( this, opt.queue ); - } - }; - - return opt; -}; - -jQuery.easing = { - linear: function( p ) { - return p; - }, - swing: function( p ) { - return 0.5 - Math.cos( p*Math.PI ) / 2; - } -}; - -jQuery.timers = []; -jQuery.fx = Tween.prototype.init; -jQuery.fx.tick = function() { - var timer, - timers = jQuery.timers, - i = 0; - - fxNow = jQuery.now(); - - for ( ; i < timers.length; i++ ) { - timer = timers[ i ]; - // Checks the timer has not already been removed - if ( !timer() && timers[ i ] === timer ) { - timers.splice( i--, 1 ); - } - } - - if ( !timers.length ) { - jQuery.fx.stop(); - } - fxNow = undefined; -}; - -jQuery.fx.timer = function( timer ) { - if ( timer() && jQuery.timers.push( timer ) ) { - jQuery.fx.start(); - } -}; - -jQuery.fx.interval = 13; - -jQuery.fx.start = function() { - if ( !timerId ) { - timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); - } -}; - -jQuery.fx.stop = function() { - clearInterval( timerId ); - timerId = null; -}; - -jQuery.fx.speeds = { - slow: 600, - fast: 200, - // Default speed - _default: 400 -}; - -// Back Compat <1.8 extension point -jQuery.fx.step = {}; - -if ( jQuery.expr && jQuery.expr.filters ) { - jQuery.expr.filters.animated = function( elem ) { - return jQuery.grep(jQuery.timers, function( fn ) { - return elem === fn.elem; - }).length; - }; -} -jQuery.fn.offset = function( options ) { - if ( arguments.length ) { - return options === undefined ? - this : - this.each(function( i ) { - jQuery.offset.setOffset( this, options, i ); - }); - } - - var docElem, win, - box = { top: 0, left: 0 }, - elem = this[ 0 ], - doc = elem && elem.ownerDocument; - - if ( !doc ) { - return; - } - - docElem = doc.documentElement; - - // Make sure it's not a disconnected DOM node - if ( !jQuery.contains( docElem, elem ) ) { - return box; - } - - // If we don't have gBCR, just use 0,0 rather than error - // BlackBerry 5, iOS 3 (original iPhone) - if ( typeof elem.getBoundingClientRect !== core_strundefined ) { - box = elem.getBoundingClientRect(); - } - win = getWindow( doc ); - return { - top: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ), - left: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 ) - }; -}; - -jQuery.offset = { - - setOffset: function( elem, options, i ) { - var position = jQuery.css( elem, "position" ); - - // set position first, in-case top/left are set even on static elem - if ( position === "static" ) { - elem.style.position = "relative"; - } - - var curElem = jQuery( elem ), - curOffset = curElem.offset(), - curCSSTop = jQuery.css( elem, "top" ), - curCSSLeft = jQuery.css( elem, "left" ), - calculatePosition = ( position === "absolute" || position === "fixed" ) && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1, - props = {}, curPosition = {}, curTop, curLeft; - - // need to be able to calculate position if either top or left is auto and position is either absolute or fixed - if ( calculatePosition ) { - curPosition = curElem.position(); - curTop = curPosition.top; - curLeft = curPosition.left; - } else { - curTop = parseFloat( curCSSTop ) || 0; - curLeft = parseFloat( curCSSLeft ) || 0; - } - - if ( jQuery.isFunction( options ) ) { - options = options.call( elem, i, curOffset ); - } - - if ( options.top != null ) { - props.top = ( options.top - curOffset.top ) + curTop; - } - if ( options.left != null ) { - props.left = ( options.left - curOffset.left ) + curLeft; - } - - if ( "using" in options ) { - options.using.call( elem, props ); - } else { - curElem.css( props ); - } - } -}; - - -jQuery.fn.extend({ - - position: function() { - if ( !this[ 0 ] ) { - return; - } - - var offsetParent, offset, - parentOffset = { top: 0, left: 0 }, - elem = this[ 0 ]; - - // fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is it's only offset parent - if ( jQuery.css( elem, "position" ) === "fixed" ) { - // we assume that getBoundingClientRect is available when computed position is fixed - offset = elem.getBoundingClientRect(); - } else { - // Get *real* offsetParent - offsetParent = this.offsetParent(); - - // Get correct offsets - offset = this.offset(); - if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) { - parentOffset = offsetParent.offset(); - } - - // Add offsetParent borders - parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ); - parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ); - } - - // Subtract parent offsets and element margins - // note: when an element has margin: auto the offsetLeft and marginLeft - // are the same in Safari causing offset.left to incorrectly be 0 - return { - top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), - left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true) - }; - }, - - offsetParent: function() { - return this.map(function() { - var offsetParent = this.offsetParent || document.documentElement; - while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position") === "static" ) ) { - offsetParent = offsetParent.offsetParent; - } - return offsetParent || document.documentElement; - }); - } -}); - - -// Create scrollLeft and scrollTop methods -jQuery.each( {scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function( method, prop ) { - var top = /Y/.test( prop ); - - jQuery.fn[ method ] = function( val ) { - return jQuery.access( this, function( elem, method, val ) { - var win = getWindow( elem ); - - if ( val === undefined ) { - return win ? (prop in win) ? win[ prop ] : - win.document.documentElement[ method ] : - elem[ method ]; - } - - if ( win ) { - win.scrollTo( - !top ? val : jQuery( win ).scrollLeft(), - top ? val : jQuery( win ).scrollTop() - ); - - } else { - elem[ method ] = val; - } - }, method, val, arguments.length, null ); - }; -}); - -function getWindow( elem ) { - return jQuery.isWindow( elem ) ? - elem : - elem.nodeType === 9 ? - elem.defaultView || elem.parentWindow : - false; -} -// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods -jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { - jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { - // margin is only for outerHeight, outerWidth - jQuery.fn[ funcName ] = function( margin, value ) { - var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), - extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); - - return jQuery.access( this, function( elem, type, value ) { - var doc; - - if ( jQuery.isWindow( elem ) ) { - // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there - // isn't a whole lot we can do. See pull request at this URL for discussion: - // https://github.com/jquery/jquery/pull/764 - return elem.document.documentElement[ "client" + name ]; - } - - // Get document width or height - if ( elem.nodeType === 9 ) { - doc = elem.documentElement; - - // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest - // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. - return Math.max( - elem.body[ "scroll" + name ], doc[ "scroll" + name ], - elem.body[ "offset" + name ], doc[ "offset" + name ], - doc[ "client" + name ] - ); - } - - return value === undefined ? - // Get width or height on the element, requesting but not forcing parseFloat - jQuery.css( elem, type, extra ) : - - // Set width or height on the element - jQuery.style( elem, type, value, extra ); - }, type, chainable ? margin : undefined, chainable, null ); - }; - }); -}); -// Limit scope pollution from any deprecated API -// (function() { - -// })(); -// Expose jQuery to the global object -window.jQuery = window.$ = jQuery; - -// Expose jQuery as an AMD module, but only for AMD loaders that -// understand the issues with loading multiple versions of jQuery -// in a page that all might call define(). The loader will indicate -// they have special allowances for multiple jQuery versions by -// specifying define.amd.jQuery = true. Register as a named module, -// since jQuery can be concatenated with other files that may use define, -// but not use a proper concatenation script that understands anonymous -// AMD modules. A named AMD is safest and most robust way to register. -// Lowercase jquery is used because AMD module names are derived from -// file names, and jQuery is normally delivered in a lowercase file name. -// Do this after creating the global so that if an AMD module wants to call -// noConflict to hide this version of jQuery, it will work. -if ( typeof define === "function" && define.amd && define.amd.jQuery ) { - define( "jquery", [], function () { return jQuery; } ); -} - -})( window ); \ No newline at end of file diff --git a/src/core/listener/listener.show.js b/src/core/listener/listener.show.js deleted file mode 100644 index 03ca4e6687..0000000000 --- a/src/core/listener/listener.show.js +++ /dev/null @@ -1,47 +0,0 @@ -/** - * guy - * 检测某个Widget的EventChange事件然后去show某个card - * @type {*|void|Object} - * @class BI.ShowListener - * @extends BI.OB - */ -BI.ShowListener = BI.inherit(BI.OB, { - _defaultConfig: function () { - return BI.extend(BI.ShowListener.superclass._defaultConfig.apply(this, arguments), { - eventObj: BI.createWidget(), - cardLayout: null, - cardNameCreator: function (v) { - return v; - }, - cardCreator: BI.emptyFn, - afterCardCreated: BI.emptyFn, - afterCardShow: BI.emptyFn - }); - }, - - _init: function () { - BI.ShowListener.superclass._init.apply(this, arguments); - var self = this, o = this.options; - o.eventObj.on(BI.Controller.EVENT_CHANGE, function (type, v, ob) { - if (type === BI.Events.CLICK) { - v = v || o.eventObj.getValue(); - v = BI.isArray(v) ? (v.length > 1 ? v.toString() : v[0]) : v; - if (BI.isNull(v)) { - throw new Error("value cannot be null"); - } - var cardName = o.cardNameCreator(v); - if (!o.cardLayout.isCardExisted(cardName)) { - var card = o.cardCreator(cardName); - o.cardLayout.addCardByName(cardName, card); - o.afterCardCreated(cardName); - } - o.cardLayout.showCardByName(cardName); - BI.nextTick(function () { - o.afterCardShow(cardName); - self.fireEvent(BI.ShowListener.EVENT_CHANGE, cardName); - }); - } - }) - } -}); -BI.ShowListener.EVENT_CHANGE = "ShowListener.EVENT_CHANGE"; \ No newline at end of file diff --git a/src/core/loader/loader.style.js b/src/core/loader/loader.style.js deleted file mode 100644 index fbf027ce11..0000000000 --- a/src/core/loader/loader.style.js +++ /dev/null @@ -1,47 +0,0 @@ -/** - * style加载管理器 - * - * Created by GUY on 2015/9/7. - * @class - */ -BI.StyleLoaderManager = BI.inherit(BI.OB, { - _defaultConfig: function () { - return BI.extend(BI.StyleLoaderManager.superclass._defaultConfig.apply(this, arguments), {}); - }, - - _init: function () { - BI.StyleLoaderManager.superclass._init.apply(this, arguments); - this.stylesManager = {}; - }, - - loadStyle: function (name, styleString) { - var d = document, styles = d.createElement('style'); - d.getElementsByTagName('head')[0].appendChild(styles); - styles.setAttribute('type', 'text/css'); - if (styles.styleSheet) { - styles.styleSheet.cssText = styleString; - } else { - styles.appendChild(document.createTextNode(styleString)); - } - this.stylesManager[name] = styles; - - return this; - }, - - get: function (name) { - return this.stylesManager[name]; - }, - - has: function (name) { - return this.stylesManager[name] != null; - }, - - removeStyle: function (name) { - if (!this.has(name)) { - return this; - } - this.stylesManager[name].parentNode.removeChild(this.stylesManager[name]); - delete this.stylesManager[name]; - return this; - } -}); \ No newline at end of file diff --git a/src/core/logic/logic.js b/src/core/logic/logic.js deleted file mode 100644 index 17acc387b8..0000000000 --- a/src/core/logic/logic.js +++ /dev/null @@ -1,81 +0,0 @@ -/** - * @class BI.Logic - * @extends BI.OB - */ -BI.Logic = BI.inherit(BI.OB, { - createLogic: function () { - return this.options || {}; - } -}); - -BI.LogicFactory = { - Type: { - Vertical: "vertical", - Horizontal: "horizontal", - Table: "table", - HorizontalFill: "horizontal_fill" - }, - createLogic: function (key, options) { - var logic; - switch (key) { - case BI.LogicFactory.Type.Vertical: - logic = BI.VerticalLayoutLogic; - break; - case BI.LogicFactory.Type.Horizontal: - logic = BI.HorizontalLayoutLogic; - break; - case BI.LogicFactory.Type.Table: - logic = BI.TableLayoutLogic; - break; - case BI.LogicFactory.Type.HorizontalFill: - logic = BI.HorizontalFillLayoutLogic; - break; - default : - logic = BI.Logic; - break; - } - return new logic(options).createLogic(); - }, - - createLogicTypeByDirection: function (direction) { - switch (direction) { - case BI.Direction.Top: - case BI.Direction.Bottom: - case BI.Direction.Custom: - return BI.LogicFactory.Type.Vertical; - break; - case BI.Direction.Left: - case BI.Direction.Right: - return BI.LogicFactory.Type.Horizontal; - } - }, - - createLogicItemsByDirection: function (direction) { - var layout; - var items = Array.prototype.slice.call(arguments, 1); - items = BI.map(items, function (i, item) { - if (BI.isWidget(item)) { - return { - el: item, - width: item.options.width, - height: item.options.height - } - } - return item; - }); - switch (direction) { - case BI.Direction.Bottom: - layout = BI.LogicFactory.Type.Vertical; - items.reverse(); - break; - case BI.Direction.Right: - layout = BI.LogicFactory.Type.Horizontal; - items.reverse(); - break; - case BI.Direction.Custom: - items = items.slice(1); - break; - } - return items; - } -}; \ No newline at end of file diff --git a/src/core/logic/logic.layout.js b/src/core/logic/logic.layout.js deleted file mode 100644 index 6d0a11af68..0000000000 --- a/src/core/logic/logic.layout.js +++ /dev/null @@ -1,212 +0,0 @@ -/** - * guy - * 上下布局逻辑 - * 上下布局的时候要考虑到是动态布局还是静态布局 - * - * @class BI.VerticalLayoutLogic - * @extends BI.Logic - */ -BI.VerticalLayoutLogic = BI.inherit(BI.Logic, { - _defaultConfig: function () { - return BI.extend(BI.VerticalLayoutLogic.superclass._defaultConfig.apply(this, arguments), { - dynamic: false, - scrollable: null, - scrolly: false, - scrollx: false, - items: [], - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - - createLogic: function () { - var layout, o = this.options; - if (o.dynamic) { - layout = "bi.vertical"; - } else { - layout = "bi.vtape"; - } - return { - type: layout, - scrollable: o.scrollable, - scrolly: o.scrolly, - scrollx: o.scrollx, - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - items: o.items - } - }, - - _init: function () { - BI.VerticalLayoutLogic.superclass._init.apply(this, arguments); - } -}); - - -/** - * guy - * 左右布局逻辑 - * 左右布局的时候要考虑到是动态布局还是静态布局 - * - * @class BI.HorizontalLayoutLogic - * @extends BI.Logic - */ -BI.HorizontalLayoutLogic = BI.inherit(BI.Logic, { - _defaultConfig: function () { - return BI.extend(BI.HorizontalLayoutLogic.superclass._defaultConfig.apply(this, arguments), { - dynamic: false, - scrollable: null, - scrolly: false, - scrollx: false, - items: [], - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - - createLogic: function () { - var layout, o = this.options; - if (o.dynamic) { - layout = "bi.vertical_adapt"; - } else { - layout = "bi.htape"; - } - return { - type: layout, - scrollable: o.scrollable, - scrolly: o.scrolly, - scrollx: o.scrollx, - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - items: o.items - } - }, - - _init: function () { - BI.HorizontalLayoutLogic.superclass._init.apply(this, arguments); - } -}); - -/** - * guy - * 表格布局逻辑 - * 表格布局的时候要考虑到是动态布局还是静态布局 - * - * @class BI.TableLayoutLogic - * @extends BI.OB - */ -BI.TableLayoutLogic = BI.inherit(BI.Logic, { - _defaultConfig: function () { - return BI.extend(BI.TableLayoutLogic.superclass._defaultConfig.apply(this, arguments), { - dynamic: false, - scrollable: null, - scrolly: false, - scrollx: false, - columns: 0, - rows: 0, - columnSize: [], - rowSize: [], - hgap: 0, - vgap: 0, - items: [] - }); - }, - - createLogic: function () { - var layout, o = this.options; - if (o.dynamic) { - layout = "bi.table"; - } else { - layout = "bi.window"; - } - return { - type: layout, - scrollable: o.scrollable, - scrolly: o.scrolly, - scrollx: o.scrollx, - columns: o.columns, - rows: o.rows, - columnSize: o.columnSize, - rowSize: o.rowSize, - hgap: o.hgap, - vgap: o.vgap, - items: o.items - } - }, - - _init: function () { - BI.TableLayoutLogic.superclass._init.apply(this, arguments); - } -}); - -/** - * guy - * 左右充满布局逻辑 - * - * @class BI.HorizontalFillLayoutLogic - * @extends BI.Logic - */ -BI.HorizontalFillLayoutLogic = BI.inherit(BI.Logic, { - _defaultConfig: function () { - return BI.extend(BI.HorizontalFillLayoutLogic.superclass._defaultConfig.apply(this, arguments), { - dynamic: false, - scrollable: null, - scrolly: false, - scrollx: false, - items: [], - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - - createLogic: function () { - var layout, o = this.options; - var columnSize = []; - BI.each(o.items, function (i, item) { - columnSize.push(item.width || 0); - }); - if (o.dynamic) { - layout = "bi.horizontal_adapt"; - } else { - layout = "bi.htape"; - } - return { - type: layout, - columnSize: columnSize, - scrollable: o.scrollable, - scrolly: o.scrolly, - scrollx: o.scrollx, - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - items: o.items - } - }, - - _init: function () { - BI.HorizontalFillLayoutLogic.superclass._init.apply(this, arguments); - } -}); \ No newline at end of file diff --git a/src/core/ob.js b/src/core/ob.js deleted file mode 100644 index 51848c34f2..0000000000 --- a/src/core/ob.js +++ /dev/null @@ -1,144 +0,0 @@ -/** - * 客户端观察者,主要处理事件的添加、删除、执行等 - * @class BI.OB - * @abstract - */ -BI.OB = function (config) { - var props = this.props; - if (BI.isFunction(this.props)) { - props = this.props(config); - } - this.options = $.extend(this._defaultConfig(config), props, config); - this._init(); - this._initRef(); -}; -$.extend(BI.OB.prototype, { - props: {}, - init: null, - destroyed: null, - - _defaultConfig: function (config) { - return {}; - }, - - _init: function () { - this._initListeners(); - this.init && this.init(); - }, - - _initListeners: function () { - var self = this; - if (this.options.listeners != null) { - $.each(this.options.listeners, function (i, lis) { - (lis.target ? lis.target : self)[lis.once ? 'once' : 'on'] - (lis.eventName, _.bind(lis.action, self)) - }); - delete this.options.listeners; - } - }, - - //获得一个当前对象的引用 - _initRef: function () { - if (this.options.ref) { - this.options.ref.call(this, this); - } - }, - - _getEvents: function () { - if (!$.isArray(this.events)) { - this.events = [] - } - return this.events; - }, - - /** - * 给观察者绑定一个事件 - * @param {String} eventName 事件的名字 - * @param {Function} fn 事件对应的执行函数 - */ - on: function (eventName, fn) { - eventName = eventName.toLowerCase(); - var fns = this._getEvents()[eventName]; - if (!$.isArray(fns)) { - fns = []; - this._getEvents()[eventName] = fns; - } - fns.push(fn); - }, - - /** - * 给观察者绑定一个只执行一次的事件 - * @param {String} eventName 事件的名字 - * @param {Function} fn 事件对应的执行函数 - */ - once: function (eventName, fn) { - var proxy = function () { - fn.apply(this, arguments); - this.un(eventName, proxy); - }; - this.on(eventName, proxy); - }, - /** - * 解除观察者绑定的指定事件 - * @param {String} eventName 要解除绑定事件的名字 - * @param {Function} fn 事件对应的执行函数,该参数是可选的,没有该参数时,将解除绑定所有同名字的事件 - */ - un: function (eventName, fn) { - eventName = eventName.toLowerCase(); - - /*alex:如果fn是null,就是把eventName上面所有方法都un掉*/ - if (fn == null) { - delete this._getEvents()[eventName]; - } else { - var fns = this._getEvents()[eventName]; - if ($.isArray(fns)) { - var newFns = []; - $.each(fns, function (idx, ifn) { - if (ifn != fn) { - newFns.push(ifn); - } - }) - this._getEvents()[eventName] = newFns; - } - } - }, - /** - * 清除观察者的所有事件绑定 - */ - purgeListeners: function () { - /*alex:清空events*/ - this.events = []; - }, - /** - * 触发绑定过的事件 - * - * @param {String} eventName 要触发的事件的名字 - * @returns {Boolean} 如果事件函数返回false,则返回false并中断其他同名事件的执行,否则执行所有的同名事件并返回true - */ - fireEvent: function () { - var eventName = arguments[0].toLowerCase(); - var fns = this._getEvents()[eventName]; - if (BI.isArray(fns)) { - if (BI.isArguments(arguments[1])) { - for (var i = 0; i < fns.length; i++) { - if (fns[i].apply(this, arguments[1]) === false) { - return false; - } - } - } else { - var args = Array.prototype.slice.call(arguments, 1); - for (var i = 0; i < fns.length; i++) { - if (fns[i].apply(this, args) === false) { - return false; - } - } - } - } - return true; - }, - - destroy: function () { - this.destroyed && this.destroyed(); - this.purgeListeners(); - } -}); \ No newline at end of file diff --git a/src/core/plugin.js b/src/core/plugin.js deleted file mode 100644 index b92aa075bc..0000000000 --- a/src/core/plugin.js +++ /dev/null @@ -1,58 +0,0 @@ -BI.Plugin = BI.Plugin || {}; -; -(function () { - var _WidgetsPlugin = {}; - var _ObjectPlugin = {}; - BI.extend(BI.Plugin, { - - getWidget: function (type, options) { - if (_WidgetsPlugin[type]) { - var res; - for (var i = _WidgetsPlugin[type].length-1; i >=0; i--) { - if (res = _WidgetsPlugin[type][i](options)) { - return res; - } - } - } - return options; - }, - - registerWidget: function (type, fn) { - if (!_WidgetsPlugin[type]) { - _WidgetsPlugin[type] = []; - } - if (_WidgetsPlugin[type].length > 0) { - console.log("组件已经注册过了!"); - } - _WidgetsPlugin[type].push(fn); - }, - - relieveWidget: function (type) { - delete _WidgetsPlugin[type]; - }, - - getObject: function (type, object) { - if (_ObjectPlugin[type]) { - var res; - for (var i = 0, len = _ObjectPlugin[type].length; i < len; i++) { - res = _ObjectPlugin[type][i](object); - } - } - return res || object; - }, - - registerObject: function (type, fn) { - if (!_ObjectPlugin[type]) { - _ObjectPlugin[type] = []; - } - if (_ObjectPlugin[type].length > 0) { - console.log("对象已经注册过了!"); - } - _ObjectPlugin[type].push(fn); - }, - - relieveObject: function (type) { - delete _ObjectPlugin[type]; - } - }); -})(); \ No newline at end of file diff --git a/src/core/proto/array.js b/src/core/proto/array.js deleted file mode 100644 index 5bf8cc3c34..0000000000 --- a/src/core/proto/array.js +++ /dev/null @@ -1,38 +0,0 @@ -/** - * 对数组对象的扩展 - * @class Array - */ -$.extend(Array.prototype, { - contains: function (o) { - return this.indexOf(o) > -1; - }, - - /** - * 从数组中移除指定的值,如果值不在数组中,则不产生任何效果 - * @param {Object} o 要移除的值 - * @return {Array} 移除制定值后的数组 - */ - remove: function (o) { - var index = this.indexOf(o); - if (index !== -1) { - this.splice(index, 1); - } - return this; - }, - - pushArray: function (array) { - for (var i = 0; i < array.length; i++) { - this.push(array[i]); - } - }, - pushDistinct: function (obj) { - if (!this.contains(obj)) { - this.push(obj); - } - }, - pushDistinctArray: function (array) { - for (var i = 0, len = array.length; i < len; i++) { - this.pushDistinct(array[i]); - } - } -}); diff --git a/src/core/proto/cache.js b/src/core/proto/cache.js deleted file mode 100644 index 5e0668138d..0000000000 --- a/src/core/proto/cache.js +++ /dev/null @@ -1,78 +0,0 @@ - -BI.Cache = { - _prefix: "bi", - setUsername: function (username) { - localStorage.setItem(BI.Cache._prefix + ".username", (username + "" || "").toUpperCase()); - }, - getUsername: function () { - return localStorage.getItem(BI.Cache._prefix + ".username") || ""; - }, - _getKeyPrefix: function () { - return BI.Cache.getUsername() + "." + BI.Cache._prefix + "."; - }, - _generateKey: function (key) { - return BI.Cache._getKeyPrefix() + (key || ""); - }, - getItem: function (key) { - return localStorage.getItem(BI.Cache._generateKey(key)); - }, - setItem: function (key, value) { - localStorage.setItem(BI.Cache._generateKey(key), value); - }, - removeItem: function (key) { - localStorage.removeItem(BI.Cache._generateKey(key)); - }, - clear: function () { - for (var i = localStorage.length; i >= 0; i--) { - var key = localStorage.key(i); - if (key) { - if (key.indexOf(BI.Cache._getKeyPrefix()) === 0) { - localStorage.removeItem(key); - } - } - } - }, - keys: function () { - var result = []; - for (var i = localStorage.length; i >= 0; i--) { - var key = localStorage.key(i); - if (key) { - var prefix = BI.Cache._getKeyPrefix(); - if (key.indexOf(prefix) === 0) { - result[result.length] = key.substring(prefix.length); - } - } - } - return result; - }, - - addCookie: function (name, value, path, expiresHours) { - var cookieString = name + "=" + escape(value); - // 判断是否设置过期时间 - if (expiresHours && expiresHours > 0) { - var date = new Date(); - date.setTime(date.getTime() + expiresHours * 3600 * 1000); - cookieString = cookieString + "; expires=" + date.toGMTString(); - } - if (path) { - cookieString = cookieString + "; path=" + path; - } - document.cookie = cookieString; - }, - getCookie: function (name) { - var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); - if (arr = document.cookie.match(reg)) - return unescape(arr[2]); - else - return null; - }, - deleteCookie: function (name, path) { - var date = new Date(); - date.setTime(date.getTime() - 10000); - var cookieString = name + "=v; expires=" + date.toGMTString(); - if (path) { - cookieString = cookieString + "; path=" + path; - } - document.cookie = cookieString; - } -}; \ No newline at end of file diff --git a/src/core/proto/date.js b/src/core/proto/date.js deleted file mode 100644 index 259af07b52..0000000000 --- a/src/core/proto/date.js +++ /dev/null @@ -1,551 +0,0 @@ -$(function () { - //牵扯到国际化这些常量在页面加载后再生效 - // full day names - Date._DN = [BI.i18nText("BI-Basic_Sunday"), - BI.i18nText("BI-Basic_Monday"), - BI.i18nText("BI-Basic_Tuesday"), - BI.i18nText("BI-Basic_Wednesday"), - BI.i18nText("BI-Basic_Thursday"), - BI.i18nText("BI-Basic_Friday"), - BI.i18nText("BI-Basic_Saturday"), - BI.i18nText("BI-Basic_Sunday")]; - - // short day names - Date._SDN = [BI.i18nText("BI-Basic_Simple_Sunday"), - BI.i18nText("BI-Basic_Simple_Monday"), - BI.i18nText("BI-Basic_Simple_Tuesday"), - BI.i18nText("BI-Basic_Simple_Wednesday"), - BI.i18nText("BI-Basic_Simple_Thursday"), - BI.i18nText("BI-Basic_Simple_Friday"), - BI.i18nText("BI-Basic_Simple_Saturday"), - BI.i18nText("BI-Basic_Simple_Sunday")]; - - // Monday first, etc. - Date._FD = 1; - - // full month namesdat - Date._MN = [ - BI.i18nText("BI-Basic_January"), - BI.i18nText("BI-Basic_February"), - BI.i18nText("BI-Basic_March"), - BI.i18nText("BI-Basic_April"), - BI.i18nText("BI-Basic_May"), - BI.i18nText("BI-Basic_June"), - BI.i18nText("BI-Basic_July"), - BI.i18nText("BI-Basic_August"), - BI.i18nText("BI-Basic_September"), - BI.i18nText("BI-Basic_October"), - BI.i18nText("BI-Basic_November"), - BI.i18nText("BI-Basic_December")]; - - // short month names - Date._SMN = [0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11]; - - Date._QN = ["", BI.i18nText("BI-Quarter_1"), - BI.i18nText("BI-Quarter_2"), - BI.i18nText("BI-Quarter_3"), - BI.i18nText("BI-Quarter_4")]; - - /** Adds the number of days array to the Date object. */ - Date._MD = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; -}) - -/** Constants used for time computations */ -Date.SECOND = 1000 /* milliseconds */; -Date.MINUTE = 60 * Date.SECOND; -Date.HOUR = 60 * Date.MINUTE; -Date.DAY = 24 * Date.HOUR; -Date.WEEK = 7 * Date.DAY; - -/** - * 获取时区 - * @returns {String} - */ -Date.prototype.getTimezone = function () { - return this.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,4})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/, "$1$2").replace(/[^A-Z]/g, ""); -}; - -/** Returns the number of days in the current month */ -Date.prototype.getMonthDays = function (month) { - var year = this.getFullYear(); - if (typeof month == "undefined") { - month = this.getMonth(); - } - if (((0 == (year % 4)) && ( (0 != (year % 100)) || (0 == (year % 400)))) && month == 1) { - return 29; - } else { - return Date._MD[month]; - } -}; - -/** - * 获取每月的最后一天 - * @returns {Date} - */ -Date.prototype.getLastDateOfMonth = function () { - return new Date(this.getFullYear(), this.getMonth(), this.getMonthDays()); -}; - -/** Returns the number of day in the year. */ -Date.prototype.getDayOfYear = function () { - var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0); - var then = new Date(this.getFullYear(), 0, 0, 0, 0, 0); - var time = now - then; - return Math.floor(time / Date.DAY); -}; - -/** Returns the number of the week in year, as defined in ISO 8601. */ -Date.prototype.getWeekNumber = function () { - var d = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0); - var week = d.getDay(); - if (this.getMonth() === 0 && this.getDate() <= week) { - return 1; - } - d.setDate(this.getDate() - week); - var ms = d.valueOf(); // GMT - d.setMonth(0); - d.setDate(1); - var offset = Math.floor((ms - d.valueOf()) / (7 * 864e5)) + 1; - if (d.getDay() > 0) { - offset++; - } - return offset; -}; - -//离当前时间多少天的时间 -Date.prototype.getOffsetDate = function (offset) { - return new Date(this.getTime() + offset * 864e5); -}; - -Date.prototype.getAfterMulQuarter = function (n) { - var dt = new Date(this.getTime()); - dt.setMonth(dt.getMonth() + n * 3); - return dt; -}; -//获得n个季度前的日期 -Date.prototype.getBeforeMulQuarter = function (n) { - var dt = new Date(this.getTime()); - dt.setMonth(dt.getMonth() - n * 3); - return dt; -}; -//得到本季度的起始月份 -Date.prototype.getQuarterStartMonth = function () { - var quarterStartMonth = 0; - var nowMonth = this.getMonth(); - if (nowMonth < 3) { - quarterStartMonth = 0; - } - if (2 < nowMonth && nowMonth < 6) { - quarterStartMonth = 3; - } - if (5 < nowMonth && nowMonth < 9) { - quarterStartMonth = 6; - } - if (nowMonth > 8) { - quarterStartMonth = 9; - } - return quarterStartMonth; -}; -//获得本季度的起始日期 -Date.prototype.getQuarterStartDate = function () { - return new Date(this.getFullYear(), this.getQuarterStartMonth(), 1); -}; -//得到本季度的结束日期 -Date.prototype.getQuarterEndDate = function () { - var quarterEndMonth = this.getQuarterStartMonth() + 2; - return new Date(this.getFullYear(), quarterEndMonth, this.getMonthDays(quarterEndMonth)); -}; -Date.prototype.getAfterMultiMonth = function (n) { - var dt = new Date(this.getTime()); - dt.setMonth(dt.getMonth() + n | 0); - return dt; -}; -Date.prototype.getBeforeMultiMonth = function (n) { - var dt = new Date(this.getTime()); - dt.setMonth(dt.getMonth() - n | 0); - return dt; -}; - -Date.prototype.getAfterMulQuarter = function (n) { - var dt = new Date(this.getTime()); - dt.setMonth(dt.getMonth() + n * 3); - return dt; -}; -//获得n个季度前的日期 -Date.prototype.getBeforeMulQuarter = function (n) { - var dt = new Date(this.getTime()); - dt.setMonth(dt.getMonth() - n * 3); - return dt; -}; -//得到本季度的起始月份 -Date.prototype.getQuarterStartMonth = function () { - var quarterStartMonth = 0; - var nowMonth = this.getMonth(); - if (nowMonth < 3) { - quarterStartMonth = 0; - } - if (2 < nowMonth && nowMonth < 6) { - quarterStartMonth = 3; - } - if (5 < nowMonth && nowMonth < 9) { - quarterStartMonth = 6; - } - if (nowMonth > 8) { - quarterStartMonth = 9; - } - return quarterStartMonth; -}; - -//指定日期n个月之前或之后的日期 -Date.prototype.getOffsetMonth = function (n) { - var dt = new Date(this.getTime()); - var day = dt.getDate(); - var monthDay = new Date(dt.getFullYear(), dt.getMonth() + parseInt(n), 1).getMonthDays(); - if (day > monthDay) { - day = monthDay; - } - dt.setDate(day); - dt.setMonth(dt.getMonth() + parseInt(n)); - return dt; -}; - -//获得本周的起始日期 -Date.prototype.getWeekStartDate = function () { - var w = this.getDay(); - return this.getOffsetDate(-w); -}; -//得到本周的结束日期 -Date.prototype.getWeekEndDate = function () { - var w = this.getDay(); - var offset = (w === 0 ? 6 : 6 - w); - return this.getOffsetDate(offset); -}; - -//获得本季度的起始日期 -Date.prototype.getQuarterStartDate = function () { - return new Date(this.getFullYear(), this.getQuarterStartMonth(), 1); -}; -//得到本季度的结束日期 -Date.prototype.getQuarterEndDate = function () { - var quarterEndMonth = this.getQuarterStartMonth() + 2; - return new Date(this.getFullYear(), quarterEndMonth, this.getMonthDays(quarterEndMonth)); -}; -Date.prototype.getAfterMultiMonth = function (n) { - var dt = new Date(this.getTime()); - dt.setMonth(dt.getMonth() + n | 0); - return dt; -}; -Date.prototype.getBeforeMultiMonth = function (n) { - var dt = new Date(this.getTime()); - dt.setMonth(dt.getMonth() - n | 0); - return dt; -}; - -//获得当前时区对应指定时区的时间 -Date.prototype.getTimeZoneTimeByTimezoneOffset = function (offset) { - var dt = new Date(this.getTime()); - var localTime = dt.getTime(); - var localOffset = dt.getTimezoneOffset() * 60000; //获得当地时间偏移的毫秒数 - var utc = localTime + localOffset; //utc即GMT时间标准时区 - return new Date(utc + offset); -}; - -/** Checks date and time equality */ -Date.prototype.equalsTo = function (date) { - return ((this.getFullYear() == date.getFullYear()) && - (this.getMonth() == date.getMonth()) && - (this.getDate() == date.getDate()) && - (this.getHours() == date.getHours()) && - (this.getMinutes() == date.getMinutes()) && - (this.getSeconds() == date.getSeconds())); -}; - -/** Set only the year, month, date parts (keep existing time) */ -Date.prototype.setDateOnly = function (date) { - var tmp = new Date(date); - this.setDate(1); - this.setFullYear(tmp.getFullYear()); - this.setMonth(tmp.getMonth()); - this.setDate(tmp.getDate()); -}; -/** Prints the date in a string according to the given format. */ -Date.prototype.print = function (str) { - var m = this.getMonth(); - var d = this.getDate(); - var y = this.getFullYear(); - var wn = this.getWeekNumber(); - var w = this.getDay(); - var s = {}; - var hr = this.getHours(); - var pm = (hr >= 12); - var ir = (pm) ? (hr - 12) : hr; - var dy = this.getDayOfYear(); - if (ir == 0) { - ir = 12; - } - var min = this.getMinutes(); - var sec = this.getSeconds(); - s["%a"] = Date._SDN[w]; // abbreviated weekday name [FIXME: I18N] - s["%A"] = Date._DN[w]; // full weekday name - s["%b"] = Date._SMN[m]; // abbreviated month name [FIXME: I18N] - s["%B"] = Date._MN[m]; // full month name - // FIXME: %c : preferred date and time representation for the current locale - s["%C"] = 1 + Math.floor(y / 100); // the century number - s["%d"] = (d < 10) ? ("0" + d) : d; // the day of the month (range 01 to 31) - s["%e"] = d; // the day of the month (range 1 to 31) - // FIXME: %D : american date style: %m/%d/%y - // FIXME: %E, %F, %G, %g, %h (man strftime) - s["%H"] = (hr < 10) ? ("0" + hr) : hr; // hour, range 00 to 23 (24h format) - s["%I"] = (ir < 10) ? ("0" + ir) : ir; // hour, range 01 to 12 (12h format) - s["%j"] = (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; // day of the year (range 001 to 366) - s["%k"] = hr; // hour, range 0 to 23 (24h format) - s["%l"] = ir; // hour, range 1 to 12 (12h format) - s["%X"] = (m < 9) ? ("0" + (1 + m)) : (1 + m); // month, range 01 to 12 - s["%x"] = m + 1 // month, range 1 to 12 - s["%M"] = (min < 10) ? ("0" + min) : min; // minute, range 00 to 59 - s["%n"] = "\n"; // a newline character - s["%p"] = pm ? "PM" : "AM"; - s["%P"] = pm ? "pm" : "am"; - // FIXME: %r : the time in am/pm notation %I:%M:%S %p - // FIXME: %R : the time in 24-hour notation %H:%M - s["%s"] = Math.floor(this.getTime() / 1000); - s["%S"] = (sec < 10) ? ("0" + sec) : sec; // seconds, range 00 to 59 - s["%t"] = "\t"; // a tab character - // FIXME: %T : the time in 24-hour notation (%H:%M:%S) - s["%U"] = s["%W"] = s["%V"] = (wn < 10) ? ("0" + wn) : wn; - s["%u"] = w + 1; // the day of the week (range 1 to 7, 1 = MON) - s["%w"] = w; // the day of the week (range 0 to 6, 0 = SUN) - // FIXME: %x : preferred date representation for the current locale without the time - // FIXME: %X : preferred time representation for the current locale without the date - s["%y"] = ('' + y).substr(2, 2); // year without the century (range 00 to 99) - s["%Y"] = y; // year with the century - s["%%"] = "%"; // a literal '%' character - - var re = /%./g; - if (!BI.isKhtml()) { - return str.replace(re, function (par) { - return s[par] || par; - }); - } - - var a = str.match(re); - for (var i = 0; i < a.length; i++) { - var tmp = s[a[i]]; - if (tmp) { - re = new RegExp(a[i], 'g'); - str = str.replace(re, tmp); - } - } - - return str; -}; - -/** - * 是否是闰年 - * @param year - * @returns {boolean} - */ -Date.isLeap = function (year) { - return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; -}; - -/** - * 检测是否在有效期 - * - * @param YY 年 - * @param MM 月 - * @param DD 日 - * @param minDate '1900-01-01' - * @param maxDate '2099-12-31' - * @returns {Array} 若无效返回无效状态 - */ -Date.checkVoid = function (YY, MM, DD, minDate, maxDate) { - var back = []; - YY = YY | 0; - MM = MM | 0; - DD = DD | 0; - minDate = BI.isString(minDate) ? minDate.match(/\d+/g) : minDate; - maxDate = BI.isString(maxDate) ? maxDate.match(/\d+/g) : maxDate; - if (YY < minDate[0]) { - back = ['y']; - } else if (YY > maxDate[0]) { - back = ['y', 1]; - } else if (YY >= minDate[0] && YY <= maxDate[0]) { - if (YY == minDate[0]) { - if (MM < minDate[1]) { - back = ['m']; - } else if (MM == minDate[1]) { - if (DD < minDate[2]) { - back = ['d']; - } - } - } - if (YY == maxDate[0]) { - if (MM > maxDate[1]) { - back = ['m', 1]; - } else if (MM == maxDate[1]) { - if (DD > maxDate[2]) { - back = ['d', 1]; - } - } - } - } - return back; -}; - -Date.checkLegal = function (str) { - var ar = str.match(/\d+/g); - var YY = ar[0] | 0, MM = ar[1] | 0, DD = ar[2] | 0; - if (ar.length <= 1) { - return true; - } - if (ar.length <= 2) { - return MM >= 1 && MM <= 12; - } - var MD = Date._MD.slice(0); - MD[1] = Date.isLeap(YY) ? 29 : 28; - return MM >= 1 && MM <= 12 && DD <= MD[MM - 1]; -}; - -Date.parseDateTime = function (str, fmt) { - var today = new Date(); - var y = 0; - var m = 0; - var d = 1; - //wei : 对于fmt为‘YYYYMM’或者‘YYYYMMdd’的格式,str的值为类似'201111'的形式,因为年月之间没有分隔符,所以正则表达式分割无效,导致bug7376。 - var a = str.split(/\W+/); - if (fmt.toLowerCase() == '%y%x' || fmt.toLowerCase() == '%y%x%d') { - var yearlength = 4; - var otherlength = 2; - a[0] = str.substring(0, yearlength); - a[1] = str.substring(yearlength, yearlength + otherlength); - a[2] = str.substring(yearlength + otherlength, yearlength + otherlength * 2); - } - var b = fmt.match(/%./g); - var i = 0, j = 0; - var hr = 0; - var min = 0; - var sec = 0; - for (i = 0; i < a.length; ++i) { - switch (b[i]) { - case "%d": - case "%e": - d = parseInt(a[i], 10); - break; - - case "%X": - m = parseInt(a[i], 10) - 1; - break; - case "%x": - m = parseInt(a[i], 10) - 1; - break; - - case "%Y": - case "%y": - y = parseInt(a[i], 10); - (y < 100) && (y += (y > 29) ? 1900 : 2000); - break; - - case "%b": - case "%B": - for (j = 0; j < 12; ++j) { - if (Date._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { - m = j; - break; - } - } - break; - - case "%H": - case "%I": - case "%k": - case "%l": - hr = parseInt(a[i], 10); - break; - - case "%P": - case "%p": - if (/pm/i.test(a[i]) && hr < 12) { - hr += 12; - } else if (/am/i.test(a[i]) && hr >= 12) { - hr -= 12; - } - break; - - case "%M": - min = parseInt(a[i], 10); - case "%S": - sec = parseInt(a[i], 10); - break; - } - } -// if (!a[i]) { -// continue; -// } - if (isNaN(y)) { - y = today.getFullYear(); - } - if (isNaN(m)) { - m = today.getMonth(); - } - if (isNaN(d)) { - d = today.getDate(); - } - if (isNaN(hr)) { - hr = today.getHours(); - } - if (isNaN(min)) { - min = today.getMinutes(); - } - if (isNaN(sec)) { - sec = today.getSeconds(); - } - if (y != 0) { - return new Date(y, m, d, hr, min, sec); - } - y = 0; - m = -1; - d = 0; - for (i = 0; i < a.length; ++i) { - if (a[i].search(/[a-zA-Z]+/) != -1) { - var t = -1; - for (j = 0; j < 12; ++j) { - if (Date._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { - t = j; - break; - } - } - if (t != -1) { - if (m != -1) { - d = m + 1; - } - m = t; - } - } else if (parseInt(a[i], 10) <= 12 && m == -1) { - m = a[i] - 1; - } else if (parseInt(a[i], 10) > 31 && y == 0) { - y = parseInt(a[i], 10); - (y < 100) && (y += (y > 29) ? 1900 : 2000); - } else if (d == 0) { - d = a[i]; - } - } - if (y == 0) { - y = today.getFullYear(); - } - if (m != -1 && d != 0) { - return new Date(y, m, d, hr, min, sec); - } - return today; -}; diff --git a/src/core/proto/event.js b/src/core/proto/event.js deleted file mode 100644 index 500245ca61..0000000000 --- a/src/core/proto/event.js +++ /dev/null @@ -1,10 +0,0 @@ -/* - * 给jQuery.Event对象添加的工具方法 - */ -$.extend($.Event.prototype, { - // event.stopEvent - stopEvent: function () { - this.stopPropagation(); - this.preventDefault(); - } -}); \ No newline at end of file diff --git a/src/core/proto/function.js b/src/core/proto/function.js deleted file mode 100644 index 40ea22c827..0000000000 --- a/src/core/proto/function.js +++ /dev/null @@ -1,21 +0,0 @@ -Function.prototype.before = function (func) { - var __self = this; - return function () { - if (func.apply(this, arguments) === false) { - return false; - } - return __self.apply(this, arguments); - } -}; - -Function.prototype.after = function (func) { - var __self = this; - return function () { - var ret = __self.apply(this, arguments); - if (ret === false) { - return false; - } - func.apply(this, arguments); - return ret; - } -}; \ No newline at end of file diff --git a/src/core/proto/jquery.js b/src/core/proto/jquery.js deleted file mode 100644 index 83806cf31a..0000000000 --- a/src/core/proto/jquery.js +++ /dev/null @@ -1,59 +0,0 @@ -if (jQuery) { - (function ($) { - // richer:容器在其各个边缘留出的空间 - if (!$.fn.insets) { - $.fn.insets = function () { - var p = this.padding(), - b = this.border(); - return { - 'top': p.top, - 'bottom': p.bottom + b.bottom + b.top, - 'left': p.left, - 'right': p.right + b.right + b.left - }; - }; - } - - // richer:获取 && 设置jQuery元素的边界 - if (!$.fn.bounds) { - $.fn.bounds = function (value) { - var tmp = {hasIgnoredBounds: true}; - - if (value) { - if (!isNaN(value.x)) { - tmp.left = value.x; - } - if (!isNaN(value.y)) { - tmp.top = value.y; - } - if (value.width != null) { - tmp.width = (value.width - (this.outerWidth(true) - this.width())); - tmp.width = (tmp.width >= 0) ? tmp.width : value.width; - // fix chrome - //tmp.width = (tmp.width >= 0) ? tmp.width : 0; - } - if (value.height != null) { - tmp.height = value.height - (this.outerHeight(true) - this.height()); - tmp.height = (tmp.height >= 0) ? tmp.height : value.height; - // fix chrome - //tmp.height = (tmp.height >= 0) ? tmp.height : value.0; - } - this.css(tmp); - return this; - } - else { - // richer:注意此方法只对可见元素有效 - tmp = this.position(); - return { - 'x': tmp.left, - 'y': tmp.top, - // richer:这里计算外部宽度和高度的时候,都不包括边框 - 'width': this.outerWidth(), - 'height': this.outerHeight() - }; - } - }; - } - })(jQuery); -} -; \ No newline at end of file diff --git a/src/core/proto/number.js b/src/core/proto/number.js deleted file mode 100644 index 45f5656e64..0000000000 --- a/src/core/proto/number.js +++ /dev/null @@ -1,269 +0,0 @@ -if (!Number.prototype.toFixed || (0.00008).toFixed(3) !== '0.000' || - (0.9).toFixed(0) === '0' || (1.255).toFixed(2) !== '1.25' || - (1000000000000000128).toFixed(0) !== "1000000000000000128") { - (function () { - var base, size, data, i; - base = 1e7; - size = 6; - data = [0, 0, 0, 0, 0, 0]; - function multiply(n, c) { - var i = -1; - while (++i < size) { - c += n * data[i]; - data[i] = c % base; - c = Math.floor(c / base); - } - } - - function divide(n) { - var i = size, c = 0; - while (--i >= 0) { - c += data[i]; - data[i] = Math.floor(c / n); - c = (c % n) * base; - } - } - - function toString() { - var i = size; - var s = ''; - while (--i >= 0) { - if (s !== '' || i === 0 || data[i] !== 0) { - var t = String(data[i]); - if (s === '') { - s = t; - } else { - s += '0000000'.slice(0, 7 - t.length) + t; - } - } - } - return s; - } - - function pow(x, n, acc) { - return (n === 0 ? acc : (n % 2 === 1 ? pow(x, n - 1, acc * x) - : pow(x * x, n / 2, acc))); - } - - function log(x) { - var n = 0; - while (x >= 4096) { - n += 12; - x /= 4096; - } - while (x >= 2) { - n += 1; - x /= 2; - } - return n; - } - - Number.prototype.toFixed = function (fractionDigits) { - var f, x, s, m, e, z, j, k; - f = Number(fractionDigits); - f = f !== f ? 0 : Math.floor(f); - - if (f < 0 || f > 20) { - throw new RangeError('Number.toFixed called with invalid number of decimals'); - } - - x = Number(this); - - if (x !== x) { - return "NaN"; - } - - if (x <= -1e21 || x > 1e21) { - return String(x); - } - - s = ""; - - if (x < 0) { - s = "-"; - x = -x; - } - - m = "0"; - - if (x > 1e-21) { - //1e-21<x<1e21 - //-70<log2(x)<70 - e = log(x * pow(2, 69, 1)) - 69; - z = (e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1)); - z *= 0x10000000000000;//Math.pow(2,52); - e = 52 - e; - - //-18<e<122 - //x=z/2^e - if (e > 0) { - multiply(0, z); - j = f; - - while (j >= 7) { - multiply(1e7, 0); - j -= 7; - } - - multiply(pow(10, j, 1), 0); - j = e - 1; - - while (j >= 23) { - divide(1 << 23); - j -= 23; - } - divide(1 << j); - multiply(1, 1); - divide(2); - m = toString(); - } else { - multiply(0, z); - multiply(1 << (-e), 0); - m = toString() + '0.00000000000000000000'.slice(2, 2 + f); - } - } - - if (f > 0) { - k = m.length; - - if (k <= f) { - m = s + '0.0000000000000000000'.slice(0, f - k + 2) + m; - } else { - m = s + m.slice(0, k - f) + '.' + m.slice(k - f); - } - } else { - m = s + m; - } - - return m; - } - - })(); -} - - -/** - ** 加法函数,用来得到精确的加法结果 - ** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。 - ** 调用:accAdd(arg1,arg2) - ** 返回值:arg1加上arg2的精确结果 - **/ -function accAdd(arg1, arg2) { - var r1, r2, m, c; - try { - r1 = arg1.toString().split(".")[1].length; - } - catch (e) { - r1 = 0; - } - try { - r2 = arg2.toString().split(".")[1].length; - } - catch (e) { - r2 = 0; - } - c = Math.abs(r1 - r2); - m = Math.pow(10, Math.max(r1, r2)); - if (c > 0) { - var cm = Math.pow(10, c); - if (r1 > r2) { - arg1 = Number(arg1.toString().replace(".", "")); - arg2 = Number(arg2.toString().replace(".", "")) * cm; - } else { - arg1 = Number(arg1.toString().replace(".", "")) * cm; - arg2 = Number(arg2.toString().replace(".", "")); - } - } else { - arg1 = Number(arg1.toString().replace(".", "")); - arg2 = Number(arg2.toString().replace(".", "")); - } - return (arg1 + arg2) / m; -} - -//给Number类型增加一个add方法,调用起来更加方便。 -Number.prototype.add = function (arg) { - return accAdd(arg, this); -}; -/** - ** 减法函数,用来得到精确的减法结果 - ** 说明:javascript的减法结果会有误差,在两个浮点数相减的时候会比较明显。这个函数返回较为精确的减法结果。 - ** 调用:accSub(arg1,arg2) - ** 返回值:arg1加上arg2的精确结果 - **/ -function accSub(arg1, arg2) { - var r1, r2, m, n; - try { - r1 = arg1.toString().split(".")[1].length; - } - catch (e) { - r1 = 0; - } - try { - r2 = arg2.toString().split(".")[1].length; - } - catch (e) { - r2 = 0; - } - m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度 - n = (r1 >= r2) ? r1 : r2; - return ((arg1 * m - arg2 * m) / m).toFixed(n); -} - -// 给Number类型增加一个mul方法,调用起来更加方便。 -Number.prototype.sub = function (arg) { - return accSub(this, arg); -}; -/** - ** 乘法函数,用来得到精确的乘法结果 - ** 说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。 - ** 调用:accMul(arg1,arg2) - ** 返回值:arg1乘以 arg2的精确结果 - **/ -function accMul(arg1, arg2) { - var m = 0, s1 = arg1.toString(), s2 = arg2.toString(); - try { - m += s1.split(".")[1].length; - } - catch (e) { - } - try { - m += s2.split(".")[1].length; - } - catch (e) { - } - return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m); -} - -// 给Number类型增加一个mul方法,调用起来更加方便。 -Number.prototype.mul = function (arg) { - return accMul(arg, this); -}; -/** - ** 除法函数,用来得到精确的除法结果 - ** 说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。 - ** 调用:accDiv(arg1,arg2) - ** 返回值:arg1除以arg2的精确结果 - **/ -function accDiv(arg1, arg2) { - var t1 = 0, t2 = 0, r1, r2; - try { - t1 = arg1.toString().split(".")[1].length; - } - catch (e) { - } - try { - t2 = arg2.toString().split(".")[1].length; - } - catch (e) { - } - with (Math) { - r1 = Number(arg1.toString().replace(".", "")); - r2 = Number(arg2.toString().replace(".", "")); - return (t2 > t1) ? (r1 / r2) * pow(10, t2 - t1) : (r1 / r2) / pow(10, t1 - t2); - } -} - -//给Number类型增加一个div方法,调用起来更加方便。 -Number.prototype.div = function (arg) { - return accDiv(this, arg); -}; \ No newline at end of file diff --git a/src/core/proto/string.js b/src/core/proto/string.js deleted file mode 100644 index ed99ea99da..0000000000 --- a/src/core/proto/string.js +++ /dev/null @@ -1,173 +0,0 @@ -/** - * 对字符串对象的扩展 - * @class String - */ -$.extend(String.prototype, { - - /** - * 判断字符串是否已指定的字符串开始 - * @param {String} startTag 指定的开始字符串 - * @return {Boolean} 如果字符串以指定字符串开始则返回true,否则返回false - */ - startWith: function (startTag) { - if (startTag == null || startTag == "" || this.length === 0 || startTag.length > this.length) { - return false; - } - return this.substr(0, startTag.length) == startTag; - }, - /** - * 判断字符串是否以指定的字符串结束 - * @param {String} endTag 指定的字符串 - * @return {Boolean} 如果字符串以指定字符串结束则返回true,否则返回false - */ - endWith: function (endTag) { - if (endTag == null || endTag == "" || this.length === 0 || endTag.length > this.length) { - return false; - } - return this.substring(this.length - endTag.length) == endTag; - }, - - /** - * 获取url中指定名字的参数 - * @param {String} name 参数的名字 - * @return {String} 参数的值 - */ - getQuery: function (name) { - var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); - var r = this.substr(this.indexOf("?") + 1).match(reg); - if (r) { - return unescape(r[2]); - } - return null; - }, - - /** - * 给url加上给定的参数 - * @param {Object} paras 参数对象,是一个键值对对象 - * @return {String} 添加了给定参数的url - */ - appendQuery: function (paras) { - if (!paras) { - return this; - } - var src = this; - // 没有问号说明还没有参数 - if (src.indexOf("?") === -1) { - src += "?"; - } - // 如果以问号结尾,说明没有其他参数 - if (src.endWith("?") !== false) { - } else { - src += "&"; - } - $.each(paras, function (name, value) { - if (typeof(name) === 'string') { - src += name + "=" + value + "&"; - } - }); - src = src.substr(0, src.length - 1); - return src; - }, - /** - * 将所有符合第一个字符串所表示的字符串替换成为第二个字符串 - * @param {String} s1 要替换的字符串的正则表达式 - * @param {String} s2 替换的结果字符串 - * @returns {String} 替换后的字符串 - */ - replaceAll: function (s1, s2) { - return this.replace(new RegExp(s1, "gm"), s2); - }, - /** - * 总是让字符串以指定的字符开头 - * @param {String} start 指定的字符 - * @returns {String} 以指定字符开头的字符串 - */ - perfectStart: function (start) { - if (this.startWith(start)) { - return this; - } else { - return start + this; - } - }, - - /** - * 获取字符串中某字符串的所有项位置数组 - * @param {String} sub 子字符串 - * @return {Number[]} 子字符串在父字符串中出现的所有位置组成的数组 - */ - allIndexOf: function (sub) { - if (typeof sub != 'string') { - return []; - } - var str = this; - var location = []; - var offset = 0; - while (str.length > 0) { - var loc = str.indexOf(sub); - if (loc === -1) { - break; - } - location.push(offset + loc); - str = str.substring(loc + sub.length, str.length); - offset += loc + sub.length; - } - return location; - } -}); - -/** - * 对字符串对象的扩展 - * @class String - */ -$.extend(String, { - - /** - * 对字符串中的'和\做编码处理 - * @static - * @param {String} string 要做编码处理的字符串 - * @return {String} 编码后的字符串 - */ - escape: function (string) { - return string.replace(/('|\\)/g, "\\$1"); - }, - - /** - * 让字符串通过指定字符做补齐的函数 - * - * var s = String.leftPad('123', 5, '0');//s的值为:'00123' - * - * @static - * @param {String} val 原始值 - * @param {Number} size 总共需要的位数 - * @param {String} ch 用于补齐的字符 - * @return {String} 补齐后的字符串 - */ - leftPad: function (val, size, ch) { - var result = String(val); - if (!ch) { - ch = " "; - } - while (result.length < size) { - result = ch + result; - } - return result.toString(); - }, - - /** - * 对字符串做替换的函数 - * - * var cls = 'my-class', text = 'Some text'; - * var res = String.format('<div class="{0}>{1}</div>"', cls, text); - * //res的值为:'<div class="my-class">Some text</div>'; - * - * @static - * @param {String} format 要做替换的字符串,替换字符串1,替换字符串2... - * @return {String} 做了替换后的字符串 - */ - format: function (format) { - var args = Array.prototype.slice.call(arguments, 1); - return format.replace(/\{(\d+)\}/g, function (m, i) { - return args[i]; - }); - } -}); \ No newline at end of file diff --git a/src/core/shortcut.js b/src/core/shortcut.js deleted file mode 100644 index 173d428a84..0000000000 --- a/src/core/shortcut.js +++ /dev/null @@ -1,47 +0,0 @@ -(function () { - var kv = {}; - BI.shortcut = function (xtype, cls) { - if (kv[xtype] != null) { - throw ("shortcut:[" + xtype + "] has been registed"); - } - kv[xtype] = cls; - }; - - // 根据配置属性生成widget - var createWidget = function (config) { - if (config['classType']) { - return new (new Function('return ' + config['classType'] + ';')())(config); - } - - var cls = kv[config.type]; - return new cls(config); - }; - - BI.createWidget = function (item, options) { - var el, w; - options || (options = {}); - if (BI.isEmpty(item) && BI.isEmpty(options)) { - return BI.createWidget({ - type: "bi.layout" - }); - } - if (BI.isWidget(item)) { - return item; - } - if (item && (item.type || options.type)) { - el = BI.extend({}, options, item); - w = BI.Plugin.getWidget(el.type, el); - return BI.Plugin.getObject(el.type, w.type === el.type ? createWidget(w) : BI.createWidget(BI.extend({}, item, {type: w.type}, options))); - } - if (item && item.el && (item.el.type || options.type)) { - el = BI.extend({}, options, item.el); - w = BI.Plugin.getWidget(el.type, el); - return BI.Plugin.getObject(el.type, w.type === el.type ? createWidget(w) : BI.createWidget(BI.extend({}, item, {type: w.type}, options))); - } - if (item && BI.isWidget(item.el)) { - return item.el; - } - throw new Error('无法根据item创建组件'); - } - -})(); \ No newline at end of file diff --git a/src/core/underscore.js b/src/core/underscore.js deleted file mode 100644 index 3c67025c85..0000000000 --- a/src/core/underscore.js +++ /dev/null @@ -1,1545 +0,0 @@ -// Underscore.js 1.8.2 -// http://underscorejs.org -// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors -// Underscore may be freely distributed under the MIT license. - -(function() { - - // Baseline setup - // -------------- - - // Establish the root object, `window` in the browser, or `exports` on the server. - var root = this; - - // Save the previous value of the `_` variable. - var previousUnderscore = root._; - - // Save bytes in the minified (but not gzipped) version: - var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype; - - // Create quick reference variables for speed access to core prototypes. - var - push = ArrayProto.push, - slice = ArrayProto.slice, - toString = ObjProto.toString, - hasOwnProperty = ObjProto.hasOwnProperty; - - // All **ECMAScript 5** native function implementations that we hope to use - // are declared here. - var - nativeIsArray = Array.isArray, - nativeKeys = Object.keys, - nativeBind = FuncProto.bind, - nativeCreate = Object.create; - - // Naked function reference for surrogate-prototype-swapping. - var Ctor = function(){}; - - // Create a safe reference to the Underscore object for use below. - var _ = function(obj) { - if (obj instanceof _) return obj; - if (!(this instanceof _)) return new _(obj); - this._wrapped = obj; - }; - - // Export the Underscore object for **Node.js**, with - // backwards-compatibility for the old `require()` API. If we're in - // the browser, add `_` as a global object. - if (typeof exports !== 'undefined') { - if (typeof module !== 'undefined' && module.exports) { - exports = module.exports = _; - } - exports._ = _; - } else { - root._ = _; - } - - // Current version. - _.VERSION = '1.8.2'; - - // Internal function that returns an efficient (for current engines) version - // of the passed-in callback, to be repeatedly applied in other Underscore - // functions. - var optimizeCb = function(func, context, argCount) { - if (context === void 0) return func; - switch (argCount == null ? 3 : argCount) { - case 1: return function(value) { - return func.call(context, value); - }; - case 2: return function(value, other) { - return func.call(context, value, other); - }; - case 3: return function(value, index, collection) { - return func.call(context, value, index, collection); - }; - case 4: return function(accumulator, value, index, collection) { - return func.call(context, accumulator, value, index, collection); - }; - } - return function() { - return func.apply(context, arguments); - }; - }; - - // A mostly-internal function to generate callbacks that can be applied - // to each element in a collection, returning the desired result 鈥? either - // identity, an arbitrary callback, a property matcher, or a property accessor. - var cb = function(value, context, argCount) { - if (value == null) return _.identity; - if (_.isFunction(value)) return optimizeCb(value, context, argCount); - if (_.isObject(value)) return _.matcher(value); - return _.property(value); - }; - _.iteratee = function(value, context) { - return cb(value, context, Infinity); - }; - - // An internal function for creating assigner functions. - var createAssigner = function(keysFunc, undefinedOnly) { - return function(obj) { - var length = arguments.length; - if (length < 2 || obj == null) return obj; - for (var index = 1; index < length; index++) { - var source = arguments[index], - keys = keysFunc(source), - l = keys.length; - for (var i = 0; i < l; i++) { - var key = keys[i]; - if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key]; - } - } - return obj; - }; - }; - - // An internal function for creating a new object that inherits from another. - var baseCreate = function(prototype) { - if (!_.isObject(prototype)) return {}; - if (nativeCreate) return nativeCreate(prototype); - Ctor.prototype = prototype; - var result = new Ctor; - Ctor.prototype = null; - return result; - }; - - // Helper for collection methods to determine whether a collection - // should be iterated as an array or as an object - // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength - var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1; - var isArrayLike = function(collection) { - var length = collection != null && collection.length; - return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX; - }; - - // Collection Functions - // -------------------- - - // The cornerstone, an `each` implementation, aka `forEach`. - // Handles raw objects in addition to array-likes. Treats all - // sparse array-likes as if they were dense. - _.each = _.forEach = function(obj, iteratee, context) { - iteratee = optimizeCb(iteratee, context); - var i, length; - if (isArrayLike(obj)) { - for (i = 0, length = obj.length; i < length; i++) { - iteratee(obj[i], i, obj); - } - } else { - var keys = _.keys(obj); - for (i = 0, length = keys.length; i < length; i++) { - iteratee(obj[keys[i]], keys[i], obj); - } - } - return obj; - }; - - // Return the results of applying the iteratee to each element. - _.map = _.collect = function(obj, iteratee, context) { - iteratee = cb(iteratee, context); - var keys = !isArrayLike(obj) && _.keys(obj), - length = (keys || obj).length, - results = Array(length); - for (var index = 0; index < length; index++) { - var currentKey = keys ? keys[index] : index; - results[index] = iteratee(obj[currentKey], currentKey, obj); - } - return results; - }; - - // Create a reducing function iterating left or right. - function createReduce(dir) { - // Optimized iterator function as using arguments.length - // in the main function will deoptimize the, see #1991. - function iterator(obj, iteratee, memo, keys, index, length) { - for (; index >= 0 && index < length; index += dir) { - var currentKey = keys ? keys[index] : index; - memo = iteratee(memo, obj[currentKey], currentKey, obj); - } - return memo; - } - - return function(obj, iteratee, memo, context) { - iteratee = optimizeCb(iteratee, context, 4); - var keys = !isArrayLike(obj) && _.keys(obj), - length = (keys || obj).length, - index = dir > 0 ? 0 : length - 1; - // Determine the initial value if none is provided. - if (arguments.length < 3) { - memo = obj[keys ? keys[index] : index]; - index += dir; - } - return iterator(obj, iteratee, memo, keys, index, length); - }; - } - - // **Reduce** builds up a single result from a list of values, aka `inject`, - // or `foldl`. - _.reduce = _.foldl = _.inject = createReduce(1); - - // The right-associative version of reduce, also known as `foldr`. - _.reduceRight = _.foldr = createReduce(-1); - - // Return the first value which passes a truth test. Aliased as `detect`. - _.find = _.detect = function(obj, predicate, context) { - var key; - if (isArrayLike(obj)) { - key = _.findIndex(obj, predicate, context); - } else { - key = _.findKey(obj, predicate, context); - } - if (key !== void 0 && key !== -1) return obj[key]; - }; - - // Return all the elements that pass a truth test. - // Aliased as `select`. - _.filter = _.select = function(obj, predicate, context) { - var results = []; - predicate = cb(predicate, context); - _.each(obj, function(value, index, list) { - if (predicate(value, index, list)) results.push(value); - }); - return results; - }; - - // Return all the elements for which a truth test fails. - _.reject = function(obj, predicate, context) { - return _.filter(obj, _.negate(cb(predicate)), context); - }; - - // Determine whether all of the elements match a truth test. - // Aliased as `all`. - _.every = _.all = function(obj, predicate, context) { - predicate = cb(predicate, context); - var keys = !isArrayLike(obj) && _.keys(obj), - length = (keys || obj).length; - for (var index = 0; index < length; index++) { - var currentKey = keys ? keys[index] : index; - if (!predicate(obj[currentKey], currentKey, obj)) return false; - } - return true; - }; - - // Determine if at least one element in the object matches a truth test. - // Aliased as `any`. - _.some = _.any = function(obj, predicate, context) { - predicate = cb(predicate, context); - var keys = !isArrayLike(obj) && _.keys(obj), - length = (keys || obj).length; - for (var index = 0; index < length; index++) { - var currentKey = keys ? keys[index] : index; - if (predicate(obj[currentKey], currentKey, obj)) return true; - } - return false; - }; - - // Determine if the array or object contains a given value (using `===`). - // Aliased as `includes` and `include`. - _.contains = _.includes = _.include = function(obj, target, fromIndex) { - if (!isArrayLike(obj)) obj = _.values(obj); - return _.indexOf(obj, target, typeof fromIndex == 'number' && fromIndex) >= 0; - }; - - // Invoke a method (with arguments) on every item in a collection. - _.invoke = function(obj, method) { - var args = slice.call(arguments, 2); - var isFunc = _.isFunction(method); - return _.map(obj, function(value) { - var func = isFunc ? method : value[method]; - return func == null ? func : func.apply(value, args); - }); - }; - - // Convenience version of a common use case of `map`: fetching a property. - _.pluck = function(obj, key) { - return _.map(obj, _.property(key)); - }; - - // Convenience version of a common use case of `filter`: selecting only objects - // containing specific `key:value` pairs. - _.where = function(obj, attrs) { - return _.filter(obj, _.matcher(attrs)); - }; - - // Convenience version of a common use case of `find`: getting the first object - // containing specific `key:value` pairs. - _.findWhere = function(obj, attrs) { - return _.find(obj, _.matcher(attrs)); - }; - - // Return the maximum element (or element-based computation). - _.max = function(obj, iteratee, context) { - var result = -Infinity, lastComputed = -Infinity, - value, computed; - if (iteratee == null && obj != null) { - obj = isArrayLike(obj) ? obj : _.values(obj); - for (var i = 0, length = obj.length; i < length; i++) { - value = obj[i]; - if (value > result) { - result = value; - } - } - } else { - iteratee = cb(iteratee, context); - _.each(obj, function(value, index, list) { - computed = iteratee(value, index, list); - if (computed > lastComputed || computed === -Infinity && result === -Infinity) { - result = value; - lastComputed = computed; - } - }); - } - return result; - }; - - // Return the minimum element (or element-based computation). - _.min = function(obj, iteratee, context) { - var result = Infinity, lastComputed = Infinity, - value, computed; - if (iteratee == null && obj != null) { - obj = isArrayLike(obj) ? obj : _.values(obj); - for (var i = 0, length = obj.length; i < length; i++) { - value = obj[i]; - if (value < result) { - result = value; - } - } - } else { - iteratee = cb(iteratee, context); - _.each(obj, function(value, index, list) { - computed = iteratee(value, index, list); - if (computed < lastComputed || computed === Infinity && result === Infinity) { - result = value; - lastComputed = computed; - } - }); - } - return result; - }; - - // Shuffle a collection, using the modern version of the - // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher鈥揧ates_shuffle). - _.shuffle = function(obj) { - var set = isArrayLike(obj) ? obj : _.values(obj); - var length = set.length; - var shuffled = Array(length); - for (var index = 0, rand; index < length; index++) { - rand = _.random(0, index); - if (rand !== index) shuffled[index] = shuffled[rand]; - shuffled[rand] = set[index]; - } - return shuffled; - }; - - // Sample **n** random values from a collection. - // If **n** is not specified, returns a single random element. - // The internal `guard` argument allows it to work with `map`. - _.sample = function(obj, n, guard) { - if (n == null || guard) { - if (!isArrayLike(obj)) obj = _.values(obj); - return obj[_.random(obj.length - 1)]; - } - return _.shuffle(obj).slice(0, Math.max(0, n)); - }; - - // Sort the object's values by a criterion produced by an iteratee. - _.sortBy = function(obj, iteratee, context) { - iteratee = cb(iteratee, context); - return _.pluck(_.map(obj, function(value, index, list) { - return { - value: value, - index: index, - criteria: iteratee(value, index, list) - }; - }).sort(function(left, right) { - var a = left.criteria; - var b = right.criteria; - if (a !== b) { - if (a > b || a === void 0) return 1; - if (a < b || b === void 0) return -1; - } - return left.index - right.index; - }), 'value'); - }; - - // An internal function used for aggregate "group by" operations. - var group = function(behavior) { - return function(obj, iteratee, context) { - var result = {}; - iteratee = cb(iteratee, context); - _.each(obj, function(value, index) { - var key = iteratee(value, index, obj); - behavior(result, value, key); - }); - return result; - }; - }; - - // Groups the object's values by a criterion. Pass either a string attribute - // to group by, or a function that returns the criterion. - _.groupBy = group(function(result, value, key) { - if (_.has(result, key)) result[key].push(value); else result[key] = [value]; - }); - - // Indexes the object's values by a criterion, similar to `groupBy`, but for - // when you know that your index values will be unique. - _.indexBy = group(function(result, value, key) { - result[key] = value; - }); - - // Counts instances of an object that group by a certain criterion. Pass - // either a string attribute to count by, or a function that returns the - // criterion. - _.countBy = group(function(result, value, key) { - if (_.has(result, key)) result[key]++; else result[key] = 1; - }); - - // Safely create a real, live array from anything iterable. - _.toArray = function(obj) { - if (!obj) return []; - if (_.isArray(obj)) return slice.call(obj); - if (isArrayLike(obj)) return _.map(obj, _.identity); - return _.values(obj); - }; - - // Return the number of elements in an object. - _.size = function(obj) { - if (obj == null) return 0; - return isArrayLike(obj) ? obj.length : _.keys(obj).length; - }; - - // Split a collection into two arrays: one whose elements all satisfy the given - // predicate, and one whose elements all do not satisfy the predicate. - _.partition = function(obj, predicate, context) { - predicate = cb(predicate, context); - var pass = [], fail = []; - _.each(obj, function(value, key, obj) { - (predicate(value, key, obj) ? pass : fail).push(value); - }); - return [pass, fail]; - }; - - // Array Functions - // --------------- - - // Get the first element of an array. Passing **n** will return the first N - // values in the array. Aliased as `head` and `take`. The **guard** check - // allows it to work with `_.map`. - _.first = _.head = _.take = function(array, n, guard) { - if (array == null) return void 0; - if (n == null || guard) return array[0]; - return _.initial(array, array.length - n); - }; - - // Returns everything but the last entry of the array. Especially useful on - // the arguments object. Passing **n** will return all the values in - // the array, excluding the last N. - _.initial = function(array, n, guard) { - return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n))); - }; - - // Get the last element of an array. Passing **n** will return the last N - // values in the array. - _.last = function(array, n, guard) { - if (array == null) return void 0; - if (n == null || guard) return array[array.length - 1]; - return _.rest(array, Math.max(0, array.length - n)); - }; - - // Returns everything but the first entry of the array. Aliased as `tail` and `drop`. - // Especially useful on the arguments object. Passing an **n** will return - // the rest N values in the array. - _.rest = _.tail = _.drop = function(array, n, guard) { - return slice.call(array, n == null || guard ? 1 : n); - }; - - // Trim out all falsy values from an array. - _.compact = function(array) { - return _.filter(array, _.identity); - }; - - // Internal implementation of a recursive `flatten` function. - var flatten = function(input, shallow, strict, startIndex) { - var output = [], idx = 0; - for (var i = startIndex || 0, length = input && input.length; i < length; i++) { - var value = input[i]; - if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) { - //flatten current level of array or arguments object - if (!shallow) value = flatten(value, shallow, strict); - var j = 0, len = value.length; - output.length += len; - while (j < len) { - output[idx++] = value[j++]; - } - } else if (!strict) { - output[idx++] = value; - } - } - return output; - }; - - // Flatten out an array, either recursively (by default), or just one level. - _.flatten = function(array, shallow) { - return flatten(array, shallow, false); - }; - - // Return a version of the array that does not contain the specified value(s). - _.without = function(array) { - return _.difference(array, slice.call(arguments, 1)); - }; - - // Produce a duplicate-free version of the array. If the array has already - // been sorted, you have the option of using a faster algorithm. - // Aliased as `unique`. - _.uniq = _.unique = function(array, isSorted, iteratee, context) { - if (array == null) return []; - if (!_.isBoolean(isSorted)) { - context = iteratee; - iteratee = isSorted; - isSorted = false; - } - if (iteratee != null) iteratee = cb(iteratee, context); - var result = []; - var seen = []; - for (var i = 0, length = array.length; i < length; i++) { - var value = array[i], - computed = iteratee ? iteratee(value, i, array) : value; - if (isSorted) { - if (!i || seen !== computed) result.push(value); - seen = computed; - } else if (iteratee) { - if (!_.contains(seen, computed)) { - seen.push(computed); - result.push(value); - } - } else if (!_.contains(result, value)) { - result.push(value); - } - } - return result; - }; - - // Produce an array that contains the union: each distinct element from all of - // the passed-in arrays. - _.union = function() { - return _.uniq(flatten(arguments, true, true)); - }; - - // Produce an array that contains every item shared between all the - // passed-in arrays. - _.intersection = function(array) { - if (array == null) return []; - var result = []; - var argsLength = arguments.length; - for (var i = 0, length = array.length; i < length; i++) { - var item = array[i]; - if (_.contains(result, item)) continue; - for (var j = 1; j < argsLength; j++) { - if (!_.contains(arguments[j], item)) break; - } - if (j === argsLength) result.push(item); - } - return result; - }; - - // Take the difference between one array and a number of other arrays. - // Only the elements present in just the first array will remain. - _.difference = function(array) { - var rest = flatten(arguments, true, true, 1); - return _.filter(array, function(value){ - return !_.contains(rest, value); - }); - }; - - // Zip together multiple lists into a single array -- elements that share - // an index go together. - _.zip = function() { - return _.unzip(arguments); - }; - - // Complement of _.zip. Unzip accepts an array of arrays and groups - // each array's elements on shared indices - _.unzip = function(array) { - var length = array && _.max(array, 'length').length || 0; - var result = Array(length); - - for (var index = 0; index < length; index++) { - result[index] = _.pluck(array, index); - } - return result; - }; - - // Converts lists into objects. Pass either a single array of `[key, value]` - // pairs, or two parallel arrays of the same length -- one of keys, and one of - // the corresponding values. - _.object = function(list, values) { - var result = {}; - for (var i = 0, length = list && list.length; i < length; i++) { - if (values) { - result[list[i]] = values[i]; - } else { - result[list[i][0]] = list[i][1]; - } - } - return result; - }; - - // Return the position of the first occurrence of an item in an array, - // or -1 if the item is not included in the array. - // If the array is large and already in sort order, pass `true` - // for **isSorted** to use binary search. - _.indexOf = function(array, item, isSorted) { - var i = 0, length = array && array.length; - if (typeof isSorted == 'number') { - i = isSorted < 0 ? Math.max(0, length + isSorted) : isSorted; - } else if (isSorted && length) { - i = _.sortedIndex(array, item); - return array[i] === item ? i : -1; - } - if (item !== item) { - return _.findIndex(slice.call(array, i), _.isNaN); - } - for (; i < length; i++) if (array[i] === item) return i; - return -1; - }; - - _.lastIndexOf = function(array, item, from) { - var idx = array ? array.length : 0; - if (typeof from == 'number') { - idx = from < 0 ? idx + from + 1 : Math.min(idx, from + 1); - } - if (item !== item) { - return _.findLastIndex(slice.call(array, 0, idx), _.isNaN); - } - while (--idx >= 0) if (array[idx] === item) return idx; - return -1; - }; - - // Generator function to create the findIndex and findLastIndex functions - function createIndexFinder(dir) { - return function(array, predicate, context) { - predicate = cb(predicate, context); - var length = array != null && array.length; - var index = dir > 0 ? 0 : length - 1; - for (; index >= 0 && index < length; index += dir) { - if (predicate(array[index], index, array)) return index; - } - return -1; - }; - } - - // Returns the first index on an array-like that passes a predicate test - _.findIndex = createIndexFinder(1); - - _.findLastIndex = createIndexFinder(-1); - - // Use a comparator function to figure out the smallest index at which - // an object should be inserted so as to maintain order. Uses binary search. - _.sortedIndex = function(array, obj, iteratee, context) { - iteratee = cb(iteratee, context, 1); - var value = iteratee(obj); - var low = 0, high = array.length; - while (low < high) { - var mid = Math.floor((low + high) / 2); - if (iteratee(array[mid]) < value) low = mid + 1; else high = mid; - } - return low; - }; - - // Generate an integer Array containing an arithmetic progression. A port of - // the native Python `range()` function. See - // [the Python documentation](http://docs.python.org/library/functions.html#range). - _.range = function(start, stop, step) { - if (arguments.length <= 1) { - stop = start || 0; - start = 0; - } - step = step || 1; - - var length = Math.max(Math.ceil((stop - start) / step), 0); - var range = Array(length); - - for (var idx = 0; idx < length; idx++, start += step) { - range[idx] = start; - } - - return range; - }; - - // Function (ahem) Functions - // ------------------ - - // Determines whether to execute a function as a constructor - // or a normal function with the provided arguments - var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) { - if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args); - var self = baseCreate(sourceFunc.prototype); - var result = sourceFunc.apply(self, args); - if (_.isObject(result)) return result; - return self; - }; - - // Create a function bound to a given object (assigning `this`, and arguments, - // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if - // available. - _.bind = function(func, context) { - if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1)); - if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function'); - var args = slice.call(arguments, 2); - var bound = function() { - return executeBound(func, bound, context, this, args.concat(slice.call(arguments))); - }; - return bound; - }; - - // Partially apply a function by creating a version that has had some of its - // arguments pre-filled, without changing its dynamic `this` context. _ acts - // as a placeholder, allowing any combination of arguments to be pre-filled. - _.partial = function(func) { - var boundArgs = slice.call(arguments, 1); - var bound = function() { - var position = 0, length = boundArgs.length; - var args = Array(length); - for (var i = 0; i < length; i++) { - args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i]; - } - while (position < arguments.length) args.push(arguments[position++]); - return executeBound(func, bound, this, this, args); - }; - return bound; - }; - - // Bind a number of an object's methods to that object. Remaining arguments - // are the method names to be bound. Useful for ensuring that all callbacks - // defined on an object belong to it. - _.bindAll = function(obj) { - var i, length = arguments.length, key; - if (length <= 1) throw new Error('bindAll must be passed function names'); - for (i = 1; i < length; i++) { - key = arguments[i]; - obj[key] = _.bind(obj[key], obj); - } - return obj; - }; - - // Memoize an expensive function by storing its results. - _.memoize = function(func, hasher) { - var memoize = function(key) { - var cache = memoize.cache; - var address = '' + (hasher ? hasher.apply(this, arguments) : key); - if (!_.has(cache, address)) cache[address] = func.apply(this, arguments); - return cache[address]; - }; - memoize.cache = {}; - return memoize; - }; - - // Delays a function for the given number of milliseconds, and then calls - // it with the arguments supplied. - _.delay = function(func, wait) { - var args = slice.call(arguments, 2); - return setTimeout(function(){ - return func.apply(null, args); - }, wait); - }; - - // Defers a function, scheduling it to run after the current call stack has - // cleared. - _.defer = _.partial(_.delay, _, 1); - - // Returns a function, that, when invoked, will only be triggered at most once - // during a given window of time. Normally, the throttled function will run - // as much as it can, without ever going more than once per `wait` duration; - // but if you'd like to disable the execution on the leading edge, pass - // `{leading: false}`. To disable execution on the trailing edge, ditto. - _.throttle = function(func, wait, options) { - var context, args, result; - var timeout = null; - var previous = 0; - if (!options) options = {}; - var later = function() { - previous = options.leading === false ? 0 : _.now(); - timeout = null; - result = func.apply(context, args); - if (!timeout) context = args = null; - }; - return function() { - var now = _.now(); - if (!previous && options.leading === false) previous = now; - var remaining = wait - (now - previous); - context = this; - args = arguments; - if (remaining <= 0 || remaining > wait) { - if (timeout) { - clearTimeout(timeout); - timeout = null; - } - previous = now; - result = func.apply(context, args); - if (!timeout) context = args = null; - } else if (!timeout && options.trailing !== false) { - timeout = setTimeout(later, remaining); - } - return result; - }; - }; - - // Returns a function, that, as long as it continues to be invoked, will not - // be triggered. The function will be called after it stops being called for - // N milliseconds. If `immediate` is passed, trigger the function on the - // leading edge, instead of the trailing. - _.debounce = function(func, wait, immediate) { - var timeout, args, context, timestamp, result; - - var later = function() { - var last = _.now() - timestamp; - - if (last < wait && last >= 0) { - timeout = setTimeout(later, wait - last); - } else { - timeout = null; - if (!immediate) { - result = func.apply(context, args); - if (!timeout) context = args = null; - } - } - }; - - return function() { - context = this; - args = arguments; - timestamp = _.now(); - var callNow = immediate && !timeout; - if (!timeout) timeout = setTimeout(later, wait); - if (callNow) { - result = func.apply(context, args); - context = args = null; - } - - return result; - }; - }; - - // Returns the first function passed as an argument to the second, - // allowing you to adjust arguments, run code before and after, and - // conditionally execute the original function. - _.wrap = function(func, wrapper) { - return _.partial(wrapper, func); - }; - - // Returns a negated version of the passed-in predicate. - _.negate = function(predicate) { - return function() { - return !predicate.apply(this, arguments); - }; - }; - - // Returns a function that is the composition of a list of functions, each - // consuming the return value of the function that follows. - _.compose = function() { - var args = arguments; - var start = args.length - 1; - return function() { - var i = start; - var result = args[start].apply(this, arguments); - while (i--) result = args[i].call(this, result); - return result; - }; - }; - - // Returns a function that will only be executed on and after the Nth call. - _.after = function(times, func) { - return function() { - if (--times < 1) { - return func.apply(this, arguments); - } - }; - }; - - // Returns a function that will only be executed up to (but not including) the Nth call. - _.before = function(times, func) { - var memo; - return function() { - if (--times > 0) { - memo = func.apply(this, arguments); - } - if (times <= 1) func = null; - return memo; - }; - }; - - // Returns a function that will be executed at most one time, no matter how - // often you call it. Useful for lazy initialization. - _.once = _.partial(_.before, 2); - - // Object Functions - // ---------------- - - // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed. - var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString'); - var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString', - 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; - - function collectNonEnumProps(obj, keys) { - var nonEnumIdx = nonEnumerableProps.length; - var constructor = obj.constructor; - var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto; - - // Constructor is a special case. - var prop = 'constructor'; - if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop); - - while (nonEnumIdx--) { - prop = nonEnumerableProps[nonEnumIdx]; - if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) { - keys.push(prop); - } - } - } - - // Retrieve the names of an object's own properties. - // Delegates to **ECMAScript 5**'s native `Object.keys` - _.keys = function(obj) { - if (!_.isObject(obj)) return []; - if (nativeKeys) return nativeKeys(obj); - var keys = []; - for (var key in obj) if (_.has(obj, key)) keys.push(key); - // Ahem, IE < 9. - if (hasEnumBug) collectNonEnumProps(obj, keys); - return keys; - }; - - // Retrieve all the property names of an object. - _.allKeys = function(obj) { - if (!_.isObject(obj)) return []; - var keys = []; - for (var key in obj) keys.push(key); - // Ahem, IE < 9. - if (hasEnumBug) collectNonEnumProps(obj, keys); - return keys; - }; - - // Retrieve the values of an object's properties. - _.values = function(obj) { - var keys = _.keys(obj); - var length = keys.length; - var values = Array(length); - for (var i = 0; i < length; i++) { - values[i] = obj[keys[i]]; - } - return values; - }; - - // Returns the results of applying the iteratee to each element of the object - // In contrast to _.map it returns an object - _.mapObject = function(obj, iteratee, context) { - iteratee = cb(iteratee, context); - var keys = _.keys(obj), - length = keys.length, - results = {}, - currentKey; - for (var index = 0; index < length; index++) { - currentKey = keys[index]; - results[currentKey] = iteratee(obj[currentKey], currentKey, obj); - } - return results; - }; - - // Convert an object into a list of `[key, value]` pairs. - _.pairs = function(obj) { - var keys = _.keys(obj); - var length = keys.length; - var pairs = Array(length); - for (var i = 0; i < length; i++) { - pairs[i] = [keys[i], obj[keys[i]]]; - } - return pairs; - }; - - // Invert the keys and values of an object. The values must be serializable. - _.invert = function(obj) { - var result = {}; - var keys = _.keys(obj); - for (var i = 0, length = keys.length; i < length; i++) { - result[obj[keys[i]]] = keys[i]; - } - return result; - }; - - // Return a sorted list of the function names available on the object. - // Aliased as `methods` - _.functions = _.methods = function(obj) { - var names = []; - for (var key in obj) { - if (_.isFunction(obj[key])) names.push(key); - } - return names.sort(); - }; - - // Extend a given object with all the properties in passed-in object(s). - _.extend = createAssigner(_.allKeys); - - // Assigns a given object with all the own properties in the passed-in object(s) - // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) - _.extendOwn = _.assign = createAssigner(_.keys); - - // Returns the first key on an object that passes a predicate test - _.findKey = function(obj, predicate, context) { - predicate = cb(predicate, context); - var keys = _.keys(obj), key; - for (var i = 0, length = keys.length; i < length; i++) { - key = keys[i]; - if (predicate(obj[key], key, obj)) return key; - } - }; - - // Return a copy of the object only containing the whitelisted properties. - _.pick = function(object, oiteratee, context) { - var result = {}, obj = object, iteratee, keys; - if (obj == null) return result; - if (_.isFunction(oiteratee)) { - keys = _.allKeys(obj); - iteratee = optimizeCb(oiteratee, context); - } else { - keys = flatten(arguments, false, false, 1); - iteratee = function(value, key, obj) { return key in obj; }; - obj = Object(obj); - } - for (var i = 0, length = keys.length; i < length; i++) { - var key = keys[i]; - var value = obj[key]; - if (iteratee(value, key, obj)) result[key] = value; - } - return result; - }; - - // Return a copy of the object without the blacklisted properties. - _.omit = function(obj, iteratee, context) { - if (_.isFunction(iteratee)) { - iteratee = _.negate(iteratee); - } else { - var keys = _.map(flatten(arguments, false, false, 1), String); - iteratee = function(value, key) { - return !_.contains(keys, key); - }; - } - return _.pick(obj, iteratee, context); - }; - - // Fill in a given object with default properties. - _.defaults = createAssigner(_.allKeys, true); - - // Creates an object that inherits from the given prototype object. - // If additional properties are provided then they will be added to the - // created object. - _.create = function(prototype, props) { - var result = baseCreate(prototype); - if (props) _.extendOwn(result, props); - return result; - }; - - // Create a (shallow-cloned) duplicate of an object. - _.clone = function(obj) { - if (!_.isObject(obj)) return obj; - return _.isArray(obj) ? obj.slice() : _.extend({}, obj); - }; - - // Invokes interceptor with the obj, and then returns obj. - // The primary purpose of this method is to "tap into" a method chain, in - // order to perform operations on intermediate results within the chain. - _.tap = function(obj, interceptor) { - interceptor(obj); - return obj; - }; - - // Returns whether an object has a given set of `key:value` pairs. - _.isMatch = function(object, attrs) { - var keys = _.keys(attrs), length = keys.length; - if (object == null) return !length; - var obj = Object(object); - for (var i = 0; i < length; i++) { - var key = keys[i]; - if (attrs[key] !== obj[key] || !(key in obj)) return false; - } - return true; - }; - - - // Internal recursive comparison function for `isEqual`. - var eq = function(a, b, aStack, bStack) { - // Identical objects are equal. `0 === -0`, but they aren't identical. - // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal). - if (a === b) return a !== 0 || 1 / a === 1 / b; - // A strict comparison is necessary because `null == undefined`. - if (a == null || b == null) return a === b; - // Unwrap any wrapped objects. - if (a instanceof _) a = a._wrapped; - if (b instanceof _) b = b._wrapped; - // Compare `[[Class]]` names. - var className = toString.call(a); - if (className !== toString.call(b)) return false; - switch (className) { - // Strings, numbers, regular expressions, dates, and booleans are compared by value. - case '[object RegExp]': - // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i') - case '[object String]': - // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is - // equivalent to `new String("5")`. - return '' + a === '' + b; - case '[object Number]': - // `NaN`s are equivalent, but non-reflexive. - // Object(NaN) is equivalent to NaN - if (+a !== +a) return +b !== +b; - // An `egal` comparison is performed for other numeric values. - return +a === 0 ? 1 / +a === 1 / b : +a === +b; - case '[object Date]': - case '[object Boolean]': - // Coerce dates and booleans to numeric primitive values. Dates are compared by their - // millisecond representations. Note that invalid dates with millisecond representations - // of `NaN` are not equivalent. - return +a === +b; - } - - var areArrays = className === '[object Array]'; - if (!areArrays) { - if (typeof a != 'object' || typeof b != 'object') return false; - - // Objects with different constructors are not equivalent, but `Object`s or `Array`s - // from different frames are. - var aCtor = a.constructor, bCtor = b.constructor; - if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor && - _.isFunction(bCtor) && bCtor instanceof bCtor) - && ('constructor' in a && 'constructor' in b)) { - return false; - } - } - // Assume equality for cyclic structures. The algorithm for detecting cyclic - // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. - - // Initializing stack of traversed objects. - // It's done here since we only need them for objects and arrays comparison. - aStack = aStack || []; - bStack = bStack || []; - var length = aStack.length; - while (length--) { - // Linear search. Performance is inversely proportional to the number of - // unique nested structures. - if (aStack[length] === a) return bStack[length] === b; - } - - // Add the first object to the stack of traversed objects. - aStack.push(a); - bStack.push(b); - - // Recursively compare objects and arrays. - if (areArrays) { - // Compare array lengths to determine if a deep comparison is necessary. - length = a.length; - if (length !== b.length) return false; - // Deep compare the contents, ignoring non-numeric properties. - while (length--) { - if (!eq(a[length], b[length], aStack, bStack)) return false; - } - } else { - // Deep compare objects. - var keys = _.keys(a), key; - length = keys.length; - // Ensure that both objects contain the same number of properties before comparing deep equality. - if (_.keys(b).length !== length) return false; - while (length--) { - // Deep compare each member - key = keys[length]; - if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false; - } - } - // Remove the first object from the stack of traversed objects. - aStack.pop(); - bStack.pop(); - return true; - }; - - // Perform a deep comparison to check if two objects are equal. - _.isEqual = function(a, b) { - return eq(a, b); - }; - - // Is a given array, string, or object empty? - // An "empty" object has no enumerable own-properties. - _.isEmpty = function(obj) { - if (obj == null) return true; - if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0; - return _.keys(obj).length === 0; - }; - - // Is a given value a DOM element? - _.isElement = function(obj) { - return !!(obj && obj.nodeType === 1); - }; - - // Is a given value an array? - // Delegates to ECMA5's native Array.isArray - _.isArray = nativeIsArray || function(obj) { - return toString.call(obj) === '[object Array]'; - }; - - // Is a given variable an object? - _.isObject = function(obj) { - var type = typeof obj; - return type === 'function' || type === 'object' && !!obj; - }; - - // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError. - _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) { - _['is' + name] = function(obj) { - return toString.call(obj) === '[object ' + name + ']'; - }; - }); - - // Define a fallback version of the method in browsers (ahem, IE < 9), where - // there isn't any inspectable "Arguments" type. - if (!_.isArguments(arguments)) { - _.isArguments = function(obj) { - return _.has(obj, 'callee'); - }; - } - - // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8, - // IE 11 (#1621), and in Safari 8 (#1929). - if (typeof /./ != 'function' && typeof Int8Array != 'object') { - _.isFunction = function(obj) { - return typeof obj == 'function' || false; - }; - } - - // Is a given object a finite number? - _.isFinite = function(obj) { - return isFinite(obj) && !isNaN(parseFloat(obj)); - }; - - // Is the given value `NaN`? (NaN is the only number which does not equal itself). - _.isNaN = function(obj) { - return _.isNumber(obj) && obj !== +obj; - }; - - // Is a given value a boolean? - _.isBoolean = function(obj) { - return obj === true || obj === false || toString.call(obj) === '[object Boolean]'; - }; - - // Is a given value equal to null? - _.isNull = function(obj) { - return obj === null; - }; - - // Is a given variable undefined? - _.isUndefined = function(obj) { - return obj === void 0; - }; - - // Shortcut function for checking if an object has a given property directly - // on itself (in other words, not on a prototype). - _.has = function(obj, key) { - return obj != null && hasOwnProperty.call(obj, key); - }; - - // Utility Functions - // ----------------- - - // Run Underscore.js in *noConflict* mode, returning the `_` variable to its - // previous owner. Returns a reference to the Underscore object. - _.noConflict = function() { - root._ = previousUnderscore; - return this; - }; - - // Keep the identity function around for default iteratees. - _.identity = function(value) { - return value; - }; - - // Predicate-generating functions. Often useful outside of Underscore. - _.constant = function(value) { - return function() { - return value; - }; - }; - - _.noop = function(){}; - - _.property = function(key) { - return function(obj) { - return obj == null ? void 0 : obj[key]; - }; - }; - - // Generates a function for a given object that returns a given property. - _.propertyOf = function(obj) { - return obj == null ? function(){} : function(key) { - return obj[key]; - }; - }; - - // Returns a predicate for checking whether an object has a given set of - // `key:value` pairs. - _.matcher = _.matches = function(attrs) { - attrs = _.extendOwn({}, attrs); - return function(obj) { - return _.isMatch(obj, attrs); - }; - }; - - // Run a function **n** times. - _.times = function(n, iteratee, context) { - var accum = Array(Math.max(0, n)); - iteratee = optimizeCb(iteratee, context, 1); - for (var i = 0; i < n; i++) accum[i] = iteratee(i); - return accum; - }; - - // Return a random integer between min and max (inclusive). - _.random = function(min, max) { - if (max == null) { - max = min; - min = 0; - } - return min + Math.floor(Math.random() * (max - min + 1)); - }; - - // A (possibly faster) way to get the current timestamp as an integer. - _.now = Date.now || function() { - return new Date().getTime(); - }; - - // List of HTML entities for escaping. - var escapeMap = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''', - '`': '`' - }; - var unescapeMap = _.invert(escapeMap); - - // Functions for escaping and unescaping strings to/from HTML interpolation. - var createEscaper = function(map) { - var escaper = function(match) { - return map[match]; - }; - // Regexes for identifying a key that needs to be escaped - var source = '(?:' + _.keys(map).join('|') + ')'; - var testRegexp = RegExp(source); - var replaceRegexp = RegExp(source, 'g'); - return function(string) { - string = string == null ? '' : '' + string; - return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string; - }; - }; - _.escape = createEscaper(escapeMap); - _.unescape = createEscaper(unescapeMap); - - // If the value of the named `property` is a function then invoke it with the - // `object` as context; otherwise, return it. - _.result = function(object, property, fallback) { - var value = object == null ? void 0 : object[property]; - if (value === void 0) { - value = fallback; - } - return _.isFunction(value) ? value.call(object) : value; - }; - - // Generate a unique integer id (unique within the entire client session). - // Useful for temporary DOM ids. - var idCounter = 0; - _.uniqueId = function(prefix) { - var id = ++idCounter + ''; - return prefix ? prefix + id : id; - }; - - // By default, Underscore uses ERB-style template delimiters, change the - // following template settings to use alternative delimiters. - _.templateSettings = { - evaluate : /<%([\s\S]+?)%>/g, - interpolate : /<%=([\s\S]+?)%>/g, - escape : /<%-([\s\S]+?)%>/g - }; - - // When customizing `templateSettings`, if you don't want to define an - // interpolation, evaluation or escaping regex, we need one that is - // guaranteed not to match. - var noMatch = /(.)^/; - - // Certain characters need to be escaped so that they can be put into a - // string literal. - var escapes = { - "'": "'", - '\\': '\\', - '\r': 'r', - '\n': 'n', - '\u2028': 'u2028', - '\u2029': 'u2029' - }; - - var escaper = /\\|'|\r|\n|\u2028|\u2029/g; - - var escapeChar = function(match) { - return '\\' + escapes[match]; - }; - - // JavaScript micro-templating, similar to John Resig's implementation. - // Underscore templating handles arbitrary delimiters, preserves whitespace, - // and correctly escapes quotes within interpolated code. - // NB: `oldSettings` only exists for backwards compatibility. - _.template = function(text, settings, oldSettings) { - if (!settings && oldSettings) settings = oldSettings; - settings = _.defaults({}, settings, _.templateSettings); - - // Combine delimiters into one regular expression via alternation. - var matcher = RegExp([ - (settings.escape || noMatch).source, - (settings.interpolate || noMatch).source, - (settings.evaluate || noMatch).source - ].join('|') + '|$', 'g'); - - // Compile the template source, escaping string literals appropriately. - var index = 0; - var source = "__p+='"; - text.replace(matcher, function(match, escape, interpolate, evaluate, offset) { - source += text.slice(index, offset).replace(escaper, escapeChar); - index = offset + match.length; - - if (escape) { - source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; - } else if (interpolate) { - source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'"; - } else if (evaluate) { - source += "';\n" + evaluate + "\n__p+='"; - } - - // Adobe VMs need the match returned to produce the correct offest. - return match; - }); - source += "';\n"; - - // If a variable is not specified, place data values in local scope. - if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; - - source = "var __t,__p='',__j=Array.prototype.join," + - "print=function(){__p+=__j.call(arguments,'');};\n" + - source + 'return __p;\n'; - - try { - var render = new Function(settings.variable || 'obj', '_', source); - } catch (e) { - e.source = source; - throw e; - } - - var template = function(data) { - return render.call(this, data, _); - }; - - // Provide the compiled source as a convenience for precompilation. - var argument = settings.variable || 'obj'; - template.source = 'function(' + argument + '){\n' + source + '}'; - - return template; - }; - - // Add a "chain" function. Start chaining a wrapped Underscore object. - _.chain = function(obj) { - var instance = _(obj); - instance._chain = true; - return instance; - }; - - // OOP - // --------------- - // If Underscore is called as a function, it returns a wrapped object that - // can be used OO-style. This wrapper holds altered versions of all the - // underscore functions. Wrapped objects may be chained. - - // Helper function to continue chaining intermediate results. - var result = function(instance, obj) { - return instance._chain ? _(obj).chain() : obj; - }; - - // Add your own custom functions to the Underscore object. - _.mixin = function(obj) { - _.each(_.functions(obj), function(name) { - var func = _[name] = obj[name]; - _.prototype[name] = function() { - var args = [this._wrapped]; - push.apply(args, arguments); - return result(this, func.apply(_, args)); - }; - }); - }; - - // Add all of the Underscore functions to the wrapper object. - _.mixin(_); - - // Add all mutator Array functions to the wrapper. - _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { - var method = ArrayProto[name]; - _.prototype[name] = function() { - var obj = this._wrapped; - method.apply(obj, arguments); - if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0]; - return result(this, obj); - }; - }); - - // Add all accessor Array functions to the wrapper. - _.each(['concat', 'join', 'slice'], function(name) { - var method = ArrayProto[name]; - _.prototype[name] = function() { - return result(this, method.apply(this._wrapped, arguments)); - }; - }); - - // Extracts the result from a wrapped and chained object. - _.prototype.value = function() { - return this._wrapped; - }; - - // Provide unwrapping proxy for some methods used in engine operations - // such as arithmetic and JSON stringification. - _.prototype.valueOf = _.prototype.toJSON = _.prototype.value; - - _.prototype.toString = function() { - return '' + this._wrapped; - }; - - // AMD registration happens at the end for compatibility with AMD loaders - // that may not enforce next-turn semantics on modules. Even though general - // practice for AMD registration is to be anonymous, underscore registers - // as a named module because, like jQuery, it is a base library that is - // popular enough to be bundled in a third party lib, but not be part of - // an AMD load request. Those cases could generate an error when an - // anonymous define() is called outside of a loader request. - if (typeof define === 'function' && define.amd) { - define('underscore', [], function() { - return _; - }); - } -}.call(this)); \ No newline at end of file diff --git a/src/core/utils/aspect.js b/src/core/utils/aspect.js deleted file mode 100644 index 4e6976dc90..0000000000 --- a/src/core/utils/aspect.js +++ /dev/null @@ -1,63 +0,0 @@ -(function (window, undefined) { - function aspect(type) { - return function (target, methodName, advice) { - var exist = target[methodName], - dispatcher; - - if (!exist || exist.target != target) { - dispatcher = target[methodName] = function () { - // before methods - var beforeArr = dispatcher.before; - var args = arguments, next; - for (var l = beforeArr.length; l--;) { - next = beforeArr[l].advice.apply(this, args); - if (next === false) { - return false; - } - args = next || args; - } - // target method - var rs = dispatcher.method.apply(this, args); - // after methods - var afterArr = dispatcher.after; - for (var i = 0, ii = afterArr.length; i < ii; i++) { - next = afterArr[i].advice.call(this, rs, args); - if (rs === false) { - return false; - } - args = next || args; - } - return rs; - }; - - dispatcher.before = []; - dispatcher.after = []; - - if (exist) { - dispatcher.method = exist; - } - dispatcher.target = target; - } - - var aspectArr = (dispatcher || exist)[type]; - var obj = { - advice: advice, - _index: aspectArr.length, - remove: function () { - aspectArr.splice(this._index, 1); - } - }; - aspectArr.push(obj); - - return obj; - }; - } - - BI.aspect = { - before: aspect("before"), - after: aspect("after") - }; - - return BI.aspect; - -})(window); \ No newline at end of file diff --git a/src/core/utils/base64.js b/src/core/utils/base64.js deleted file mode 100644 index 75e49ec32e..0000000000 --- a/src/core/utils/base64.js +++ /dev/null @@ -1,130 +0,0 @@ -; -!(function () { - - var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - - - // private method for UTF-8 encoding - var _utf8_encode = function (string) { - string = string.replace(/\r\n/g, "\n"); - var utftext = ""; - - for (var n = 0; n < string.length; n++) { - - var c = string.charCodeAt(n); - - if (c < 128) { - utftext += String.fromCharCode(c); - } else if ((c > 127) && (c < 2048)) { - utftext += String.fromCharCode((c >> 6) | 192); - utftext += String.fromCharCode((c & 63) | 128); - } else { - utftext += String.fromCharCode((c >> 12) | 224); - utftext += String.fromCharCode(((c >> 6) & 63) | 128); - utftext += String.fromCharCode((c & 63) | 128); - } - - } - - return utftext; - }; - - // private method for UTF-8 decoding - var _utf8_decode = function (utftext) { - var string = ""; - var i = 0; - var c = 0, c3 = 0, c2 = 0; - - while (i < utftext.length) { - - c = utftext.charCodeAt(i); - - if (c < 128) { - string += String.fromCharCode(c); - i++; - } else if ((c > 191) && (c < 224)) { - c2 = utftext.charCodeAt(i + 1); - string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); - i += 2; - } else { - c2 = utftext.charCodeAt(i + 1); - c3 = utftext.charCodeAt(i + 2); - string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); - i += 3; - } - - } - return string; - }; - - _.extend(BI, { - - encode: function (input) { - var output = ""; - var chr1, chr2, chr3, enc1, enc2, enc3, enc4; - var i = 0; - - input = _utf8_encode(input); - - while (i < input.length) { - - chr1 = input.charCodeAt(i++); - chr2 = input.charCodeAt(i++); - chr3 = input.charCodeAt(i++); - - enc1 = chr1 >> 2; - enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); - enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); - enc4 = chr3 & 63; - - if (isNaN(chr2)) { - enc3 = enc4 = 64; - } else if (isNaN(chr3)) { - enc4 = 64; - } - - output = output + _keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4); - - } - - return output; - }, - - // public method for decoding - decode: function (input) { - var output = ""; - var chr1, chr2, chr3; - var enc1, enc2, enc3, enc4; - var i = 0; - - input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); - - while (i < input.length) { - - enc1 = _keyStr.indexOf(input.charAt(i++)); - enc2 = _keyStr.indexOf(input.charAt(i++)); - enc3 = _keyStr.indexOf(input.charAt(i++)); - enc4 = _keyStr.indexOf(input.charAt(i++)); - - chr1 = (enc1 << 2) | (enc2 >> 4); - chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); - chr3 = ((enc3 & 3) << 6) | enc4; - - output = output + String.fromCharCode(chr1); - - if (enc3 != 64) { - output = output + String.fromCharCode(chr2); - } - if (enc4 != 64) { - output = output + String.fromCharCode(chr3); - } - - } - - output = _utf8_decode(output); - - return output; - - } - }) -})(); \ No newline at end of file diff --git a/src/core/utils/cellSizeAndPositionManager.js b/src/core/utils/cellSizeAndPositionManager.js deleted file mode 100644 index 439893500d..0000000000 --- a/src/core/utils/cellSizeAndPositionManager.js +++ /dev/null @@ -1,271 +0,0 @@ -BI.CellSizeAndPositionManager = function (cellCount, cellSizeGetter, estimatedCellSize) { - this._cellSizeGetter = cellSizeGetter; - this._cellCount = cellCount; - this._estimatedCellSize = estimatedCellSize; - this._cellSizeAndPositionData = {}; - this._lastMeasuredIndex = -1; -}; - -BI.CellSizeAndPositionManager.prototype = { - constructor: BI.CellSizeAndPositionManager, - configure: function (cellCount, estimatedCellSize) { - this._cellCount = cellCount; - this._estimatedCellSize = estimatedCellSize; - }, - - getCellCount: function () { - return this._cellCount; - }, - - getEstimatedCellSize: function () { - return this._estimatedCellSize; - }, - - getLastMeasuredIndex: function () { - return this._lastMeasuredIndex; - }, - - getSizeAndPositionOfCell: function (index) { - if (index < 0 || index >= this._cellCount) { - return; - } - if (index > this._lastMeasuredIndex) { - var lastMeasuredCellSizeAndPosition = this.getSizeAndPositionOfLastMeasuredCell(); - var offset = lastMeasuredCellSizeAndPosition.offset + lastMeasuredCellSizeAndPosition.size; - - for (var i = this._lastMeasuredIndex + 1; i <= index; i++) { - var size = this._cellSizeGetter(i); - - if (size == null || isNaN(size)) { - continue; - } - - this._cellSizeAndPositionData[i] = { - offset: offset, - size: size - }; - - offset += size; - } - - this._lastMeasuredIndex = index; - } - return this._cellSizeAndPositionData[index]; - }, - - getSizeAndPositionOfLastMeasuredCell: function () { - return this._lastMeasuredIndex >= 0 - ? this._cellSizeAndPositionData[this._lastMeasuredIndex] - : { - offset: 0, - size: 0 - } - }, - - getTotalSize: function () { - var lastMeasuredCellSizeAndPosition = this.getSizeAndPositionOfLastMeasuredCell(); - return lastMeasuredCellSizeAndPosition.offset + lastMeasuredCellSizeAndPosition.size + (this._cellCount - this._lastMeasuredIndex - 1) * this._estimatedCellSize - }, - - getUpdatedOffsetForIndex: function (align, containerSize, currentOffset, targetIndex) { - var datum = this.getSizeAndPositionOfCell(targetIndex); - var maxOffset = datum.offset; - var minOffset = maxOffset - containerSize + datum.size; - - var idealOffset; - - switch (align) { - case 'start': - idealOffset = maxOffset; - break; - case 'end': - idealOffset = minOffset; - break; - case 'center': - idealOffset = maxOffset - ((containerSize - datum.size) / 2); - break; - default: - idealOffset = Math.max(minOffset, Math.min(maxOffset, currentOffset)); - break; - } - - var totalSize = this.getTotalSize(); - - return Math.max(0, Math.min(totalSize - containerSize, idealOffset)); - }, - - getVisibleCellRange: function (containerSize, offset) { - var totalSize = this.getTotalSize(); - - if (totalSize === 0) { - return {} - } - - var maxOffset = offset + containerSize; - var start = this._findNearestCell(offset); - - var datum = this.getSizeAndPositionOfCell(start); - offset = datum.offset + datum.size; - - var stop = start; - - while (offset < maxOffset && stop < this._cellCount - 1) { - stop++; - offset += this.getSizeAndPositionOfCell(stop).size; - } - - return { - start: start, - stop: stop - } - }, - - resetCell: function (index) { - this._lastMeasuredIndex = Math.min(this._lastMeasuredIndex, index - 1) - }, - - _binarySearch: function (high, low, offset) { - var middle; - var currentOffset; - - while (low <= high) { - middle = low + Math.floor((high - low) / 2); - currentOffset = this.getSizeAndPositionOfCell(middle).offset; - - if (currentOffset === offset) { - return middle; - } else if (currentOffset < offset) { - low = middle + 1; - } else if (currentOffset > offset) { - high = middle - 1; - } - } - - if (low > 0) { - return low - 1; - } - }, - - _exponentialSearch: function (index, offset) { - var interval = 1; - - while (index < this._cellCount && this.getSizeAndPositionOfCell(index).offset < offset) { - index += interval; - interval *= 2; - } - - return this._binarySearch(Math.min(index, this._cellCount - 1), Math.floor(index / 2), offset); - }, - - _findNearestCell: function (offset) { - if (isNaN(offset)) { - return; - } - - offset = Math.max(0, offset); - - var lastMeasuredCellSizeAndPosition = this.getSizeAndPositionOfLastMeasuredCell(); - var lastMeasuredIndex = Math.max(0, this._lastMeasuredIndex); - - if (lastMeasuredCellSizeAndPosition.offset >= offset) { - return this._binarySearch(lastMeasuredIndex, 0, offset); - } else { - return this._exponentialSearch(lastMeasuredIndex, offset); - } - } -}; - -BI.ScalingCellSizeAndPositionManager = function (cellCount, cellSizeGetter, estimatedCellSize, maxScrollSize) { - this._cellSizeAndPositionManager = new BI.CellSizeAndPositionManager(cellCount, cellSizeGetter, estimatedCellSize); - this._maxScrollSize = maxScrollSize || 10000000 -}; - -BI.ScalingCellSizeAndPositionManager.prototype = { - constructor: BI.ScalingCellSizeAndPositionManager, - - configure: function () { - this._cellSizeAndPositionManager.configure.apply(this._cellSizeAndPositionManager, arguments); - }, - - getCellCount: function () { - return this._cellSizeAndPositionManager.getCellCount() - }, - - getEstimatedCellSize: function () { - return this._cellSizeAndPositionManager.getEstimatedCellSize() - }, - - getLastMeasuredIndex: function () { - return this._cellSizeAndPositionManager.getLastMeasuredIndex() - }, - - getOffsetAdjustment: function (containerSize, offset) { - var totalSize = this._cellSizeAndPositionManager.getTotalSize(); - var safeTotalSize = this.getTotalSize(); - var offsetPercentage = this._getOffsetPercentage(containerSize, offset, safeTotalSize); - - return Math.round(offsetPercentage * (safeTotalSize - totalSize)); - }, - - getSizeAndPositionOfCell: function (index) { - return this._cellSizeAndPositionManager.getSizeAndPositionOfCell(index); - }, - - getSizeAndPositionOfLastMeasuredCell: function () { - return this._cellSizeAndPositionManager.getSizeAndPositionOfLastMeasuredCell(); - }, - - getTotalSize: function () { - return Math.min(this._maxScrollSize, this._cellSizeAndPositionManager.getTotalSize()); - }, - - getUpdatedOffsetForIndex: function (align, containerSize, currentOffset, targetIndex) { - currentOffset = this._safeOffsetToOffset(containerSize, currentOffset); - - var offset = this._cellSizeAndPositionManager.getUpdatedOffsetForIndex(align, containerSize, currentOffset, targetIndex); - - return this._offsetToSafeOffset(containerSize, offset); - }, - - getVisibleCellRange: function (containerSize, offset) { - offset = this._safeOffsetToOffset(containerSize, offset); - - return this._cellSizeAndPositionManager.getVisibleCellRange(containerSize, offset); - }, - - resetCell: function (index) { - this._cellSizeAndPositionManager.resetCell(index) - }, - - _getOffsetPercentage: function (containerSize, offset, totalSize) { - return totalSize <= containerSize - ? 0 - : offset / (totalSize - containerSize) - }, - - _offsetToSafeOffset: function (containerSize, offset) { - var totalSize = this._cellSizeAndPositionManager.getTotalSize(); - var safeTotalSize = this.getTotalSize(); - - if (totalSize === safeTotalSize) { - return offset; - } else { - var offsetPercentage = this._getOffsetPercentage(containerSize, offset, totalSize); - - return Math.round(offsetPercentage * (safeTotalSize - containerSize)); - } - }, - - _safeOffsetToOffset: function (containerSize, offset) { - var totalSize = this._cellSizeAndPositionManager.getTotalSize(); - var safeTotalSize = this.getTotalSize(); - - if (totalSize === safeTotalSize) { - return offset; - } else { - var offsetPercentage = this._getOffsetPercentage(containerSize, offset, safeTotalSize); - - return Math.round(offsetPercentage * (totalSize - containerSize)); - } - } -}; \ No newline at end of file diff --git a/src/core/utils/chinesePY.js b/src/core/utils/chinesePY.js deleted file mode 100644 index 6d8aa6f8ad..0000000000 --- a/src/core/utils/chinesePY.js +++ /dev/null @@ -1,537 +0,0 @@ -/** - * 汉字拼音索引 - */ -; -!(function () { - var _ChineseFirstPY = "YDYQSXMWZSSXJBYMGCCZQPSSQBYCDSCDQLDYLYBSSJGYZZJJFKCCLZDHWDWZJLJPFYYNWJJTMYHZWZHFLZPPQHGSCYYYNJQYXXGJHHSDSJNKKTMOMLCRXYPSNQSECCQZGGLLYJLMYZZSECYKYYHQWJSSGGYXYZYJWWKDJHYCHMYXJTLXJYQBYXZLDWRDJRWYSRLDZJPCBZJJBR" - + "CFTLECZSTZFXXZHTRQHYBDLYCZSSYMMRFMYQZPWWJJYFCRWFDFZQPYDDWYXKYJAWJFFXYPSFTZYHHYZYSWCJYXSCLCXXWZZXNBGNNXBXLZSZSBSGPYSYZDHMDZBQBZCWDZZYYTZHBTSYYBZGNTNXQYWQSKBPHHLXGYBFMJEBJHHGQTJCYSXSTKZHLYCKGLYSMZXYALMELDCCXGZ" - + "YRJXSDLTYZCQKCNNJWHJTZZCQLJSTSTBNXBTYXCEQXGKWJYFLZQLYHYXSPSFXLMPBYSXXXYDJCZYLLLSJXFHJXPJBTFFYABYXBHZZBJYZLWLCZGGBTSSMDTJZXPTHYQTGLJSCQFZKJZJQNLZWLSLHDZBWJNCJZYZSQQYCQYRZCJJWYBRTWPYFTWEXCSKDZCTBZHYZZYYJXZCFFZ" - + "ZMJYXXSDZZOTTBZLQWFCKSZSXFYRLNYJMBDTHJXSQQCCSBXYYTSYFBXDZTGBCNSLCYZZPSAZYZZSCJCSHZQYDXLBPJLLMQXTYDZXSQJTZPXLCGLQTZWJBHCTSYJSFXYEJJTLBGXSXJMYJQQPFZASYJNTYDJXKJCDJSZCBARTDCLYJQMWNQNCLLLKBYBZZSYHQQLTWLCCXTXLLZN" - + "TYLNEWYZYXCZXXGRKRMTCNDNJTSYYSSDQDGHSDBJGHRWRQLYBGLXHLGTGXBQJDZPYJSJYJCTMRNYMGRZJCZGJMZMGXMPRYXKJNYMSGMZJYMKMFXMLDTGFBHCJHKYLPFMDXLQJJSMTQGZSJLQDLDGJYCALCMZCSDJLLNXDJFFFFJCZFMZFFPFKHKGDPSXKTACJDHHZDDCRRCFQYJ" - + "KQCCWJDXHWJLYLLZGCFCQDSMLZPBJJPLSBCJGGDCKKDEZSQCCKJGCGKDJTJDLZYCXKLQSCGJCLTFPCQCZGWPJDQYZJJBYJHSJDZWGFSJGZKQCCZLLPSPKJGQJHZZLJPLGJGJJTHJJYJZCZMLZLYQBGJWMLJKXZDZNJQSYZMLJLLJKYWXMKJLHSKJGBMCLYYMKXJQLBMLLKMDXXK" - + "WYXYSLMLPSJQQJQXYXFJTJDXMXXLLCXQBSYJBGWYMBGGBCYXPJYGPEPFGDJGBHBNSQJYZJKJKHXQFGQZKFHYGKHDKLLSDJQXPQYKYBNQSXQNSZSWHBSXWHXWBZZXDMNSJBSBKBBZKLYLXGWXDRWYQZMYWSJQLCJXXJXKJEQXSCYETLZHLYYYSDZPAQYZCMTLSHTZCFYZYXYLJSD" - + "CJQAGYSLCQLYYYSHMRQQKLDXZSCSSSYDYCJYSFSJBFRSSZQSBXXPXJYSDRCKGJLGDKZJZBDKTCSYQPYHSTCLDJDHMXMCGXYZHJDDTMHLTXZXYLYMOHYJCLTYFBQQXPFBDFHHTKSQHZYYWCNXXCRWHOWGYJLEGWDQCWGFJYCSNTMYTOLBYGWQWESJPWNMLRYDZSZTXYQPZGCWXHN" - + "GPYXSHMYQJXZTDPPBFYHZHTJYFDZWKGKZBLDNTSXHQEEGZZYLZMMZYJZGXZXKHKSTXNXXWYLYAPSTHXDWHZYMPXAGKYDXBHNHXKDPJNMYHYLPMGOCSLNZHKXXLPZZLBMLSFBHHGYGYYGGBHSCYAQTYWLXTZQCEZYDQDQMMHTKLLSZHLSJZWFYHQSWSCWLQAZYNYTLSXTHAZNKZZ" - + "SZZLAXXZWWCTGQQTDDYZTCCHYQZFLXPSLZYGPZSZNGLNDQTBDLXGTCTAJDKYWNSYZLJHHZZCWNYYZYWMHYCHHYXHJKZWSXHZYXLYSKQYSPSLYZWMYPPKBYGLKZHTYXAXQSYSHXASMCHKDSCRSWJPWXSGZJLWWSCHSJHSQNHCSEGNDAQTBAALZZMSSTDQJCJKTSCJAXPLGGXHHGX" - + "XZCXPDMMHLDGTYBYSJMXHMRCPXXJZCKZXSHMLQXXTTHXWZFKHCCZDYTCJYXQHLXDHYPJQXYLSYYDZOZJNYXQEZYSQYAYXWYPDGXDDXSPPYZNDLTWRHXYDXZZJHTCXMCZLHPYYYYMHZLLHNXMYLLLMDCPPXHMXDKYCYRDLTXJCHHZZXZLCCLYLNZSHZJZZLNNRLWHYQSNJHXYNTT" - + "TKYJPYCHHYEGKCTTWLGQRLGGTGTYGYHPYHYLQYQGCWYQKPYYYTTTTLHYHLLTYTTSPLKYZXGZWGPYDSSZZDQXSKCQNMJJZZBXYQMJRTFFBTKHZKBXLJJKDXJTLBWFZPPTKQTZTGPDGNTPJYFALQMKGXBDCLZFHZCLLLLADPMXDJHLCCLGYHDZFGYDDGCYYFGYDXKSSEBDHYKDKDK" - + "HNAXXYBPBYYHXZQGAFFQYJXDMLJCSQZLLPCHBSXGJYNDYBYQSPZWJLZKSDDTACTBXZDYZYPJZQSJNKKTKNJDJGYYPGTLFYQKASDNTCYHBLWDZHBBYDWJRYGKZYHEYYFJMSDTYFZJJHGCXPLXHLDWXXJKYTCYKSSSMTWCTTQZLPBSZDZWZXGZAGYKTYWXLHLSPBCLLOQMMZSSLCM" - + "BJCSZZKYDCZJGQQDSMCYTZQQLWZQZXSSFPTTFQMDDZDSHDTDWFHTDYZJYQJQKYPBDJYYXTLJHDRQXXXHAYDHRJLKLYTWHLLRLLRCXYLBWSRSZZSYMKZZHHKYHXKSMDSYDYCJPBZBSQLFCXXXNXKXWYWSDZYQOGGQMMYHCDZTTFJYYBGSTTTYBYKJDHKYXBELHTYPJQNFXFDYKZH" - + "QKZBYJTZBXHFDXKDASWTAWAJLDYJSFHBLDNNTNQJTJNCHXFJSRFWHZFMDRYJYJWZPDJKZYJYMPCYZNYNXFBYTFYFWYGDBNZZZDNYTXZEMMQBSQEHXFZMBMFLZZSRXYMJGSXWZJSPRYDJSJGXHJJGLJJYNZZJXHGXKYMLPYYYCXYTWQZSWHWLYRJLPXSLSXMFSWWKLCTNXNYNPSJ" - + "SZHDZEPTXMYYWXYYSYWLXJQZQXZDCLEEELMCPJPCLWBXSQHFWWTFFJTNQJHJQDXHWLBYZNFJLALKYYJLDXHHYCSTYYWNRJYXYWTRMDRQHWQCMFJDYZMHMYYXJWMYZQZXTLMRSPWWCHAQBXYGZYPXYYRRCLMPYMGKSJSZYSRMYJSNXTPLNBAPPYPYLXYYZKYNLDZYJZCZNNLMZHH" - + "ARQMPGWQTZMXXMLLHGDZXYHXKYXYCJMFFYYHJFSBSSQLXXNDYCANNMTCJCYPRRNYTYQNYYMBMSXNDLYLYSLJRLXYSXQMLLYZLZJJJKYZZCSFBZXXMSTBJGNXYZHLXNMCWSCYZYFZLXBRNNNYLBNRTGZQYSATSWRYHYJZMZDHZGZDWYBSSCSKXSYHYTXXGCQGXZZSHYXJSCRHMKK" - + "BXCZJYJYMKQHZJFNBHMQHYSNJNZYBKNQMCLGQHWLZNZSWXKHLJHYYBQLBFCDSXDLDSPFZPSKJYZWZXZDDXJSMMEGJSCSSMGCLXXKYYYLNYPWWWGYDKZJGGGZGGSYCKNJWNJPCXBJJTQTJWDSSPJXZXNZXUMELPXFSXTLLXCLJXJJLJZXCTPSWXLYDHLYQRWHSYCSQYYBYAYWJJJ" - + "QFWQCQQCJQGXALDBZZYJGKGXPLTZYFXJLTPADKYQHPMATLCPDCKBMTXYBHKLENXDLEEGQDYMSAWHZMLJTWYGXLYQZLJEEYYBQQFFNLYXRDSCTGJGXYYNKLLYQKCCTLHJLQMKKZGCYYGLLLJDZGYDHZWXPYSJBZKDZGYZZHYWYFQYTYZSZYEZZLYMHJJHTSMQWYZLKYYWZCSRKQY" - + "TLTDXWCTYJKLWSQZWBDCQYNCJSRSZJLKCDCDTLZZZACQQZZDDXYPLXZBQJYLZLLLQDDZQJYJYJZYXNYYYNYJXKXDAZWYRDLJYYYRJLXLLDYXJCYWYWNQCCLDDNYYYNYCKCZHXXCCLGZQJGKWPPCQQJYSBZZXYJSQPXJPZBSBDSFNSFPZXHDWZTDWPPTFLZZBZDMYYPQJRSDZSQZ" - + "SQXBDGCPZSWDWCSQZGMDHZXMWWFYBPDGPHTMJTHZSMMBGZMBZJCFZWFZBBZMQCFMBDMCJXLGPNJBBXGYHYYJGPTZGZMQBQTCGYXJXLWZKYDPDYMGCFTPFXYZTZXDZXTGKMTYBBCLBJASKYTSSQYYMSZXFJEWLXLLSZBQJJJAKLYLXLYCCTSXMCWFKKKBSXLLLLJYXTYLTJYYTDP" - + "JHNHNNKBYQNFQYYZBYYESSESSGDYHFHWTCJBSDZZTFDMXHCNJZYMQWSRYJDZJQPDQBBSTJGGFBKJBXTGQHNGWJXJGDLLTHZHHYYYYYYSXWTYYYCCBDBPYPZYCCZYJPZYWCBDLFWZCWJDXXHYHLHWZZXJTCZLCDPXUJCZZZLYXJJTXPHFXWPYWXZPTDZZBDZCYHJHMLXBQXSBYLR" - + "DTGJRRCTTTHYTCZWMXFYTWWZCWJWXJYWCSKYBZSCCTZQNHXNWXXKHKFHTSWOCCJYBCMPZZYKBNNZPBZHHZDLSYDDYTYFJPXYNGFXBYQXCBHXCPSXTYZDMKYSNXSXLHKMZXLYHDHKWHXXSSKQYHHCJYXGLHZXCSNHEKDTGZXQYPKDHEXTYKCNYMYYYPKQYYYKXZLTHJQTBYQHXBM" - + "YHSQCKWWYLLHCYYLNNEQXQWMCFBDCCMLJGGXDQKTLXKGNQCDGZJWYJJLYHHQTTTNWCHMXCXWHWSZJYDJCCDBQCDGDNYXZTHCQRXCBHZTQCBXWGQWYYBXHMBYMYQTYEXMQKYAQYRGYZSLFYKKQHYSSQYSHJGJCNXKZYCXSBXYXHYYLSTYCXQTHYSMGSCPMMGCCCCCMTZTASMGQZJ" - + "HKLOSQYLSWTMXSYQKDZLJQQYPLSYCZTCQQPBBQJZCLPKHQZYYXXDTDDTSJCXFFLLCHQXMJLWCJCXTSPYCXNDTJSHJWXDQQJSKXYAMYLSJHMLALYKXCYYDMNMDQMXMCZNNCYBZKKYFLMCHCMLHXRCJJHSYLNMTJZGZGYWJXSRXCWJGJQHQZDQJDCJJZKJKGDZQGJJYJYLXZXXCDQ" - + "HHHEYTMHLFSBDJSYYSHFYSTCZQLPBDRFRZTZYKYWHSZYQKWDQZRKMSYNBCRXQBJYFAZPZZEDZCJYWBCJWHYJBQSZYWRYSZPTDKZPFPBNZTKLQYHBBZPNPPTYZZYBQNYDCPJMMCYCQMCYFZZDCMNLFPBPLNGQJTBTTNJZPZBBZNJKLJQYLNBZQHKSJZNGGQSZZKYXSHPZSNBCGZK" - + "DDZQANZHJKDRTLZLSWJLJZLYWTJNDJZJHXYAYNCBGTZCSSQMNJPJYTYSWXZFKWJQTKHTZPLBHSNJZSYZBWZZZZLSYLSBJHDWWQPSLMMFBJDWAQYZTCJTBNNWZXQXCDSLQGDSDPDZHJTQQPSWLYYJZLGYXYZLCTCBJTKTYCZJTQKBSJLGMGZDMCSGPYNJZYQYYKNXRPWSZXMTNCS" - + "ZZYXYBYHYZAXYWQCJTLLCKJJTJHGDXDXYQYZZBYWDLWQCGLZGJGQRQZCZSSBCRPCSKYDZNXJSQGXSSJMYDNSTZTPBDLTKZWXQWQTZEXNQCZGWEZKSSBYBRTSSSLCCGBPSZQSZLCCGLLLZXHZQTHCZMQGYZQZNMCOCSZJMMZSQPJYGQLJYJPPLDXRGZYXCCSXHSHGTZNLZWZKJCX" - + "TCFCJXLBMQBCZZWPQDNHXLJCTHYZLGYLNLSZZPCXDSCQQHJQKSXZPBAJYEMSMJTZDXLCJYRYYNWJBNGZZTMJXLTBSLYRZPYLSSCNXPHLLHYLLQQZQLXYMRSYCXZLMMCZLTZSDWTJJLLNZGGQXPFSKYGYGHBFZPDKMWGHCXMSGDXJMCJZDYCABXJDLNBCDQYGSKYDQTXDJJYXMSZ" - + "QAZDZFSLQXYJSJZYLBTXXWXQQZBJZUFBBLYLWDSLJHXJYZJWTDJCZFQZQZZDZSXZZQLZCDZFJHYSPYMPQZMLPPLFFXJJNZZYLSJEYQZFPFZKSYWJJJHRDJZZXTXXGLGHYDXCSKYSWMMZCWYBAZBJKSHFHJCXMHFQHYXXYZFTSJYZFXYXPZLCHMZMBXHZZSXYFYMNCWDABAZLXKT" - + "CSHHXKXJJZJSTHYGXSXYYHHHJWXKZXSSBZZWHHHCWTZZZPJXSNXQQJGZYZYWLLCWXZFXXYXYHXMKYYSWSQMNLNAYCYSPMJKHWCQHYLAJJMZXHMMCNZHBHXCLXTJPLTXYJHDYYLTTXFSZHYXXSJBJYAYRSMXYPLCKDUYHLXRLNLLSTYZYYQYGYHHSCCSMZCTZQXKYQFPYYRPFFLK" - + "QUNTSZLLZMWWTCQQYZWTLLMLMPWMBZSSTZRBPDDTLQJJBXZCSRZQQYGWCSXFWZLXCCRSZDZMCYGGDZQSGTJSWLJMYMMZYHFBJDGYXCCPSHXNZCSBSJYJGJMPPWAFFYFNXHYZXZYLREMZGZCYZSSZDLLJCSQFNXZKPTXZGXJJGFMYYYSNBTYLBNLHPFZDCYFBMGQRRSSSZXYSGTZ" - + "RNYDZZCDGPJAFJFZKNZBLCZSZPSGCYCJSZLMLRSZBZZLDLSLLYSXSQZQLYXZLSKKBRXBRBZCYCXZZZEEYFGKLZLYYHGZSGZLFJHGTGWKRAAJYZKZQTSSHJJXDCYZUYJLZYRZDQQHGJZXSSZBYKJPBFRTJXLLFQWJHYLQTYMBLPZDXTZYGBDHZZRBGXHWNJTJXLKSCFSMWLSDQYS" - + "JTXKZSCFWJLBXFTZLLJZLLQBLSQMQQCGCZFPBPHZCZJLPYYGGDTGWDCFCZQYYYQYSSCLXZSKLZZZGFFCQNWGLHQYZJJCZLQZZYJPJZZBPDCCMHJGXDQDGDLZQMFGPSYTSDYFWWDJZJYSXYYCZCYHZWPBYKXRYLYBHKJKSFXTZJMMCKHLLTNYYMSYXYZPYJQYCSYCWMTJJKQYRHL" - + "LQXPSGTLYYCLJSCPXJYZFNMLRGJJTYZBXYZMSJYJHHFZQMSYXRSZCWTLRTQZSSTKXGQKGSPTGCZNJSJCQCXHMXGGZTQYDJKZDLBZSXJLHYQGGGTHQSZPYHJHHGYYGKGGCWJZZYLCZLXQSFTGZSLLLMLJSKCTBLLZZSZMMNYTPZSXQHJCJYQXYZXZQZCPSHKZZYSXCDFGMWQRLLQ" - + "XRFZTLYSTCTMJCXJJXHJNXTNRZTZFQYHQGLLGCXSZSJDJLJCYDSJTLNYXHSZXCGJZYQPYLFHDJSBPCCZHJJJQZJQDYBSSLLCMYTTMQTBHJQNNYGKYRQYQMZGCJKPDCGMYZHQLLSLLCLMHOLZGDYYFZSLJCQZLYLZQJESHNYLLJXGJXLYSYYYXNBZLJSSZCQQCJYLLZLTJYLLZLL" - + "BNYLGQCHXYYXOXCXQKYJXXXYKLXSXXYQXCYKQXQCSGYXXYQXYGYTQOHXHXPYXXXULCYEYCHZZCBWQBBWJQZSCSZSSLZYLKDESJZWMYMCYTSDSXXSCJPQQSQYLYYZYCMDJDZYWCBTJSYDJKCYDDJLBDJJSODZYSYXQQYXDHHGQQYQHDYXWGMMMAJDYBBBPPBCMUUPLJZSMTXERXJ" - + "MHQNUTPJDCBSSMSSSTKJTSSMMTRCPLZSZMLQDSDMJMQPNQDXCFYNBFSDQXYXHYAYKQYDDLQYYYSSZBYDSLNTFQTZQPZMCHDHCZCWFDXTMYQSPHQYYXSRGJCWTJTZZQMGWJJTJHTQJBBHWZPXXHYQFXXQYWYYHYSCDYDHHQMNMTMWCPBSZPPZZGLMZFOLLCFWHMMSJZTTDHZZYFF" - + "YTZZGZYSKYJXQYJZQBHMBZZLYGHGFMSHPZFZSNCLPBQSNJXZSLXXFPMTYJYGBXLLDLXPZJYZJYHHZCYWHJYLSJEXFSZZYWXKZJLUYDTMLYMQJPWXYHXSKTQJEZRPXXZHHMHWQPWQLYJJQJJZSZCPHJLCHHNXJLQWZJHBMZYXBDHHYPZLHLHLGFWLCHYYTLHJXCJMSCPXSTKPNHQ" - + "XSRTYXXTESYJCTLSSLSTDLLLWWYHDHRJZSFGXTSYCZYNYHTDHWJSLHTZDQDJZXXQHGYLTZPHCSQFCLNJTCLZPFSTPDYNYLGMJLLYCQHYSSHCHYLHQYQTMZYPBYWRFQYKQSYSLZDQJMPXYYSSRHZJNYWTQDFZBWWTWWRXCWHGYHXMKMYYYQMSMZHNGCEPMLQQMTCWCTMMPXJPJJH" - + "FXYYZSXZHTYBMSTSYJTTQQQYYLHYNPYQZLCYZHZWSMYLKFJXLWGXYPJYTYSYXYMZCKTTWLKSMZSYLMPWLZWXWQZSSAQSYXYRHSSNTSRAPXCPWCMGDXHXZDZYFJHGZTTSBJHGYZSZYSMYCLLLXBTYXHBBZJKSSDMALXHYCFYGMQYPJYCQXJLLLJGSLZGQLYCJCCZOTYXMTMTTLLW" - + "TGPXYMZMKLPSZZZXHKQYSXCTYJZYHXSHYXZKXLZWPSQPYHJWPJPWXQQYLXSDHMRSLZZYZWTTCYXYSZZSHBSCCSTPLWSSCJCHNLCGCHSSPHYLHFHHXJSXYLLNYLSZDHZXYLSXLWZYKCLDYAXZCMDDYSPJTQJZLNWQPSSSWCTSTSZLBLNXSMNYYMJQBQHRZWTYYDCHQLXKPZWBGQY" - + "BKFCMZWPZLLYYLSZYDWHXPSBCMLJBSCGBHXLQHYRLJXYSWXWXZSLDFHLSLYNJLZYFLYJYCDRJLFSYZFSLLCQYQFGJYHYXZLYLMSTDJCYHBZLLNWLXXYGYYHSMGDHXXHHLZZJZXCZZZCYQZFNGWPYLCPKPYYPMCLQKDGXZGGWQBDXZZKZFBXXLZXJTPJPTTBYTSZZDWSLCHZHSLT" - + "YXHQLHYXXXYYZYSWTXZKHLXZXZPYHGCHKCFSYHUTJRLXFJXPTZTWHPLYXFCRHXSHXKYXXYHZQDXQWULHYHMJTBFLKHTXCWHJFWJCFPQRYQXCYYYQYGRPYWSGSUNGWCHKZDXYFLXXHJJBYZWTSXXNCYJJYMSWZJQRMHXZWFQSYLZJZGBHYNSLBGTTCSYBYXXWXYHXYYXNSQYXMQY" - + "WRGYQLXBBZLJSYLPSYTJZYHYZAWLRORJMKSCZJXXXYXCHDYXRYXXJDTSQFXLYLTSFFYXLMTYJMJUYYYXLTZCSXQZQHZXLYYXZHDNBRXXXJCTYHLBRLMBRLLAXKYLLLJLYXXLYCRYLCJTGJCMTLZLLCYZZPZPCYAWHJJFYBDYYZSMPCKZDQYQPBPCJPDCYZMDPBCYYDYCNNPLMTM" - + "LRMFMMGWYZBSJGYGSMZQQQZTXMKQWGXLLPJGZBQCDJJJFPKJKCXBLJMSWMDTQJXLDLPPBXCWRCQFBFQJCZAHZGMYKPHYYHZYKNDKZMBPJYXPXYHLFPNYYGXJDBKXNXHJMZJXSTRSTLDXSKZYSYBZXJLXYSLBZYSLHXJPFXPQNBYLLJQKYGZMCYZZYMCCSLCLHZFWFWYXZMWSXTY" - + "NXJHPYYMCYSPMHYSMYDYSHQYZCHMJJMZCAAGCFJBBHPLYZYLXXSDJGXDHKXXTXXNBHRMLYJSLTXMRHNLXQJXYZLLYSWQGDLBJHDCGJYQYCMHWFMJYBMBYJYJWYMDPWHXQLDYGPDFXXBCGJSPCKRSSYZJMSLBZZJFLJJJLGXZGYXYXLSZQYXBEXYXHGCXBPLDYHWETTWWCJMBTXC" - + "HXYQXLLXFLYXLLJLSSFWDPZSMYJCLMWYTCZPCHQEKCQBWLCQYDPLQPPQZQFJQDJHYMMCXTXDRMJWRHXCJZYLQXDYYNHYYHRSLSRSYWWZJYMTLTLLGTQCJZYABTCKZCJYCCQLJZQXALMZYHYWLWDXZXQDLLQSHGPJFJLJHJABCQZDJGTKHSSTCYJLPSWZLXZXRWGLDLZRLZXTGSL" - + "LLLZLYXXWGDZYGBDPHZPBRLWSXQBPFDWOFMWHLYPCBJCCLDMBZPBZZLCYQXLDOMZBLZWPDWYYGDSTTHCSQSCCRSSSYSLFYBFNTYJSZDFNDPDHDZZMBBLSLCMYFFGTJJQWFTMTPJWFNLBZCMMJTGBDZLQLPYFHYYMJYLSDCHDZJWJCCTLJCLDTLJJCPDDSQDSSZYBNDBJLGGJZXS" - + "XNLYCYBJXQYCBYLZCFZPPGKCXZDZFZTJJFJSJXZBNZYJQTTYJYHTYCZHYMDJXTTMPXSPLZCDWSLSHXYPZGTFMLCJTYCBPMGDKWYCYZCDSZZYHFLYCTYGWHKJYYLSJCXGYWJCBLLCSNDDBTZBSCLYZCZZSSQDLLMQYYHFSLQLLXFTYHABXGWNYWYYPLLSDLDLLBJCYXJZMLHLJDX" - + "YYQYTDLLLBUGBFDFBBQJZZMDPJHGCLGMJJPGAEHHBWCQXAXHHHZCHXYPHJAXHLPHJPGPZJQCQZGJJZZUZDMQYYBZZPHYHYBWHAZYJHYKFGDPFQSDLZMLJXKXGALXZDAGLMDGXMWZQYXXDXXPFDMMSSYMPFMDMMKXKSYZYSHDZKXSYSMMZZZMSYDNZZCZXFPLSTMZDNMXCKJMZTY" - + "YMZMZZMSXHHDCZJEMXXKLJSTLWLSQLYJZLLZJSSDPPMHNLZJCZYHMXXHGZCJMDHXTKGRMXFWMCGMWKDTKSXQMMMFZZYDKMSCLCMPCGMHSPXQPZDSSLCXKYXTWLWJYAHZJGZQMCSNXYYMMPMLKJXMHLMLQMXCTKZMJQYSZJSYSZHSYJZJCDAJZYBSDQJZGWZQQXFKDMSDJLFWEHK" - + "ZQKJPEYPZYSZCDWYJFFMZZYLTTDZZEFMZLBNPPLPLPEPSZALLTYLKCKQZKGENQLWAGYXYDPXLHSXQQWQCQXQCLHYXXMLYCCWLYMQYSKGCHLCJNSZKPYZKCQZQLJPDMDZHLASXLBYDWQLWDNBQCRYDDZTJYBKBWSZDXDTNPJDTCTQDFXQQMGNXECLTTBKPWSLCTYQLPWYZZKLPYG" - + "ZCQQPLLKCCYLPQMZCZQCLJSLQZDJXLDDHPZQDLJJXZQDXYZQKZLJCYQDYJPPYPQYKJYRMPCBYMCXKLLZLLFQPYLLLMBSGLCYSSLRSYSQTMXYXZQZFDZUYSYZTFFMZZSMZQHZSSCCMLYXWTPZGXZJGZGSJSGKDDHTQGGZLLBJDZLCBCHYXYZHZFYWXYZYMSDBZZYJGTSMTFXQYXQ" - + "STDGSLNXDLRYZZLRYYLXQHTXSRTZNGZXBNQQZFMYKMZJBZYMKBPNLYZPBLMCNQYZZZSJZHJCTZKHYZZJRDYZHNPXGLFZTLKGJTCTSSYLLGZRZBBQZZKLPKLCZYSSUYXBJFPNJZZXCDWXZYJXZZDJJKGGRSRJKMSMZJLSJYWQSKYHQJSXPJZZZLSNSHRNYPZTWCHKLPSRZLZXYJQ" - + "XQKYSJYCZTLQZYBBYBWZPQDWWYZCYTJCJXCKCWDKKZXSGKDZXWWYYJQYYTCYTDLLXWKCZKKLCCLZCQQDZLQLCSFQCHQHSFSMQZZLNBJJZBSJHTSZDYSJQJPDLZCDCWJKJZZLPYCGMZWDJJBSJQZSYZYHHXJPBJYDSSXDZNCGLQMBTSFSBPDZDLZNFGFJGFSMPXJQLMBLGQCYYXB" - + "QKDJJQYRFKZTJDHCZKLBSDZCFJTPLLJGXHYXZCSSZZXSTJYGKGCKGYOQXJPLZPBPGTGYJZGHZQZZLBJLSQFZGKQQJZGYCZBZQTLDXRJXBSXXPZXHYZYCLWDXJJHXMFDZPFZHQHQMQGKSLYHTYCGFRZGNQXCLPDLBZCSCZQLLJBLHBZCYPZZPPDYMZZSGYHCKCPZJGSLJLNSCDSL" - + "DLXBMSTLDDFJMKDJDHZLZXLSZQPQPGJLLYBDSZGQLBZLSLKYYHZTTNTJYQTZZPSZQZTLLJTYYLLQLLQYZQLBDZLSLYYZYMDFSZSNHLXZNCZQZPBWSKRFBSYZMTHBLGJPMCZZLSTLXSHTCSYZLZBLFEQHLXFLCJLYLJQCBZLZJHHSSTBRMHXZHJZCLXFNBGXGTQJCZTMSFZKJMSS" - + "NXLJKBHSJXNTNLZDNTLMSJXGZJYJCZXYJYJWRWWQNZTNFJSZPZSHZJFYRDJSFSZJZBJFZQZZHZLXFYSBZQLZSGYFTZDCSZXZJBQMSZKJRHYJZCKMJKHCHGTXKXQGLXPXFXTRTYLXJXHDTSJXHJZJXZWZLCQSBTXWXGXTXXHXFTSDKFJHZYJFJXRZSDLLLTQSQQZQWZXSYQTWGWB" - + "ZCGZLLYZBCLMQQTZHZXZXLJFRMYZFLXYSQXXJKXRMQDZDMMYYBSQBHGZMWFWXGMXLZPYYTGZYCCDXYZXYWGSYJYZNBHPZJSQSYXSXRTFYZGRHZTXSZZTHCBFCLSYXZLZQMZLMPLMXZJXSFLBYZMYQHXJSXRXSQZZZSSLYFRCZJRCRXHHZXQYDYHXSJJHZCXZBTYNSYSXJBQLPXZ" - + "QPYMLXZKYXLXCJLCYSXXZZLXDLLLJJYHZXGYJWKJRWYHCPSGNRZLFZWFZZNSXGXFLZSXZZZBFCSYJDBRJKRDHHGXJLJJTGXJXXSTJTJXLYXQFCSGSWMSBCTLQZZWLZZKXJMLTMJYHSDDBXGZHDLBMYJFRZFSGCLYJBPMLYSMSXLSZJQQHJZFXGFQFQBPXZGYYQXGZTCQWYLTLGW" - + "SGWHRLFSFGZJMGMGBGTJFSYZZGZYZAFLSSPMLPFLCWBJZCLJJMZLPJJLYMQDMYYYFBGYGYZMLYZDXQYXRQQQHSYYYQXYLJTYXFSFSLLGNQCYHYCWFHCCCFXPYLYPLLZYXXXXXKQHHXSHJZCFZSCZJXCPZWHHHHHAPYLQALPQAFYHXDYLUKMZQGGGDDESRNNZLTZGCHYPPYSQJJH" - + "CLLJTOLNJPZLJLHYMHEYDYDSQYCDDHGZUNDZCLZYZLLZNTNYZGSLHSLPJJBDGWXPCDUTJCKLKCLWKLLCASSTKZZDNQNTTLYYZSSYSSZZRYLJQKCQDHHCRXRZYDGRGCWCGZQFFFPPJFZYNAKRGYWYQPQXXFKJTSZZXSWZDDFBBXTBGTZKZNPZZPZXZPJSZBMQHKCYXYLDKLJNYPK" - + "YGHGDZJXXEAHPNZKZTZCMXCXMMJXNKSZQNMNLWBWWXJKYHCPSTMCSQTZJYXTPCTPDTNNPGLLLZSJLSPBLPLQHDTNJNLYYRSZFFJFQWDPHZDWMRZCCLODAXNSSNYZRESTYJWJYJDBCFXNMWTTBYLWSTSZGYBLJPXGLBOCLHPCBJLTMXZLJYLZXCLTPNCLCKXTPZJSWCYXSFYSZDK" - + "NTLBYJCYJLLSTGQCBXRYZXBXKLYLHZLQZLNZCXWJZLJZJNCJHXMNZZGJZZXTZJXYCYYCXXJYYXJJXSSSJSTSSTTPPGQTCSXWZDCSYFPTFBFHFBBLZJCLZZDBXGCXLQPXKFZFLSYLTUWBMQJHSZBMDDBCYSCCLDXYCDDQLYJJWMQLLCSGLJJSYFPYYCCYLTJANTJJPWYCMMGQYYS" - + "XDXQMZHSZXPFTWWZQSWQRFKJLZJQQYFBRXJHHFWJJZYQAZMYFRHCYYBYQWLPEXCCZSTYRLTTDMQLYKMBBGMYYJPRKZNPBSXYXBHYZDJDNGHPMFSGMWFZMFQMMBCMZZCJJLCNUXYQLMLRYGQZCYXZLWJGCJCGGMCJNFYZZJHYCPRRCMTZQZXHFQGTJXCCJEAQCRJYHPLQLSZDJRB" - + "CQHQDYRHYLYXJSYMHZYDWLDFRYHBPYDTSSCNWBXGLPZMLZZTQSSCPJMXXYCSJYTYCGHYCJWYRXXLFEMWJNMKLLSWTXHYYYNCMMCWJDQDJZGLLJWJRKHPZGGFLCCSCZMCBLTBHBQJXQDSPDJZZGKGLFQYWBZYZJLTSTDHQHCTCBCHFLQMPWDSHYYTQWCNZZJTLBYMBPDYYYXSQKX" - + "WYYFLXXNCWCXYPMAELYKKJMZZZBRXYYQJFLJPFHHHYTZZXSGQQMHSPGDZQWBWPJHZJDYSCQWZKTXXSQLZYYMYSDZGRXCKKUJLWPYSYSCSYZLRMLQSYLJXBCXTLWDQZPCYCYKPPPNSXFYZJJRCEMHSZMSXLXGLRWGCSTLRSXBZGBZGZTCPLUJLSLYLYMTXMTZPALZXPXJTJWTCYY" - + "ZLBLXBZLQMYLXPGHDSLSSDMXMBDZZSXWHAMLCZCPJMCNHJYSNSYGCHSKQMZZQDLLKABLWJXSFMOCDXJRRLYQZKJMYBYQLYHETFJZFRFKSRYXFJTWDSXXSYSQJYSLYXWJHSNLXYYXHBHAWHHJZXWMYLJCSSLKYDZTXBZSYFDXGXZJKHSXXYBSSXDPYNZWRPTQZCZENYGCXQFJYKJ" - + "BZMLJCMQQXUOXSLYXXLYLLJDZBTYMHPFSTTQQWLHOKYBLZZALZXQLHZWRRQHLSTMYPYXJJXMQSJFNBXYXYJXXYQYLTHYLQYFMLKLJTMLLHSZWKZHLJMLHLJKLJSTLQXYLMBHHLNLZXQJHXCFXXLHYHJJGBYZZKBXSCQDJQDSUJZYYHZHHMGSXCSYMXFEBCQWWRBPYYJQTYZCYQY" - + "QQZYHMWFFHGZFRJFCDPXNTQYZPDYKHJLFRZXPPXZDBBGZQSTLGDGYLCQMLCHHMFYWLZYXKJLYPQHSYWMQQGQZMLZJNSQXJQSYJYCBEHSXFSZPXZWFLLBCYYJDYTDTHWZSFJMQQYJLMQXXLLDTTKHHYBFPWTYYSQQWNQWLGWDEBZWCMYGCULKJXTMXMYJSXHYBRWFYMWFRXYQMXY" - + "SZTZZTFYKMLDHQDXWYYNLCRYJBLPSXCXYWLSPRRJWXHQYPHTYDNXHHMMYWYTZCSQMTSSCCDALWZTCPQPYJLLQZYJSWXMZZMMYLMXCLMXCZMXMZSQTZPPQQBLPGXQZHFLJJHYTJSRXWZXSCCDLXTYJDCQJXSLQYCLZXLZZXMXQRJMHRHZJBHMFLJLMLCLQNLDXZLLLPYPSYJYSXC" - + "QQDCMQJZZXHNPNXZMEKMXHYKYQLXSXTXJYYHWDCWDZHQYYBGYBCYSCFGPSJNZDYZZJZXRZRQJJYMCANYRJTLDPPYZBSTJKXXZYPFDWFGZZRPYMTNGXZQBYXNBUFNQKRJQZMJEGRZGYCLKXZDSKKNSXKCLJSPJYYZLQQJYBZSSQLLLKJXTBKTYLCCDDBLSPPFYLGYDTZJYQGGKQT" - + "TFZXBDKTYYHYBBFYTYYBCLPDYTGDHRYRNJSPTCSNYJQHKLLLZSLYDXXWBCJQSPXBPJZJCJDZFFXXBRMLAZHCSNDLBJDSZBLPRZTSWSBXBCLLXXLZDJZSJPYLYXXYFTFFFBHJJXGBYXJPMMMPSSJZJMTLYZJXSWXTYLEDQPJMYGQZJGDJLQJWJQLLSJGJGYGMSCLJJXDTYGJQJQJ" - + "CJZCJGDZZSXQGSJGGCXHQXSNQLZZBXHSGZXCXYLJXYXYYDFQQJHJFXDHCTXJYRXYSQTJXYEFYYSSYYJXNCYZXFXMSYSZXYYSCHSHXZZZGZZZGFJDLTYLNPZGYJYZYYQZPBXQBDZTZCZYXXYHHSQXSHDHGQHJHGYWSZTMZMLHYXGEBTYLZKQWYTJZRCLEKYSTDBCYKQQSAYXCJXW" - + "WGSBHJYZYDHCSJKQCXSWXFLTYNYZPZCCZJQTZWJQDZZZQZLJJXLSBHPYXXPSXSHHEZTXFPTLQYZZXHYTXNCFZYYHXGNXMYWXTZSJPTHHGYMXMXQZXTSBCZYJYXXTYYZYPCQLMMSZMJZZLLZXGXZAAJZYXJMZXWDXZSXZDZXLEYJJZQBHZWZZZQTZPSXZTDSXJJJZNYAZPHXYYSR" - + "NQDTHZHYYKYJHDZXZLSWCLYBZYECWCYCRYLCXNHZYDZYDYJDFRJJHTRSQTXYXJRJHOJYNXELXSFSFJZGHPZSXZSZDZCQZBYYKLSGSJHCZSHDGQGXYZGXCHXZJWYQWGYHKSSEQZZNDZFKWYSSTCLZSTSYMCDHJXXYWEYXCZAYDMPXMDSXYBSQMJMZJMTZQLPJYQZCGQHXJHHLXXH" - + "LHDLDJQCLDWBSXFZZYYSCHTYTYYBHECXHYKGJPXHHYZJFXHWHBDZFYZBCAPNPGNYDMSXHMMMMAMYNBYJTMPXYYMCTHJBZYFCGTYHWPHFTWZZEZSBZEGPFMTSKFTYCMHFLLHGPZJXZJGZJYXZSBBQSCZZLZCCSTPGXMJSFTCCZJZDJXCYBZLFCJSYZFGSZLYBCWZZBYZDZYPSWYJ" - + "ZXZBDSYUXLZZBZFYGCZXBZHZFTPBGZGEJBSTGKDMFHYZZJHZLLZZGJQZLSFDJSSCBZGPDLFZFZSZYZYZSYGCXSNXXCHCZXTZZLJFZGQSQYXZJQDCCZTQCDXZJYQJQCHXZTDLGSCXZSYQJQTZWLQDQZTQCHQQJZYEZZZPBWKDJFCJPZTYPQYQTTYNLMBDKTJZPQZQZZFPZSBNJLG" - + "YJDXJDZZKZGQKXDLPZJTCJDQBXDJQJSTCKNXBXZMSLYJCQMTJQWWCJQNJNLLLHJCWQTBZQYDZCZPZZDZYDDCYZZZCCJTTJFZDPRRTZTJDCQTQZDTJNPLZBCLLCTZSXKJZQZPZLBZRBTJDCXFCZDBCCJJLTQQPLDCGZDBBZJCQDCJWYNLLZYZCCDWLLXWZLXRXNTQQCZXKQLSGDF" - + "QTDDGLRLAJJTKUYMKQLLTZYTDYYCZGJWYXDXFRSKSTQTENQMRKQZHHQKDLDAZFKYPBGGPZREBZZYKZZSPEGJXGYKQZZZSLYSYYYZWFQZYLZZLZHWCHKYPQGNPGBLPLRRJYXCCSYYHSFZFYBZYYTGZXYLXCZWXXZJZBLFFLGSKHYJZEYJHLPLLLLCZGXDRZELRHGKLZZYHZLYQSZ" - + "ZJZQLJZFLNBHGWLCZCFJYSPYXZLZLXGCCPZBLLCYBBBBUBBCBPCRNNZCZYRBFSRLDCGQYYQXYGMQZWTZYTYJXYFWTEHZZJYWLCCNTZYJJZDEDPZDZTSYQJHDYMBJNYJZLXTSSTPHNDJXXBYXQTZQDDTJTDYYTGWSCSZQFLSHLGLBCZPHDLYZJYCKWTYTYLBNYTSDSYCCTYSZYYE" - + "BHEXHQDTWNYGYCLXTSZYSTQMYGZAZCCSZZDSLZCLZRQXYYELJSBYMXSXZTEMBBLLYYLLYTDQYSHYMRQWKFKBFXNXSBYCHXBWJYHTQBPBSBWDZYLKGZSKYHXQZJXHXJXGNLJKZLYYCDXLFYFGHLJGJYBXQLYBXQPQGZTZPLNCYPXDJYQYDYMRBESJYYHKXXSTMXRCZZYWXYQYBMC" - + "LLYZHQYZWQXDBXBZWZMSLPDMYSKFMZKLZCYQYCZLQXFZZYDQZPZYGYJYZMZXDZFYFYTTQTZHGSPCZMLCCYTZXJCYTJMKSLPZHYSNZLLYTPZCTZZCKTXDHXXTQCYFKSMQCCYYAZHTJPCYLZLYJBJXTPNYLJYYNRXSYLMMNXJSMYBCSYSYLZYLXJJQYLDZLPQBFZZBLFNDXQKCZFY" - + "WHGQMRDSXYCYTXNQQJZYYPFZXDYZFPRXEJDGYQBXRCNFYYQPGHYJDYZXGRHTKYLNWDZNTSMPKLBTHBPYSZBZTJZSZZJTYYXZPHSSZZBZCZPTQFZMYFLYPYBBJQXZMXXDJMTSYSKKBJZXHJCKLPSMKYJZCXTMLJYXRZZQSLXXQPYZXMKYXXXJCLJPRMYYGADYSKQLSNDHYZKQXZY" - + "ZTCGHZTLMLWZYBWSYCTBHJHJFCWZTXWYTKZLXQSHLYJZJXTMPLPYCGLTBZZTLZJCYJGDTCLKLPLLQPJMZPAPXYZLKKTKDZCZZBNZDYDYQZJYJGMCTXLTGXSZLMLHBGLKFWNWZHDXUHLFMKYSLGXDTWWFRJEJZTZHYDXYKSHWFZCQSHKTMQQHTZHYMJDJSKHXZJZBZZXYMPAGQMS" - + "TPXLSKLZYNWRTSQLSZBPSPSGZWYHTLKSSSWHZZLYYTNXJGMJSZSUFWNLSOZTXGXLSAMMLBWLDSZYLAKQCQCTMYCFJBSLXCLZZCLXXKSBZQCLHJPSQPLSXXCKSLNHPSFQQYTXYJZLQLDXZQJZDYYDJNZPTUZDSKJFSLJHYLZSQZLBTXYDGTQFDBYAZXDZHZJNHHQBYKNXJJQCZML" - + "LJZKSPLDYCLBBLXKLELXJLBQYCXJXGCNLCQPLZLZYJTZLJGYZDZPLTQCSXFDMNYCXGBTJDCZNBGBQYQJWGKFHTNPYQZQGBKPBBYZMTJDYTBLSQMPSXTBNPDXKLEMYYCJYNZCTLDYKZZXDDXHQSHDGMZSJYCCTAYRZLPYLTLKXSLZCGGEXCLFXLKJRTLQJAQZNCMBYDKKCXGLCZJ" - + "ZXJHPTDJJMZQYKQSECQZDSHHADMLZFMMZBGNTJNNLGBYJBRBTMLBYJDZXLCJLPLDLPCQDHLXZLYCBLCXZZJADJLNZMMSSSMYBHBSQKBHRSXXJMXSDZNZPXLGBRHWGGFCXGMSKLLTSJYYCQLTSKYWYYHYWXBXQYWPYWYKQLSQPTNTKHQCWDQKTWPXXHCPTHTWUMSSYHBWCRWXHJM" - + "KMZNGWTMLKFGHKJYLSYYCXWHYECLQHKQHTTQKHFZLDXQWYZYYDESBPKYRZPJFYYZJCEQDZZDLATZBBFJLLCXDLMJSSXEGYGSJQXCWBXSSZPDYZCXDNYXPPZYDLYJCZPLTXLSXYZYRXCYYYDYLWWNZSAHJSYQYHGYWWAXTJZDAXYSRLTDPSSYYFNEJDXYZHLXLLLZQZSJNYQYQQX" - + "YJGHZGZCYJCHZLYCDSHWSHJZYJXCLLNXZJJYYXNFXMWFPYLCYLLABWDDHWDXJMCXZTZPMLQZHSFHZYNZTLLDYWLSLXHYMMYLMBWWKYXYADTXYLLDJPYBPWUXJMWMLLSAFDLLYFLBHHHBQQLTZJCQJLDJTFFKMMMBYTHYGDCQRDDWRQJXNBYSNWZDBYYTBJHPYBYTTJXAAHGQDQT" - + "MYSTQXKBTZPKJLZRBEQQSSMJJBDJOTGTBXPGBKTLHQXJJJCTHXQDWJLWRFWQGWSHCKRYSWGFTGYGBXSDWDWRFHWYTJJXXXJYZYSLPYYYPAYXHYDQKXSHXYXGSKQHYWFDDDPPLCJLQQEEWXKSYYKDYPLTJTHKJLTCYYHHJTTPLTZZCDLTHQKZXQYSTEEYWYYZYXXYYSTTJKLLPZM" - + "CYHQGXYHSRMBXPLLNQYDQHXSXXWGDQBSHYLLPJJJTHYJKYPPTHYYKTYEZYENMDSHLCRPQFDGFXZPSFTLJXXJBSWYYSKSFLXLPPLBBBLBSFXFYZBSJSSYLPBBFFFFSSCJDSTZSXZRYYSYFFSYZYZBJTBCTSBSDHRTJJBYTCXYJEYLXCBNEBJDSYXYKGSJZBXBYTFZWGENYHHTHZH" - + "HXFWGCSTBGXKLSXYWMTMBYXJSTZSCDYQRCYTWXZFHMYMCXLZNSDJTTTXRYCFYJSBSDYERXJLJXBBDEYNJGHXGCKGSCYMBLXJMSZNSKGXFBNBPTHFJAAFXYXFPXMYPQDTZCXZZPXRSYWZDLYBBKTYQPQJPZYPZJZNJPZJLZZFYSBTTSLMPTZRTDXQSJEHBZYLZDHLJSQMLHTXTJE" - + "CXSLZZSPKTLZKQQYFSYGYWPCPQFHQHYTQXZKRSGTTSQCZLPTXCDYYZXSQZSLXLZMYCPCQBZYXHBSXLZDLTCDXTYLZJYYZPZYZLTXJSJXHLPMYTXCQRBLZSSFJZZTNJYTXMYJHLHPPLCYXQJQQKZZSCPZKSWALQSBLCCZJSXGWWWYGYKTJBBZTDKHXHKGTGPBKQYSLPXPJCKBMLL" - + "XDZSTBKLGGQKQLSBKKTFXRMDKBFTPZFRTBBRFERQGXYJPZSSTLBZTPSZQZSJDHLJQLZBPMSMMSXLQQNHKNBLRDDNXXDHDDJCYYGYLXGZLXSYGMQQGKHBPMXYXLYTQWLWGCPBMQXCYZYDRJBHTDJYHQSHTMJSBYPLWHLZFFNYPMHXXHPLTBQPFBJWQDBYGPNZTPFZJGSDDTQSHZE" - + "AWZZYLLTYYBWJKXXGHLFKXDJTMSZSQYNZGGSWQSPHTLSSKMCLZXYSZQZXNCJDQGZDLFNYKLJCJLLZLMZZNHYDSSHTHZZLZZBBHQZWWYCRZHLYQQJBEYFXXXWHSRXWQHWPSLMSSKZTTYGYQQWRSLALHMJTQJSMXQBJJZJXZYZKXBYQXBJXSHZTSFJLXMXZXFGHKZSZGGYLCLSARJ" - + "YHSLLLMZXELGLXYDJYTLFBHBPNLYZFBBHPTGJKWETZHKJJXZXXGLLJLSTGSHJJYQLQZFKCGNNDJSSZFDBCTWWSEQFHQJBSAQTGYPQLBXBMMYWXGSLZHGLZGQYFLZBYFZJFRYSFMBYZHQGFWZSYFYJJPHZBYYZFFWODGRLMFTWLBZGYCQXCDJYGZYYYYTYTYDWEGAZYHXJLZYYHL" - + "RMGRXXZCLHNELJJTJTPWJYBJJBXJJTJTEEKHWSLJPLPSFYZPQQBDLQJJTYYQLYZKDKSQJYYQZLDQTGJQYZJSUCMRYQTHTEJMFCTYHYPKMHYZWJDQFHYYXWSHCTXRLJHQXHCCYYYJLTKTTYTMXGTCJTZAYYOCZLYLBSZYWJYTSJYHBYSHFJLYGJXXTMZYYLTXXYPZLXYJZYZYYPN" - + "HMYMDYYLBLHLSYYQQLLNJJYMSOYQBZGDLYXYLCQYXTSZEGXHZGLHWBLJHEYXTWQMAKBPQCGYSHHEGQCMWYYWLJYJHYYZLLJJYLHZYHMGSLJLJXCJJYCLYCJPCPZJZJMMYLCQLNQLJQJSXYJMLSZLJQLYCMMHCFMMFPQQMFYLQMCFFQMMMMHMZNFHHJGTTHHKHSLNCHHYQDXTMMQ" - + "DCYZYXYQMYQYLTDCYYYZAZZCYMZYDLZFFFMMYCQZWZZMABTBYZTDMNZZGGDFTYPCGQYTTSSFFWFDTZQSSYSTWXJHXYTSXXYLBYQHWWKXHZXWZNNZZJZJJQJCCCHYYXBZXZCYZTLLCQXYNJYCYYCYNZZQYYYEWYCZDCJYCCHYJLBTZYYCQWMPWPYMLGKDLDLGKQQBGYCHJXY"; - - //此处收录了375个多音字,数据来自于http://www.51window.net/page/pinyin - var oMultiDiff = { - "19969": "DZ", - "19975": "WM", - "19988": "QJ", - "20048": "YL", - "20056": "SC", - "20060": "NM", - "20094": "QG", - "20127": "QJ", - "20167": "QC", - "20193": "YG", - "20250": "KH", - "20256": "ZC", - "20282": "SC", - "20285": "QJG", - "20291": "TD", - "20314": "YD", - "20340": "NE", - "20375": "TD", - "20389": "YJ", - "20391": "CZ", - "20415": "PB", - "20446": "YS", - "20447": "SQ", - "20504": "TC", - "20608": "KG", - "20854": "QJ", - "20857": "ZC", - "20911": "PF", - "20504": "TC", - "20608": "KG", - "20854": "QJ", - "20857": "ZC", - "20911": "PF", - "20985": "AW", - "21032": "PB", - "21048": "XQ", - "21049": "SC", - "21089": "YS", - "21119": "JC", - "21242": "SB", - "21273": "SC", - "21305": "YP", - "21306": "QO", - "21330": "ZC", - "21333": "SDC", - "21345": "QK", - "21378": "CA", - "21397": "SC", - "21414": "XS", - "21442": "SC", - "21477": "JG", - "21480": "TD", - "21484": "ZS", - "21494": "YX", - "21505": "YX", - "21512": "HG", - "21523": "XH", - "21537": "PB", - "21542": "PF", - "21549": "KH", - "21571": "E", - "21574": "DA", - "21588": "TD", - "21589": "O", - "21618": "ZC", - "21621": "KHA", - "21632": "ZJ", - "21654": "KG", - "21679": "LKG", - "21683": "KH", - "21710": "A", - "21719": "YH", - "21734": "WOE", - "21769": "A", - "21780": "WN", - "21804": "XH", - "21834": "A", - "21899": "ZD", - "21903": "RN", - "21908": "WO", - "21939": "ZC", - "21956": "SA", - "21964": "YA", - "21970": "TD", - "22003": "A", - "22031": "JG", - "22040": "XS", - "22060": "ZC", - "22066": "ZC", - "22079": "MH", - "22129": "XJ", - "22179": "XA", - "22237": "NJ", - "22244": "TD", - "22280": "JQ", - "22300": "YH", - "22313": "XW", - "22331": "YQ", - "22343": "YJ", - "22351": "PH", - "22395": "DC", - "22412": "TD", - "22484": "PB", - "22500": "PB", - "22534": "ZD", - "22549": "DH", - "22561": "PB", - "22612": "TD", - "22771": "KQ", - "22831": "HB", - "22841": "JG", - "22855": "QJ", - "22865": "XQ", - "23013": "ML", - "23081": "WM", - "23487": "SX", - "23558": "QJ", - "23561": "YW", - "23586": "YW", - "23614": "YW", - "23615": "SN", - "23631": "PB", - "23646": "ZS", - "23663": "ZT", - "23673": "YG", - "23762": "TD", - "23769": "ZS", - "23780": "QJ", - "23884": "QK", - "24055": "XH", - "24113": "DC", - "24162": "ZC", - "24191": "GA", - "24273": "QJ", - "24324": "NL", - "24377": "TD", - "24378": "QJ", - "24439": "PF", - "24554": "ZS", - "24683": "TD", - "24694": "WE", - "24733": "LK", - "24925": "TN", - "25094": "ZG", - "25100": "XQ", - "25103": "XH", - "25153": "PB", - "25170": "PB", - "25179": "KG", - "25203": "PB", - "25240": "ZS", - "25282": "FB", - "25303": "NA", - "25324": "KG", - "25341": "ZY", - "25373": "WZ", - "25375": "XJ", - "25384": "A", - "25457": "A", - "25528": "SD", - "25530": "SC", - "25552": "TD", - "25774": "ZC", - "25874": "ZC", - "26044": "YW", - "26080": "WM", - "26292": "PB", - "26333": "PB", - "26355": "ZY", - "26366": "CZ", - "26397": "ZC", - "26399": "QJ", - "26415": "ZS", - "26451": "SB", - "26526": "ZC", - "26552": "JG", - "26561": "TD", - "26588": "JG", - "26597": "CZ", - "26629": "ZS", - "26638": "YL", - "26646": "XQ", - "26653": "KG", - "26657": "XJ", - "26727": "HG", - "26894": "ZC", - "26937": "ZS", - "26946": "ZC", - "26999": "KJ", - "27099": "KJ", - "27449": "YQ", - "27481": "XS", - "27542": "ZS", - "27663": "ZS", - "27748": "TS", - "27784": "SC", - "27788": "ZD", - "27795": "TD", - "27812": "O", - "27850": "PB", - "27852": "MB", - "27895": "SL", - "27898": "PL", - "27973": "QJ", - "27981": "KH", - "27986": "HX", - "27994": "XJ", - "28044": "YC", - "28065": "WG", - "28177": "SM", - "28267": "QJ", - "28291": "KH", - "28337": "ZQ", - "28463": "TL", - "28548": "DC", - "28601": "TD", - "28689": "PB", - "28805": "JG", - "28820": "QG", - "28846": "PB", - "28952": "TD", - "28975": "ZC", - "29100": "A", - "29325": "QJ", - "29575": "SL", - "29602": "FB", - "30010": "TD", - "30044": "CX", - "30058": "PF", - "30091": "YSP", - "30111": "YN", - "30229": "XJ", - "30427": "SC", - "30465": "SX", - "30631": "YQ", - "30655": "QJ", - "30684": "QJG", - "30707": "SD", - "30729": "XH", - "30796": "LG", - "30917": "PB", - "31074": "NM", - "31085": "JZ", - "31109": "SC", - "31181": "ZC", - "31192": "MLB", - "31293": "JQ", - "31400": "YX", - "31584": "YJ", - "31896": "ZN", - "31909": "ZY", - "31995": "XJ", - "32321": "PF", - "32327": "ZY", - "32418": "HG", - "32420": "XQ", - "32421": "HG", - "32438": "LG", - "32473": "GJ", - "32488": "TD", - "32521": "QJ", - "32527": "PB", - "32562": "ZSQ", - "32564": "JZ", - "32735": "ZD", - "32793": "PB", - "33071": "PF", - "33098": "XL", - "33100": "YA", - "33152": "PB", - "33261": "CX", - "33324": "BP", - "33333": "TD", - "33406": "YA", - "33426": "WM", - "33432": "PB", - "33445": "JG", - "33486": "ZN", - "33493": "TS", - "33507": "QJ", - "33540": "QJ", - "33544": "ZC", - "33564": "XQ", - "33617": "YT", - "33632": "QJ", - "33636": "XH", - "33637": "YX", - "33694": "WG", - "33705": "PF", - "33728": "YW", - "33882": "SR", - "34067": "WM", - "34074": "YW", - "34121": "QJ", - "34255": "ZC", - "34259": "XL", - "34425": "JH", - "34430": "XH", - "34485": "KH", - "34503": "YS", - "34532": "HG", - "34552": "XS", - "34558": "YE", - "34593": "ZL", - "34660": "YQ", - "34892": "XH", - "34928": "SC", - "34999": "QJ", - "35048": "PB", - "35059": "SC", - "35098": "ZC", - "35203": "TQ", - "35265": "JX", - "35299": "JX", - "35782": "SZ", - "35828": "YS", - "35830": "E", - "35843": "TD", - "35895": "YG", - "35977": "MH", - "36158": "JG", - "36228": "QJ", - "36426": "XQ", - "36466": "DC", - "36710": "JC", - "36711": "ZYG", - "36767": "PB", - "36866": "SK", - "36951": "YW", - "37034": "YX", - "37063": "XH", - "37218": "ZC", - "37325": "ZC", - "38063": "PB", - "38079": "TD", - "38085": "QY", - "38107": "DC", - "38116": "TD", - "38123": "YD", - "38224": "HG", - "38241": "XTC", - "38271": "ZC", - "38415": "YE", - "38426": "KH", - "38461": "YD", - "38463": "AE", - "38466": "PB", - "38477": "XJ", - "38518": "YT", - "38551": "WK", - "38585": "ZC", - "38704": "XS", - "38739": "LJ", - "38761": "GJ", - "38808": "SQ", - "39048": "JG", - "39049": "XJ", - "39052": "HG", - "39076": "CZ", - "39271": "XT", - "39534": "TD", - "39552": "TD", - "39584": "PB", - "39647": "SB", - "39730": "LG", - "39748": "TPB", - "40109": "ZQ", - "40479": "ND", - "40516": "HG", - "40536": "HG", - "40583": "QJ", - "40765": "YQ", - "40784": "QJ", - "40840": "YK", - "40863": "QJG" - }; - - var _checkPYCh = function (ch) { - var uni = ch.charCodeAt(0); - // 如果不在汉字处理范围之内,返回原字符,也可以调用自己的处理函数 - if (uni > 40869 || uni < 19968) - return ch; // dealWithOthers(ch); - return (oMultiDiff[uni] ? oMultiDiff[uni] : (_ChineseFirstPY.charAt(uni - 19968))); - }; - - var _mkPYRslt = function (arr) { - var arrRslt = [""], k; - for (var i = 0, len = arr.length; i < len; i++) { - var str = arr[i]; - var strlen = str.length; - if (strlen == 1) { - for (k = 0; k < arrRslt.length; k++) { - arrRslt[k] += str; - } - } else { - var tmpArr = arrRslt.slice(0); - arrRslt = []; - for (k = 0; k < strlen; k++) { - // 复制一个相同的arrRslt - var tmp = tmpArr.slice(0); - // 把当前字符str[k]添加到每个元素末尾 - for (var j = 0; j < tmp.length; j++) { - tmp[j] += str.charAt(k); - } - // 把复制并修改后的数组连接到arrRslt上 - arrRslt = arrRslt.concat(tmp); - } - } - } - return arrRslt.join("").toLowerCase(); - }; - - _.extend(BI, { - makeFirstPY: function (str) { - if (typeof (str) != "string") - return '' + str; - var arrResult = []; // 保存中间结果的数组 - for (var i = 0, len = str.length; i < len; i++) { - // 获得unicode码 - var ch = str.charAt(i); - // 检查该unicode码是否在处理范围之内,在则返回该码对映汉字的拼音首字母,不在则调用其它函数处理 - arrResult.push(_checkPYCh(ch)); - } - // 处理arrResult,返回所有可能的拼音首字母串数组 - return _mkPYRslt(arrResult); - } - }); -})(); \ No newline at end of file diff --git a/src/core/utils/detectElementResize.js b/src/core/utils/detectElementResize.js deleted file mode 100644 index 6686ed1b08..0000000000 --- a/src/core/utils/detectElementResize.js +++ /dev/null @@ -1,180 +0,0 @@ -/** - * Detect Element Resize. - * Forked in order to guard against unsafe 'window' and 'document' references. - * - * https://github.com/sdecima/javascript-detect-element-resize - * Sebastian Decima - * - * version: 0.5.3 - **/ -!(function () { - // Check `document` and `window` in case of server-side rendering - var _window - if (typeof window !== 'undefined') { - _window = window - } else if (typeof self !== 'undefined') { - _window = self - } else { - _window = this - } - - var addEventListener = typeof document !== 'undefined' && document.addEventListener; - var stylesCreated = false; - - if (addEventListener) { - var requestFrame = (function () { - var raf = _window.requestAnimationFrame || _window.mozRequestAnimationFrame || _window.webkitRequestAnimationFrame || - function (fn) { - return _window.setTimeout(fn, 20); - }; - return function (fn) { - return raf(fn); - }; - })(); - - var cancelFrame = (function () { - var cancel = _window.cancelAnimationFrame || _window.mozCancelAnimationFrame || _window.webkitCancelAnimationFrame || - _window.clearTimeout; - return function (id) { - return cancel(id); - }; - })(); - - var resetTriggers = function (element) { - var triggers = element.__resizeTriggers__, - expand = triggers.firstElementChild, - contract = triggers.lastElementChild, - expandChild = expand.firstElementChild; - contract.scrollLeft = contract.scrollWidth; - contract.scrollTop = contract.scrollHeight; - expandChild.style.width = expand.offsetWidth + 1 + 'px'; - expandChild.style.height = expand.offsetHeight + 1 + 'px'; - expand.scrollLeft = expand.scrollWidth; - expand.scrollTop = expand.scrollHeight; - }; - - var checkTriggers = function (element) { - return element.offsetWidth !== element.__resizeLast__.width || - element.offsetHeight !== element.__resizeLast__.height; - } - - var scrollListener = function (e) { - var element = this; - resetTriggers(this); - if (this.__resizeRAF__) cancelFrame(this.__resizeRAF__); - this.__resizeRAF__ = requestFrame(function () { - if (checkTriggers(element)) { - element.__resizeLast__.width = element.offsetWidth; - element.__resizeLast__.height = element.offsetHeight; - element.__resizeListeners__.forEach(function (fn) { - fn.call(element, e); - }); - } - }); - }; - - /* Detect CSS Animations support to detect element display/re-attach */ - var animation = false, - animationstring = 'animation', - keyframeprefix = '', - animationstartevent = 'animationstart', - domPrefixes = 'Webkit Moz O ms'.split(' '), - startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(' '), - pfx = ''; - { - var elm = document.createElement('fakeelement'); - if (elm.style.animationName !== undefined) { - animation = true; - } - - if (animation === false) { - for (var i = 0; i < domPrefixes.length; i++) { - if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) { - pfx = domPrefixes[i]; - animationstring = pfx + 'Animation'; - keyframeprefix = '-' + pfx.toLowerCase() + '-'; - animationstartevent = startEvents[i]; - animation = true; - break; - } - } - } - } - - var animationName = 'resizeanim'; - var animationKeyframes = '@' + keyframeprefix + 'keyframes ' + animationName + ' { from { opacity: 0; } to { opacity: 0; } } '; - var animationStyle = keyframeprefix + 'animation: 1ms ' + animationName + '; '; - } - - var createStyles = function () { - if (!stylesCreated) { - //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360 - var css = (animationKeyframes ? animationKeyframes : '') + - '.resize-triggers { ' + (animationStyle ? animationStyle : '') + 'visibility: hidden; opacity: 0; } ' + - '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }', - head = document.head || document.getElementsByTagName('head')[0], - style = document.createElement('style'); - - style.type = 'text/css'; - if (style.styleSheet) { - style.styleSheet.cssText = css; - } else { - style.appendChild(document.createTextNode(css)); - } - - head.appendChild(style); - stylesCreated = true; - } - } - - var addResizeListener = function (element, fn) { - if (addEventListener){ - if (!element.__resizeTriggers__) { - if (getComputedStyle(element).position === 'static') element.style.position = 'relative'; - createStyles(); - element.__resizeLast__ = {}; - element.__resizeListeners__ = []; - (element.__resizeTriggers__ = document.createElement('div')).className = 'resize-triggers'; - element.__resizeTriggers__.innerHTML = '<div class="expand-trigger"><div></div></div>' + - '<div class="contract-trigger"></div>'; - element.appendChild(element.__resizeTriggers__); - resetTriggers(element); - element.addEventListener('scroll', scrollListener, true); - - /* Listen for a css animation to detect element display/re-attach */ - animationstartevent && element.__resizeTriggers__.addEventListener(animationstartevent, function (e) { - if (e.animationName === animationName) - resetTriggers(element); - }); - } - element.__resizeListeners__.push(fn); - - } else { - element.attachEvent('onresize', fn); - } - }; - - var removeResizeListener = function (element, fn) { - if (addEventListener) { - element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1); - if (!element.__resizeListeners__.length) { - element.removeEventListener('scroll', scrollListener, true); - element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__); - } - } else { - element.detachEvent('onresize', fn); - } - }; - - BI.ResizeDetector = { - addResizeListener: function (widget, fn) { - addResizeListener(widget.element[0], fn); - return function () { - removeResizeListener(widget.element[0], fn); - } - }, - removeResizeListener: function (widget, fn) { - removeResizeListener(widget.element[0], fn); - } - }; -}()); diff --git a/src/core/utils/events/eventlistener.js b/src/core/utils/events/eventlistener.js deleted file mode 100644 index 50986c6ed8..0000000000 --- a/src/core/utils/events/eventlistener.js +++ /dev/null @@ -1,37 +0,0 @@ -BI.EventListener = { - listen: function listen(target, eventType, callback) { - if (target.addEventListener) { - target.addEventListener(eventType, callback, false); - return { - remove: function remove() { - target.removeEventListener(eventType, callback, false); - } - }; - } else if (target.attachEvent) { - target.attachEvent('on' + eventType, callback); - return { - remove: function remove() { - target.detachEvent('on' + eventType, callback); - } - }; - } - }, - - capture: function capture(target, eventType, callback) { - if (target.addEventListener) { - target.addEventListener(eventType, callback, true); - return { - remove: function remove() { - target.removeEventListener(eventType, callback, true); - } - }; - } else { - return { - remove: BI.emptyFn - }; - } - }, - - registerDefault: function registerDefault() { - } -}; \ No newline at end of file diff --git a/src/core/utils/events/mousemovetracker.js b/src/core/utils/events/mousemovetracker.js deleted file mode 100644 index 42fbfcbffe..0000000000 --- a/src/core/utils/events/mousemovetracker.js +++ /dev/null @@ -1,107 +0,0 @@ -!(function () { - var cancelAnimationFrame = - window.cancelAnimationFrame || - window.webkitCancelAnimationFrame || - window.mozCancelAnimationFrame || - window.oCancelAnimationFrame || - window.msCancelAnimationFrame || - window.clearTimeout; - - var requestAnimationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || window.setTimeout; - - - BI.MouseMoveTracker = function (onMove, onMoveEnd, domNode) { - this._isDragging = false; - this._animationFrameID = null; - this._domNode = domNode; - this._onMove = onMove; - this._onMoveEnd = onMoveEnd; - - this._onMouseMove = BI.bind(this._onMouseMove, this); - this._onMouseUp = BI.bind(this._onMouseUp, this); - this._didMouseMove = BI.bind(this._didMouseMove, this); - }; - BI.MouseMoveTracker.prototype = { - constructor: BI.MouseMoveTracker, - captureMouseMoves: function (/*object*/ event) { - if (!this._eventMoveToken && !this._eventUpToken) { - this._eventMoveToken = BI.EventListener.listen( - this._domNode, - 'mousemove', - this._onMouseMove - ); - this._eventUpToken = BI.EventListener.listen( - this._domNode, - 'mouseup', - this._onMouseUp - ); - } - - if (!this._isDragging) { - this._deltaX = 0; - this._deltaY = 0; - this._isDragging = true; - this._x = event.clientX; - this._y = event.clientY; - } - event.preventDefault ? event.preventDefault() : (event.returnValue = false); - }, - - releaseMouseMoves: function () { - if (this._eventMoveToken && this._eventUpToken) { - this._eventMoveToken.remove(); - this._eventMoveToken = null; - this._eventUpToken.remove(); - this._eventUpToken = null; - } - - if (this._animationFrameID !== null) { - cancelAnimationFrame(this._animationFrameID); - this._animationFrameID = null; - } - - if (this._isDragging) { - this._isDragging = false; - this._x = null; - this._y = null; - } - }, - - isDragging: function () /*boolean*/ { - return this._isDragging; - }, - - _onMouseMove: function (/*object*/ event) { - var x = event.clientX; - var y = event.clientY; - - this._deltaX += (x - this._x); - this._deltaY += (y - this._y); - - if (this._animationFrameID === null) { - // The mouse may move faster then the animation frame does. - // Use `requestAnimationFrame` to avoid over-updating. - this._animationFrameID = - requestAnimationFrame(this._didMouseMove); - } - - this._x = x; - this._y = y; - event.preventDefault ? event.preventDefault() : (event.returnValue = false); - }, - - _didMouseMove: function () { - this._animationFrameID = null; - this._onMove(this._deltaX, this._deltaY); - this._deltaX = 0; - this._deltaY = 0; - }, - - _onMouseUp: function () { - if (this._animationFrameID) { - this._didMouseMove(); - } - this._onMoveEnd(); - } - }; -})(); \ No newline at end of file diff --git a/src/core/utils/events/wheelhandler.js b/src/core/utils/events/wheelhandler.js deleted file mode 100644 index 71e9eb3dc0..0000000000 --- a/src/core/utils/events/wheelhandler.js +++ /dev/null @@ -1,149 +0,0 @@ -!(function () { - var PIXEL_STEP = 10; - var LINE_HEIGHT = 40; - var PAGE_HEIGHT = 800; - var requestAnimationFrame = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || window.setTimeout; - - function normalizeWheel(/*object*/event) /*object*/ { - var sX = 0, - sY = 0, - // spinX, spinY - pX = 0, - pY = 0; // pixelX, pixelY - - // Legacy - if ('detail' in event) { - sY = event.detail; - } - if ('wheelDelta' in event) { - sY = -event.wheelDelta / 120; - } - if ('wheelDeltaY' in event) { - sY = -event.wheelDeltaY / 120; - } - if ('wheelDeltaX' in event) { - sX = -event.wheelDeltaX / 120; - } - - // side scrolling on FF with DOMMouseScroll - if ('axis' in event && event.axis === event.HORIZONTAL_AXIS) { - sX = sY; - sY = 0; - } - - pX = sX * PIXEL_STEP; - pY = sY * PIXEL_STEP; - - if ('deltaY' in event) { - pY = event.deltaY; - } - if ('deltaX' in event) { - pX = event.deltaX; - } - - if ((pX || pY) && event.deltaMode) { - if (event.deltaMode === 1) { - // delta in LINE units - pX *= LINE_HEIGHT; - pY *= LINE_HEIGHT; - } else { - // delta in PAGE units - pX *= PAGE_HEIGHT; - pY *= PAGE_HEIGHT; - } - } - - // Fall-back if spin cannot be determined - if (pX && !sX) { - sX = pX < 1 ? -1 : 1; - } - if (pY && !sY) { - sY = pY < 1 ? -1 : 1; - } - - return { - spinX: sX, - spinY: sY, - pixelX: pX, - pixelY: pY - }; - } - - BI.WheelHandler = function (onWheel, handleScrollX, handleScrollY, stopPropagation) { - this._animationFrameID = null; - this._deltaX = 0; - this._deltaY = 0; - this._didWheel = BI.bind(this._didWheel, this); - if (typeof handleScrollX !== 'function') { - handleScrollX = handleScrollX ? - function () { - return true - } : - function () { - return false - }; - } - - if (typeof handleScrollY !== 'function') { - handleScrollY = handleScrollY ? - function () { - return true - } : - function () { - return false - }; - } - - if (typeof stopPropagation !== 'function') { - stopPropagation = stopPropagation ? - function () { - return true - } : - function () { - return false - }; - } - - this._handleScrollX = handleScrollX; - this._handleScrollY = handleScrollY; - this._stopPropagation = stopPropagation; - this._onWheelCallback = onWheel; - this.onWheel = BI.bind(this.onWheel, this); - }; - BI.WheelHandler.prototype = { - constructor: BI.WheelHandler, - onWheel: function (/*object*/ event) { - var normalizedEvent = normalizeWheel(event); - var deltaX = this._deltaX + normalizedEvent.pixelX; - var deltaY = this._deltaY + normalizedEvent.pixelY; - var handleScrollX = this._handleScrollX(deltaX, deltaY); - var handleScrollY = this._handleScrollY(deltaY, deltaX); - if (!handleScrollX && !handleScrollY) { - return; - } - - this._deltaX += handleScrollX ? normalizedEvent.pixelX : 0; - this._deltaY += handleScrollY ? normalizedEvent.pixelY : 0; - event.preventDefault ? event.preventDefault() : (event.returnValue = false); - - var changed; - if (this._deltaX !== 0 || this._deltaY !== 0) { - if (this._stopPropagation()) { - event.stopPropagation ? event.stopPropagation() : (event.cancelBubble = true); - } - changed = true; - } - - if (changed === true && this._animationFrameID === null) { - this._animationFrameID = requestAnimationFrame(this._didWheel); - } - }, - - _didWheel: function () { - this._animationFrameID = null; - this._onWheelCallback(this._deltaX, this._deltaY); - this._deltaX = 0; - this._deltaY = 0; - } - }; -})(); \ No newline at end of file diff --git a/src/core/utils/heap.js b/src/core/utils/heap.js deleted file mode 100644 index f7c62f71ca..0000000000 --- a/src/core/utils/heap.js +++ /dev/null @@ -1,115 +0,0 @@ -; -(function () { - function defaultComparator(a, b) { - return a < b; - } - - BI.Heap = function (items, comparator) { - this._items = items || []; - this._size = this._items.length; - this._comparator = comparator || defaultComparator; - this._heapify(); - }; - - BI.Heap.prototype = { - constructor: BI.Heap, - empty: function () { - return this._size === 0; - }, - - pop: function () { - if (this._size === 0) { - return; - } - - var elt = this._items[0]; - - var lastElt = this._items.pop(); - this._size--; - - if (this._size > 0) { - this._items[0] = lastElt; - this._sinkDown(0); - } - - return elt; - }, - - push: function (item) { - this._items[this._size++] = item; - this._bubbleUp(this._size - 1); - }, - - size: function () { - return this._size; - }, - - peek: function () { - if (this._size === 0) { - return; - } - - return this._items[0]; - }, - - _heapify: function () { - for (var index = Math.floor((this._size + 1) / 2); index >= 0; index--) { - this._sinkDown(index); - } - }, - - _bubbleUp: function (index) { - var elt = this._items[index]; - while (index > 0) { - var parentIndex = Math.floor((index + 1) / 2) - 1; - var parentElt = this._items[parentIndex]; - - // if parentElt < elt, stop - if (this._comparator(parentElt, elt)) { - return; - } - - // swap - this._items[parentIndex] = elt; - this._items[index] = parentElt; - index = parentIndex; - } - }, - - _sinkDown: function (index) { - var elt = this._items[index]; - - while (true) { - var leftChildIndex = 2 * (index + 1) - 1; - var rightChildIndex = 2 * (index + 1); - var swapIndex = -1; - - if (leftChildIndex < this._size) { - var leftChild = this._items[leftChildIndex]; - if (this._comparator(leftChild, elt)) { - swapIndex = leftChildIndex; - } - } - - if (rightChildIndex < this._size) { - var rightChild = this._items[rightChildIndex]; - if (this._comparator(rightChild, elt)) { - if (swapIndex === -1 || - this._comparator(rightChild, this._items[swapIndex])) { - swapIndex = rightChildIndex; - } - } - } - - // if we don't have a swap, stop - if (swapIndex === -1) { - return; - } - - this._items[index] = this._items[swapIndex]; - this._items[swapIndex] = elt; - index = swapIndex; - } - } - } -})(); diff --git a/src/core/utils/helper.scroll.js b/src/core/utils/helper.scroll.js deleted file mode 100644 index 1c4001b03e..0000000000 --- a/src/core/utils/helper.scroll.js +++ /dev/null @@ -1,263 +0,0 @@ -;(function () { - var clamp = function (min, value, max) { - if (value < min) { - return min; - } - if (value > max) { - return max; - } - return value; - }; - - var BUFFER_ROWS = 5; - var NO_ROWS_SCROLL_RESULT = { - index: 0, - offset: 0, - position: 0, - contentHeight: 0 - }; - - BI.TableScrollHelper = function (rowCount, - defaultRowHeight, - viewportHeight, - rowHeightGetter) { - this._rowOffsets = BI.PrefixIntervalTree.uniform(rowCount, defaultRowHeight); - this._storedHeights = new Array(rowCount); - for (var i = 0; i < rowCount; ++i) { - this._storedHeights[i] = defaultRowHeight; - } - this._rowCount = rowCount; - this._position = 0; - this._contentHeight = rowCount * defaultRowHeight; - this._defaultRowHeight = defaultRowHeight; - this._rowHeightGetter = rowHeightGetter ? - rowHeightGetter : function () { - return defaultRowHeight - }; - this._viewportHeight = viewportHeight; - - this._updateHeightsInViewport(0, 0); - }; - - BI.TableScrollHelper.prototype = { - constructor: BI.TableScrollHelper, - setRowHeightGetter: function (rowHeightGetter) { - this._rowHeightGetter = rowHeightGetter; - }, - - setViewportHeight: function (viewportHeight) { - this._viewportHeight = viewportHeight; - }, - - getContentHeight: function () { - return this._contentHeight; - }, - - _updateHeightsInViewport: function (firstRowIndex, - firstRowOffset) { - var top = firstRowOffset; - var index = firstRowIndex; - while (top <= this._viewportHeight && index < this._rowCount) { - this._updateRowHeight(index); - top += this._storedHeights[index]; - index++; - } - }, - - _updateHeightsAboveViewport: function (firstRowIndex) { - var index = firstRowIndex - 1; - while (index >= 0 && index >= firstRowIndex - BUFFER_ROWS) { - var delta = this._updateRowHeight(index); - this._position += delta; - index--; - } - }, - - _updateRowHeight: function (rowIndex) { - if (rowIndex < 0 || rowIndex >= this._rowCount) { - return 0; - } - var newHeight = this._rowHeightGetter(rowIndex); - if (newHeight !== this._storedHeights[rowIndex]) { - var change = newHeight - this._storedHeights[rowIndex]; - this._rowOffsets.set(rowIndex, newHeight); - this._storedHeights[rowIndex] = newHeight; - this._contentHeight += change; - return change; - } - return 0; - }, - - getRowPosition: function (rowIndex) { - this._updateRowHeight(rowIndex); - return this._rowOffsets.sumUntil(rowIndex); - }, - - scrollBy: function (delta) { - if (this._rowCount === 0) { - return NO_ROWS_SCROLL_RESULT; - } - var firstRow = this._rowOffsets.greatestLowerBound(this._position); - firstRow = clamp(firstRow, 0, Math.max(this._rowCount - 1, 0)); - var firstRowPosition = this._rowOffsets.sumUntil(firstRow); - var rowIndex = firstRow; - var position = this._position; - - var rowHeightChange = this._updateRowHeight(rowIndex); - if (firstRowPosition !== 0) { - position += rowHeightChange; - } - var visibleRowHeight = this._storedHeights[rowIndex] - - (position - firstRowPosition); - - if (delta >= 0) { - - while (delta > 0 && rowIndex < this._rowCount) { - if (delta < visibleRowHeight) { - position += delta; - delta = 0; - } else { - delta -= visibleRowHeight; - position += visibleRowHeight; - rowIndex++; - } - if (rowIndex < this._rowCount) { - this._updateRowHeight(rowIndex); - visibleRowHeight = this._storedHeights[rowIndex]; - } - } - } else if (delta < 0) { - delta = -delta; - var invisibleRowHeight = this._storedHeights[rowIndex] - visibleRowHeight; - - while (delta > 0 && rowIndex >= 0) { - if (delta < invisibleRowHeight) { - position -= delta; - delta = 0; - } else { - position -= invisibleRowHeight; - delta -= invisibleRowHeight; - rowIndex--; - } - if (rowIndex >= 0) { - var change = this._updateRowHeight(rowIndex); - invisibleRowHeight = this._storedHeights[rowIndex]; - position += change; - } - } - } - - var maxPosition = this._contentHeight - this._viewportHeight; - position = clamp(position, 0, maxPosition); - this._position = position; - var firstRowIndex = this._rowOffsets.greatestLowerBound(position); - firstRowIndex = clamp(firstRowIndex, 0, Math.max(this._rowCount - 1, 0)); - firstRowPosition = this._rowOffsets.sumUntil(firstRowIndex); - var firstRowOffset = firstRowPosition - position; - - this._updateHeightsInViewport(firstRowIndex, firstRowOffset); - this._updateHeightsAboveViewport(firstRowIndex); - - return { - index: firstRowIndex, - offset: firstRowOffset, - position: this._position, - contentHeight: this._contentHeight - }; - }, - - _getRowAtEndPosition: function (rowIndex) { - // We need to update enough rows above the selected one to be sure that when - // we scroll to selected position all rows between first shown and selected - // one have most recent heights computed and will not resize - this._updateRowHeight(rowIndex); - var currentRowIndex = rowIndex; - var top = this._storedHeights[currentRowIndex]; - while (top < this._viewportHeight && currentRowIndex >= 0) { - currentRowIndex--; - if (currentRowIndex >= 0) { - this._updateRowHeight(currentRowIndex); - top += this._storedHeights[currentRowIndex]; - } - } - var position = this._rowOffsets.sumTo(rowIndex) - this._viewportHeight; - if (position < 0) { - position = 0; - } - return position; - }, - - scrollTo: function (position) { - if (this._rowCount === 0) { - return NO_ROWS_SCROLL_RESULT; - } - if (position <= 0) { - // If position less than or equal to 0 first row should be fully visible - // on top - this._position = 0; - this._updateHeightsInViewport(0, 0); - - return { - index: 0, - offset: 0, - position: this._position, - contentHeight: this._contentHeight - }; - } else if (position >= this._contentHeight - this._viewportHeight) { - // If position is equal to or greater than max scroll value, we need - // to make sure to have bottom border of last row visible. - var rowIndex = this._rowCount - 1; - position = this._getRowAtEndPosition(rowIndex); - } - this._position = position; - - var firstRowIndex = this._rowOffsets.greatestLowerBound(position); - firstRowIndex = clamp(firstRowIndex, 0, Math.max(this._rowCount - 1, 0)); - var firstRowPosition = this._rowOffsets.sumUntil(firstRowIndex); - var firstRowOffset = firstRowPosition - position; - - this._updateHeightsInViewport(firstRowIndex, firstRowOffset); - this._updateHeightsAboveViewport(firstRowIndex); - - return { - index: firstRowIndex, - offset: firstRowOffset, - position: this._position, - contentHeight: this._contentHeight - }; - }, - - /** - * Allows to scroll to selected row with specified offset. It always - * brings that row to top of viewport with that offset - */ - scrollToRow: function (rowIndex, offset) { - rowIndex = clamp(rowIndex, 0, Math.max(this._rowCount - 1, 0)); - offset = clamp(offset, -this._storedHeights[rowIndex], 0); - var firstRow = this._rowOffsets.sumUntil(rowIndex); - return this.scrollTo(firstRow - offset); - }, - - /** - * Allows to scroll to selected row by bringing it to viewport with minimal - * scrolling. This that if row is fully visible, scroll will not be changed. - * If top border of row is above top of viewport it will be scrolled to be - * fully visible on the top of viewport. If the bottom border of row is - * below end of viewport, it will be scrolled up to be fully visible on the - * bottom of viewport. - */ - scrollRowIntoView: function (rowIndex) { - rowIndex = clamp(rowIndex, 0, Math.max(this._rowCount - 1, 0)); - var rowBegin = this._rowOffsets.sumUntil(rowIndex); - var rowEnd = rowBegin + this._storedHeights[rowIndex]; - if (rowBegin < this._position) { - return this.scrollTo(rowBegin); - } else if (this._position + this._viewportHeight < rowEnd) { - var position = this._getRowAtEndPosition(rowIndex); - return this.scrollTo(position); - } - return this.scrollTo(this._position); - } - }; - -})(); diff --git a/src/core/utils/integerBufferSet.js b/src/core/utils/integerBufferSet.js deleted file mode 100644 index d24ed458e5..0000000000 --- a/src/core/utils/integerBufferSet.js +++ /dev/null @@ -1,145 +0,0 @@ -// Data structure that allows to store values and assign positions to them -// in a way to minimize changing positions of stored values when new ones are -// added or when some values are replaced. Stored elements are alwasy assigned -// a consecutive set of positoins startin from 0 up to count of elements less 1 -// Following actions can be executed -// * get position assigned to given value (null if value is not stored) -// * create new entry for new value and get assigned position back -// * replace value that is furthest from specified value range with new value -// and get it's position back -// All operations take amortized log(n) time where n is number of elements in -// the set. -BI.IntegerBufferSet = function () { - this._valueToPositionMap = {}; - this._size = 0; - this._smallValues = new BI.Heap( - [], // Initial data in the heap - this._smallerComparator - ); - this._largeValues = new BI.Heap( - [], // Initial data in the heap - this._greaterComparator - ); - -}; - -BI.IntegerBufferSet.prototype = { - constructor: BI.IntegerBufferSet, - getSize: function () /*number*/ { - return this._size; - }, - - getValuePosition: function (/*number*/ value) /*?number*/ { - if (this._valueToPositionMap[value] === undefined) { - return null; - } - return this._valueToPositionMap[value]; - }, - - getNewPositionForValue: function (/*number*/ value) /*number*/ { - var newPosition = this._size; - this._size++; - this._pushToHeaps(newPosition, value); - this._valueToPositionMap[value] = newPosition; - return newPosition; - }, - - replaceFurthestValuePosition: function (/*number*/ lowValue, - /*number*/ highValue, - /*number*/ newValue) /*?number*/ { - this._cleanHeaps(); - if (this._smallValues.empty() || this._largeValues.empty()) { - // Threre are currently no values stored. We will have to create new - // position for this value. - return null; - } - - var minValue = this._smallValues.peek().value; - var maxValue = this._largeValues.peek().value; - if (minValue >= lowValue && maxValue <= highValue) { - // All values currently stored are necessary, we can't reuse any of them. - return null; - } - - var valueToReplace; - if (lowValue - minValue > maxValue - highValue) { - // minValue is further from provided range. We will reuse it's position. - valueToReplace = minValue; - this._smallValues.pop(); - } else { - valueToReplace = maxValue; - this._largeValues.pop(); - } - var position = this._valueToPositionMap[valueToReplace]; - delete this._valueToPositionMap[valueToReplace]; - this._valueToPositionMap[newValue] = position; - this._pushToHeaps(position, newValue); - - return position; - }, - - _pushToHeaps: function (/*number*/ position, /*number*/ value) { - var element = { - position: position, - value:value - }; - // We can reuse the same object in both heaps, because we don't mutate them - this._smallValues.push(element); - this._largeValues.push(element); - }, - - _cleanHeaps: function () { - // We not usually only remove object from one heap while moving value. - // Here we make sure that there is no stale data on top of heaps. - this._cleanHeap(this._smallValues); - this._cleanHeap(this._largeValues); - var minHeapSize = - Math.min(this._smallValues.size(), this._largeValues.size()); - var maxHeapSize = - Math.max(this._smallValues.size(), this._largeValues.size()); - if (maxHeapSize > 10 * minHeapSize) { - // There are many old values in one of heaps. We nned to get rid of them - // to not use too avoid memory leaks - this._recreateHeaps(); - } - }, - - _recreateHeaps: function () { - var sourceHeap = this._smallValues.size() < this._largeValues.size() ? - this._smallValues : - this._largeValues; - var newSmallValues = new Heap( - [], // Initial data in the heap - this._smallerComparator - ); - var newLargeValues = new Heap( - [], // Initial datat in the heap - this._greaterComparator - ); - while (!sourceHeap.empty()) { - var element = sourceHeap.pop(); - // Push all stil valid elements to new heaps - if (this._valueToPositionMap[element.value] !== undefined) { - newSmallValues.push(element); - newLargeValues.push(element); - } - } - this._smallValues = newSmallValues; - this._largeValues = newLargeValues; - }, - - _cleanHeap: function (/*object*/ heap) { - while (!heap.empty() && - this._valueToPositionMap[heap.peek().value] === undefined) { - heap.pop(); - } - }, - - _smallerComparator: function (/*object*/ lhs, /*object*/ rhs) /*boolean*/ { - return lhs.value < rhs.value; - }, - - _greaterComparator: function (/*object*/ lhs, /*object*/ rhs) /*boolean*/ { - return lhs.value > rhs.value; - } -}; diff --git a/src/core/utils/linkedHashMap.js b/src/core/utils/linkedHashMap.js deleted file mode 100644 index 20b2bd9703..0000000000 --- a/src/core/utils/linkedHashMap.js +++ /dev/null @@ -1,72 +0,0 @@ -; -!(function () { - BI.LinkHashMap = function () { - this.array = []; - this.map = {}; - }; - BI.LinkHashMap.prototype = { - constructor: BI.LinkHashMap, - has: function (key) { - if (key in this.map) { - return true; - } - return false; - }, - - add: function (key, value) { - if (typeof key == 'undefined') { - return; - } - if (key in this.map) { - this.map[key] = value; - } else { - this.array.push(key); - this.map[key] = value; - } - }, - - remove: function (key) { - if (key in this.map) { - delete this.map[key]; - for (var i = 0; i < this.array.length; i++) { - if (this.array[i] == key) { - this.array.splice(i, 1); - break; - } - } - } - }, - - size: function () { - return this.array.length; - }, - - each: function (fn, scope) { - var scope = scope || window; - var fn = fn || null; - if (fn == null || typeof (fn) != "function") { - return; - } - for (var i = 0; i < this.array.length; i++) { - var key = this.array[i]; - var value = this.map[key]; - var re = fn.call(scope, key, value, i, this.array, this.map); - if (re == false) { - break; - } - } - }, - - get: function (key) { - return this.map[key]; - }, - - toArray: function () { - var array = []; - this.each(function (key, value) { - array.push(value); - }) - return array; - } - } -})(); \ No newline at end of file diff --git a/src/core/utils/load.js b/src/core/utils/load.js deleted file mode 100644 index 544734e53b..0000000000 --- a/src/core/utils/load.js +++ /dev/null @@ -1,76 +0,0 @@ -window.BI = window.BI || {}; - -$.extend(BI, { - $defaultImport: function (options, type) { - var config; - if (BI.isObject(options)) { - config = $.extend({ - op: 'resource', - path: null, - type: null, - must: false - }, options); - config.url = BI.servletURL + '?op=' + config.op + '&resource=' + config.path; - } else { - config = { - url: BI.servletURL + "?op=resource&resource=" + options, - type: arguments[1], - must: arguments[2] - } - } - this.$import(config.url, config.type, config.must); - }, - $import: function () { - var _LOADED = {}; // alex:保存加载过的 - function loadReady(src, must) { - var $scripts = $("head script, body script"); - $.each($scripts, function (i, item) { - if (item.src.indexOf(src) != -1) { - _LOADED[src] = true; - } - }); - var $links = $("head link"); - $.each($links, function (i, item) { - if (item.href.indexOf(src) != -1 && must) { - _LOADED[src] = false; - $(item).remove(); - } - }); - } - - // must=true 强行加载 - return function (src, ext, must) { - loadReady(src, must); - // alex:如果已经加载过了的,直接return - if (_LOADED[src] === true) { - return; - } - if (ext === 'css') { - var link = document.createElement('link'); - link.rel = 'stylesheet'; - link.type = 'text/css'; - link.href = src; - var head = document.getElementsByTagName('head')[0]; - head.appendChild(link); - _LOADED[src] = true; - } else { - // alex:这里用同步调用的方式,必须等待ajax完成 - $.ajax({ - url: src, - dataType: "script", // alex:指定dataType为script,jquery会帮忙做globalEval的事情 - async: false, - cache: true, - complete: function (res, status) { - /* - * alex:发现jquery会很智能地判断一下返回的数据类型是不是script,然后做一个globalEval - * 所以当status为success时就不需要再把其中的内容加到script里面去了 - */ - if (status == 'success') { - _LOADED[src] = true; - } - } - }) - } - } - }() -}); \ No newline at end of file diff --git a/src/core/utils/lru.js b/src/core/utils/lru.js deleted file mode 100644 index 028a35adb1..0000000000 --- a/src/core/utils/lru.js +++ /dev/null @@ -1,86 +0,0 @@ -; -!(function () { - BI.LRU = function (limit) { - this.size = 0; - this.limit = limit; - this.head = this.tail = undefined; - this._keymap = {}; - }; - - var p = BI.LRU.prototype; - - p.put = function (key, value) { - var removed; - if (this.size === this.limit) { - removed = this.shift(); - } - - var entry = this.get(key, true); - if (!entry) { - entry = { - key: key - }; - this._keymap[key] = entry; - if (this.tail) { - this.tail.newer = entry; - entry.older = this.tail - } else { - this.head = entry - } - this.tail = entry; - this.size++; - } - entry.value = value; - - return removed; - }; - - p.shift = function () { - var entry = this.head; - if (entry) { - this.head = this.head.newer; - this.head.older = undefined; - entry.newer = entry.older = undefined; - this._keymap[entry.key] = undefined; - this.size--; - } - return entry; - }; - - - p.get = function (key, returnEntry) { - var entry = this._keymap[key]; - if (entry === undefined) return; - if (entry === this.tail) { - return returnEntry - ? entry - : entry.value - } - // HEAD--------------TAIL - // <.older .newer> - // <--- add direction -- - // A B C <D> E - if (entry.newer) { - if (entry === this.head) { - this.head = entry.newer - } - entry.newer.older = entry.older; // C <-- E. - } - if (entry.older) { - entry.older.newer = entry.newer; // C. --> E - } - entry.newer = undefined; // D --x - entry.older = this.tail; // D. --> E - if (this.tail) { - this.tail.newer = entry; // E. <-- D - } - this.tail = entry; - return returnEntry - ? entry - : entry.value - }; - - p.has = function (key) { - return this._keymap[key] != null; - } -})(); \ No newline at end of file diff --git a/src/core/utils/md5.js b/src/core/utils/md5.js deleted file mode 100644 index 0f2bb0200a..0000000000 --- a/src/core/utils/md5.js +++ /dev/null @@ -1,245 +0,0 @@ -; -!(function () { - var MD5 = function (hexcase) { - this.hexcase = !hexcase ? 0 : 1; - /* hex output format. 0 - lowercase; 1 - uppercase */ - this.b64pad = ""; - /* base-64 pad character. "=" for strict RFC compliance */ - this.chrsz = 8; - /* bits per input character. 8 - ASCII; 16 - Unicode */ - }; - - /* - * These are the functions you'll usually want to call - * They take string arguments and return either hex or base-64 encoded strings - */ - MD5.prototype.hex_md5 = function (s) { - return this.binl2hex(this.core_md5(this.str2binl(s), s.length * this.chrsz)); - }; - - MD5.prototype.hex_md5_salt = function (s) { - var md5ed = this.hex_md5(s); - - var items1 = []; - var items2 = []; - for (var i = 0; i < md5ed.length; i++) { - if (i % 2 === 0) { - items1.push(md5ed.charAt(i)); - } else { - items2.push(md5ed.charAt(i)); - } - } - var result = ":" + items1.join("") + items2.join(""); - return result; - }; - - MD5.prototype.b64_md5 = function (s) { - return this.binl2b64(this.core_md5(this.str2binl(s), s.length * this.chrsz)); - }; - - MD5.prototype.hex_hmac_md5 = function (key, data) { - return this.binl2hex(this.core_hmac_md5(key, data)); - }; - - MD5.prototype.b64_hmac_md5 = function (key, data) { - return this.binl2b64(this.core_hmac_md5(key, data)); - }; - - /* Backwards compatibility - same as hex_md5() */ - MD5.prototype.calcMD5 = function (s) { - return this.binl2hex(this.core_md5(this.str2binl(s), s.length * this.chrsz)); - }; - - MD5.prototype.core_md5 = function (x, len) { - /* append padding */ - x[len >> 5] |= 0x80 << ((len) % 32); - x[(((len + 64) >>> 9) << 4) + 14] = len; - - var a = 1732584193; - var b = -271733879; - var c = -1732584194; - var d = 271733878; - - for (var i = 0; i < x.length; i += 16) { - var olda = a; - var oldb = b; - var oldc = c; - var oldd = d; - - a = this.md5_ff(a, b, c, d, x[i + 0], 7, -680876936); - d = this.md5_ff(d, a, b, c, x[i + 1], 12, -389564586); - c = this.md5_ff(c, d, a, b, x[i + 2], 17, 606105819); - b = this.md5_ff(b, c, d, a, x[i + 3], 22, -1044525330); - a = this.md5_ff(a, b, c, d, x[i + 4], 7, -176418897); - d = this.md5_ff(d, a, b, c, x[i + 5], 12, 1200080426); - c = this.md5_ff(c, d, a, b, x[i + 6], 17, -1473231341); - b = this.md5_ff(b, c, d, a, x[i + 7], 22, -45705983); - a = this.md5_ff(a, b, c, d, x[i + 8], 7, 1770035416); - d = this.md5_ff(d, a, b, c, x[i + 9], 12, -1958414417); - c = this.md5_ff(c, d, a, b, x[i + 10], 17, -42063); - b = this.md5_ff(b, c, d, a, x[i + 11], 22, -1990404162); - a = this.md5_ff(a, b, c, d, x[i + 12], 7, 1804603682); - d = this.md5_ff(d, a, b, c, x[i + 13], 12, -40341101); - c = this.md5_ff(c, d, a, b, x[i + 14], 17, -1502002290); - b = this.md5_ff(b, c, d, a, x[i + 15], 22, 1236535329); - - a = this.md5_gg(a, b, c, d, x[i + 1], 5, -165796510); - d = this.md5_gg(d, a, b, c, x[i + 6], 9, -1069501632); - c = this.md5_gg(c, d, a, b, x[i + 11], 14, 643717713); - b = this.md5_gg(b, c, d, a, x[i + 0], 20, -373897302); - a = this.md5_gg(a, b, c, d, x[i + 5], 5, -701558691); - d = this.md5_gg(d, a, b, c, x[i + 10], 9, 38016083); - c = this.md5_gg(c, d, a, b, x[i + 15], 14, -660478335); - b = this.md5_gg(b, c, d, a, x[i + 4], 20, -405537848); - a = this.md5_gg(a, b, c, d, x[i + 9], 5, 568446438); - d = this.md5_gg(d, a, b, c, x[i + 14], 9, -1019803690); - c = this.md5_gg(c, d, a, b, x[i + 3], 14, -187363961); - b = this.md5_gg(b, c, d, a, x[i + 8], 20, 1163531501); - a = this.md5_gg(a, b, c, d, x[i + 13], 5, -1444681467); - d = this.md5_gg(d, a, b, c, x[i + 2], 9, -51403784); - c = this.md5_gg(c, d, a, b, x[i + 7], 14, 1735328473); - b = this.md5_gg(b, c, d, a, x[i + 12], 20, -1926607734); - - a = this.md5_hh(a, b, c, d, x[i + 5], 4, -378558); - d = this.md5_hh(d, a, b, c, x[i + 8], 11, -2022574463); - c = this.md5_hh(c, d, a, b, x[i + 11], 16, 1839030562); - b = this.md5_hh(b, c, d, a, x[i + 14], 23, -35309556); - a = this.md5_hh(a, b, c, d, x[i + 1], 4, -1530992060); - d = this.md5_hh(d, a, b, c, x[i + 4], 11, 1272893353); - c = this.md5_hh(c, d, a, b, x[i + 7], 16, -155497632); - b = this.md5_hh(b, c, d, a, x[i + 10], 23, -1094730640); - a = this.md5_hh(a, b, c, d, x[i + 13], 4, 681279174); - d = this.md5_hh(d, a, b, c, x[i + 0], 11, -358537222); - c = this.md5_hh(c, d, a, b, x[i + 3], 16, -722521979); - b = this.md5_hh(b, c, d, a, x[i + 6], 23, 76029189); - a = this.md5_hh(a, b, c, d, x[i + 9], 4, -640364487); - d = this.md5_hh(d, a, b, c, x[i + 12], 11, -421815835); - c = this.md5_hh(c, d, a, b, x[i + 15], 16, 530742520); - b = this.md5_hh(b, c, d, a, x[i + 2], 23, -995338651); - - a = this.md5_ii(a, b, c, d, x[i + 0], 6, -198630844); - d = this.md5_ii(d, a, b, c, x[i + 7], 10, 1126891415); - c = this.md5_ii(c, d, a, b, x[i + 14], 15, -1416354905); - b = this.md5_ii(b, c, d, a, x[i + 5], 21, -57434055); - a = this.md5_ii(a, b, c, d, x[i + 12], 6, 1700485571); - d = this.md5_ii(d, a, b, c, x[i + 3], 10, -1894986606); - c = this.md5_ii(c, d, a, b, x[i + 10], 15, -1051523); - b = this.md5_ii(b, c, d, a, x[i + 1], 21, -2054922799); - a = this.md5_ii(a, b, c, d, x[i + 8], 6, 1873313359); - d = this.md5_ii(d, a, b, c, x[i + 15], 10, -30611744); - c = this.md5_ii(c, d, a, b, x[i + 6], 15, -1560198380); - b = this.md5_ii(b, c, d, a, x[i + 13], 21, 1309151649); - a = this.md5_ii(a, b, c, d, x[i + 4], 6, -145523070); - d = this.md5_ii(d, a, b, c, x[i + 11], 10, -1120210379); - c = this.md5_ii(c, d, a, b, x[i + 2], 15, 718787259); - b = this.md5_ii(b, c, d, a, x[i + 9], 21, -343485551); - - a = this.safe_add(a, olda); - b = this.safe_add(b, oldb); - c = this.safe_add(c, oldc); - d = this.safe_add(d, oldd); - } - return Array(a, b, c, d); - - }; - - /* - * These functions implement the four basic operations the algorithm uses. - */ - MD5.prototype.md5_cmn = function (q, a, b, x, s, t) { - return this.safe_add(this.bit_rol(this.safe_add(this.safe_add(a, q), this.safe_add(x, t)), s), b); - }; - MD5.prototype.md5_ff = function (a, b, c, d, x, s, t) { - return this.md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); - }; - MD5.prototype.md5_gg = function (a, b, c, d, x, s, t) { - return this.md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); - }; - MD5.prototype.md5_hh = function (a, b, c, d, x, s, t) { - return this.md5_cmn(b ^ c ^ d, a, b, x, s, t); - }; - MD5.prototype.md5_ii = function (a, b, c, d, x, s, t) { - return this.md5_cmn(c ^ (b | (~d)), a, b, x, s, t); - }; - - /* - * Calculate the HMAC-MD5, of a key and some data - */ - MD5.prototype.core_hmac_md5 = function (key, data) { - var bkey = this.str2binl(key); - if (bkey.length > 16) - bkey = this.core_md5(bkey, key.length * this.chrsz); - - var ipad = Array(16), opad = Array(16); - for (var i = 0; i < 16; i++) { - ipad[i] = bkey[i] ^ 0x36363636; - opad[i] = bkey[i] ^ 0x5C5C5C5C; - } - - var hash = this.core_md5(ipad.concat(this.str2binl(data)), 512 + data.length * this.chrsz); - return this.core_md5(opad.concat(hash), 512 + 128); - }; - - /* - * Add integers, wrapping at 2^32. This uses 16-bit operations internally - * to work around bugs in some JS interpreters. - */ - MD5.prototype.safe_add = function (x, y) { - var lsw = (x & 0xFFFF) + (y & 0xFFFF); - var msw = (x >> 16) + (y >> 16) + (lsw >> 16); - return (msw << 16) | (lsw & 0xFFFF); - }; - - /* - * Bitwise rotate a 32-bit number to the left. - */ - MD5.prototype.bit_rol = function (num, cnt) { - return (num << cnt) | (num >>> (32 - cnt)); - }; - - /* - * Convert a string to an array of little-endian words - * If chrsz is ASCII, characters >255 have their hi-byte silently ignored. - */ - MD5.prototype.str2binl = function (str) { - var bin = Array(); - var mask = (1 << this.chrsz) - 1; - for (var i = 0; i < str.length * this.chrsz; i += this.chrsz) - bin[i >> 5] |= (str.charCodeAt(i / this.chrsz) & mask) << (i % 32); - return bin; - }; - - /* - * Convert an array of little-endian words to a hex string. - */ - MD5.prototype.binl2hex = function (binarray) { - var hex_tab = this.hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; - var str = ""; - for (var i = 0; i < binarray.length * 4; i++) { - str += hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8 + 4)) & 0xF) - + hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8)) & 0xF); - } - return str; - }; - - /* - * Convert an array of little-endian words to a base-64 string - */ - MD5.prototype.binl2b64 = function (binarray) { - var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; - var str = ""; - for (var i = 0; i < binarray.length * 4; i += 3) { - var triplet = (((binarray[i >> 2] >> 8 * (i % 4)) & 0xFF) << 16) - | (((binarray[i + 1 >> 2] >> 8 * ((i + 1) % 4)) & 0xFF) << 8) - | ((binarray[i + 2 >> 2] >> 8 * ((i + 2) % 4)) & 0xFF); - for (var j = 0; j < 4; j++) { - if (i * 8 + j * 6 > binarray.length * 32) - str += this.b64pad; - else - str += tab.charAt((triplet >> 6 * (3 - j)) & 0x3F); - } - } - return str; - }; - BI.MD5 = new MD5(); -})(); \ No newline at end of file diff --git a/src/core/utils/prefixIntervalTree.js b/src/core/utils/prefixIntervalTree.js deleted file mode 100644 index 043aa668b9..0000000000 --- a/src/core/utils/prefixIntervalTree.js +++ /dev/null @@ -1,177 +0,0 @@ -//线段树 -;(function () { - var parent = function (node) { - return Math.floor(node / 2); - }; - - var Int32Array = window.Int32Array || function (size) { - var xs = []; - for (var i = size - 1; i >= 0; --i) { - xs[i] = 0; - } - return xs; - }; - - var ceilLog2 = function (x) { - var y = 1; - while (y < x) { - y *= 2; - } - return y; - }; - - BI.PrefixIntervalTree = function (xs) { - this._size = xs.length; - this._half = ceilLog2(this._size); - this._heap = new Int32Array(2 * this._half); - - var i; - for (i = 0; i < this._size; ++i) { - this._heap[this._half + i] = xs[i]; - } - - for (i = this._half - 1; i > 0; --i) { - this._heap[i] = this._heap[2 * i] + this._heap[2 * i + 1]; - } - }; - - BI.PrefixIntervalTree.prototype = { - constructor: BI.PrefixIntervalTree, - set: function (index, value) { - var node = this._half + index; - this._heap[node] = value; - - node = parent(node); - for (; node !== 0; node = parent(node)) { - this._heap[node] = - this._heap[2 * node] + this._heap[2 * node + 1]; - } - }, - - get: function (index) { - var node = this._half + index; - return this._heap[node]; - }, - - getSize: function () { - return this._size; - }, - - /** - * get(0) + get(1) + ... + get(end - 1). - */ - sumUntil: function (end) { - if (end === 0) { - return 0; - } - - var node = this._half + end - 1; - var sum = this._heap[node]; - for (; node !== 1; node = parent(node)) { - if (node % 2 === 1) { - sum += this._heap[node - 1]; - } - } - - return sum; - }, - - /** - * get(0) + get(1) + ... + get(inclusiveEnd). - */ - sumTo: function (inclusiveEnd) { - return this.sumUntil(inclusiveEnd + 1); - }, - - /** - * sum get(begin) + get(begin + 1) + ... + get(end - 1). - */ - sum: function (begin, end) { - return this.sumUntil(end) - this.sumUntil(begin); - }, - - /** - * Returns the smallest i such that 0 <= i <= size and sumUntil(i) <= t, or - * -1 if no such i exists. - */ - greatestLowerBound: function (t) { - if (t < 0) { - return -1; - } - - var node = 1; - if (this._heap[node] <= t) { - return this._size; - } - - while (node < this._half) { - var leftSum = this._heap[2 * node]; - if (t < leftSum) { - node = 2 * node; - } else { - node = 2 * node + 1; - t -= leftSum; - } - } - - return node - this._half; - }, - - /** - * Returns the smallest i such that 0 <= i <= size and sumUntil(i) < t, or - * -1 if no such i exists. - */ - greatestStrictLowerBound: function (t) { - if (t <= 0) { - return -1; - } - - var node = 1; - if (this._heap[node] < t) { - return this._size; - } - - while (node < this._half) { - var leftSum = this._heap[2 * node]; - if (t <= leftSum) { - node = 2 * node; - } else { - node = 2 * node + 1; - t -= leftSum; - } - } - - return node - this._half; - }, - - /** - * Returns the smallest i such that 0 <= i <= size and t <= sumUntil(i), or - * size + 1 if no such i exists. - */ - leastUpperBound: function (t) { - return this.greatestStrictLowerBound(t) + 1; - }, - - /** - * Returns the smallest i such that 0 <= i <= size and t < sumUntil(i), or - * size + 1 if no such i exists. - */ - leastStrictUpperBound: function (t) { - return this.greatestLowerBound(t) + 1; - } - }; - - BI.PrefixIntervalTree.uniform = function (size, initialValue) { - var xs = []; - for (var i = size - 1; i >= 0; --i) { - xs[i] = initialValue; - } - - return new BI.PrefixIntervalTree(xs); - }; - - BI.PrefixIntervalTree.empty = function (size) { - return BI.PrefixIntervalTree.uniform(size, 0); - }; - -})(); diff --git a/src/core/utils/queue.js b/src/core/utils/queue.js deleted file mode 100644 index 5107228f6a..0000000000 --- a/src/core/utils/queue.js +++ /dev/null @@ -1,89 +0,0 @@ -; -!(function () { - BI.Queue = function (capacity) { - this.capacity = capacity; - this.array = []; - }; - BI.Queue.prototype = { - constructor: BI.Queue, - - contains: function (v) { - return this.array.contains(v); - }, - - indexOf: function (v) { - return this.array.contains(v); - }, - - getElementByIndex: function(index) { - return this.array[index]; - }, - - push: function (v) { - this.array.push(v); - if (this.capacity && this.array.length > this.capacity) { - this.array.shift(); - } - }, - - pop: function () { - this.array.pop(); - }, - - shift: function () { - this.array.shift(); - }, - - unshift: function (v) { - this.array.unshift(v); - if (this.capacity && this.array.length > this.capacity) { - this.array.pop(); - } - }, - - remove: function (v) { - this.array.remove(v); - }, - - splice: function() { - this.array.splice.apply(this.array, arguments); - }, - - slice: function() { - this.array.slice.apply(this.array, arguments); - }, - - size: function () { - return this.array.length; - }, - - each: function (fn, scope) { - var scope = scope || window; - var fn = fn || null; - if (fn == null || typeof (fn) != "function") { - return; - } - for (var i = 0; i < this.array.length; i++) { - var re = fn.call(scope, i, this.array[i], this.array); - if (re == false) { - break; - } - } - }, - - toArray: function () { - return this.array; - }, - - fromArray: function (array) { - var self = this; - BI.each(array, function (i, v) { - self.push(v); - }) - }, - - clear: function () { - this.array.clear(); - } - } -})(); \ No newline at end of file diff --git a/src/core/utils/sectionManager.js b/src/core/utils/sectionManager.js deleted file mode 100644 index 84d98c39c4..0000000000 --- a/src/core/utils/sectionManager.js +++ /dev/null @@ -1,88 +0,0 @@ -!(function () { - var Section = function (height, width, x, y) { - this.height = height; - this.width = width; - this.x = x; - this.y = y; - - this._indexMap = {}; - this._indices = []; - }; - - Section.prototype = { - constructor: Section, - addCellIndex: function (index) { - if (!this._indexMap[index]) { - this._indexMap[index] = true; - this._indices.push(index); - } - }, - - getCellIndices: function () { - return this._indices - } - }; - - var SECTION_SIZE = 100; - BI.SectionManager = function (sectionSize) { - this._sectionSize = sectionSize || SECTION_SIZE; - this._cellMetadata = []; - this._sections = {}; - }; - - BI.SectionManager.prototype = { - constructor: BI.SectionManager, - getCellIndices: function (height, width, x, y) { - var indices = {}; - - BI.each(this.getSections(height, width, x, y), function (i, section) { - BI.each(section.getCellIndices(), function (j, index) { - indices[index] = index - }) - }); - - return BI.map(BI.keys(indices), function (i, index) { - return indices[index] - }); - }, - - getCellMetadata: function (index) { - return this._cellMetadata[index]; - }, - - getSections: function (height, width, x, y) { - var sectionXStart = Math.floor(x / this._sectionSize); - var sectionXStop = Math.floor((x + width - 1) / this._sectionSize); - var sectionYStart = Math.floor(y / this._sectionSize); - var sectionYStop = Math.floor((y + height - 1) / this._sectionSize); - - var sections = []; - - for (var sectionX = sectionXStart; sectionX <= sectionXStop; sectionX++) { - for (var sectionY = sectionYStart; sectionY <= sectionYStop; sectionY++) { - var key = sectionX + "." + sectionY; - - if (!this._sections[key]) { - this._sections[key] = new Section(this._sectionSize, this._sectionSize, sectionX * this._sectionSize, sectionY * this._sectionSize) - } - - sections.push(this._sections[key]) - } - } - - return sections - }, - - getTotalSectionCount: function () { - return BI.size(this._sections); - }, - - registerCell: function (cellMetadatum, index) { - this._cellMetadata[index] = cellMetadatum; - - BI.each(this.getSections(cellMetadatum.height, cellMetadatum.width, cellMetadatum.x, cellMetadatum.y), function (i, section) { - section.addCellIndex(index); - }); - } - } -})(); \ No newline at end of file diff --git a/src/core/utils/tableRowBuffer.js b/src/core/utils/tableRowBuffer.js deleted file mode 100644 index 33edc881fa..0000000000 --- a/src/core/utils/tableRowBuffer.js +++ /dev/null @@ -1,119 +0,0 @@ -; -(function () { - var clamp = function (value, min, max) { - if (value < min) { - return min; - } - if (value > max) { - return max; - } - return value; - }; - var MIN_BUFFER_ROWS = 6; - var MAX_BUFFER_ROWS = 10; - - BI.TableRowBuffer = function (rowsCount, - defaultRowHeight, - viewportHeight, - rowHeightGetter) { - this._bufferSet = new BI.IntegerBufferSet(); - this._defaultRowHeight = defaultRowHeight; - this._viewportRowsBegin = 0; - this._viewportRowsEnd = 0; - this._maxVisibleRowCount = Math.ceil(viewportHeight / defaultRowHeight) + 1; - // this._bufferRowsCount = Math.floor(this._maxVisibleRowCount / 2); - this._bufferRowsCount = clamp( - Math.floor(this._maxVisibleRowCount / 2), - MIN_BUFFER_ROWS, - MAX_BUFFER_ROWS - ); - this._rowsCount = rowsCount; - this._rowHeightGetter = rowHeightGetter; - this._rows = []; - this._viewportHeight = viewportHeight; - - }; - BI.TableRowBuffer.prototype = { - constructor: BI.TableRowBuffer, - - getRowsWithUpdatedBuffer: function () { - var remainingBufferRows = 2 * this._bufferRowsCount; - var bufferRowIndex = - Math.max(this._viewportRowsBegin - this._bufferRowsCount, 0); - while (bufferRowIndex < this._viewportRowsBegin) { - this._addRowToBuffer( - bufferRowIndex, - this._viewportRowsBegin, - this._viewportRowsEnd - 1 - ); - bufferRowIndex++; - remainingBufferRows--; - } - bufferRowIndex = this._viewportRowsEnd; - while (bufferRowIndex < this._rowsCount && remainingBufferRows > 0) { - this._addRowToBuffer( - bufferRowIndex, - this._viewportRowsBegin, - this._viewportRowsEnd - 1 - ); - bufferRowIndex++; - remainingBufferRows--; - } - return this._rows; - }, - - getRows: function (firstRowIndex, - firstRowOffset) { - var top = firstRowOffset; - var totalHeight = top; - var rowIndex = firstRowIndex; - var endIndex = - Math.min(firstRowIndex + this._maxVisibleRowCount, this._rowsCount); - - this._viewportRowsBegin = firstRowIndex; - while (rowIndex < endIndex || - (totalHeight < this._viewportHeight && rowIndex < this._rowsCount)) { - this._addRowToBuffer( - rowIndex, - firstRowIndex, - endIndex - 1 - ); - totalHeight += this._rowHeightGetter(rowIndex); - ++rowIndex; - // Store index after the last viewport row as end, to be able to - // distinguish when there are no rows rendered in viewport - this._viewportRowsEnd = rowIndex; - } - - return this._rows; - }, - - _addRowToBuffer: function (rowIndex, - firstViewportRowIndex, - lastViewportRowIndex) { - var rowPosition = this._bufferSet.getValuePosition(rowIndex); - var viewportRowsCount = lastViewportRowIndex - firstViewportRowIndex + 1; - var allowedRowsCount = viewportRowsCount + this._bufferRowsCount * 2; - if (rowPosition === null && - this._bufferSet.getSize() >= allowedRowsCount) { - rowPosition = - this._bufferSet.replaceFurthestValuePosition( - firstViewportRowIndex, - lastViewportRowIndex, - rowIndex - ); - } - if (rowPosition === null) { - // We can't reuse any of existing positions for this row. We have to - // create new position - rowPosition = this._bufferSet.getNewPositionForValue(rowIndex); - this._rows[rowPosition] = rowIndex; - } else { - // This row already is in the table with rowPosition position or it - // can replace row that is in that position - this._rows[rowPosition] = rowIndex; - } - } - } - -})(); diff --git a/src/core/utils/tree.js b/src/core/utils/tree.js deleted file mode 100644 index b46de8bba9..0000000000 --- a/src/core/utils/tree.js +++ /dev/null @@ -1,517 +0,0 @@ -; -(function () { - BI.Tree = function () { - this.root = new BI.Node(BI.UUID()); - }; - - BI.Tree.prototype = { - constructor: BI.Tree, - addNode: function (node, newNode, index) { - if (BI.isNull(newNode)) { - this.root.addChild(node, index); - } else if (BI.isNull(node)) { - this.root.addChild(newNode, index); - } else { - node.addChild(newNode, index); - } - }, - - isRoot: function (node) { - return node === this.root; - }, - - getRoot: function () { - return this.root; - }, - - clear: function () { - this.root.clear(); - }, - - initTree: function (nodes) { - var self = this; - this.clear(); - var queue = []; - BI.each(nodes, function (i, node) { - var n = new BI.Node(node); - n.set("data", node); - self.addNode(n); - queue.push(n); - }); - while (!BI.isEmpty(queue)) { - var parent = queue.shift(); - var node = parent.get("data"); - BI.each(node.children, function (i, child) { - var n = new BI.Node(child); - n.set("data", child); - queue.push(n); - self.addNode(parent, n); - }) - } - }, - - _toJSON: function (node) { - var self = this; - var children = []; - BI.each(node.getChildren(), function (i, child) { - children.push(self._toJSON(child)); - }); - return BI.extend({ - id: node.id - }, BI.deepClone(node.get("data")), (children.length > 0 ? { - children: children - } : {})); - }, - - toJSON: function (node) { - var self = this, result = []; - BI.each((node || this.root).getChildren(), function (i, child) { - result.push(self._toJSON(child)); - }); - return result; - }, - - _toJSONWithNode: function (node) { - var self = this; - var children = []; - BI.each(node.getChildren(), function (i, child) { - children.push(self._toJSONWithNode(child)); - }); - return BI.extend({ - id: node.id - }, BI.deepClone(node.get("data")), { - node: node - }, (children.length > 0 ? { - children: children - } : {})); - }, - - toJSONWithNode: function (node) { - var self = this, result = []; - BI.each((node || this.root).getChildren(), function (i, child) { - result.push(self._toJSONWithNode(child)); - }); - return result; - }, - - search: function (root, target, param) { - if (!(root instanceof BI.Node)) { - return arguments.callee.apply(this, [this.root, root, target]); - } - var self = this, next = null; - - if (BI.isNull(target)) { - return null; - } - if (BI.isEqual(root[param || "id"], target)) { - return root; - } - BI.any(root.getChildren(), function (i, child) { - next = self.search(child, target, param); - if (null !== next) { - return true; - } - }); - return next; - }, - - _traverse: function (node, callback) { - var queue = []; - queue.push(node); - while (!BI.isEmpty(queue)) { - var temp = queue.shift(); - var b = callback && callback(temp); - if (b === false) { - break; - } - if (b === true) { - continue; - } - if (temp != null) { - queue = queue.concat(temp.getChildren()); - } - } - }, - - traverse: function (callback) { - this._traverse(this.root, callback); - }, - - _recursion: function (node, route, callback) { - var self = this; - return BI.every(node.getChildren(), function (i, child) { - var next = BI.clone(route); - next.push(child.id); - var b = callback && callback(child, next); - if (b === false) { - return false; - } - if (b === true) { - return true; - } - return self._recursion(child, next, callback); - }); - }, - - recursion: function (callback) { - this._recursion(this.root, [], callback); - }, - - inOrderTraverse: function (callback) { - this._inOrderTraverse(this.root, callback); - }, - - //中序遍历(递归) - _inOrderTraverse: function (node, callback) { - if (node != null) { - this._inOrderTraverse(node.getLeft()); - callback && callback(node); - this._inOrderTraverse(node.getRight()); - } - }, - - //中序遍历(非递归) - nrInOrderTraverse: function (callback) { - - var stack = []; - var node = this.root; - while (node != null || !BI.isEmpty(stack)) { - while (node != null) { - stack.push(node); - node = node.getLeft(); - } - node = stack.pop(); - callback && callback(node); - node = node.getRight(); - } - }, - - preOrderTraverse: function (callback) { - this._preOrderTraverse(this.root, callback); - }, - - //先序遍历(递归) - _preOrderTraverse: function (node, callback) { - if (node != null) { - callback && callback(node); - this._preOrderTraverse(node.getLeft()); - this._preOrderTraverse(node.getRight()); - } - }, - - //先序遍历(非递归) - nrPreOrderTraverse: function (callback) { - - var stack = []; - var node = this.root; - - while (node != null || !BI.isEmpty(stack)) { - - while (node != null) { - callback && callback(node); - stack.push(node); - node = node.getLeft(); - } - node = stack.pop(); - node = node.getRight(); - } - }, - - postOrderTraverse: function (callback) { - this._postOrderTraverse(this.root, callback); - }, - - //后序遍历(递归) - _postOrderTraverse: function (node, callback) { - if (node != null) { - this._postOrderTraverse(node.getLeft()); - this._postOrderTraverse(node.getRight()); - callback && callback(node); - } - }, - - //后续遍历(非递归) - nrPostOrderTraverse: function (callback) { - - var stack = []; - var node = this.root; - var preNode = null;//表示最近一次访问的节点 - - while (node != null || !BI.isEmpty(stack)) { - - while (node != null) { - stack.push(node); - node = node.getLeft(); - } - - node = BI.last(stack); - - if (node.getRight() == null || node.getRight() == preNode) { - callback && callback(node); - node = stack.pop(); - preNode = node; - node = null; - } else { - node = node.getRight(); - } - } - } - }; - - BI.Node = function (id) { - if (BI.isObject(id)) { - BI.extend(this, id); - } else { - this.id = id; - } - this.clear.apply(this, arguments); - }; - - BI.Node.prototype = { - constructor: BI.Node, - - set: function (key, value) { - if (BI.isObject(key)) { - BI.extend(this, key); - return; - } - this[key] = value; - }, - - get: function (key) { - return this[key]; - }, - - isLeaf: function () { - return BI.isEmpty(this.children); - }, - - getChildren: function () { - return this.children; - }, - - getChildrenLength: function () { - return this.children.length; - }, - - getFirstChild: function () { - return BI.first(this.children); - }, - - getLastChild: function () { - return BI.last(this.children); - }, - - setLeft: function (left) { - this.left = left; - }, - - getLeft: function () { - return this.left; - }, - - setRight: function (right) { - this.right = right; - }, - - getRight: function () { - return this.right; - }, - - setParent: function (parent) { - this.parent = parent; - }, - - getParent: function () { - return this.parent; - }, - - getChild: function (index) { - return this.children[index]; - }, - - getChildIndex: function (id) { - return BI.findIndex(this.children, function (i, ch) { - return ch.get("id") === id; - }); - }, - - removeChild: function (id) { - this.removeChildByIndex(this.getChildIndex(id)); - }, - - removeChildByIndex: function (index) { - var before = this.getChild(index - 1); - var behind = this.getChild(index + 1); - if (before != null) { - before.setRight(behind || null); - } - if (behind != null) { - behind.setLeft(before || null); - } - this.children.splice(index, 1); - }, - - removeAllChilds: function () { - this.children = []; - }, - - addChild: function (child, index) { - var cur = null; - if (BI.isUndefined(index)) { - cur = this.children.length - 1; - } else { - cur = index - 1; - } - child.setParent(this); - if (cur >= 0) { - this.getChild(cur) && this.getChild(cur).setRight(child); - child.setLeft(this.getChild(cur)); - } - if (BI.isUndefined(index)) { - this.children.push(child); - } else { - this.children.splice(index, 0, child); - } - }, - - equals: function (obj) { - return this === obj || this.id === obj.id; - }, - - clear: function () { - this.parent = null; - this.left = null; - this.right = null; - this.children = []; - } - }; - - BI.extend(BI.Tree, { - transformToArrayFormat: function (nodes, pId) { - if (!nodes) return []; - var r = []; - if (BI.isArray(nodes)) { - for (var i = 0, l = nodes.length; i < l; i++) { - var node = BI.clone(nodes[i]); - node.pId = node.pId == null ? pId : node.pId; - delete node.children; - r.push(node); - if (nodes[i]["children"]) { - r = r.concat(BI.Tree.transformToArrayFormat(nodes[i]["children"], node.id)); - } - } - } else { - var newNodes = BI.clone(nodes); - newNodes.pId = newNodes.pId == null ? pId : newNodes.pId; - delete newNodes.children; - r.push(newNodes); - if (nodes["children"]) { - r = r.concat(BI.Tree.transformToArrayFormat(nodes["children"], newNodes.id)); - } - } - return r; - }, - - arrayFormat: function (nodes, pId) { - if (!nodes) { - return []; - } - var r = []; - if (BI.isArray(nodes)) { - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - node.pId = node.pId == null ? pId : node.pId; - r.push(node); - if (nodes[i]["children"]) { - r = r.concat(BI.Tree.arrayFormat(nodes[i]["children"], node.id)); - } - } - } else { - var newNodes = nodes; - newNodes.pId = newNodes.pId == null ? pId : newNodes.pId; - r.push(newNodes); - if (nodes["children"]) { - r = r.concat(BI.Tree.arrayFormat(nodes["children"], newNodes.id)); - } - } - return r; - }, - - transformToTreeFormat: function (sNodes) { - var i, l; - if (!sNodes) { - return []; - } - - if (BI.isArray(sNodes)) { - var r = []; - var tmpMap = []; - for (i = 0, l = sNodes.length; i < l; i++) { - if (BI.isNull(sNodes[i].id)) { - return sNodes; - } - tmpMap[sNodes[i].id] = BI.clone(sNodes[i]); - } - for (i = 0, l = sNodes.length; i < l; i++) { - if (tmpMap[sNodes[i].pId] && sNodes[i].id !== sNodes[i].pId) { - if (!tmpMap[sNodes[i].pId].children) { - tmpMap[sNodes[i].pId].children = []; - } - tmpMap[sNodes[i].pId].children.push(tmpMap[sNodes[i].id]); - } else { - r.push(tmpMap[sNodes[i].id]); - } - delete tmpMap[sNodes[i].id].pId; - } - return r; - } else { - return [sNodes]; - } - }, - - treeFormat: function (sNodes) { - var i, l; - if (!sNodes) { - return []; - } - - if (BI.isArray(sNodes)) { - var r = []; - var tmpMap = []; - for (i = 0, l = sNodes.length; i < l; i++) { - if (BI.isNull(sNodes[i].id)) { - return sNodes; - } - tmpMap[sNodes[i].id] = sNodes[i]; - } - for (i = 0, l = sNodes.length; i < l; i++) { - if (tmpMap[sNodes[i].pId] && sNodes[i].id !== sNodes[i].pId) { - if (!tmpMap[sNodes[i].pId].children) { - tmpMap[sNodes[i].pId].children = []; - } - tmpMap[sNodes[i].pId].children.push(tmpMap[sNodes[i].id]); - } else { - r.push(tmpMap[sNodes[i].id]); - } - } - return r; - } else { - return [sNodes]; - } - }, - - traversal: function (array, callback) { - if (BI.isNull(array)) { - return; - } - var self = this; - BI.any(array, function (i, item) { - if (callback(i, item) === false) { - return true; - } - self.traversal(item.children, callback); - }) - } - }) -})(); \ No newline at end of file diff --git a/src/core/utils/vector.js b/src/core/utils/vector.js deleted file mode 100644 index 69e334b037..0000000000 --- a/src/core/utils/vector.js +++ /dev/null @@ -1,63 +0,0 @@ -//向量操作 -BI.Vector = function (x, y) { - this.x = x; - this.y = y; -}; -BI.Vector.prototype = { - constructor: BI.Vector, - cross: function (v) { - return (this.x * v.y - this.y * v.x); - }, - length: function (v) { - return (Math.sqrt(this.x * v.x + this.y * v.y)); - } -}; -BI.Region = function (x, y, w, h) { - this.x = x; - this.y = y; - this.w = w; - this.h = h; -}; -BI.Region.prototype = { - constructor: BI.Region, - //判断两个区域是否相交,若相交,则要么顶点互相包含,要么矩形边界(或对角线)相交 - isIntersects: function (obj) { - if (this.isPointInside(obj.x, obj.y) || - this.isPointInside(obj.x + obj.w, obj.y) || - this.isPointInside(obj.x, obj.y + obj.h) || - this.isPointInside(obj.x + obj.w, obj.y + obj.h)) { - return true; - } else if (obj.isPointInside(this.x, this.y) || - obj.isPointInside(this.x + this.w, this.y) || - obj.isPointInside(this.x, this.y + this.h) || - obj.isPointInside(this.x + this.w, this.y + this.h)) { - return true; - } else if (obj.x != null && obj.y != null)//判断矩形对角线相交 |v1 X v2||v1 X v3| < 0 - { - var vector1 = new BI.Vector(this.w, this.h);//矩形对角线向量 - var vector2 = new BI.Vector(obj.x - this.x, obj.y - this.y); - var vector3 = new BI.Vector(vector2.x + obj.w, vector2.y + obj.h); - if ((vector1.cross(vector2) * vector1.cross(vector3)) < 0) { - return true; - } - } - return false; - }, - //判断一个点是否在这个区域内部 - isPointInside: function (x, y) { - if (this.x == null || this.y == null) { - return false; - } - if (x >= this.x && x <= this.x + this.w && y >= this.y && y <= this.y + this.h) { - return true; - } - return false; - }, - //返回区域的重心,因为是矩形所以返回中点 - getPosition: function () { - var pos = []; - pos.push(this.x + this.w / 2); - pos.push(this.y + this.h / 2); - return pos; - } -}; \ No newline at end of file diff --git a/src/core/utils/xml.js b/src/core/utils/xml.js deleted file mode 100644 index 771a06a94b..0000000000 --- a/src/core/utils/xml.js +++ /dev/null @@ -1,353 +0,0 @@ -// ; -// !(function (BI) { -// -// if (BI.isIE()) { -// XMLSerializer = null; -// DOMParser = null; -// } -// -// -// var XML = { -// Document: { -// NodeType: { -// ELEMENT: 1, -// ATTRIBUTE: 2, -// TEXT: 3, -// CDATA_SECTION: 4, -// ENTITY_REFERENCE: 5, -// ENTITY: 6, -// PROCESSING_INSTRUCTION: 7, -// COMMENT: 8, -// DOCUMENT: 9, -// DOCUMENT_TYPE: 10, -// DOCUMENT_FRAGMENT: 11, -// NOTATION: 12 -// } -// } -// }; -// -// XML.ResultType = { -// single: 'single', -// array: 'array' -// }; -// -// XML.fromString = function (xmlStr) { -// try { -// var parser = new DOMParser(); -// return parser.parseFromString(xmlStr, "text/xml"); -// } catch (e) { -// var arrMSXML = ["MSXML2.DOMDocument.6.0", "MSXML2.DOMDocument.3.0"]; -// for (var i = 0; i < arrMSXML.length; i++) { -// try { -// var xmlDoc = new ActiveXObject(arrMSXML[i]); -// xmlDoc.setProperty("SelectionLanguage", "XPath"); -// xmlDoc.async = false; -// xmlDoc.loadXML(xmlStr); -// return xmlDoc; -// } catch (xmlError) { -// } -// } -// } -// }; -// -// XML.toString = function (xmlNode) { -// if (!BI.isIE()) { -// var xmlSerializer = new XMLSerializer(); -// return xmlSerializer.serializeToString(xmlNode); -// } else -// return xmlNode.xml; -// }; -// -// XML.getNSResolver = function (str) { -// if (!str) { -// return null; -// } -// var list = str.split(' '); -// var namespaces = {}; -// for (var i = 0; i < list.length; i++) { -// var pair = list[i].split('='); -// var fix = BI.trim(pair[0]).replace("xmlns:", ""); -// namespaces[fix] = BI.trim(pair[1]).replace(/"/g, "").replace(/'/g, ""); -// } -// return function (prefix) { -// return namespaces[prefix]; -// }; -// }; -// -// XML.eval = function (context, xpathExp, resultType, namespaces) { -// if ((BI.isIE() && ('undefined' === typeof(context.selectSingleNode) || 'undefined' === typeof(context.selectNodes)))) { -// return XML.eval2(context, xpathExp, resultType, namespaces); -// } else { -// if (BI.isIE()) { -// namespaces = namespaces ? namespaces : ""; -// var doc = (context.nodeType == XML.Document.NodeType.DOCUMENT) ? context : context.ownerDocument; -// doc.setProperty("SelectionNamespaces", namespaces); -// var result; -// if (resultType == this.ResultType.single) { -// result = context.selectSingleNode(xpathExp); -// } else { -// result = context.selectNodes(xpathExp) || []; -// } -// doc.setProperty("SelectionNamespaces", ""); -// return result; -// } else { -// var node = context; -// var xmlDoc = (context.nodeName.indexOf("document") == -1) ? context.ownerDocument : context; -// var retType = (resultType == this.ResultType.single) ? XPathResult.FIRST_ORDERED_NODE_TYPE : XPathResult.ANY_TYPE; -// var col = xmlDoc.evaluate(xpathExp, node, XML.getNSResolver(namespaces), retType, null); -// -// if (retType == XPathResult.FIRST_ORDERED_NODE_TYPE) { -// return col.singleNodeValue; -// } else { -// var thisColMemb = col.iterateNext(); -// var rowsCol = []; -// while (thisColMemb) { -// rowsCol[rowsCol.length] = thisColMemb; -// thisColMemb = col.iterateNext(); -// } -// return rowsCol; -// } -// } -// } -// }; -// -// XML.eval2 = function (context, xpathExp, resultType, namespaces) { -// if (resultType !== "single" && resultType !== undefined && resultType !== null) { -// throw new Error("justep.SimpleXML.eval only be resultType='single', not" + resultType); -// } -// -// if (context === null || context === undefined || xpathExp === null || xpathExp === undefined) { -// return context; -// } -// -// if (context.nodeType == XML.Document.NodeType.DOCUMENT) { -// context = context.documentElement; -// } -// -// var childs, i; -// if (xpathExp.indexOf("/") != -1) { -// var items = xpathExp.split("/"); -// var isAbs = xpathExp.substring(0, 1) == "/"; -// for (i = 0; i < items.length; i++) { -// var item = items[i]; -// if (item === "") { -// continue; -// } else { -// var next = null; -// var ii = i + 1; -// for (; ii < items.length; ii++) { -// if (next === null) { -// next = items[ii]; -// } else { -// next = next + "/" + items[ii]; -// } -// } -// -// if (item == ".") { -// return this.eval(context, next, resultType); -// -// } else if (item == "..") { -// return this.eval2(context.parentNode, next, resultType); -// -// } else if (item == "*") { -// if (isAbs) { -// return this.eval2(context, next, resultType); -// -// } else { -// childs = context.childNodes; -// for (var j = 0; j < childs.length; j++) { -// var tmp = this.eval2(childs[j], next, resultType); -// if (tmp !== null) { -// return tmp; -// } -// } -// return null; -// } -// -// } else { -// if (isAbs) { -// if (context.nodeName == item) { -// return this.eval2(context, next, resultType); -// } else { -// return null; -// } -// } else { -// var child = this.getChildByName(context, item); -// if (child !== null) { -// return this.eval2(child, next, resultType); -// } else { -// return null; -// } -// -// } -// } -// -// } -// } -// -// return null; -// -// } else { -// if ("text()" == xpathExp) { -// childs = context.childNodes; -// for (i = 0; i < childs.length; i++) { -// if (childs[i].nodeType == XML.Document.NodeType.TEXT) { -// return childs[i]; -// } -// } -// return null; -// } else { -// return this.getChildByName(context, xpathExp); -// } -// } -// }; -// -// XML.getChildByName = function (context, name) { -// if (context === null || context === undefined || name === null || name === undefined) { -// return null; -// } -// -// if (context.nodeType == XML.Document.NodeType.DOCUMENT) { -// context = context.documentElement; -// } -// -// var childs = context.childNodes; -// for (var i = 0; i < childs.length; i++) { -// if (childs[i].nodeType == XML.Document.NodeType.ELEMENT && (childs[i].nodeName == name || name == "*")) { -// return childs[i]; -// } -// } -// -// return null; -// }; -// -// XML.appendChildren = function (context, xpathExp, nodes, isBefore) { -// nodes = (typeof nodes.length != "undefined") ? nodes : [nodes]; -// var finded = this.eval(context, xpathExp); -// var count = finded.length; -// for (var i = 0; i < count; i++) { -// if (isBefore && finded[i].firstNode) { -// this._insertBefore(finded[i], nodes, finded[i].firstNode); -// } else { -// for (var j = 0; j < nodes.length; j++) { -// finded[i].appendChild(nodes[j]); -// } -// } -// } -// return count; -// }; -// -// XML.removeNodes = function (context, xpathExp) { -// var nodes = this.eval(context, xpathExp); -// for (var i = 0; i < nodes.length; i++) { -// nodes[i].parentNode.removeChild(nodes[i]); -// } -// }; -// -// XML._insertBefore = function (parent, newchildren, refchild) { -// for (var i = 0; i < newchildren.length; i++) { -// parent.insertBefore(newchildren[i], refchild); -// } -// }; -// -// XML.insertNodes = function (context, xpathExp, nodes, isBefore) { -// nodes = (typeof nodes.length != "undefined") ? nodes : [nodes]; -// var finded = this.eval(context, xpathExp); -// var count = finded.length; -// for (var i = 0; i < count; i++) { -// var refnode = (isBefore) ? finded[i] : finded[i].nextSibling; -// this._insertBefore(finded[i].parentNode, nodes, refnode); -// } -// return count; -// }; -// -// XML.replaceNodes = function (context, xpathExp, nodes) { -// nodes = (typeof nodes.length != "undefined") ? nodes : [nodes]; -// var finded = this.eval(context, xpathExp); -// var count = finded.length; -// for (var i = 0; i < count; i++) { -// var refnode = finded[i]; -// var parent = refnode.parentNode; -// this._insertBefore(parent, nodes, refnode); -// parent.removeChild(refnode); -// } -// return count; -// }; -// -// XML.setNodeText = function (context, xpathExp, text) { -// var finded = this.eval(context, xpathExp, this.ResultType.single); -// if (finded === null) { -// return; -// } -// if (finded.nodeType == XML.Document.NodeType.ELEMENT) { -// var textNode = this.eval(finded, "./text()", this.ResultType.single); -// if (!textNode) { -// textNode = finded.ownerDocument.createTextNode(""); -// finded.appendChild(textNode); -// } -// textNode.nodeValue = text; -// } else { -// finded.nodeValue = text; -// } -// return; -// }; -// -// XML.getNodeText = function (context, xpathExp, defaultValue) { -// var finded = xpathExp ? this.eval(context, xpathExp, this.ResultType.single) : context; -// if (finded && (finded.nodeType == XML.Document.NodeType.ELEMENT)) { -// finded = this.eval(finded, "./text()", this.ResultType.single); -// } -// return (finded && finded.nodeValue) ? "" + finded.nodeValue : (defaultValue !== undefined) ? defaultValue : null; -// }; -// -// XML.Namespaces = { -// XMLSCHEMA: "http://www.w3.org/2001/XMLSchema#", -// XMLSCHEMA_STRING: "http://www.w3.org/2001/XMLSchema#String", -// XMLSCHEMA_LONG: "http://www.w3.org/2001/XMLSchema#Long", -// XMLSCHEMA_INTEGER: 'http://www.w3.org/2001/XMLSchema#Integer', -// XMLSCHEMA_FLOAT: 'http://www.w3.org/2001/XMLSchema#Float', -// XMLSCHEMA_DOUBLE: 'http://www.w3.org/2001/XMLSchema#Double', -// XMLSCHEMA_DECIMAL: 'http://www.w3.org/2001/XMLSchema#Decimal', -// XMLSCHEMA_DATE: 'http://www.w3.org/2001/XMLSchema#Date', -// XMLSCHEMA_TIME: 'http://www.w3.org/2001/XMLSchema#Time', -// XMLSCHEMA_DATETIME: 'http://www.w3.org/2001/XMLSchema#DateTime', -// XMLSCHEMA_BOOLEAN: 'http://www.w3.org/2001/XMLSchema#Boolean', -// XMLSCHEMA_SYMBOL: 'http://www.w3.org/2001/XMLSchema#Symbol', -// JUSTEPSCHEMA: "http://www.justep.com/xbiz#", -// RDF: "http://www.w3.org/1999/02/22-rdf-syntax-ns#", -// JUSTEP: "http://www.justep.com/x5#", -// 'get': function (type) { -// type = type ? type.toLowerCase() : "string"; -// if ("string" == type) { -// return XML.Namespaces.XMLSCHEMA_STRING; -// } -// else if ("integer" == type) { -// return XML.Namespaces.XMLSCHEMA_INTEGER; -// } -// else if ("long" == type) { -// return XML.Namespaces.XMLSCHEMA_LONG; -// } -// else if ("float" == type) { -// return XML.Namespaces.XMLSCHEMA_FLOAT; -// } -// else if ("double" == type) { -// return XML.Namespaces.XMLSCHEMA_DOUBLE; -// } -// else if ("decimal" == type) { -// return XML.Namespaces.XMLSCHEMA_DECIMAL; -// } -// else if ("date" == type) { -// return XML.Namespaces.XMLSCHEMA_DATE; -// } -// else if ("time" == type) { -// return XML.Namespaces.XMLSCHEMA_TIME; -// } -// else if ("datetime" == type) { -// return XML.Namespaces.XMLSCHEMA_DATETIME; -// } -// else if ("boolean" == type) { -// return XML.Namespaces.XMLSCHEMA_BOOLEAN; -// } -// } -// }; -// })(BI); diff --git a/src/core/var.js b/src/core/var.js deleted file mode 100644 index ee2334e2ef..0000000000 --- a/src/core/var.js +++ /dev/null @@ -1,136 +0,0 @@ -/** - * 常量 - */ - -_.extend(BI, { - MAX: 0xfffffffffffffff, - MIN: -0xfffffffffffffff, - EVENT_RESPONSE_TIME: 200, - zIndex_layer: 1e5, - zIndex_floatbox: 1e6, - zIndex_popup: 1e7, - zIndex_masker: 1e8, - zIndex_tip: 1e9, - emptyStr: "", - emptyFn: function () { - }, - empty: null, - Key: { - "48": "0", - "49": "1", - "50": "2", - "51": "3", - "52": "4", - "53": "5", - "54": "6", - "55": "7", - "56": "8", - "57": "9", - "65": "a", - "66": "b", - "67": "c", - "68": "d", - "69": "e", - "70": "f", - "71": "g", - "72": "h", - "73": "i", - "74": "j", - "75": "k", - "76": "l", - "77": "m", - "78": "n", - "79": "o", - "80": "p", - "81": "q", - "82": "r", - "83": "s", - "84": "t", - "85": "u", - "86": "v", - "87": "w", - "88": "x", - "89": "y", - "90": "z", - "96": "0", - "97": "1", - "98": "2", - "99": "3", - "100": "4", - "101": "5", - "102": "6", - "103": "7", - "104": "8", - "105": "9", - "106": "*", - "107": "+", - "109": "-", - "110": ".", - "111": "/" - }, - KeyCode: { - BACKSPACE: 8, - COMMA: 188, - DELETE: 46, - DOWN: 40, - END: 35, - ENTER: 13, - ESCAPE: 27, - HOME: 36, - LEFT: 37, - NUMPAD_ADD: 107, - NUMPAD_DECIMAL: 110, - NUMPAD_DIVIDE: 111, - NUMPAD_ENTER: 108, - NUMPAD_MULTIPLY: 106, - NUMPAD_SUBTRACT: 109, - PAGE_DOWN: 34, - PAGE_UP: 33, - PERIOD: 190, - RIGHT: 39, - SPACE: 32, - TAB: 9, - UP: 38 - }, - Status: { - SUCCESS: 1, - WRONG: 2, - START: 3, - END: 4, - WAITING: 5, - READY: 6, - RUNNING: 7, - OUTOFBOUNDS: 8, - NULL: -1 - }, - Direction: { - Top: "top", - Bottom: "bottom", - Left: "left", - Right: "right", - Custom: "custom" - }, - Axis: { - Vertical: "vertical", - Horizontal: "horizontal" - }, - Selection: { - Default: -2, - None: -1, - Single: 0, - Multi: 1, - All: 2 - }, - HorizontalAlign: { - Left: "left", - Right: "right", - Center: "center", - Stretch: "stretch" - }, - VerticalAlign: { - Middle: "middle", - Top: "top", - Bottom: "bottom", - Stretch: "stretch" - } -}); \ No newline at end of file diff --git a/src/core/version.js b/src/core/version.js deleted file mode 100644 index a850da7437..0000000000 --- a/src/core/version.js +++ /dev/null @@ -1 +0,0 @@ -BI.version = "2.0"; \ No newline at end of file diff --git a/src/core/widget.js b/src/core/widget.js deleted file mode 100644 index 1ddad06d85..0000000000 --- a/src/core/widget.js +++ /dev/null @@ -1,454 +0,0 @@ -/** - * Widget超类 - * @class BI.Widget - * @extends BI.OB - * - * @cfg {JSON} options 配置属性 - */ -BI.Widget = BI.inherit(BI.OB, { - _defaultConfig: function () { - return BI.extend(BI.Widget.superclass._defaultConfig.apply(this), { - root: false, - tagName: "div", - attributes: null, - data: null, - - tag: null, - disabled: false, - invisible: false, - invalid: false, - baseCls: "", - extraCls: "", - cls: "" - }) - }, - - //生命周期函数 - beforeCreate: null, - - created: null, - - render: null, - - beforeMount: null, - - mounted: null, - - shouldUpdate: null, - - update: function () { - }, - - beforeDestroy: null, - - destroyed: null, - - _init: function () { - BI.Widget.superclass._init.apply(this, arguments); - this.beforeCreate && this.beforeCreate(); - this._initRoot(); - this._initElementWidth(); - this._initElementHeight(); - this._initVisual(); - this._initState(); - this._initElement(); - this._initEffects(); - this.created && this.created(); - }, - - /** - * 初始化根节点 - * @private - */ - _initRoot: function () { - var o = this.options; - this.widgetName = o.widgetName || BI.uniqueId("widget"); - this._isRoot = o.root; - if (BI.isWidget(o.element)) { - if (o.element instanceof BI.Widget) { - this._parent = o.element; - this._parent.addWidget(this.widgetName, this); - } else { - this._isRoot = true; - } - this.element = this.options.element.element; - } else if (o.element) { - // if (o.root !== true) { - // throw new Error("root is a required property"); - // } - this.element = $(o.element); - this._isRoot = true; - } else { - this.element = $(document.createElement(o.tagName)); - } - this.element._isWidget = true; - if (o.baseCls || o.extraCls || o.cls) { - this.element.addClass((o.baseCls || "") + " " + (o.extraCls || "") + " " + (o.cls || "")); - } - if (o.attributes) { - this.element.attr(o.attributes); - } - if (o.data) { - this.element.data(o.data); - } - this._children = {}; - }, - - _initElementWidth: function () { - var o = this.options; - if (BI.isWidthOrHeight(o.width)) { - this.element.css("width", o.width); - } - }, - - _initElementHeight: function () { - var o = this.options; - if (BI.isWidthOrHeight(o.height)) { - this.element.css("height", o.height); - } - }, - - _initVisual: function () { - var o = this.options; - if (o.invisible) { - //用display属性做显示和隐藏,否则jquery会在显示时将display设为block会覆盖掉display:flex属性 - this.element.css("display", "none"); - } - }, - - _initEffects: function () { - var o = this.options; - if (o.disabled || o.invalid) { - if (this.options.disabled) { - this.setEnable(false); - } - if (this.options.invalid) { - this.setValid(false); - } - } - }, - - _initState: function () { - this._isMounted = false; - }, - - _initElement: function () { - var self = this; - var els = this.render && this.render(); - if (BI.isPlainObject(els)) { - els = [els]; - } - if (BI.isArray(els)) { - BI.each(els, function (i, el) { - BI.createWidget(el, { - element: self - }) - }) - } - // if (this._isRoot === true || !(this instanceof BI.Layout)) { - this._mount(); - // } - }, - - _setParent: function (parent) { - this._parent = parent; - }, - - _mount: function () { - var self = this; - var isMounted = this._isMounted; - if (isMounted || !this.isVisible()) { - return; - } - if (this._isRoot === true) { - isMounted = true; - } else if (this._parent && this._parent._isMounted === true) { - isMounted = true; - } - if (!isMounted) { - return; - } - this.beforeMount && this.beforeMount(); - this._isMounted = true; - this._mountChildren && this._mountChildren(); - BI.each(this._children, function (i, widget) { - !self.isEnabled() && widget._setEnable(false); - !self.isValid() && widget._setValid(false); - widget._mount && widget._mount(); - }); - this.mounted && this.mounted(); - }, - - _mountChildren: null, - - isMounted: function () { - return this._isMounted; - }, - - setWidth: function (w) { - this.options.width = w; - this._initElementWidth(); - }, - - setHeight: function (h) { - this.options.height = h; - this._initElementHeight(); - }, - - _setEnable: function (enable) { - if (enable === true) { - this.options.disabled = false; - } else if (enable === false) { - this.options.disabled = true; - } - //递归将所有子组件使能 - BI.each(this._children, function (i, child) { - !child._manualSetEnable && child._setEnable && child._setEnable(enable); - }); - }, - - _setValid: function (valid) { - if (valid === true) { - this.options.invalid = false; - } else if (valid === false) { - this.options.invalid = true; - } - //递归将所有子组件使有效 - BI.each(this._children, function (i, child) { - !child._manualSetValid && child._setValid && child._setValid(valid); - }); - }, - - _setVisible: function (visible) { - if (visible === true) { - this.options.invisible = false; - } else if (visible === false) { - this.options.invisible = true; - } - }, - - setEnable: function (enable) { - this._manualSetEnable = true; - this._setEnable(enable); - if (enable === true) { - this.element.removeClass("base-disabled disabled"); - } else if (enable === false) { - this.element.addClass("base-disabled disabled"); - } - }, - - setVisible: function (visible) { - this._setVisible(visible); - if (visible === true) { - //用this.element.show()会把display属性改成block - this.element.css("display", ""); - this._mount(); - } else if (visible === false) { - this.element.css("display", "none"); - } - this.fireEvent(BI.Events.VIEW, visible); - }, - - setValid: function (valid) { - this._manualSetValid = true; - this._setValid(valid); - if (valid === true) { - this.element.removeClass("base-invalid invalid"); - } else if (valid === false) { - this.element.addClass("base-invalid invalid"); - } - }, - - doBehavior: function () { - var args = arguments; - //递归将所有子组件使有效 - BI.each(this._children, function (i, child) { - child.doBehavior && child.doBehavior.apply(child, args); - }); - }, - - getWidth: function () { - return this.options.width; - }, - - getHeight: function () { - return this.options.height; - }, - - isValid: function () { - return !this.options.invalid; - }, - - addWidget: function (name, widget) { - var self = this; - if (name instanceof BI.Widget) { - widget = name; - name = widget.getName(); - } - if (BI.isKey(name)) { - name = name + ""; - } - name = name || widget.getName() || BI.uniqueId("widget"); - if (this._children[name]) { - throw new Error("name has already been existed"); - } - widget._setParent && widget._setParent(this); - widget.on(BI.Events.DESTROY, function () { - BI.remove(self._children, this); - }); - return (this._children[name] = widget); - }, - - getWidgetByName: function (name) { - if (!BI.isKey(name) || name === this.getName()) { - return this; - } - name = name + ""; - var widget = void 0, other = {}; - BI.any(this._children, function (i, wi) { - if (i === name) { - widget = wi; - return true; - } - other[i] = wi; - }); - if (!widget) { - BI.any(other, function (i, wi) { - return (widget = wi.getWidgetByName(i)); - }); - } - return widget; - }, - - removeWidget: function (nameOrWidget) { - var self = this; - if (BI.isWidget(nameOrWidget)) { - BI.remove(this._children, nameOrWidget); - } else { - delete this._children[nameOrWidget]; - } - }, - - hasWidget: function (name) { - return this._children[name] != null; - }, - - getName: function () { - return this.widgetName; - }, - - setTag: function (tag) { - this.options.tag = tag; - }, - - getTag: function () { - return this.options.tag; - }, - - attr: function (key, value) { - var self = this; - if (BI.isPlainObject(key)) { - BI.each(key, function (k, v) { - self.attr(k, v); - }) - return; - } - if (BI.isNotNull(value)) { - return this.options[key] = value; - } - return this.options[key]; - }, - - getText: function () { - - }, - - setText: function (text) { - - }, - - getValue: function () { - - }, - - setValue: function (value) { - - }, - - isEnabled: function () { - return !this.options.disabled; - }, - - isVisible: function () { - return !this.options.invisible; - }, - - disable: function () { - this.setEnable(false); - }, - - enable: function () { - this.setEnable(true); - }, - - valid: function () { - this.setValid(true); - }, - - invalid: function () { - this.setValid(false); - }, - - invisible: function () { - this.setVisible(false); - }, - - visible: function () { - this.setVisible(true); - }, - - __d: function () { - this.beforeDestroy && this.beforeDestroy(); - BI.each(this._children, function (i, widget) { - widget && widget._unMount && widget._unMount(); - }); - this._children = {}; - this._parent = null; - this._isMounted = false; - this.destroyed && this.destroyed(); - }, - - _unMount: function () { - this.__d(); - this.fireEvent(BI.Events.UNMOUNT); - this.purgeListeners(); - }, - - isolate: function () { - if (this._parent) { - this._parent.removeWidget(this); - } - BI.DOM.hang([this]); - }, - - empty: function () { - BI.each(this._children, function (i, widget) { - widget && widget._unMount && widget._unMount(); - }); - this._children = {}; - this.element.empty(); - }, - - _destroy: function () { - this.__d(); - this.element.destroy(); - this.purgeListeners(); - }, - - destroy: function () { - this.__d(); - this.element.destroy(); - this.fireEvent(BI.Events.DESTROY); - this.purgeListeners(); - } -}); \ No newline at end of file diff --git a/src/core/wrapper/layout.js b/src/core/wrapper/layout.js deleted file mode 100644 index 9f60b85ac1..0000000000 --- a/src/core/wrapper/layout.js +++ /dev/null @@ -1,573 +0,0 @@ -/** - * 布局容器类 - * @class BI.Layout - * @extends BI.Widget - * - * @cfg {JSON} options 配置属性 - * @cfg {Boolean} [options.scrollable=false] 子组件超出容器边界之后是否会出现滚动条 - * @cfg {Boolean} [options.scrollx=false] 子组件超出容器边界之后是否会出现横向滚动条 - * @cfg {Boolean} [options.scrolly=false] 子组件超出容器边界之后是否会出现纵向滚动条 - */ -BI.Layout = BI.inherit(BI.Widget, { - props: function () { - return { - scrollable: null, //true, false, null - scrollx: false, //true, false - scrolly: false, //true, false - items: [] - }; - }, - - render: function () { - this._init4Margin(); - this._init4Scroll(); - }, - - _init4Margin: function () { - if (this.options.top) { - this.element.css('top', this.options.top); - } - if (this.options.left) { - this.element.css('left', this.options.left); - } - if (this.options.bottom) { - this.element.css('bottom', this.options.bottom); - } - if (this.options.right) { - this.element.css('right', this.options.right); - } - }, - - _init4Scroll: function () { - switch (this.options.scrollable) { - case true: - this.element.css("overflow", "auto"); - break; - case false: - this.element.css("overflow", "hidden"); - break; - default : - break; - } - if (this.options.scrollx) { - this.element.css({ - "overflow-x": "auto", - "overflow-y": "hidden" - }); - } - if (this.options.scrolly) { - this.element.css({ - "overflow-x": "hidden", - "overflow-y": "auto" - }); - } - }, - - _mountChildren: function () { - var self = this; - var frag = document.createDocumentFragment(); - var hasChild = false; - BI.each(this._children, function (i, widget) { - if (widget.element !== self.element) { - frag.appendChild(widget.element[0]); - hasChild = true; - } - }); - if (hasChild === true) { - this.element.append(frag); - } - }, - - _getChildName: function (index) { - return index + ""; - }, - - _addElement: function (i, item) { - var self = this, w; - if (!this.hasWidget(this._getChildName(i))) { - w = BI.createWidget(item); - w.on(BI.Events.DESTROY, function () { - BI.each(self._children, function (name, child) { - if (child === w) { - BI.remove(self._children, child); - self.removeItemAt(name | 0); - } - }); - }); - this.addWidget(this._getChildName(i), w); - } else { - w = this.getWidgetByName(this._getChildName(i)); - } - return w; - }, - - _getOptions: function (item) { - if (item instanceof BI.Widget) { - item = item.options; - } - item = BI.stripEL(item); - if (item instanceof BI.Widget) { - item = item.options; - } - return item; - }, - - _compare: function (item1, item2) { - var self = this; - return eq(item1, item2); - - //不比较函数 - function eq(a, b, aStack, bStack) { - if (a === b) { - return a !== 0 || 1 / a === 1 / b; - } - if (a == null || b == null) { - return a === b; - } - var className = Object.prototype.toString.call(a); - switch (className) { - case '[object RegExp]': - case '[object String]': - return '' + a === '' + b; - case '[object Number]': - if (+a !== +a) { - return +b !== +b; - } - return +a === 0 ? 1 / +a === 1 / b : +a === +b; - case '[object Date]': - case '[object Boolean]': - return +a === +b; - } - - var areArrays = className === '[object Array]'; - if (!areArrays) { - if (BI.isFunction(a) && BI.isFunction(b)) { - return true; - } - a = self._getOptions(a); - b = self._getOptions(b); - } - - aStack = aStack || []; - bStack = bStack || []; - var length = aStack.length; - while (length--) { - if (aStack[length] === a) { - return bStack[length] === b; - } - } - - aStack.push(a); - bStack.push(b); - - if (areArrays) { - length = a.length; - if (length !== b.length) { - return false; - } - while (length--) { - if (!eq(a[length], b[length], aStack, bStack)) { - return false; - } - } - } else { - var keys = _.keys(a), key; - length = keys.length; - if (_.keys(b).length !== length) { - return false; - } - while (length--) { - key = keys[length]; - if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) { - return false; - } - } - } - aStack.pop(); - bStack.pop(); - return true; - } - }, - - _getWrapper: function () { - return this.element; - }, - - _addItemAt: function (index, item) { - for (var i = this.options.items.length; i > index; i--) { - this._children[this._getChildName(i)] = this._children[this._getChildName(i - 1)]; - } - delete this._children[this._getChildName(index)]; - this.options.items.splice(index, 0, item); - }, - - _removeItemAt: function (index) { - for (var i = index; i < this.options.items.length - 1; i++) { - this._children[this._getChildName(i)] = this._children[this._getChildName(i + 1)]; - } - delete this._children[this._getChildName(this.options.items.length - 1)]; - this.options.items.splice(index, 1); - }, - - /** - * 添加一个子组件到容器中 - * @param {JSON/BI.Widget} item 子组件 - */ - addItem: function (item) { - return this.addItemAt(this.options.items.length, item); - }, - - prependItem: function (item) { - return this.addItemAt(0, item); - }, - - addItemAt: function (index, item) { - if (index < 0 || index > this.options.items.length) { - return; - } - this._addItemAt(index, item); - var w = this._addElement(index, item); - if (index > 0) { - this._children[this._getChildName(index - 1)].element.after(w.element); - } else { - w.element.prependTo(this._getWrapper()); - } - w._mount(); - return w; - }, - - removeItemAt: function (indexes) { - indexes = BI.isArray(indexes) ? indexes : [indexes]; - var deleted = []; - var newItems = [], newChildren = {}; - for (var i = 0, len = this.options.items.length; i < len; i++) { - var child = this._children[this._getChildName(i)]; - if (indexes.contains(i)) { - child && deleted.push(child); - } else { - newChildren[this._getChildName(newItems.length)] = child; - newItems.push(this.options.items[i]); - } - } - this.options.items = newItems; - this._children = newChildren; - BI.each(deleted, function (i, c) { - c._destroy(); - }); - }, - - shouldUpdateItem: function (index, item) { - if (index < 0 || index > this.options.items.length - 1) { - return false; - } - var child = this._children[this._getChildName(index)]; - if (!child.shouldUpdate) { - return null; - } - return child.shouldUpdate(this._getOptions(item)) === true; - }, - - updateItemAt: function (index, item) { - if (index < 0 || index > this.options.items.length - 1) { - return; - } - - var child = this._children[this._getChildName(index)]; - var updated; - if (updated = child.update(this._getOptions(item))) { - return updated; - } - var del = this._children[this._getChildName(index)]; - delete this._children[this._getChildName(index)]; - this.options.items.splice(index, 1); - var w = this._addElement(index, item); - this.options.items.splice(index, 0, item); - this._children[this._getChildName(index)] = w; - if (index > 0) { - this._children[this._getChildName(index - 1)].element.after(w.element); - } else { - w.element.prependTo(this._getWrapper()); - } - del._destroy(); - w._mount(); - }, - - addItems: function (items) { - var self = this, o = this.options; - var fragment = document.createDocumentFragment(); - var added = []; - BI.each(items, function (i, item) { - var w = self._addElement(o.items.length, item); - self._children[self._getChildName(o.items.length)] = w; - o.items.push(item); - added.push(w); - fragment.appendChild(w.element[0]); - }); - this._getWrapper().append(fragment); - BI.each(added, function (i, w) { - w._mount(); - }) - }, - - prependItems: function (items) { - var self = this; - items = items || []; - var fragment = document.createDocumentFragment(); - var added = []; - for (var i = items.length - 1; i >= 0; i--) { - this._addItemAt(0, items[i]); - var w = this._addElement(0, items[i]); - self._children[self._getChildName(0)] = w; - this.options.items.unshift(items[i]); - added.push(w); - fragment.appendChild(w.element[0]); - } - this._getWrapper().prepend(fragment); - BI.each(added, function (i, w) { - w._mount(); - }) - }, - - getValue: function () { - var self = this, value = [], child; - BI.each(this.options.items, function (i) { - if (child = self._children[self._getChildName(i)]) { - var v = child.getValue(); - v = BI.isArray(v) ? v : [v]; - value = value.concat(v); - } - }); - return value; - }, - - setValue: function (v) { - var self = this, child; - BI.each(this.options.items, function (i) { - if (child = self._children[self._getChildName(i)]) { - child.setValue(v); - } - }) - }, - - setText: function (v) { - var self = this, child; - BI.each(this.options.items, function (i) { - if (child = self._children[self._getChildName(i)]) { - child.setText(v); - } - }) - }, - - patchItem: function (oldVnode, vnode, index) { - var shouldUpdate = this.shouldUpdateItem(index, vnode); - if (shouldUpdate === true || (shouldUpdate === null && !this._compare(oldVnode, vnode))) { - return this.updateItemAt(index, vnode); - } - }, - - updateChildren: function (oldCh, newCh) { - var self = this; - var oldStartIdx = 0, newStartIdx = 0; - var oldEndIdx = oldCh.length - 1; - var oldStartVnode = oldCh[0]; - var oldEndVnode = oldCh[oldEndIdx]; - var newEndIdx = newCh.length - 1; - var newStartVnode = newCh[0]; - var newEndVnode = newCh[newEndIdx]; - var before; - var updated; - var children = {}; - BI.each(oldCh, function (i, child) { - child = self._getOptions(child); - var key = child.key == null ? i : child.key; - if (BI.isKey(key)) { - children[key] = self._children[self._getChildName(i)]; - } - }); - - while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) { - if (BI.isNull(oldStartVnode)) { - oldStartVnode = oldCh[++oldStartIdx]; - } else if (BI.isNull(oldEndVnode)) { - oldEndVnode = oldCh[--oldEndIdx]; - } else if (sameVnode(oldStartVnode, newStartVnode, oldStartIdx, newStartIdx)) { - updated = this.patchItem(oldStartVnode, newStartVnode, oldStartIdx) || updated; - children[oldStartVnode.key == null ? this._getChildName(oldStartIdx) : oldStartVnode.key] = this._children[this._getChildName(oldStartIdx)]; - oldStartVnode = oldCh[++oldStartIdx]; - newStartVnode = newCh[++newStartIdx]; - } else if (sameVnode(oldEndVnode, newEndVnode, oldEndIdx, newEndIdx)) { - updated = this.patchItem(oldEndVnode, newEndVnode, oldEndIdx) || updated; - children[oldEndVnode.key == null ? this._getChildName(oldEndIdx) : oldEndVnode.key] = this._children[this._getChildName(oldEndIdx)]; - oldEndVnode = oldCh[--oldEndIdx]; - newEndVnode = newCh[--newEndIdx]; - } else if (sameVnode(oldStartVnode, newEndVnode)) { - updated = this.patchItem(oldStartVnode, newEndVnode, oldStartIdx) || updated; - children[oldStartVnode.key == null ? this._getChildName(oldStartIdx) : oldStartVnode.key] = this._children[this._getChildName(oldStartIdx)]; - insertBefore(oldStartVnode, oldEndVnode, true); - oldStartVnode = oldCh[++oldStartIdx]; - newEndVnode = newCh[--newEndIdx]; - } else if (sameVnode(oldEndVnode, newStartVnode)) { - updated = this.patchItem(oldEndVnode, newStartVnode, oldEndIdx) || updated; - children[oldEndVnode.key == null ? this._getChildName(oldEndIdx) : oldEndVnode.key] = this._children[this._getChildName(oldEndIdx)]; - insertBefore(oldEndVnode, oldStartVnode); - oldEndVnode = oldCh[--oldEndIdx]; - newStartVnode = newCh[++newStartIdx]; - } else { - var node = addNode(newStartVnode); - insertBefore(node, oldStartVnode); - newStartVnode = newCh[++newStartIdx]; - } - } - if (oldStartIdx > oldEndIdx) { - before = BI.isNull(newCh[newEndIdx + 1]) ? null : newCh[newEndIdx + 1].elm; - addVnodes(before, newCh, newStartIdx, newEndIdx); - } else if (newStartIdx > newEndIdx) { - removeVnodes(oldCh, oldStartIdx, oldEndIdx); - } - - this._children = {}; - BI.each(newCh, function (i, child) { - var node = self._getOptions(child); - var key = node.key == null ? i : node.key; - children[key]._mount(); - self._children[self._getChildName(i)] = children[key]; - }); - - function sameVnode(vnode1, vnode2, oldIndex, newIndex) { - vnode1 = self._getOptions(vnode1); - vnode2 = self._getOptions(vnode2); - if (BI.isKey(vnode1.key)) { - return vnode1.key === vnode2.key; - } - if (oldIndex >= 0) { - return oldIndex === newIndex - } - } - - function addNode(vnode, index) { - var opt = self._getOptions(vnode); - var key = opt.key == null ? index : opt.key; - return children[key] = self._addElement(key, vnode); - } - - function addVnodes(before, vnodes, startIdx, endIdx) { - for (; startIdx <= endIdx; ++startIdx) { - var node = addNode(vnodes[startIdx], startIdx); - insertBefore(node, before, false, startIdx); - } - } - - function removeVnodes(vnodes, startIdx, endIdx) { - for (; startIdx <= endIdx; ++startIdx) { - var node = self._getOptions(vnodes[startIdx]); - var key = node.key == null ? startIdx : node.key; - children[key]._destroy(); - } - } - - function insertBefore(insert, before, isNext, index) { - insert = self._getOptions(insert); - before = before && self._getOptions(before); - var insertKey = BI.isKey(insert.key) ? insert.key : index; - if (before && children[before.key]) { - var beforeKey = BI.isKey(before.key) ? before.key : index; - var next; - if (isNext) { - next = children[beforeKey].element.next(); - } else { - next = children[beforeKey].element; - } - if (next.length > 0) { - next.before(children[insertKey].element); - } else { - self._getWrapper().append(children[insertKey].element); - } - } else { - self._getWrapper().append(children[insertKey].element); - } - } - - return updated; - }, - - update: function (opt) { - var o = this.options; - var items = opt.items || []; - var updated = this.updateChildren(o.items, items); - this.options.items = items; - return updated; - // var updated, i, len; - // for (i = 0, len = Math.min(o.items.length, items.length); i < len; i++) { - // if (!this._compare(o.items[i], items[i])) { - // updated = this.updateItemAt(i, items[i]) || updated; - // } - // } - // if (o.items.length > items.length) { - // var deleted = []; - // for (i = items.length; i < o.items.length; i++) { - // deleted.push(this._children[this._getChildName(i)]); - // delete this._children[this._getChildName(i)]; - // } - // o.items.splice(items.length); - // BI.each(deleted, function (i, w) { - // w._destroy(); - // }) - // } else if (items.length > o.items.length) { - // for (i = o.items.length; i < items.length; i++) { - // this.addItemAt(i, items[i]); - // } - // } - // return updated; - }, - - stroke: function (items) { - var self = this; - BI.each(items, function (i, item) { - if (!!item) { - self._addElement(i, item); - } - }); - }, - - removeWidget: function (nameOrWidget) { - var removeIndex; - if (BI.isWidget(nameOrWidget)) { - BI.each(this._children, function (name, child) { - if (child === nameOrWidget) { - removeIndex = name; - } - }) - } else { - removeIndex = nameOrWidget; - } - if (removeIndex) { - this._removeItemAt(removeIndex | 0); - } - }, - - empty: function () { - BI.Layout.superclass.empty.apply(this, arguments); - this.options.items = []; - }, - - destroy: function () { - BI.Layout.superclass.destroy.apply(this, arguments); - this.options.items = []; - }, - - populate: function (items) { - var self = this, o = this.options; - items = items || []; - if (this._isMounted) { - this.update({items: items}); - return; - } - this.options.items = items; - this.stroke(items); - }, - - resize: function () { - - } -}); -BI.shortcut('bi.layout', BI.Layout); \ No newline at end of file diff --git a/src/core/wrapper/layout/adapt/absolute.center.js b/src/core/wrapper/layout/adapt/absolute.center.js deleted file mode 100644 index 47e6a61e31..0000000000 --- a/src/core/wrapper/layout/adapt/absolute.center.js +++ /dev/null @@ -1,47 +0,0 @@ -/** - * absolute实现的居中布局 - * @class BI.AbsoluteCenterLayout - * @extends BI.Layout - */ -BI.AbsoluteCenterLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.AbsoluteCenterLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-absolute-center-layout", - hgap: 0, - lgap: 0, - rgap: 0, - vgap: 0, - tgap: 0, - bgap: 0 - }); - }, - - render: function () { - BI.AbsoluteCenterLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.AbsoluteCenterLayout.superclass._addElement.apply(this, arguments); - w.element.css({ - "position": "absolute", - "left": o.hgap + o.lgap + (item.lgap || 0), - "right": o.hgap + o.rgap + (item.rgap || 0), - "top": o.vgap + o.tgap + (item.tgap || 0), - "bottom": o.vgap + o.bgap + (item.bgap || 0), - "margin": "auto" - }); - return w; - }, - - resize: function () { - // console.log("absolute_center_adapt布局不需要resize"); - }, - - populate: function (items) { - BI.AbsoluteCenterLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.absolute_center_adapt', BI.AbsoluteCenterLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/adapt/absolute.horizontal.js b/src/core/wrapper/layout/adapt/absolute.horizontal.js deleted file mode 100644 index 3ac0f6ff35..0000000000 --- a/src/core/wrapper/layout/adapt/absolute.horizontal.js +++ /dev/null @@ -1,51 +0,0 @@ -/** - * absolute实现的居中布局 - * @class BI.AbsoluteHorizontalLayout - * @extends BI.Layout - */ -BI.AbsoluteHorizontalLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.AbsoluteHorizontalLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-absolute-horizontal-layout", - hgap: 0, - lgap: 0, - rgap: 0, - vgap: 0, - tgap: 0, - bgap: 0 - }); - }, - - render: function () { - BI.AbsoluteHorizontalLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.AbsoluteHorizontalLayout.superclass._addElement.apply(this, arguments); - w.element.css({ - "position": "absolute", - "left": o.hgap + o.lgap + (item.lgap || 0), - "right": o.hgap + o.rgap + (item.rgap || 0), - "margin": "auto" - }); - if (o.vgap + o.tgap + (item.tgap || 0) !== 0) { - w.element.css("top", o.vgap + o.tgap + (item.tgap || 0)); - } - if (o.vgap + o.bgap + (item.bgap || 0) !== 0) { - w.element.css("bottom", o.vgap + o.bgap + (item.bgap || 0)); - } - return w; - }, - - resize: function () { - // console.log("absolute_horizontal_adapt布局不需要resize"); - }, - - populate: function (items) { - BI.AbsoluteHorizontalLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.absolute_horizontal_adapt', BI.AbsoluteHorizontalLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/adapt/absolute.vertical.js b/src/core/wrapper/layout/adapt/absolute.vertical.js deleted file mode 100644 index 45d005a104..0000000000 --- a/src/core/wrapper/layout/adapt/absolute.vertical.js +++ /dev/null @@ -1,53 +0,0 @@ -/** - * absolute实现的居中布局 - * @class BI.AbsoluteVerticalLayout - * @extends BI.Layout - */ -BI.AbsoluteVerticalLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.AbsoluteVerticalLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-absolute-vertical-layout", - hgap: 0, - lgap: 0, - rgap: 0, - vgap: 0, - tgap: 0, - bgap: 0 - }); - }, - - render: function () { - BI.AbsoluteVerticalLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.AbsoluteVerticalLayout.superclass._addElement.apply(this, arguments); - w.element.css({ - "position": "absolute", - "left": item.lgap, - "right": item.rgap, - "top": o.vgap + o.tgap + (item.tgap || 0), - "bottom": o.vgap + o.bgap + (item.bgap || 0), - "margin": "auto" - }); - if (o.hgap + o.lgap + (item.lgap || 0) !== 0) { - w.element.css("left", o.hgap + o.lgap + (item.lgap || 0)); - } - if (o.hgap + o.rgap + (item.rgap || 0) !== 0) { - w.element.css("right", o.hgap + o.rgap + (item.rgap || 0)); - } - return w; - }, - - resize: function () { - // console.log("absolute_vertical_adapt布局不需要resize"); - }, - - populate: function (items) { - BI.AbsoluteVerticalLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.absolute_vertical_adapt', BI.AbsoluteVerticalLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/adapt/adapt.center.js b/src/core/wrapper/layout/adapt/adapt.center.js deleted file mode 100644 index eda8913cc6..0000000000 --- a/src/core/wrapper/layout/adapt/adapt.center.js +++ /dev/null @@ -1,119 +0,0 @@ -/** - * 自适应水平和垂直方向都居中容器 - * @class BI.CenterAdaptLayout - * @extends BI.Layout - */ -BI.CenterAdaptLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-center-adapt-layout", - columnSize: [], - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - render: function () { - BI.CenterAdaptLayout.superclass.render.apply(this, arguments); - this.$table = $("<table>").attr({"cellspacing": 0, "cellpadding": 0}).css({ - "position": "relative", - "width": "100%", - "height": "100%", - "white-space": "nowrap", - "border-spacing": "0px", - "border": "none", - "border-collapse": "separate" - }); - this.$tr = $("<tr>"); - this.$tr.appendTo(this.$table); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var td; - var width = o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i]; - if (!this.hasWidget(this._getChildName(i))) { - var w = BI.createWidget(item); - w.element.css({"position": "relative", "top": "0", "left": "0", "margin": "0px auto"}); - td = BI.createWidget({ - type: "bi.default", - tagName: "td", - attributes: { - width: width - }, - items: [w] - }); - this.addWidget(this._getChildName(i), td); - } else { - td = this.getWidgetByName(this._getChildName(i)); - td.element.attr("width", width); - } - td.element.css({"max-width": o.columnSize[i]}); - if (i === 0) { - td.element.addClass("first-element"); - } - td.element.css({ - "position": "relative", - "height": "100%", - "vertical-align": "middle", - "margin": "0", - "padding": "0", - "border": "none" - }); - if (o.hgap + o.lgap + (item.lgap || 0) !== 0) { - w.element.css({ - "margin-left": o.hgap + o.lgap + (item.lgap || 0) + "px" - }) - } - if (o.hgap + o.rgap + (item.rgap || 0) !== 0) { - w.element.css({ - "margin-right": o.hgap + o.rgap + (item.rgap || 0) + "px" - }) - } - if (o.vgap + o.tgap + (item.tgap || 0) !== 0) { - w.element.css({ - "margin-top": o.vgap + o.tgap + (item.tgap || 0) + "px" - }) - } - if (o.vgap + o.bgap + (item.bgap || 0) !== 0) { - w.element.css({ - "margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + "px" - }) - } - return td; - }, - - _mountChildren: function () { - var self = this; - var frag = document.createDocumentFragment(); - var hasChild = false; - BI.each(this._children, function (i, widget) { - if (widget.element !== self.element) { - frag.appendChild(widget.element[0]); - hasChild = true; - } - }); - if (hasChild === true) { - this.$tr.append(frag); - this.element.append(this.$table); - } - }, - - resize: function () { - // console.log("center_adapt布局不需要resize"); - }, - - _getWrapper: function(){ - return this.$tr; - }, - - populate: function (items) { - BI.CenterAdaptLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.center_adapt', BI.CenterAdaptLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/adapt/adapt.horizontal.js b/src/core/wrapper/layout/adapt/adapt.horizontal.js deleted file mode 100644 index eacda7d43b..0000000000 --- a/src/core/wrapper/layout/adapt/adapt.horizontal.js +++ /dev/null @@ -1,118 +0,0 @@ -/** - * 水平方向居中容器 - * @class BI.HorizontalAdaptLayout - * @extends BI.Layout - */ -BI.HorizontalAdaptLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.HorizontalAdaptLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-horizontal-adapt-layout", - verticalAlign: BI.VerticalAlign.Top, - columnSize: [], - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - render: function () { - BI.HorizontalAdaptLayout.superclass.render.apply(this, arguments); - this.$table = $("<table>").attr({"cellspacing": 0, "cellpadding": 0}).css({ - "position": "relative", - "width": "100%", - "white-space": "nowrap", - "border-spacing": "0px", - "border": "none", - "border-collapse": "separate" - }); - this.$tr = $("<tr>"); - this.$tr.appendTo(this.$table); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var td; - var width = o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i]; - if (!this.hasWidget(this._getChildName(i))) { - var w = BI.createWidget(item); - w.element.css({"position": "relative", "top": "0", "left": "0", "margin": "0px auto"}); - td = BI.createWidget({ - type: "bi.default", - tagName: "td", - attributes: { - width: width - }, - items: [w] - }); - this.addWidget(this._getChildName(i), td); - } else { - td = this.getWidgetByName(this._getChildName(i)); - td.element.attr("width", width); - } - td.element.css({"max-width": o.columnSize[i] + "px"}); - if (i === 0) { - td.element.addClass("first-element"); - } - td.element.css({ - "position": "relative", - "vertical-align": o.verticalAlign, - "margin": "0", - "padding": "0", - "border": "none" - }); - if (o.hgap + o.lgap + (item.lgap || 0) !== 0) { - w.element.css({ - "margin-left": o.hgap + o.lgap + (item.lgap || 0) + "px" - }) - } - if (o.hgap + o.rgap + (item.rgap || 0) !== 0) { - w.element.css({ - "margin-right": o.hgap + o.rgap + (item.rgap || 0) + "px" - }) - } - if (o.vgap + o.tgap + (item.tgap || 0) !== 0) { - w.element.css({ - "margin-top": o.vgap + o.tgap + (item.tgap || 0) + "px" - }) - } - if (o.vgap + o.bgap + (item.bgap || 0) !== 0) { - w.element.css({ - "margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + "px" - }) - } - return td; - }, - - _mountChildren: function () { - var self = this; - var frag = document.createDocumentFragment(); - var hasChild = false; - BI.each(this._children, function (i, widget) { - if (widget.element !== self.element) { - frag.appendChild(widget.element[0]); - hasChild = true; - } - }); - if (hasChild === true) { - this.$tr.append(frag); - this.element.append(this.$table); - } - }, - - resize: function () { - // console.log("horizontal_adapt布局不需要resize"); - }, - - _getWrapper: function () { - return this.$tr; - }, - - populate: function (items) { - BI.HorizontalAdaptLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.horizontal_adapt', BI.HorizontalAdaptLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/adapt/adapt.leftrightvertical.js b/src/core/wrapper/layout/adapt/adapt.leftrightvertical.js deleted file mode 100644 index a7b3897dc1..0000000000 --- a/src/core/wrapper/layout/adapt/adapt.leftrightvertical.js +++ /dev/null @@ -1,173 +0,0 @@ -/** - * 左右分离,垂直方向居中容器 - * items:{ - left: [{el:{type:"bi.button"}}], - right:[{el:{type:"bi.button"}}] - } - * @class BI.LeftRightVerticalAdaptLayout - * @extends BI.Layout - */ -BI.LeftRightVerticalAdaptLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.LeftRightVerticalAdaptLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-left-right-vertical-adapt-layout", - items: {}, - llgap: 0, - lrgap: 0, - lhgap: 0, - rlgap: 0, - rrgap: 0, - rhgap: 0 - }); - }, - render: function () { - BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - // console.log("left_right_vertical_adapt布局不需要resize"); - }, - - addItem: function () { - //do nothing - throw new Error("cannot be added") - }, - - stroke: function (items) { - var o = this.options; - if ("left" in items) { - var left = BI.createWidget({ - type: "bi.vertical_adapt", - items: items.left, - hgap: o.lhgap, - lgap: o.llgap, - rgap: o.lrgap - }); - left.element.css("height", "100%"); - BI.createWidget({ - type: "bi.left", - element: this, - items: [left] - }); - } - if ("right" in items) { - var right = BI.createWidget({ - type: "bi.vertical_adapt", - items: items.right, - hgap: o.rhgap, - lgap: o.rlgap, - rgap: o.rrgap - }); - right.element.css("height", "100%"); - BI.createWidget({ - type: "bi.right", - element: this, - items: [right] - }); - } - }, - - populate: function (items) { - BI.LeftRightVerticalAdaptLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.left_right_vertical_adapt', BI.LeftRightVerticalAdaptLayout); - - -BI.LeftVerticalAdaptLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.LeftRightVerticalAdaptLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-left-vertical-adapt-layout", - items: [], - lgap: 0, - rgap: 0, - hgap: 0 - }); - }, - render: function () { - BI.LeftVerticalAdaptLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - // console.log("left_vertical_adapt布局不需要resize"); - }, - - addItem: function () { - //do nothing - throw new Error("cannot be added") - }, - - stroke: function (items) { - var o = this.options; - var left = BI.createWidget({ - type: "bi.vertical_adapt", - items: items, - lgap: o.lgap, - hgap: o.hgap, - rgap: o.rgap - }); - left.element.css("height", "100%"); - BI.createWidget({ - type: "bi.left", - element: this, - items: [left] - }); - }, - - populate: function (items) { - BI.LeftVerticalAdaptLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.left_vertical_adapt', BI.LeftVerticalAdaptLayout); - -BI.RightVerticalAdaptLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.RightVerticalAdaptLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-right-vertical-adapt-layout", - items: [], - lgap: 0, - rgap: 0, - hgap: 0 - }); - }, - render: function () { - BI.RightVerticalAdaptLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - - }, - - addItem: function () { - //do nothing - throw new Error("cannot be added") - }, - - stroke: function (items) { - var o = this.options; - var right = BI.createWidget({ - type: "bi.vertical_adapt", - items: items, - lgap: o.lgap, - hgap: o.hgap, - rgap: o.rgap - }); - right.element.css("height", "100%"); - BI.createWidget({ - type: "bi.right", - element: this, - items: [right] - }); - }, - - populate: function (items) { - BI.RightVerticalAdaptLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.right_vertical_adapt', BI.RightVerticalAdaptLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/adapt/adapt.vertical.js b/src/core/wrapper/layout/adapt/adapt.vertical.js deleted file mode 100644 index 851665c089..0000000000 --- a/src/core/wrapper/layout/adapt/adapt.vertical.js +++ /dev/null @@ -1,119 +0,0 @@ -/** - * 垂直方向居中容器 - * @class BI.VerticalAdaptLayout - * @extends BI.Layout - */ -BI.VerticalAdaptLayout = BI.inherit(BI.Layout, { - props: { - baseCls: "bi-vertical-adapt-layout", - columnSize: [], - horizontalAlign: BI.HorizontalAlign.Left, - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }, - render: function () { - BI.VerticalAdaptLayout.superclass.render.apply(this, arguments); - var o = this.options; - this.$table = $("<table>").attr({"cellspacing": 0, "cellpadding": 0}).css({ - "position": "relative", - "width": o.horizontalAlign === BI.HorizontalAlign.Stretch ? "100%" : "auto", - "height": "100%", - "white-space": "nowrap", - "border-spacing": "0px", - "border": "none", - "border-collapse": "separate" - }); - this.$tr = $("<tr>"); - this.$tr.appendTo(this.$table); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var td; - var width = o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i]; - if (!this.hasWidget(this._getChildName(i))) { - var w = BI.createWidget(item); - w.element.css({"position": "relative", "top": "0", "left": "0", "margin": "0px auto"}); - td = BI.createWidget({ - type: "bi.default", - tagName: "td", - attributes: { - width: width - }, - items: [w] - }); - this.addWidget(this._getChildName(i), td); - } else { - td = this.getWidgetByName(this._getChildName(i)); - td.element.attr("width", width); - } - - if (i === 0) { - td.element.addClass("first-element"); - } - td.element.css({ - "position": "relative", - "height": "100%", - "vertical-align": "middle", - "margin": "0", - "padding": "0", - "border": "none" - }); - if (o.hgap + o.lgap + (item.lgap || 0) !== 0) { - w.element.css({ - "margin-left": o.hgap + o.lgap + (item.lgap || 0) + "px" - }) - } - if (o.hgap + o.rgap + (item.rgap || 0) !== 0) { - w.element.css({ - "margin-right": o.hgap + o.rgap + (item.rgap || 0) + "px" - }) - } - if (o.vgap + o.tgap + (item.tgap || 0) !== 0) { - w.element.css({ - "margin-top": o.vgap + o.tgap + (item.tgap || 0) + "px" - }) - } - if (o.vgap + o.bgap + (item.bgap || 0) !== 0) { - w.element.css({ - "margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + "px" - }) - } - return td; - }, - - _mountChildren: function () { - var self = this; - var frag = document.createDocumentFragment(); - var hasChild = false; - BI.each(this._children, function (i, widget) { - if (widget.element !== self.element) { - frag.appendChild(widget.element[0]); - hasChild = true; - } - }); - if (hasChild === true) { - this.$tr.append(frag); - this.element.append(this.$table); - } - }, - - _getWrapper: function () { - return this.$tr; - }, - - resize: function () { - // console.log("vertical_adapt布局不需要resize"); - }, - - populate: function (items) { - BI.VerticalAdaptLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.vertical_adapt', BI.VerticalAdaptLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/adapt/auto.horizontal.js b/src/core/wrapper/layout/adapt/auto.horizontal.js deleted file mode 100644 index 8461facd15..0000000000 --- a/src/core/wrapper/layout/adapt/auto.horizontal.js +++ /dev/null @@ -1,63 +0,0 @@ -/** - * 水平方向居中自适应容器 - * @class BI.HorizontalAutoLayout - * @extends BI.Layout - */ -BI.HorizontalAutoLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.HorizontalAutoLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-horizon-auto-layout", - hgap: 0, - lgap: 0, - rgap: 0, - vgap: 0, - tgap: 0, - bgap: 0 - }); - }, - - render: function () { - BI.HorizontalAutoLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.HorizontalAutoLayout.superclass._addElement.apply(this, arguments); - w.element.css({ - "position": "relative", - "margin": "0px auto" - }); - if (o.hgap + o.lgap + (item.lgap || 0) !== 0) { - w.element.css({ - "margin-left": o.hgap + o.lgap + (item.lgap || 0) + "px" - }) - } - if (o.hgap + o.rgap + (item.rgap || 0) !== 0) { - w.element.css({ - "margin-right": o.hgap + o.rgap + (item.rgap || 0) + "px" - }) - } - if (o.vgap + o.tgap + (item.tgap || 0) !== 0) { - w.element.css({ - "margin-top": o.vgap + o.tgap + (item.tgap || 0) + "px" - }) - } - if (o.vgap + o.bgap + (item.bgap || 0) !== 0) { - w.element.css({ - "margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + "px" - }) - } - return w; - }, - - resize: function () { - // console.log("horizontal_adapt布局不需要resize"); - }, - - populate: function (items) { - BI.HorizontalAutoLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.horizontal_auto', BI.HorizontalAutoLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/adapt/float.center.js b/src/core/wrapper/layout/adapt/float.center.js deleted file mode 100644 index b359f19e2f..0000000000 --- a/src/core/wrapper/layout/adapt/float.center.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * 浮动的居中布局 - */ -BI.FloatCenterAdaptLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.FloatCenterAdaptLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-float-center-adapt-layout", - items: [], - hgap: 0, - vgap: 0, - tgap: 0, - bgap: 0, - lgap: 0, - rgap: 0 - }); - }, - render: function () { - BI.FloatCenterAdaptLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - // console.log("float_center_adapt布局不需要resize"); - }, - - addItem: function () { - //do nothing - throw new Error("cannot be added") - }, - - mounted: function () { - var self = this; - var width = this.left.element.outerWidth(), - height = this.left.element.outerHeight(); - this.left.element.width(width).height(height).css("float", "none"); - BI.remove(this._children, function (i, wi) { - if (wi === self.container) { - delete self._children[i]; - } - }); - BI.createWidget({ - type: "bi.center_adapt", - element: this, - items: [this.left] - }); - }, - - stroke: function (items) { - var self = this, o = this.options; - this.left = BI.createWidget({ - type: "bi.vertical", - items: items, - hgap: o.hgap, - vgap: o.vgap, - tgap: o.tgap, - bgap: o.bgap, - lgap: o.lgap, - rgap: o.rgap - }); - - this.container = BI.createWidget({ - type: "bi.left", - element: this, - items: [this.left] - }); - - }, - - populate: function (items) { - BI.FloatCenterAdaptLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.float_center_adapt', BI.FloatCenterAdaptLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/adapt/float.horizontal.js b/src/core/wrapper/layout/adapt/float.horizontal.js deleted file mode 100644 index 5f4cfed3a8..0000000000 --- a/src/core/wrapper/layout/adapt/float.horizontal.js +++ /dev/null @@ -1,70 +0,0 @@ -/** - * 浮动的水平居中布局 - */ -BI.FloatHorizontalLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.FloatHorizontalLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-float-horizontal-adapt-layout", - items: [], - hgap: 0, - vgap: 0, - tgap: 0, - bgap: 0, - lgap: 0, - rgap: 0 - }); - }, - render: function () { - BI.FloatHorizontalLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - // console.log("float_horizontal_adapt布局不需要resize"); - }, - - mounted: function () { - var self = this; - var width = this.left.element.width(), - height = this.left.element.height(); - this.left.element.width(width).height(height).css("float", "none"); - BI.remove(this._children, function (i, wi) { - if (wi === self.container) { - delete self._children[i]; - } - }); - BI.createWidget({ - type: "bi.horizontal_auto", - element: this, - items: [this.left] - }); - }, - - _addElement: function (i, item) { - var self = this, o = this.options; - this.left = BI.createWidget({ - type: "bi.vertical", - items: [item], - hgap: o.hgap, - vgap: o.vgap, - tgap: o.tgap, - bgap: o.bgap, - lgap: o.lgap, - rgap: o.rgap - }); - - this.container = BI.createWidget({ - type: "bi.left", - element: this, - items: [this.left] - }); - - return this.left; - }, - - populate: function (items) { - BI.HorizontalAutoLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.horizontal_float', BI.FloatHorizontalLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/flex/flex.center.js b/src/core/wrapper/layout/flex/flex.center.js deleted file mode 100644 index f32f3ec070..0000000000 --- a/src/core/wrapper/layout/flex/flex.center.js +++ /dev/null @@ -1,35 +0,0 @@ -/** - *自适应水平和垂直方向都居中容器 - * Created by GUY on 2016/12/2. - * - * @class BI.FlexCenterLayout - * @extends BI.Layout - */ -BI.FlexCenterLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.FlexCenterLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-flex-center-layout" - }); - }, - render: function () { - BI.FlexCenterLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.FlexCenterLayout.superclass._addElement.apply(this, arguments); - w.element.css({"position": "relative", "flex-shrink": "0"}); - return w; - }, - - resize: function () { - // console.log("flex_center布局不需要resize"); - }, - - populate: function (items) { - BI.FlexCenterLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.flex_center', BI.FlexCenterLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/flex/flex.horizontal.js b/src/core/wrapper/layout/flex/flex.horizontal.js deleted file mode 100644 index 33951d941b..0000000000 --- a/src/core/wrapper/layout/flex/flex.horizontal.js +++ /dev/null @@ -1,66 +0,0 @@ -/** - *自适应水平和垂直方向都居中容器 - * Created by GUY on 2016/12/2. - * - * @class BI.FlexHorizontalLayout - * @extends BI.Layout - */ -BI.FlexHorizontalLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.FlexHorizontalLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-flex-horizontal-layout", - verticalAlign: BI.VerticalAlign.Top, - columnSize: [], - scrollx: true, - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - render: function () { - BI.FlexHorizontalLayout.superclass.render.apply(this, arguments); - var o = this.options; - this.element.addClass(o.verticalAlign); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.FlexHorizontalLayout.superclass._addElement.apply(this, arguments); - w.element.css({"position": "relative", "flex-shrink": "0"}); - if (o.hgap + o.lgap + (item.lgap || 0) > 0) { - w.element.css({ - "margin-left": o.hgap + o.lgap + (item.lgap || 0) + "px" - }) - } - if (o.hgap + o.rgap + (item.rgap || 0) > 0) { - w.element.css({ - "margin-right": o.hgap + o.rgap + (item.rgap || 0) + "px" - }) - } - if (o.vgap + o.tgap + (item.tgap || 0) > 0) { - w.element.css({ - "margin-top": o.vgap + o.tgap + (item.tgap || 0) + "px" - }) - } - if (o.vgap + o.bgap + (item.bgap || 0) > 0) { - w.element.css({ - "margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + "px" - }) - } - return w; - }, - - resize: function () { - // console.log("flex_horizontal布局不需要resize"); - }, - - populate: function (items) { - BI.FlexHorizontalLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.flex_horizontal', BI.FlexHorizontalLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/flex/flex.vertical.center.js b/src/core/wrapper/layout/flex/flex.vertical.center.js deleted file mode 100644 index 2ca870c4e2..0000000000 --- a/src/core/wrapper/layout/flex/flex.vertical.center.js +++ /dev/null @@ -1,65 +0,0 @@ -/** - *自适应水平和垂直方向都居中容器 - * Created by GUY on 2016/12/2. - * - * @class BI.FlexVerticalCenter - * @extends BI.Layout - */ -BI.FlexVerticalCenter = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.FlexVerticalCenter.superclass.props.apply(this, arguments), { - baseCls: "bi-flex-vertical-center", - horizontalAlign: BI.HorizontalAlign.Left, - columnSize: [], - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - render: function () { - BI.FlexVerticalCenter.superclass.render.apply(this, arguments); - var o = this.options; - this.element.addClass(o.horizontalAlign); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.FlexVerticalCenter.superclass._addElement.apply(this, arguments); - w.element.css({"position": "relative", "flex-shrink": "0"}); - if (o.hgap + o.lgap + (item.lgap || 0) > 0) { - w.element.css({ - "margin-left": o.hgap + o.lgap + (item.lgap || 0) + "px" - }) - } - if (o.hgap + o.rgap + (item.rgap || 0) > 0) { - w.element.css({ - "margin-right": o.hgap + o.rgap + (item.rgap || 0) + "px" - }) - } - if (o.vgap + o.tgap + (item.tgap || 0) > 0) { - w.element.css({ - "margin-top": o.vgap + o.tgap + (item.tgap || 0) + "px" - }) - } - if (o.vgap + o.bgap + (item.bgap || 0) > 0) { - w.element.css({ - "margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + "px" - }) - } - return w; - }, - - resize: function () { - // console.log("flex_vertical_center布局不需要resize"); - }, - - populate: function (items) { - BI.FlexVerticalCenter.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.flex_vertical_center', BI.FlexVerticalCenter); \ No newline at end of file diff --git a/src/core/wrapper/layout/flex/wrapper/flex.wrapper.center.js b/src/core/wrapper/layout/flex/wrapper/flex.wrapper.center.js deleted file mode 100644 index cab37ba667..0000000000 --- a/src/core/wrapper/layout/flex/wrapper/flex.wrapper.center.js +++ /dev/null @@ -1,56 +0,0 @@ -/** - *自适应水平和垂直方向都居中容器 - * Created by GUY on 2016/12/2. - * - * @class BI.FlexCenterLayout - * @extends BI.Layout - */ -BI.FlexCenterLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.FlexCenterLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-flex-wrapper-center-layout clearfix" - }); - }, - render: function () { - BI.FlexCenterLayout.superclass.render.apply(this, arguments); - this.$wrapper = $("<div>").addClass("flex-wrapper-center-layout-wrapper"); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.FlexCenterLayout.superclass._addElement.apply(this, arguments); - w.element.css({"position": "relative"}); - return w; - }, - - _mountChildren: function () { - var self = this; - var frag = document.createDocumentFragment(); - var hasChild = false; - BI.each(this._children, function (i, widget) { - if (widget.element !== self.element) { - frag.appendChild(widget.element[0]); - hasChild = true; - } - }); - if (hasChild === true) { - this.$wrapper.append(frag); - this.element.append(this.$wrapper); - } - }, - - _getWrapper: function(){ - return this.$wrapper; - }, - - resize: function () { - // console.log("flex_center布局不需要resize"); - }, - - populate: function (items) { - BI.FlexCenterLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.flex_wrapper_center', BI.FlexCenterLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/flex/wrapper/flex.wrapper.horizontal.js b/src/core/wrapper/layout/flex/wrapper/flex.wrapper.horizontal.js deleted file mode 100644 index 6827f3c131..0000000000 --- a/src/core/wrapper/layout/flex/wrapper/flex.wrapper.horizontal.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - *自适应水平和垂直方向都居中容器 - * Created by GUY on 2016/12/2. - * - * @class BI.FlexHorizontalLayout - * @extends BI.Layout - */ -BI.FlexHorizontalLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.FlexHorizontalLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-flex-wrapper-horizontal-layout clearfix", - verticalAlign: BI.VerticalAlign.Middle, - columnSize: [], - // scrollable: true, - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - render: function () { - BI.FlexHorizontalLayout.superclass.render.apply(this, arguments); - var o = this.options; - this.$wrapper = $("<div>").addClass("flex-wrapper-horizontal-layout-wrapper " + o.verticalAlign); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.FlexHorizontalLayout.superclass._addElement.apply(this, arguments); - w.element.css({"position": "relative"}); - if (o.hgap + o.lgap + (item.lgap || 0) > 0) { - w.element.css({ - "margin-left": o.hgap + o.lgap + (item.lgap || 0) + "px" - }) - } - if (o.hgap + o.rgap + (item.rgap || 0) > 0) { - w.element.css({ - "margin-right": o.hgap + o.rgap + (item.rgap || 0) + "px" - }) - } - if (o.vgap + o.tgap + (item.tgap || 0) > 0) { - w.element.css({ - "margin-top": o.vgap + o.tgap + (item.tgap || 0) + "px" - }) - } - if (o.vgap + o.bgap + (item.bgap || 0) > 0) { - w.element.css({ - "margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + "px" - }) - } - return w; - }, - - _mountChildren: function () { - var self = this; - var frag = document.createDocumentFragment(); - var hasChild = false; - BI.each(this._children, function (i, widget) { - if (widget.element !== self.element) { - frag.appendChild(widget.element[0]); - hasChild = true; - } - }); - if (hasChild === true) { - this.$wrapper.append(frag); - this.element.append(this.$wrapper); - } - }, - - _getWrapper: function(){ - return this.$wrapper; - }, - - resize: function () { - // console.log("flex_horizontal布局不需要resize"); - }, - - populate: function (items) { - BI.FlexHorizontalLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.flex_wrapper_horizontal', BI.FlexHorizontalLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/flex/wrapper/flex.wrapper.vertical.center.js b/src/core/wrapper/layout/flex/wrapper/flex.wrapper.vertical.center.js deleted file mode 100644 index a263d94c63..0000000000 --- a/src/core/wrapper/layout/flex/wrapper/flex.wrapper.vertical.center.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - *自适应水平和垂直方向都居中容器 - * Created by GUY on 2016/12/2. - * - * @class BI.FlexVerticalCenter - * @extends BI.Layout - */ -BI.FlexVerticalCenter = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.FlexVerticalCenter.superclass.props.apply(this, arguments), { - baseCls: "bi-flex-wrapper-vertical-center clearfix", - horizontalAlign: BI.HorizontalAlign.Middle, - columnSize: [], - // scrollable: true, - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - render: function () { - BI.FlexVerticalCenter.superclass.render.apply(this, arguments); - var o = this.options; - this.$wrapper = $("<div>").addClass("flex-wrapper-vertical-center-wrapper " + o.horizontalAlign); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.FlexVerticalCenter.superclass._addElement.apply(this, arguments); - w.element.css({"position": "relative"}); - if (o.hgap + o.lgap + (item.lgap || 0) > 0) { - w.element.css({ - "margin-left": o.hgap + o.lgap + (item.lgap || 0) + "px" - }) - } - if (o.hgap + o.rgap + (item.rgap || 0) > 0) { - w.element.css({ - "margin-right": o.hgap + o.rgap + (item.rgap || 0) + "px" - }) - } - if (o.vgap + o.tgap + (item.tgap || 0) > 0) { - w.element.css({ - "margin-top": o.vgap + o.tgap + (item.tgap || 0) + "px" - }) - } - if (o.vgap + o.bgap + (item.bgap || 0) > 0) { - w.element.css({ - "margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + "px" - }) - } - return w; - }, - - _mountChildren: function () { - var self = this; - var frag = document.createDocumentFragment(); - var hasChild = false; - BI.each(this._children, function (i, widget) { - if (widget.element !== self.element) { - frag.appendChild(widget.element[0]); - hasChild = true; - } - }); - if (hasChild === true) { - this.$wrapper.append(frag); - this.element.append(this.$wrapper); - } - }, - - _getWrapper: function () { - return this.$wrapper; - }, - - resize: function () { - // console.log("flex_vertical_center布局不需要resize"); - }, - - populate: function (items) { - BI.FlexVerticalCenter.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.flex_wrapper_vertical_center', BI.FlexVerticalCenter); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.absolute.js b/src/core/wrapper/layout/layout.absolute.js deleted file mode 100644 index 88341698f2..0000000000 --- a/src/core/wrapper/layout/layout.absolute.js +++ /dev/null @@ -1,107 +0,0 @@ -/** - * 固定子组件上下左右的布局容器 - * @class BI.AbsoluteLayout - * @extends BI.Layout - */ -BI.AbsoluteLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.AbsoluteLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-absolute-layout", - hgap: null, - vgap: null, - lgap: null, - rgap: null, - tgap: null, - bgap: null - }); - }, - render: function () { - BI.AbsoluteLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.AbsoluteLayout.superclass._addElement.apply(this, arguments); - var left = 0, right = 0, top = 0, bottom = 0; - if (BI.isNotNull(item.left)) { - w.element.css({"left": item.left}); - left += item.left; - } - if (BI.isNotNull(item.right)) { - w.element.css({"right": item.right}); - right += item.right; - } - if (BI.isNotNull(item.top)) { - w.element.css({"top": item.top}); - top += item.top; - } - if (BI.isNotNull(item.bottom)) { - w.element.css({"bottom": item.bottom}); - bottom += item.bottom; - } - - if (BI.isNotNull(o.hgap)) { - left += o.hgap; - w.element.css({"left": left}); - right += o.hgap; - w.element.css({"right": right}); - } - if (BI.isNotNull(o.vgap)) { - top += o.vgap; - w.element.css({"top": top}); - bottom += o.vgap; - w.element.css({"bottom": bottom}); - } - - if (BI.isNotNull(o.lgap)) { - left += o.lgap; - w.element.css({"left": left}); - } - if (BI.isNotNull(o.rgap)) { - right += o.rgap; - w.element.css({"right": right}); - } - if (BI.isNotNull(o.tgap)) { - top += o.tgap; - w.element.css({"top": top}); - } - if (BI.isNotNull(o.bgap)) { - bottom += o.bgap; - w.element.css({"bottom": bottom}); - } - - - if (BI.isNotNull(item.width)) { - w.element.css({"width": item.width}); - } - if (BI.isNotNull(item.height)) { - w.element.css({"height": item.height}); - } - w.element.css({"position": "absolute"}); - return w; - }, - - resize: function () { - this.stroke(this.options.items); - }, - - stroke: function (items) { - this.options.items = items || []; - var self = this; - BI.each(items, function (i, item) { - if (!!item) { - if (!BI.isWidget(item) && !item.el) { - throw new Error("el must be exist"); - } - self._addElement(i, item); - } - }); - }, - - populate: function (items) { - BI.AbsoluteLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.absolute', BI.AbsoluteLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.adaptive.js b/src/core/wrapper/layout/layout.adaptive.js deleted file mode 100644 index 30c1e926e5..0000000000 --- a/src/core/wrapper/layout/layout.adaptive.js +++ /dev/null @@ -1,92 +0,0 @@ -BI.AdaptiveLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.AdaptiveLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-adaptive-layout", - hgap: null, - vgap: null, - lgap: null, - rgap: null, - tgap: null, - bgap: null - }); - }, - render: function () { - BI.AdaptiveLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.AdaptiveLayout.superclass._addElement.apply(this, arguments); - w.element.css({"position": "relative"}); - var left = 0, right = 0, top = 0, bottom = 0; - if (BI.isNotNull(item.left)) { - w.element.css({ - "margin-left": item.left - }) - } - if (BI.isNotNull(item.right)) { - w.element.css({ - "margin-right": item.right - }) - } - if (BI.isNotNull(item.top)) { - w.element.css({ - "margin-top": item.top - }) - } - if (BI.isNotNull(item.bottom)) { - w.element.css({ - "margin-bottom": item.bottom - }) - } - - if (BI.isNotNull(o.hgap)) { - left += o.hgap; - w.element.css({"left": left}); - right += o.hgap; - w.element.css({"right": right}); - } - if (BI.isNotNull(o.vgap)) { - top += o.vgap; - w.element.css({"top": top}); - bottom += o.vgap; - w.element.css({"bottom": bottom}); - } - - if (BI.isNotNull(o.lgap)) { - left += o.lgap; - w.element.css({"left": left}); - } - if (BI.isNotNull(o.rgap)) { - right += o.rgap; - w.element.css({"right": right}); - } - if (BI.isNotNull(o.tgap)) { - top += o.tgap; - w.element.css({"top": top}); - } - if (BI.isNotNull(o.bgap)) { - bottom += o.bgap; - w.element.css({"bottom": bottom}); - } - - if (BI.isNotNull(item.width)) { - w.element.css({"width": item.width}); - } - if (BI.isNotNull(item.height)) { - w.element.css({"height": item.height}); - } - return w; - }, - - resize: function () { - this.stroke(this.options.items); - }, - - populate: function (items) { - BI.AbsoluteLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.adaptive', BI.AdaptiveLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.border.js b/src/core/wrapper/layout/layout.border.js deleted file mode 100644 index f1e37ad7e4..0000000000 --- a/src/core/wrapper/layout/layout.border.js +++ /dev/null @@ -1,132 +0,0 @@ -/** - * 上下的高度固定/左右的宽度固定,中间的高度/宽度自适应 - * - * @class BI.BorderLayout - * @extends BI.Layout - */ -BI.BorderLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.BorderLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-border-layout", - items: {} - }); - }, - render: function () { - BI.BorderLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - this.stroke(this.options.items); - }, - - addItem: function (item) { - // do nothing - throw new Error("cannot be added") - }, - - stroke: function(regions){ - var item; - var top = 0; - var bottom = 0; - var left = 0; - var right = 0; - if ("north" in regions) { - item = regions["north"]; - if (item != null) { - if (item.el) { - if (!this.hasWidget(this.getName() + "north")) { - var w = BI.createWidget(item); - this.addWidget(this.getName() + "north", w); - } - this.getWidgetByName(this.getName() + "north").element.height(item.height) - .css({ - "position": "absolute", - "top": (item.top || 0), - "left": (item.left || 0), - "right": (item.right || 0), - "bottom": "initial" - }); - } - top = (item.height || 0) + (item.top || 0) + (item.bottom || 0); - } - } - if ("south" in regions) { - item = regions["south"]; - if (item != null) { - if (item.el) { - if (!this.hasWidget(this.getName() + "south")) { - var w = BI.createWidget(item); - this.addWidget(this.getName() + "south", w); - } - this.getWidgetByName(this.getName() + "south").element.height(item.height) - .css({ - "position": "absolute", - "bottom": (item.bottom || 0), - "left": (item.left || 0), - "right": (item.right || 0), - "top": "initial" - }); - } - bottom = (item.height || 0) + (item.top || 0) + (item.bottom || 0); - } - } - if ("west" in regions) { - item = regions["west"]; - if (item != null) { - if (item.el) { - if (!this.hasWidget(this.getName() + "west")) { - var w = BI.createWidget(item); - this.addWidget(this.getName() + "west", w); - } - this.getWidgetByName(this.getName() + "west").element.width(item.width) - .css({ - "position": "absolute", - "left": (item.left || 0), - top: top, - bottom: bottom, - "right": "initial" - }); - } - left = (item.width || 0) + (item.left || 0) + (item.right || 0); - } - } - if ("east" in regions) { - item = regions["east"]; - if (item != null) { - if (item.el) { - if (!this.hasWidget(this.getName() + "east")) { - var w = BI.createWidget(item); - this.addWidget(this.getName() + "east", w); - } - this.getWidgetByName(this.getName() + "east").element.width(item.width) - .css({ - "position": "absolute", - "right": (item.right || 0), - top: top, - bottom: bottom, - "left": "initial" - }); - } - right = (item.width || 0) + (item.left || 0) + (item.right || 0); - } - } - if ("center" in regions) { - item = regions["center"]; - if (item != null) { - if (!this.hasWidget(this.getName() + "center")) { - var w = BI.createWidget(item); - this.addWidget(this.getName() + "center", w); - } - this.getWidgetByName(this.getName() + "center").element - .css({"position": "absolute", "top": top, "bottom": bottom, "left": left, "right": right}); - } - } - }, - - populate: function (items) { - BI.BorderLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.border', BI.BorderLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.card.js b/src/core/wrapper/layout/layout.card.js deleted file mode 100644 index 0a8447cadf..0000000000 --- a/src/core/wrapper/layout/layout.card.js +++ /dev/null @@ -1,209 +0,0 @@ -/** - * 卡片布局,可以做到当前只显示一个组件,其他的都隐藏 - * @class BI.CardLayout - * @extends BI.Layout - * - * @cfg {JSON} options 配置属性 - * @cfg {String} options.defaultShowName 默认展示的子组件名 - */ -BI.CardLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.CardLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-card-layout", - items: [] - }); - }, - render: function () { - BI.CardLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - // console.log("default布局不需要resize"); - }, - - stroke: function (items) { - var self = this, o = this.options; - this.showIndex = void 0; - BI.each(items, function (i, item) { - if (!!item) { - if (!self.hasWidget(item.cardName)) { - var w = BI.createWidget(item); - w.on(BI.Events.DESTROY, function () { - var index = BI.findIndex(o.items, function (i, tItem) { - return tItem.cardName == item.cardName; - }); - if (index > -1) { - o.items.splice(index, 1); - } - }); - self.addWidget(item.cardName, w); - } else { - var w = self.getWidgetByName(item.cardName); - } - w.element.css({"position": "absolute", "top": "0", "right": "0", "bottom": "0", "left": "0"}); - w.setVisible(false); - } - }); - }, - - update: function () { - }, - - empty: function () { - BI.CardLayout.superclass.empty.apply(this, arguments); - this.options.items = []; - }, - - populate: function (items) { - BI.CardLayout.superclass.populate.apply(this, arguments); - this._mount(); - this.options.defaultShowName && this.showCardByName(this.options.defaultShowName); - }, - - isCardExisted: function (cardName) { - return BI.some(this.options.items, function (i, item) { - return item.cardName == cardName && item.el; - }); - }, - - getCardByName: function (cardName) { - if (!this.isCardExisted(cardName)) { - throw new Error("cardName is not exist"); - } - return this._children[cardName]; - }, - - _deleteCardByName: function (cardName) { - delete this._children[cardName]; - var index = BI.findIndex(this.options.items, function (i, item) { - return item.cardName == cardName; - }); - if (index > -1) { - this.options.items.splice(index, 1); - } - }, - - deleteCardByName: function (cardName) { - if (!this.isCardExisted(cardName)) { - throw new Error("cardName is not exist"); - } - - var child = this._children[cardName]; - this._deleteCardByName(cardName); - child && child._destroy(); - }, - - addCardByName: function (cardName, cardItem) { - if (this.isCardExisted(cardName)) { - throw new Error("cardName is already exist"); - } - var widget = BI.createWidget(cardItem); - widget.element.css({ - "position": "relative", - "top": "0", - "left": "0", - "width": "100%", - "height": "100%" - }).appendTo(this.element); - widget.invisible(); - this.addWidget(cardName, widget); - this.options.items.push({el: cardItem, cardName: cardName}); - return widget; - }, - - showCardByName: function (name, action, callback) { - var self = this; - //name不存在的时候全部隐藏 - var exist = this.isCardExisted(name); - if (this.showIndex != null) { - this.lastShowIndex = this.showIndex; - } - this.showIndex = name; - var flag = false; - BI.each(this.options.items, function (i, item) { - var el = self._children[item.cardName]; - if (el) { - if (name != item.cardName) { - //动画效果只有在全部都隐藏的时候才有意义,且只要执行一次动画操作就够了 - !flag && !exist && (BI.Action && action instanceof BI.Action) ? (action.actionBack(el), flag = true) : el.invisible(); - } else { - (BI.Action && action instanceof BI.Action) ? action.actionPerformed(void 0, el, callback) : (el.visible(), callback && callback()) - } - } - }); - }, - - showLastCard: function () { - var self = this; - this.showIndex = this.lastShowIndex; - BI.each(this.options.items, function (i, item) { - self._children[item.cardName].setVisible(self.showIndex == i); - }) - }, - - setDefaultShowName: function (name) { - this.options.defaultShowName = name; - return this; - }, - - getDefaultShowName: function () { - return this.options.defaultShowName; - }, - - getAllCardNames: function () { - return BI.map(this.options.items, function (i, item) { - return item.cardName; - }) - }, - - getShowingCard: function () { - if (!BI.isKey(this.showIndex)) { - return void 0; - } - return this.getWidgetByName(this.showIndex); - }, - - deleteAllCard: function () { - var self = this; - BI.each(this.getAllCardNames(), function (i, name) { - self.deleteCardByName(name); - }) - }, - - hideAllCard: function () { - var self = this; - BI.each(this.options.items, function (i, item) { - self._children[item.cardName].invisible(); - }); - }, - - isAllCardHide: function () { - var self = this; - var flag = true; - BI.some(this.options.items, function (i, item) { - if (self._children[item.cardName].isVisible()) { - flag = false; - return false; - } - }); - return flag; - }, - - removeWidget: function (nameOrWidget) { - var removeName; - if (BI.isWidget(nameOrWidget)) { - BI.each(this._children, function (name, child) { - if (child === nameOrWidget) { - removeName = name; - } - }) - } else { - removeName = nameOrWidget; - } - if (removeName) { - this._deleteCardByName(removeName); - } - } -}); -BI.shortcut('bi.card', BI.CardLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.default.js b/src/core/wrapper/layout/layout.default.js deleted file mode 100644 index 59998915c1..0000000000 --- a/src/core/wrapper/layout/layout.default.js +++ /dev/null @@ -1,59 +0,0 @@ -/** - * 默认的布局方式 - * - * @class BI.DefaultLayout - * @extends BI.Layout - */ -BI.DefaultLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.DefaultLayout.superclass.props.apply(this, arguments), { - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - items: [] - }); - }, - render: function () { - BI.DefaultLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.DefaultLayout.superclass._addElement.apply(this, arguments); - if (o.vgap + o.tgap + (item.tgap || 0) !== 0) { - w.element.css({ - "margin-top": o.vgap + o.tgap + (item.tgap || 0) + "px" - }) - } - if (o.hgap + o.lgap + (item.lgap || 0) !== 0) { - w.element.css({ - "margin-left": o.hgap + o.lgap + (item.lgap || 0) + "px" - }) - } - if (o.hgap + o.rgap + (item.rgap || 0) !== 0) { - w.element.css({ - "margin-right": o.hgap + o.rgap + (item.rgap || 0) + "px" - }) - } - if (o.vgap + o.bgap + (item.bgap || 0) !== 0) { - w.element.css({ - "margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + "px" - }) - } - return w; - }, - - resize: function () { - // console.log("default布局不需要resize") - }, - - populate: function (items) { - BI.DefaultLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.default', BI.DefaultLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.division.js b/src/core/wrapper/layout/layout.division.js deleted file mode 100644 index 0fd5926c26..0000000000 --- a/src/core/wrapper/layout/layout.division.js +++ /dev/null @@ -1,157 +0,0 @@ -/** - * 分隔容器的控件,按照宽度和高度所占比平分整个容器 - * - * @class BI.DivisionLayout - * @extends BI.Layout - */ -BI.DivisionLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.DivisionLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-division-layout", - columns: null, - rows: null, - items: [] - // [ - // { - // column: 0, - // row: 0, - // width: 0.25, - // height: 0.33, - // el: {type: 'bi.button', text: 'button1'} - // }, - // { - // column: 1, - // row: 1, - // width: 0.25, - // height: 0.33, - // el: {type: 'bi.button', text: 'button2'} - // }, - // { - // column: 3, - // row: 2, - // width: 0.25, - // height: 0.33, - // el: {type: 'bi.button', text: 'button3'} - // } - //] - }); - }, - render: function () { - BI.DivisionLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - this.stroke(this.opitons.items); - }, - - addItem: function (item) { - // do nothing - throw new Error("cannot be added") - }, - - stroke: function(items){ - var o = this.options; - var rows = o.rows || o.items.length, columns = o.columns || ((o.items[0] && o.items[0].length) | 0); - var map = BI.makeArray(rows), widths = {}, heights = {}; - function firstElement(item, row, col) { - if (row === 0) { - item.addClass("first-row") - } - if (col === 0) { - item.addClass("first-col"); - } - item.addClass(BI.isOdd(row + 1) ? "odd-row" : "even-row"); - item.addClass(BI.isOdd(col + 1) ? "odd-col" : "even-col"); - item.addClass("center-element"); - } - - function firstObject(item, row, col) { - var cls = ""; - if (row === 0) { - cls += " first-row"; - } - if (col === 0) { - cls += " first-col"; - } - BI.isOdd(row + 1) ? (cls += " odd-row") : (cls += " even-row"); - BI.isOdd(col + 1) ? (cls += " odd-col") : (cls += " even-col"); - item.cls = (item.cls || "") + cls + " center-element"; - } - - function first(item, row, col) { - if (item instanceof BI.Widget) { - firstElement(item.element, row, col); - } else if (item.el instanceof BI.Widget) { - firstElement(item.el.element, row, col); - } else if (item.el) { - firstObject(item.el, row, col) - } else { - firstObject(item, row, col); - } - } - BI.each(map, function (i) { - map[i] = BI.makeArray(columns); - }); - BI.each(items, function (i, item) { - if (BI.isArray(item)) { - BI.each(item, function (j, el) { - widths[i] = (widths[i] || 0) + item.width; - heights[j] = (heights[j] || 0) + item.height; - map[i][j] = el; - }); - return; - } - widths[item.row] = (widths[item.row] || 0) + item.width; - heights[item.column] = (heights[item.column] || 0) + item.height; - map[item.row][item.column] = item; - }); - for (var i = 0; i < rows; i++) { - var totalW = 0; - for (var j = 0; j < columns; j++) { - if (!map[i][j]) { - throw new Error("item be required"); - } - if(!this.hasWidget(this.getName() + i + "_" + j)) { - var w = BI.createWidget(map[i][j]); - this.addWidget(this.getName() + i + "_" + j, w); - } else { - w = this.getWidgetByName(this.getName() + i + "_" + j); - } - var left = totalW * 100 / widths[i]; - w.element.css({"position": "absolute", "left": left + "%"}); - if (j > 0) { - var lastW = this.getWidgetByName(this.getName() + i + "_" + (j - 1)); - lastW.element.css({"right": (100 - left) + "%"}); - } - if (j == o.columns - 1) { - w.element.css({"right": "0%"}); - } - first(w, i, j); - totalW += map[i][j].width; - } - } - for (var j = 0; j < o.columns; j++) { - var totalH = 0; - for (var i = 0; i < o.rows; i++) { - var w = this.getWidgetByName(this.getName() + i + "_" + j); - var top = totalH * 100 / heights[j]; - w.element.css({"top": top + "%"}); - if (i > 0) { - var lastW = this.getWidgetByName(this.getName() + (i - 1) + "_" + j); - lastW.element.css({"bottom": (100 - top) + "%"}); - } - if (i == o.rows - 1) { - w.element.css({"bottom": "0%"}); - } - totalH += map[i][j].height; - } - } - }, - - populate: function (items) { - BI.DivisionLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.division', BI.DivisionLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.flow.js b/src/core/wrapper/layout/layout.flow.js deleted file mode 100644 index 526919d3dc..0000000000 --- a/src/core/wrapper/layout/layout.flow.js +++ /dev/null @@ -1,129 +0,0 @@ -/** - * 靠左对齐的自由浮动布局 - * @class BI.FloatLeftLayout - * @extends BI.Layout - * - * @cfg {JSON} options 配置属性 - * @cfg {Number} [hgap=0] 水平间隙 - * @cfg {Number} [vgap=0] 垂直间隙 - */ -BI.FloatLeftLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.FloatLeftLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-float-left-layout clearfix", - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - render: function () { - BI.FloatLeftLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.FloatLeftLayout.superclass._addElement.apply(this, arguments); - w.element.css({"position": "relative", "float": "left"}); - if (BI.isNotNull(item.left)) { - w.element.css({"left": item.left}); - } - if (BI.isNotNull(item.right)) { - w.element.css({"right": item.right}); - } - if (BI.isNotNull(item.top)) { - w.element.css({"top": item.top}); - } - if ((item.lgap || 0) + o.hgap + o.lgap !== 0) { - w.element.css("margin-left", (item.lgap || 0) + o.hgap + o.lgap); - } - if ((item.rgap || 0) + o.hgap + o.rgap !== 0) { - w.element.css("margin-right", (item.rgap || 0) + o.hgap + o.rgap); - } - if ((item.tgap || 0) + o.vgap + o.tgap !== 0) { - w.element.css("margin-top", (item.tgap || 0) + o.vgap + o.tgap); - } - if ((item.bgap || 0) + o.vgap + o.bgap !== 0) { - w.element.css("margin-bottom", (item.bgap || 0) + o.vgap + o.bgap); - } - return w; - }, - - resize: function () { - this.stroke(this.options.items); - }, - - populate: function (items) { - BI.FloatLeftLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.left', BI.FloatLeftLayout); - -/** - * 靠右对齐的自由浮动布局 - * @class BI.FloatRightLayout - * @extends BI.Layout - * - * @cfg {JSON} options 配置属性 - * @cfg {Number} [hgap=0] 水平间隙 - * @cfg {Number} [vgap=0] 垂直间隙 - */ -BI.FloatRightLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.FloatRightLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-float-right-layout clearfix", - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - render: function () { - BI.FloatRightLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.FloatRightLayout.superclass._addElement.apply(this, arguments); - w.element.css({"position": "relative", "float": "right"}); - if (BI.isNotNull(item.left)) { - w.element.css({"left": item.left}); - } - if (BI.isNotNull(item.right)) { - w.element.css({"right": item.right}); - } - if (BI.isNotNull(item.top)) { - w.element.css({"top": item.top}); - } - if ((item.lgap || 0) + o.hgap + o.lgap !== 0) { - w.element.css("margin-left", (item.lgap || 0) + o.hgap + o.lgap); - } - if ((item.rgap || 0) + o.hgap + o.rgap !== 0) { - w.element.css("margin-right", (item.rgap || 0) + o.hgap + o.rgap); - } - if ((item.tgap || 0) + o.vgap + o.tgap !== 0) { - w.element.css("margin-top", (item.tgap || 0) + o.vgap + o.tgap); - } - if ((item.bgap || 0) + o.vgap + o.bgap !== 0) { - w.element.css("margin-bottom", (item.bgap || 0) + o.vgap + o.bgap); - } - return w; - }, - - resize: function () { - this.stroke(this.options.items); - }, - - populate: function (items) { - BI.FloatRightLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.right', BI.FloatRightLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.grid.js b/src/core/wrapper/layout/layout.grid.js deleted file mode 100644 index 39cd8904b3..0000000000 --- a/src/core/wrapper/layout/layout.grid.js +++ /dev/null @@ -1,126 +0,0 @@ -/** - * 上下的高度固定/左右的宽度固定,中间的高度/宽度自适应 - * - * @class BI.BorderLayout - * @extends BI.Layout - */ -BI.GridLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.GridLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-grid-layout", - columns: null, - rows: null, - items: [] - /*[ - { - column: 0, - row: 0, - el: {type: 'bi.button', text: 'button1'} - }, - { - column: 1, - row: 1, - el: {type: 'bi.button', text: 'button2'} - }, - { - column: 3, - row: 2, - el: {type: 'bi.button', text: 'button3'} - } - ]*/ - }); - }, - render: function () { - BI.GridLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - // console.log("grid布局不需要resize") - }, - - addItem: function () { - //do nothing - throw new Error("cannot be added") - }, - - stroke: function (items) { - var o = this.options; - var rows = o.rows || o.items.length, columns = o.columns || ((o.items[0] && o.items[0].length) | 0); - var width = 100 / columns, height = 100 / rows; - var els = []; - for (var i = 0; i < rows; i++) { - els[i] = []; - } - function firstElement(item, row, col) { - if (row === 0) { - item.addClass("first-row") - } - if (col === 0) { - item.addClass("first-col"); - } - item.addClass(BI.isOdd(row + 1) ? "odd-row" : "even-row"); - item.addClass(BI.isOdd(col + 1) ? "odd-col" : "even-col"); - item.addClass("center-element"); - } - - function firstObject(item, row, col) { - var cls = ""; - if (row === 0) { - cls += " first-row"; - } - if (col === 0) { - cls += " first-col"; - } - BI.isOdd(row + 1) ? (cls += " odd-row") : (cls += " even-row"); - BI.isOdd(col + 1) ? (cls += " odd-col") : (cls += " even-col"); - item.cls = (item.cls || "") + cls + " center-element"; - } - - function first(item, row, col) { - if (item instanceof BI.Widget) { - firstElement(item.element, row, col); - } else if (item.el instanceof BI.Widget) { - firstElement(item.el.element, row, col); - } else if (item.el) { - firstObject(item.el, row, col) - } else { - firstObject(item, row, col); - } - } - - BI.each(items, function (i, item) { - if (BI.isArray(item)) { - BI.each(item, function (j, el) { - els[i][j] = BI.createWidget(el); - }); - return; - } - els[item.row][item.column] = BI.createWidget(item); - }); - for (var i = 0; i < rows; i++) { - for (var j = 0; j < columns; j++) { - if (!els[i][j]) { - els[i][j] = BI.createWidget({ - type: "bi.layout" - }); - } - first(els[i][j], i, j); - els[i][j].element.css({ - "position": "absolute", - "top": height * i + "%", - "left": width * j + "%", - "right": (100 - (width * (j + 1))) + "%", - "bottom": (100 - (height * (i + 1))) + "%" - }); - this.addWidget(els[i][j]); - } - } - }, - - populate: function (items) { - BI.GridLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.grid', BI.GridLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.horizontal.js b/src/core/wrapper/layout/layout.horizontal.js deleted file mode 100644 index 56fff979b8..0000000000 --- a/src/core/wrapper/layout/layout.horizontal.js +++ /dev/null @@ -1,181 +0,0 @@ -/** - * 水平布局 - * @class BI.HorizontalLayout - * @extends BI.Layout - */ -BI.HorizontalLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.HorizontalLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-horizontal-layout", - verticalAlign: BI.VerticalAlign.Top, - columnSize: [], - scrollx: true, - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - render: function () { - BI.HorizontalLayout.superclass.render.apply(this, arguments); - this.$table = $("<table>").attr({"cellspacing": 0, "cellpadding": 0}).css({ - "position": "relative", - "white-space": "nowrap", - "border-spacing": "0px", - "border": "none", - "border-collapse": "separate" - }); - this.$tr = $("<tr>"); - this.$tr.appendTo(this.$table); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var td; - var width = o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i]; - if (!this.hasWidget(this._getChildName(i))) { - var w = BI.createWidget(item); - w.element.css({"position": "relative", "margin": "0px auto"}); - td = BI.createWidget({ - type: "bi.default", - tagName: "td", - attributes: { - width: width - }, - items: [w] - }); - this.addWidget(this._getChildName(i), td); - } else { - td = this.getWidgetByName(this._getChildName(i)); - td.element.attr("width", width); - } - - if (i === 0) { - td.element.addClass("first-element"); - } - td.element.css({ - "position": "relative", - "vertical-align": o.verticalAlign, - "margin": "0", - "padding": "0", - "border": "none" - }); - if (o.hgap + o.lgap + (item.lgap || 0) > 0) { - w.element.css({ - "margin-left": o.hgap + o.lgap + (item.lgap || 0) + "px" - }) - } - if (o.hgap + o.rgap + (item.rgap || 0) > 0) { - w.element.css({ - "margin-right": o.hgap + o.rgap + (item.rgap || 0) + "px" - }) - } - if (o.vgap + o.tgap + (item.tgap || 0) > 0) { - w.element.css({ - "margin-top": o.vgap + o.tgap + (item.tgap || 0) + "px" - }) - } - if (o.vgap + o.bgap + (item.bgap || 0) > 0) { - w.element.css({ - "margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + "px" - }) - } - return td; - }, - - _mountChildren: function () { - var self = this; - var frag = document.createDocumentFragment(); - var hasChild = false; - BI.each(this._children, function (i, widget) { - if (widget.element !== self.element) { - frag.appendChild(widget.element[0]); - hasChild = true; - } - }); - if (hasChild === true) { - this.$tr.append(frag); - this.element.append(this.$table); - } - }, - - - resize: function () { - // console.log("horizontal layout do not need to resize"); - }, - - _getWrapper: function(){ - return this.$tr; - }, - - populate: function (items) { - BI.HorizontalLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.horizontal', BI.HorizontalLayout); - -/** - * 水平布局 - * @class BI.HorizontalCellLayout - * @extends BI.Layout - */ -BI.HorizontalCellLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.HorizontalCellLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-horizontal-cell-layout", - scrollable: true, - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - render: function () { - BI.HorizontalCellLayout.superclass.render.apply(this, arguments); - this.element.css({"display": "table", "vertical-align": "top"}); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.HorizontalCellLayout.superclass._addElement.apply(this, arguments); - w.element.css({"position": "relative", "display": "table-cell", "vertical-align": "middle"}); - if (o.hgap + o.lgap > 0) { - w.element.css({ - "margin-left": o.hgap + o.lgap + "px" - }) - } - if (o.hgap + o.rgap > 0) { - w.element.css({ - "margin-right": o.hgap + o.rgap + "px" - }) - } - if (o.vgap + o.tgap > 0) { - w.element.css({ - "margin-top": o.vgap + o.tgap + "px" - }) - } - if (o.vgap + o.bgap > 0) { - w.element.css({ - "margin-bottom": o.vgap + o.bgap + "px" - }) - } - return w; - }, - - resize: function () { - // console.log("horizontal do not need to resize"); - }, - - populate: function (items) { - BI.HorizontalCellLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.horizontal_cell', BI.HorizontalCellLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.lattice.js b/src/core/wrapper/layout/layout.lattice.js deleted file mode 100644 index 06a41213c3..0000000000 --- a/src/core/wrapper/layout/layout.lattice.js +++ /dev/null @@ -1,55 +0,0 @@ -/** - * 靠左对齐的自由浮动布局 - * @class BI.LatticeLayout - * @extends BI.Layout - * - * @cfg {JSON} options 配置属性 - * @cfg {Number} [hgap=0] 水平间隙 - * @cfg {Number} [vgap=0] 垂直间隙 - */ -BI.LatticeLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.LatticeLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-lattice-layout clearfix" - //columnSize: [0.2, 0.2, 0.6], - }); - }, - render: function () { - BI.LatticeLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.LatticeLayout.superclass._addElement.apply(this, arguments); - if (o.columnSize && o.columnSize[i]) { - var width = o.columnSize[i] / BI.sum(o.columnSize) * 100 + "%"; - } else { - var width = 1 / this.options.items.length * 100 + "%" - } - w.element.css({"position": "relative", "float": "left", "width": width}); - return w; - }, - - addItem: function (item) { - var w = BI.LatticeLayout.superclass.addItem.apply(this, arguments); - this.resize(); - return w; - }, - - addItemAt: function (item) { - var w = BI.LatticeLayout.superclass.addItemAt.apply(this, arguments); - this.resize(); - return w; - }, - - resize: function () { - this.stroke(this.options.items); - }, - - populate: function (items) { - BI.LatticeLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.lattice', BI.LatticeLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.table.js b/src/core/wrapper/layout/layout.table.js deleted file mode 100644 index d6d43c6dd7..0000000000 --- a/src/core/wrapper/layout/layout.table.js +++ /dev/null @@ -1,146 +0,0 @@ -/** - * 上下的高度固定/左右的宽度固定,中间的高度/宽度自适应 - * - * @class BI.TableLayout - * @extends BI.Layout - */ -BI.TableLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.TableLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-table-layout", - scrolly: true, - columnSize: [200, 200, 'fill'], - rowSize: 30, //or [30,30,30] - hgap: 0, - vgap: 0, - items: [[ - { - el: {text: 'label1'} - }, - { - el: {text: 'label2'} - }, - { - el: {text: 'label3'} - } - ]] - }); - }, - render: function () { - BI.TableLayout.superclass.render.apply(this, arguments); - this.rows = 0; - this.populate(this.options.items); - }, - - _addElement: function (idx, arr) { - var o = this.options; - var abs = [], left = 0, right = 0, i, j; - - function firstElement(item, row, col) { - if (row === 0) { - item.addClass("first-row") - } - if (col === 0) { - item.addClass("first-col"); - } - item.addClass(BI.isOdd(row + 1) ? "odd-row" : "even-row"); - item.addClass(BI.isOdd(col + 1) ? "odd-col" : "even-col"); - item.addClass("center-element"); - } - - function firstObject(item, row, col) { - var cls = ""; - if (row === 0) { - cls += " first-row"; - } - if (col === 0) { - cls += " first-col"; - } - BI.isOdd(row + 1) ? (cls += " odd-row") : (cls += " even-row"); - BI.isOdd(col + 1) ? (cls += " odd-col") : (cls += " even-col"); - item.cls = (item.cls || "") + cls + " center-element"; - } - - function first(item, row, col) { - if (item instanceof BI.Widget) { - firstElement(item.element, row, col); - } else if (item.el instanceof BI.Widget) { - firstElement(item.el.element, row, col); - } else if (item.el) { - firstObject(item.el, row, col) - } else { - firstObject(item, row, col); - } - } - - for (i = 0; i < arr.length; i++) { - if (BI.isNumber(o.columnSize[i])) { - first(arr[i], this.rows, i); - abs.push(BI.extend({ - top: 0, - bottom: 0, - left: o.columnSize[i] <= 1 ? left * 100 + "%" : left, - width: o.columnSize[i] <= 1 ? o.columnSize[i] * 100 + "%" : o.columnSize[i] - }, arr[i])); - left += o.columnSize[i] + (o.columnSize[i] < 1 ? 0 : o.hgap); - } else { - break; - } - } - for (j = arr.length - 1; j > i; j--) { - if (BI.isNumber(o.columnSize[j])) { - first(arr[j], this.rows, j); - abs.push(BI.extend({ - top: 0, - bottom: 0, - right: o.columnSize[j] <= 1 ? right * 100 + "%" : right, - width: o.columnSize[j] <= 1 ? o.columnSize[j] * 100 + "%" : o.columnSize[j] - }, arr[j])) - right += o.columnSize[j] + (o.columnSize[j] < 1 ? 0 : o.hgap); - } else { - throw new Error("item with fill can only be one"); - } - } - if (i >= 0 && i < arr.length) { - first(arr[i], this.rows, i); - abs.push(BI.extend({ - top: 0, - bottom: 0, - left: left <= 1 ? left * 100 + "%" : left, - right: right <= 1 ? right * 100 + "%" : right - }, arr[i])) - } - var w = BI.createWidget({ - type: "bi.absolute", - height: BI.isArray(o.rowSize) ? o.rowSize[this.rows] : o.rowSize, - items: abs - }); - if (this.rows > 0) { - this.getWidgetByName(this.getName() + (this.rows - 1)).element.css({ - "margin-bottom": o.vgap - }) - } - w.element.css({ - "position": "relative" - }); - this.addWidget(this.getName() + (this.rows++), w); - return w; - }, - - resize: function () { - // console.log("table布局不需要resize"); - }, - - addItem: function (arr) { - if (!BI.isArray(arr)) { - throw new Error("item must be array"); - } - return BI.TableLayout.superclass.addItem.apply(this, arguments); - }, - - populate: function (items) { - BI.TableLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.table', BI.TableLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.tape.js b/src/core/wrapper/layout/layout.tape.js deleted file mode 100644 index 7136952959..0000000000 --- a/src/core/wrapper/layout/layout.tape.js +++ /dev/null @@ -1,208 +0,0 @@ -/** - * 水平tape布局 - * @class BI.HTapeLayout - * @extends BI.Layout - */ -BI.HTapeLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.HTapeLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-h-tape-layout", - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - items: [ - { - width: 100, - el: {type: 'bi.button', text: 'button1'} - }, - { - width: 'fill', - el: {type: 'bi.button', text: 'button2'} - }, - { - width: 200, - el: {type: 'bi.button', text: 'button3'} - } - ] - }); - }, - render: function () { - BI.HTapeLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - this.stroke(this.options.items); - }, - addItem: function (item) { - // do nothing - throw new Error("cannot be added") - }, - - stroke: function (items) { - var self = this, o = this.options; - items = BI.compact(items); - BI.each(items, function (i, item) { - if (!self.hasWidget(self.getName() + i + "")) { - var w = BI.createWidget(item); - self.addWidget(self.getName() + i + "", w); - } else { - w = self.getWidgetByName(self.getName() + i + ""); - } - w.element.css({"position": "absolute", top: o.vgap + o.tgap + "px", bottom: o.vgap + o.bgap + "px"}); - }); - - var left = {}, right = {}; - left[0] = 0; - right[items.length - 1] = 0; - - BI.any(items, function (i, item) { - var w = self.getWidgetByName(self.getName() + i + ""); - if (BI.isNull(left[i])) { - left[i] = left[i - 1] + items[i - 1].width + 2 * o.hgap + o.lgap + o.rgap; - } - if (item.width < 1 && item.width >= 0) { - w.element.css({"left": left[i] * 100 + "%", width: item.width * 100 + "%"}) - } else { - w.element.css({ - "left": left[i] + o.hgap + o.lgap + "px", - width: BI.isNumber(item.width) ? item.width : "" - }); - } - if (!BI.isNumber(item.width)) { - return true; - } - }); - BI.backAny(items, function (i, item) { - var w = self.getWidgetByName(self.getName() + i + ""); - if (BI.isNull(right[i])) { - right[i] = right[i + 1] + items[i + 1].width + 2 * o.hgap + o.lgap + o.rgap; - } - if (item.width < 1 && item.width >= 0) { - w.element.css({"right": right[i] * 100 + "%", width: item.width * 100 + "%"}) - } else { - w.element.css({ - "right": right[i] + o.hgap + o.rgap + "px", - width: BI.isNumber(item.width) ? item.width : "" - }); - } - if (!BI.isNumber(item.width)) { - return true; - } - }) - }, - - populate: function (items) { - BI.HTapeLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.htape', BI.HTapeLayout); - -/** - * 垂直tape布局 - * @class BI.VTapeLayout - * @extends BI.Layout - */ -BI.VTapeLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.VTapeLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-v-tape-layout", - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - items: [ - { - height: 100, - el: {type: 'bi.button', text: 'button1'} - }, - { - height: 'fill', - el: {type: 'bi.button', text: 'button2'} - }, - { - height: 200, - el: {type: 'bi.button', text: 'button3'} - } - ] - }); - }, - render: function () { - BI.VTapeLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - this.stroke(this.options.items); - }, - - addItem: function (item) { - // do nothing - throw new Error("cannot be added") - }, - - stroke: function (items) { - var self = this, o = this.options; - items = BI.compact(items); - BI.each(items, function (i, item) { - if (!self.hasWidget(self.getName() + i + "")) { - var w = BI.createWidget(item); - self.addWidget(self.getName() + i + "", w); - } else { - w = self.getWidgetByName(self.getName() + i + ""); - } - w.element.css({"position": "absolute", left: o.hgap + o.lgap + "px", right: o.hgap + o.rgap + "px"}); - }); - - var top = {}, bottom = {}; - top[0] = 0; - bottom[items.length - 1] = 0; - - BI.any(items, function (i, item) { - var w = self.getWidgetByName(self.getName() + i + ""); - if (BI.isNull(top[i])) { - top[i] = top[i - 1] + items[i - 1].height + 2 * o.vgap + o.tgap + o.bgap; - } - if (item.height < 1 && item.height >= 0) { - w.element.css({"top": top[i] * 100 + "%", height: item.height * 100 + "%"}) - } else { - w.element.css({ - "top": top[i] + o.vgap + o.tgap + "px", - height: BI.isNumber(item.height) ? item.height : "" - }); - } - if (!BI.isNumber(item.height)) { - return true; - } - }); - BI.backAny(items, function (i, item) { - var w = self.getWidgetByName(self.getName() + i + ""); - if (BI.isNull(bottom[i])) { - bottom[i] = bottom[i + 1] + items[i + 1].height + 2 * o.vgap + o.tgap + o.bgap; - } - if (item.height < 1 && item.height >= 0) { - w.element.css({"bottom": bottom[i] * 100 + "%", height: item.height * 100 + "%"}) - } else { - w.element.css({ - "bottom": bottom[i] + o.vgap + o.bgap + "px", - height: BI.isNumber(item.height) ? item.height : "" - }); - } - if (!BI.isNumber(item.height)) { - return true; - } - }) - }, - - populate: function (items) { - BI.VTapeLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.vtape', BI.VTapeLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.td.js b/src/core/wrapper/layout/layout.td.js deleted file mode 100644 index 3ed98cd5c6..0000000000 --- a/src/core/wrapper/layout/layout.td.js +++ /dev/null @@ -1,154 +0,0 @@ -/** - * td布局 - * @class BI.TdLayout - * @extends BI.Layout - */ -BI.TdLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.TdLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-td-layout", - columnSize: [200, 200, 200], - hgap: 0, - vgap: 0, - items: [[ - { - el: {text: 'label1'} - }, - { - el: {text: 'label2'} - }, - { - el: {text: 'label3'} - } - ]] - }); - }, - render: function () { - BI.TdLayout.superclass.render.apply(this, arguments); - this.$table = $("<table>").attr({"cellspacing": 0, "cellpadding": 0}).css({ - "position": "relative", - "width": "100%", - "height": "100%", - "border-spacing": "0px", - "border": "none", - "border-collapse": "separate" - }); - this.rows = 0; - this.populate(this.options.items); - }, - - _addElement: function (idx, arr) { - var o = this.options; - - function firstElement(item, row, col) { - if (row === 0) { - item.addClass("first-row") - } - if (col === 0) { - item.addClass("first-col"); - } - item.addClass(BI.isOdd(row + 1) ? "odd-row" : "even-row"); - item.addClass(BI.isOdd(col + 1) ? "odd-col" : "even-col"); - item.addClass("center-element"); - } - - function firstObject(item, row, col) { - var cls = ""; - if (row === 0) { - cls += " first-row"; - } - if (col === 0) { - cls += " first-col"; - } - BI.isOdd(row + 1) ? (cls += " odd-row") : (cls += " even-row"); - BI.isOdd(col + 1) ? (cls += " odd-col") : (cls += " even-col"); - item.cls = (item.cls || "") + cls + " center-element"; - } - - function first(item, row, col) { - if (item instanceof BI.Widget) { - firstElement(item.element, row, col); - } else if (item.el instanceof BI.Widget) { - firstElement(item.el.element, row, col); - } else if (item.el) { - firstObject(item.el, row, col) - } else { - firstObject(item, row, col); - } - } - - var tr = BI.createWidget({ - type: "bi.default", - tagName: "tr" - }); - - for (var i = 0; i < arr.length; i++) { - var w = BI.createWidget(arr[i]); - w.element.css({"position": "relative", "top": "0", "left": "0", "margin": "0px auto"}); - if (arr[i].lgap) { - w.element.css({"margin-left": arr[i].lgap + "px"}); - } - if (arr[i].rgap) { - w.element.css({"margin-right": arr[i].rgap + "px"}); - } - if (arr[i].tgap) { - w.element.css({"margin-top": arr[i].tgap + "px"}); - } - if (arr[i].bgap) { - w.element.css({"margin-bottom": arr[i].bgap + "px"}); - } - first(w, this.rows++, i); - var td = BI.createWidget({ - type: 'bi.default', - attributes: { - width: o.columnSize[i] <= 1 ? (o.columnSize[i] * 100 + "%") : o.columnSize[i] - }, - tagName: 'td', - items: [w] - }); - td.element.css({ - "position": "relative", - "vertical-align": "middle", - "margin": "0", - "padding": "0", - "border": "none" - }); - tr.addItem(td); - } - this.addWidget(this.getName() + idx, tr); - return tr; - }, - - _mountChildren: function () { - var self = this; - var frag = document.createDocumentFragment(); - var hasChild = false; - BI.each(this._children, function (i, widget) { - if (widget.element !== self.element) { - frag.appendChild(widget.element[0]); - hasChild = true; - } - }); - if (hasChild === true) { - this.$table.append(frag); - this.element.append(this.$table); - } - }, - - resize: function () { - // console.log("td布局不需要resize"); - }, - - addItem: function (arr) { - if (!BI.isArray(arr)) { - throw new Error("item must be array"); - } - return BI.TdLayout.superclass.addItem.apply(this, arguments); - }, - - populate: function (items) { - BI.TdLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.td', BI.TdLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.vertical.js b/src/core/wrapper/layout/layout.vertical.js deleted file mode 100644 index 142214f88f..0000000000 --- a/src/core/wrapper/layout/layout.vertical.js +++ /dev/null @@ -1,62 +0,0 @@ -/** - * 垂直布局 - * @class BI.VerticalLayout - * @extends BI.Layout - */ -BI.VerticalLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.VerticalLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-vertical-layout", - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - scrolly: true - }); - }, - render: function () { - BI.VerticalLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - _addElement: function (i, item) { - var o = this.options; - var w = BI.VerticalLayout.superclass._addElement.apply(this, arguments); - w.element.css({ - "position": "relative" - }); - if (o.vgap + o.tgap + (item.tgap || 0) !== 0) { - w.element.css({ - "margin-top": o.vgap + o.tgap + (item.tgap || 0) + "px" - }) - } - if (o.hgap + o.lgap + (item.lgap || 0) !== 0) { - w.element.css({ - "margin-left": o.hgap + o.lgap + (item.lgap || 0) + "px" - }) - } - if (o.hgap + o.rgap + (item.rgap || 0) !== 0) { - w.element.css({ - "margin-right": o.hgap + o.rgap + (item.rgap || 0) + "px" - }) - } - if (o.vgap + o.bgap + (item.bgap || 0) !== 0) { - w.element.css({ - "margin-bottom": o.vgap + o.bgap + (item.bgap || 0) + "px" - }) - } - return w; - }, - - resize: function () { - this.stroke(this.options.items); - }, - - populate: function (items) { - BI.VerticalLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.vertical', BI.VerticalLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/layout.window.js b/src/core/wrapper/layout/layout.window.js deleted file mode 100644 index 496aa4fc8d..0000000000 --- a/src/core/wrapper/layout/layout.window.js +++ /dev/null @@ -1,188 +0,0 @@ -/** - * - * @class BI.WindowLayout - * @extends BI.Layout - */ -BI.WindowLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.WindowLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-window-layout", - columns: 3, - rows: 2, - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - columnSize: [100, "fill", 200], - rowSize: [100, "fill"], - items: [[ - { - el: {type: 'bi.button', text: 'button1'} - }, - { - el: {type: 'bi.button', text: 'button2'} - }, - { - el: {type: 'bi.button', text: 'button3'} - } - ]] - }); - }, - render: function () { - BI.WindowLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - this.stroke(this.options.items); - }, - - addItem: function (item) { - // do nothing - throw new Error("cannot be added") - }, - - stroke: function (items) { - var o = this.options; - if (BI.isNumber(o.rowSize)) { - o.rowSize = BI.makeArray(o.items.length, 1 / o.items.length); - } - if (BI.isNumber(o.columnSize)) { - o.columnSize = BI.makeArray(o.items[0].length, 1 / o.items[0].length); - } - function firstElement(item, row, col) { - if (row === 0) { - item.addClass("first-row") - } - if (col === 0) { - item.addClass("first-col"); - } - item.addClass(BI.isOdd(row + 1) ? "odd-row" : "even-row"); - item.addClass(BI.isOdd(col + 1) ? "odd-col" : "even-col"); - item.addClass("center-element"); - } - - function firstObject(item, row, col) { - var cls = ""; - if (row === 0) { - cls += " first-row"; - } - if (col === 0) { - cls += " first-col"; - } - BI.isOdd(row + 1) ? (cls += " odd-row") : (cls += " even-row"); - BI.isOdd(col + 1) ? (cls += " odd-col") : (cls += " even-col"); - item.cls = (item.cls || "") + cls + " center-element"; - } - - function first(item, row, col) { - if (item instanceof BI.Widget) { - firstElement(item.element, row, col); - } else if (item.el instanceof BI.Widget) { - firstElement(item.el.element, row, col); - } else if (item.el) { - firstObject(item.el, row, col) - } else { - firstObject(item, row, col); - } - } - - for (var i = 0; i < o.rows; i++) { - for (var j = 0; j < o.columns; j++) { - if (!o.items[i][j]) { - throw new Error("item be required"); - } - if (!this.hasWidget(this.getName() + i + "_" + j)) { - var w = BI.createWidget(o.items[i][j]); - w.element.css({"position": "absolute"}); - this.addWidget(this.getName() + i + "_" + j, w); - } - } - } - var left = {}, right = {}, top = {}, bottom = {}; - left[0] = 0; - top[0] = 0; - right[o.columns - 1] = 0; - bottom[o.rows - 1] = 0; - //从上到下 - for (var i = 0; i < o.rows; i++) { - for (var j = 0; j < o.columns; j++) { - var wi = this.getWidgetByName(this.getName() + i + "_" + j); - if (BI.isNull(top[i])) { - top[i] = top[i - 1] + (o.rowSize[i - 1] < 1 ? o.rowSize[i - 1] : o.rowSize[i - 1] + o.vgap + o.bgap); - } - var t = top[i] <= 1 ? top[i] * 100 + "%" : top[i] + o.vgap + o.tgap + "px", h = ""; - if (BI.isNumber(o.rowSize[i])) { - h = o.rowSize[i] <= 1 ? o.rowSize[i] * 100 + "%" : o.rowSize[i] + "px"; - } - wi.element.css({"top": t, height: h}); - first(wi, i, j); - } - if (!BI.isNumber(o.rowSize[i])) { - break; - } - } - //从下到上 - for (var i = o.rows - 1; i >= 0; i--) { - for (var j = 0; j < o.columns; j++) { - var wi = this.getWidgetByName(this.getName() + i + "_" + j); - if (BI.isNull(bottom[i])) { - bottom[i] = bottom[i + 1] + (o.rowSize[i + 1] < 1 ? o.rowSize[i + 1] : o.rowSize[i + 1] + o.vgap + o.tgap); - } - var b = bottom[i] <= 1 ? bottom[i] * 100 + "%" : bottom[i] + o.vgap + o.bgap + "px", h = ""; - if (BI.isNumber(o.rowSize[i])) { - h = o.rowSize[i] <= 1 ? o.rowSize[i] * 100 + "%" : o.rowSize[i] + "px"; - } - wi.element.css({"bottom": b, height: h}); - first(wi, i, j); - } - if (!BI.isNumber(o.rowSize[i])) { - break; - } - } - //从左到右 - for (var j = 0; j < o.columns; j++) { - for (var i = 0; i < o.rows; i++) { - var wi = this.getWidgetByName(this.getName() + i + "_" + j); - if (BI.isNull(left[j])) { - left[j] = left[j - 1] + (o.columnSize[j - 1] < 1 ? o.columnSize[j - 1] : o.columnSize[j - 1] + o.hgap + o.rgap); - } - var l = left[j] <= 1 ? left[j] * 100 + "%" : left[j] + o.hgap + o.lgap + "px", w = ""; - if (BI.isNumber(o.columnSize[j])) { - w = o.columnSize[j] <= 1 ? o.columnSize[j] * 100 + "%" : o.columnSize[j] + "px"; - } - wi.element.css({"left": l, width: w}); - first(wi, i, j); - } - if (!BI.isNumber(o.columnSize[j])) { - break; - } - } - //从右到左 - for (var j = o.columns - 1; j >= 0; j--) { - for (var i = 0; i < o.rows; i++) { - var wi = this.getWidgetByName(this.getName() + i + "_" + j); - if (BI.isNull(right[j])) { - right[j] = right[j + 1] + (o.columnSize[j + 1] < 1 ? o.columnSize[j + 1] : o.columnSize[j + 1] + o.hgap + o.lgap) - } - var r = right[j] <= 1 ? right[j] * 100 + "%" : right[j] + o.hgap + o.rgap + "px", w = ""; - if (BI.isNumber(o.columnSize[j])) { - w = o.columnSize[j] <= 1 ? o.columnSize[j] * 100 + "%" : o.columnSize[j] + "px"; - } - wi.element.css({"right": r, width: w}); - first(wi, i, j); - } - if (!BI.isNumber(o.columnSize[j])) { - break; - } - } - }, - - populate: function (items) { - BI.WindowLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.window', BI.WindowLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/middle/middle.center.js b/src/core/wrapper/layout/middle/middle.center.js deleted file mode 100644 index 2c2d35e30e..0000000000 --- a/src/core/wrapper/layout/middle/middle.center.js +++ /dev/null @@ -1,75 +0,0 @@ -/** - * 水平和垂直方向都居中容器, 非自适应,用于宽度高度固定的面板 - * @class BI.CenterLayout - * @extends BI.Layout - */ -BI.CenterLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.CenterLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-center-layout", - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - - render: function () { - BI.CenterLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - // console.log("center布局不需要resize"); - }, - - addItem: function (item) { - //do nothing - throw new Error("cannot be added"); - }, - - stroke: function (items) { - var self = this, o = this.options; - var list = []; - BI.each(items, function (i) { - list.push({ - column: i, - row: 0, - el: BI.createWidget({ - type: "bi.default", - cls: "center-element " + (i === 0 ? "first-element " : "") + (i === items.length - 1 ? "last-element" : "") - }) - }); - }); - BI.each(items, function (i, item) { - if (!!item) { - var w = BI.createWidget(item); - w.element.css({ - position: "absolute", - left: o.hgap + o.lgap, - right: o.hgap + o.rgap, - top: o.vgap + o.tgap, - bottom: o.vgap + o.bgap, - width: "auto", - height: "auto" - }); - list[i].el.addItem(w); - } - }); - BI.createWidget({ - type: "bi.grid", - element: this, - columns: list.length, - rows: 1, - items: list - }); - }, - - populate: function (items) { - BI.CenterLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.center', BI.CenterLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/middle/middle.float.center.js b/src/core/wrapper/layout/middle/middle.float.center.js deleted file mode 100644 index f8c8eeb79f..0000000000 --- a/src/core/wrapper/layout/middle/middle.float.center.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * 浮动布局实现的居中容器 - * @class BI.FloatCenterLayout - * @extends BI.Layout - */ -BI.FloatCenterLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.FloatCenterLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-float-center-layout", - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - render: function () { - BI.FloatCenterLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - // console.log("floatcenter布局不需要resize"); - }, - - addItem: function (item) { - //do nothing - throw new Error("cannot be added") - }, - - stroke: function (items) { - var self = this, o = this.options; - var list = [], width = 100 / items.length; - BI.each(items, function (i) { - var widget = BI.createWidget({ - type: "bi.default" - }); - widget.element.addClass("center-element " + (i === 0 ? "first-element " : "") + (i === items.length - 1 ? "last-element" : "")).css({ - width: width + "%", - height: "100%" - }); - list.push({ - el: widget - }); - }); - BI.each(items, function (i, item) { - if (!!item) { - var w = BI.createWidget(item); - w.element.css({ - position: "absolute", - left: o.hgap + o.lgap, - right: o.hgap + o.rgap, - top: o.vgap + o.tgap, - bottom: o.vgap + o.bgap, - width: "auto", - height: "auto" - }); - list[i].el.addItem(w); - } - }); - BI.createWidget({ - type: "bi.left", - element: this, - items: list - }); - }, - - populate: function (items) { - BI.FloatCenterLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.float_center', BI.FloatCenterLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/middle/middle.horizontal.js b/src/core/wrapper/layout/middle/middle.horizontal.js deleted file mode 100644 index d024beba98..0000000000 --- a/src/core/wrapper/layout/middle/middle.horizontal.js +++ /dev/null @@ -1,73 +0,0 @@ -/** - * 水平和垂直方向都居中容器, 非自适应,用于宽度高度固定的面板 - * @class BI.HorizontalCenterLayout - * @extends BI.Layout - */ -BI.HorizontalCenterLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.HorizontalCenterLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-horizontal-center-layout", - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - render: function () { - BI.HorizontalCenterLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - // console.log("horizontal_center布局不需要resize"); - }, - - addItem: function (item) { - //do nothing - throw new Error("cannot be added") - }, - - stroke: function (items) { - var o = this.options; - var list = []; - BI.each(items, function (i) { - list.push({ - column: i, - row: 0, - el: BI.createWidget({ - type: "bi.default", - cls: "center-element " + (i === 0 ? "first-element " : "") + (i === items.length - 1 ? "last-element" : "") - }) - }); - }); - BI.each(items, function (i, item) { - if (!!item) { - var w = BI.createWidget(item); - w.element.css({ - position: "absolute", - left: o.hgap + o.lgap, - right: o.hgap + o.rgap, - top: o.vgap + o.tgap, - bottom: o.vgap + o.bgap, - width: "auto" - }); - list[i].el.addItem(w); - } - }); - BI.createWidget({ - type: "bi.grid", - element: this, - columns: list.length, - rows: 1, - items: list - }); - }, - - populate: function (items) { - BI.HorizontalCenterLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.horizontal_center', BI.HorizontalCenterLayout); \ No newline at end of file diff --git a/src/core/wrapper/layout/middle/middle.vertical.js b/src/core/wrapper/layout/middle/middle.vertical.js deleted file mode 100644 index c3c2a9c9de..0000000000 --- a/src/core/wrapper/layout/middle/middle.vertical.js +++ /dev/null @@ -1,73 +0,0 @@ -/** - * 垂直方向都居中容器, 非自适应,用于高度不固定的面板 - * @class BI.VerticalCenterLayout - * @extends BI.Layout - */ -BI.VerticalCenterLayout = BI.inherit(BI.Layout, { - props: function () { - return BI.extend(BI.VerticalCenterLayout.superclass.props.apply(this, arguments), { - baseCls: "bi-vertical-center-layout", - hgap: 0, - vgap: 0, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0 - }); - }, - render: function () { - BI.VerticalCenterLayout.superclass.render.apply(this, arguments); - this.populate(this.options.items); - }, - - resize: function () { - // console.log("vertical_center布局不需要resize"); - }, - - addItem: function (item) { - //do nothing - throw new Error("cannot be added") - }, - - stroke: function (items) { - var self = this, o = this.options; - var list = []; - BI.each(items, function (i) { - list.push({ - column: 0, - row: i, - el: BI.createWidget({ - type: "bi.default", - cls: "center-element " + (i === 0 ? "first-element " : "") + (i === items.length - 1 ? "last-element" : "") - }) - }); - }); - BI.each(items, function (i, item) { - if (!!item) { - var w = BI.createWidget(item); - w.element.css({ - position: "absolute", - left: o.hgap + o.lgap, - right: o.hgap + o.rgap, - top: o.vgap + o.tgap, - bottom: o.vgap + o.bgap, - height: "auto" - }); - list[i].el.addItem(w); - } - }); - BI.createWidget({ - type: "bi.grid", - element: this, - columns: 1, - rows: list.length, - items: list - }); - }, - - populate: function (items) { - BI.VerticalCenterLayout.superclass.populate.apply(this, arguments); - this._mount(); - } -}); -BI.shortcut('bi.vertical_center', BI.VerticalCenterLayout); \ No newline at end of file diff --git a/src/css/base/colorchooser/colorchooser.trigger.css b/src/css/base/colorchooser/colorchooser.trigger.css deleted file mode 100644 index 7e07cb5155..0000000000 --- a/src/css/base/colorchooser/colorchooser.trigger.css +++ /dev/null @@ -1,8 +0,0 @@ -.bi-color-chooser-trigger { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - box-shadow: 0px 0px 2px 1px #d4dadd inset; - -webkit-box-shadow: 0px 0px 2px 1px #d4dadd inset; - -moz-box-shadow: 0px 0px 2px 1px #d4dadd inset; -} diff --git a/src/css/base/colorchooser/colorpicker/button.colorpicker.css b/src/css/base/colorchooser/colorpicker/button.colorpicker.css deleted file mode 100644 index 87f55f5dab..0000000000 --- a/src/css/base/colorchooser/colorpicker/button.colorpicker.css +++ /dev/null @@ -1,6 +0,0 @@ -.bi-color-picker-button .color-picker-button-mask { - border: 1px solid #1a1a1a; -} -.bi-theme-dark .bi-color-picker-button .color-picker-button-mask { - border: 1px solid #ffffff; -} diff --git a/src/css/base/colorchooser/colorpicker/editor.colorpicker.css b/src/css/base/colorchooser/colorpicker/editor.colorpicker.css deleted file mode 100644 index c5e9ea70c5..0000000000 --- a/src/css/base/colorchooser/colorpicker/editor.colorpicker.css +++ /dev/null @@ -1,8 +0,0 @@ -.bi-color-picker-editor .color-picker-editor-display { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - box-shadow: 0px 0px 2px 1px #d4dadd inset; - -webkit-box-shadow: 0px 0px 2px 1px #d4dadd inset; - -moz-box-shadow: 0px 0px 2px 1px #d4dadd inset; -} diff --git a/src/css/base/colorchooser/farbtastic/farbtastic.css b/src/css/base/colorchooser/farbtastic/farbtastic.css deleted file mode 100644 index dfe31e6199..0000000000 --- a/src/css/base/colorchooser/farbtastic/farbtastic.css +++ /dev/null @@ -1,29 +0,0 @@ -.farbtastic { - position: relative; -} -.farbtastic * { - position: absolute; - cursor: crosshair; -} -.farbtastic, -.farbtastic .wheel { - width: 195px; - height: 195px; -} -.farbtastic .color, -.farbtastic .overlay { - top: 47px; - left: 47px; - width: 101px; - height: 101px; -} -.farbtastic .wheel { - width: 195px; - height: 195px; -} -.farbtastic .marker { - width: 17px; - height: 17px; - margin: -8px 0 0 -8px; - overflow: hidden; -} diff --git a/src/css/base/combo/combo.bubble.css b/src/css/base/combo/combo.bubble.css deleted file mode 100644 index 563755f015..0000000000 --- a/src/css/base/combo/combo.bubble.css +++ /dev/null @@ -1,35 +0,0 @@ -.bi-bubble-combo .button-combo-triangle-wrapper { - position: fixed !important; -} -.bi-bubble-combo .bubble-combo-triangle-left { - z-index: 1; - width: 0; - height: 0; - border-top: 6px solid transparent; - border-left: 6px solid #3f8ce8; - border-bottom: 6px solid transparent; -} -.bi-bubble-combo .bubble-combo-triangle-right { - z-index: 1; - width: 0; - height: 0; - border-top: 6px solid transparent; - border-right: 6px solid #3f8ce8; - border-bottom: 6px solid transparent; -} -.bi-bubble-combo .bubble-combo-triangle-top { - z-index: 1; - width: 0; - height: 0; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-top: 6px solid #3f8ce8; -} -.bi-bubble-combo .bubble-combo-triangle-bottom { - z-index: 1; - width: 0; - height: 0; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-bottom: 6px solid #3f8ce8; -} diff --git a/src/css/base/combo/popup.bubble.css b/src/css/base/combo/popup.bubble.css deleted file mode 100644 index ffb39a2c80..0000000000 --- a/src/css/base/combo/popup.bubble.css +++ /dev/null @@ -1,5 +0,0 @@ -.bi-bubble-popup-view { - -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); -} diff --git a/src/css/base/editor/editor.adapt.css b/src/css/base/editor/editor.adapt.css deleted file mode 100644 index 59725a1e35..0000000000 --- a/src/css/base/editor/editor.adapt.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-adapt-editor .adapt-editor-text { - font-size: 14px; -} diff --git a/src/css/base/editor/editor.search.css b/src/css/base/editor/editor.search.css deleted file mode 100644 index d88e2e7a66..0000000000 --- a/src/css/base/editor/editor.search.css +++ /dev/null @@ -1,7 +0,0 @@ -/*************BI.SearchEditor******************/ -.bi-search-editor .close-font { - font-size: 20px; -} -.bi-search-editor .search-font { - font-size: 20px; -} diff --git a/src/css/base/editor/editor.search.small.css b/src/css/base/editor/editor.search.small.css deleted file mode 100644 index 4dcd6010c5..0000000000 --- a/src/css/base/editor/editor.search.small.css +++ /dev/null @@ -1,16 +0,0 @@ -/*************BI.SearchEditor******************/ -.bi-small-search-editor .bi-editor { - font-size: 12px; -} -.bi-small-search-editor .bi-editor .bi-input { - font-size: 12px; -} -.bi-small-search-editor .bi-editor .bi-label { - font-size: 12px; -} -.bi-small-search-editor .close-font { - font-size: 18px; -} -.bi-small-search-editor .search-font { - font-size: 18px; -} diff --git a/src/css/base/editor/editor.sign.initial.css b/src/css/base/editor/editor.sign.initial.css deleted file mode 100644 index 6dea846a9b..0000000000 --- a/src/css/base/editor/editor.sign.initial.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-sign-initial-editor .sign-initial-editor-text { - font-size: 14px; -} diff --git a/src/css/base/formula/codemirror.css b/src/css/base/formula/codemirror.css deleted file mode 100644 index a182cbae77..0000000000 --- a/src/css/base/formula/codemirror.css +++ /dev/null @@ -1,480 +0,0 @@ -/* BASICS */ -.CodeMirror { - /* Set height, width, borders, and global font properties here */ - font-family: monospace; - cursor: text; - width: 100%; - height: 100%; -} -/* PADDING */ -.CodeMirror-lines { - padding: 4px 0; - /* Vertical padding around content */ -} -.CodeMirror pre { - padding: 0 4px; - /* Horizontal padding of content */ -} -.CodeMirror-scrollbar-filler, -.CodeMirror-gutter-filler { - background-color: white; - /* The little square between H and V scrollbars */ -} -/* GUTTER */ -.CodeMirror-gutters { - border-right: 1px solid #ddd; - background-color: #f7f7f7; - white-space: nowrap; -} -.CodeMirror-linenumber { - padding: 0 3px 0 5px; - min-width: 20px; - text-align: right; - color: #999; - white-space: nowrap; -} -.CodeMirror-guttermarker { - color: black; -} -.CodeMirror-guttermarker-subtle { - color: #999; -} -/* CURSOR */ -.CodeMirror div.CodeMirror-cursor { - border-left: 1px solid #1a1a1a; -} -.bi-theme-dark .CodeMirror div.CodeMirror-cursor { - border-left: 1px solid #ffffff; -} -/* Shown when moving in bi-directional text */ -.CodeMirror div.CodeMirror-secondarycursor { - border-left: 1px solid silver; -} -.CodeMirror.cm-fat-cursor div.CodeMirror-cursor { - width: auto; - border: 0; - background: #7e7; -} -.CodeMirror.cm-fat-cursor div.CodeMirror-cursors { - z-index: 1; -} -.cm-animate-fat-cursor { - width: auto; - border: 0; - -webkit-animation: blink 1.06s steps(1) infinite; - -moz-animation: blink 1.06s steps(1) infinite; - animation: blink 1.06s steps(1) infinite; -} -@-moz-keyframes blink { - 0% { - background: #7e7; - } - 50% { - background: none; - } - 100% { - background: #7e7; - } -} -@-webkit-keyframes blink { - 0% { - background: #7e7; - } - 50% { - background: none; - } - 100% { - background: #7e7; - } -} -@keyframes blink { - 0% { - background: #7e7; - } - 50% { - background: none; - } - 100% { - background: #7e7; - } -} -/* Can style cursor different in overwrite (non-insert) mode */ -.cm-tab { - display: inline-block; - text-decoration: inherit; -} -.CodeMirror-ruler { - border-left: 1px solid #ccc; - position: absolute; -} -/* DEFAULT THEME */ -.cm-s-default .cm-header { - color: blue; -} -.cm-s-default .cm-quote { - color: #090; -} -.cm-negative { - color: #d44; -} -.cm-positive { - color: #292; -} -.cm-header, -.cm-strong { - font-weight: bold; -} -.cm-em { - font-style: italic; -} -.cm-link { - text-decoration: underline; -} -.cm-strikethrough { - text-decoration: line-through; -} -.cm-s-default .cm-atom { - color: #219; -} -.cm-s-default .cm-number { - color: #164; -} -.cm-s-default .cm-def { - color: #00f; -} -.cm-s-default .cm-variable-2 { - color: #05a; -} -.cm-s-default .cm-variable-3 { - color: #085; -} -.cm-s-default .cm-comment { - color: #a50; -} -.cm-s-default .cm-string { - color: #a11; -} -.cm-s-default .cm-string-2 { - color: #f50; -} -.cm-s-default .cm-meta { - color: #555; -} -.cm-s-default .cm-qualifier { - color: #555; -} -.cm-s-default .cm-builtin { - color: #30a; -} -.cm-s-default .cm-bracket { - color: #997; -} -.cm-s-default .cm-tag { - color: #170; -} -.cm-s-default .cm-attribute { - color: #00c; -} -.cm-s-default .cm-hr { - color: #999; -} -.cm-s-default .cm-link { - color: #00c; -} -.cm-s-default span[class*="fieldName"] { - display: inline-block; - color: white; - background: #3f8ce8; - padding: 0 5px; - margin: 1px 1px; -} -.cm-s-default span[class*="start"] { - -webkit-border-radius: 3px 0px 0px 3px; - -moz-border-radius: 3px 0px 0px 3px; - border-radius: 3px 0px 0px 3px; - margin-left: 3px; -} -.cm-s-default span[class*="end"] { - -webkit-border-radius: 0px 3px 3px 0px; - -moz-border-radius: 0px 3px 3px 0px; - border-radius: 0px 3px 3px 0px; - margin-right: 3px; -} -.cm-s-default span[class*="start end"] { - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} -.cm-s-default span[class*="#"] { - color: #3f8ce8; -} -.cm-s-default .cm-error { - color: #f00; -} -.cm-invalidchar { - color: #f00; -} -.CodeMirror-composing { - border-bottom: 2px solid; -} -/* Default styles for common addons */ -div.CodeMirror span.CodeMirror-matchingbracket { - color: #0f0; -} -div.CodeMirror span.CodeMirror-nonmatchingbracket { - color: #f22; -} -.CodeMirror-matchingtag { - background: rgba(255, 150, 0, 0.3); -} -.CodeMirror-activeline-background { - background: #e8f2ff; -} -/* STOP */ -/* The rest of this file contains styles related to the mechanics of - the editor. You probably shouldn't touch them. */ -.CodeMirror { - position: relative; - overflow: hidden; -} -.CodeMirror-scroll { - overflow: scroll !important; - /* Things will break if this is overridden */ - /* 30px is the magic margin used to hide the element's real scrollbars */ - /* See overflow: hidden in .CodeMirror */ - margin-bottom: -30px; - margin-right: -30px; - padding-bottom: 30px; - height: 100%; - outline: none; - /* Prevent dragging from highlighting the element */ - position: relative; -} -.CodeMirror-sizer { - position: relative; - border-right: 30px solid transparent; -} -/* The fake, visible scrollbars. Used to force redraw during scrolling - before actuall scrolling happens, thus preventing shaking and - flickering artifacts. */ -.CodeMirror-vscrollbar, -.CodeMirror-hscrollbar, -.CodeMirror-scrollbar-filler, -.CodeMirror-gutter-filler { - position: absolute; - z-index: 6; - display: none; -} -.CodeMirror-vscrollbar { - right: 0; - top: 0; - overflow-x: hidden; - overflow-y: scroll; -} -.CodeMirror-hscrollbar { - bottom: 0; - left: 0; - overflow-y: hidden; - overflow-x: scroll; -} -.CodeMirror-scrollbar-filler { - right: 0; - bottom: 0; -} -.CodeMirror-gutter-filler { - left: 0; - bottom: 0; -} -.CodeMirror-gutters { - position: absolute; - left: 0; - top: 0; - z-index: 3; -} -.CodeMirror-gutter { - white-space: normal; - height: 100%; - display: inline-block; - margin-bottom: -30px; - /* Hack to make IE7 behave */ - *zoom: 1; - *display: inline; -} -.CodeMirror-gutter-wrapper { - position: absolute; - z-index: 4; - height: 100%; -} -.CodeMirror-gutter-elt { - position: absolute; - cursor: default; - z-index: 4; -} -.CodeMirror-gutter-wrapper { - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} -.CodeMirror-lines { - cursor: text; - min-height: 1px; - /* prevents collapsing before first draw */ -} -.CodeMirror pre { - /* Reset some styles that the rest of the page might have set */ - -moz-border-radius: 0; - -webkit-border-radius: 0; - border-radius: 0; - border-width: 0; - background: transparent; - font-family: inherit; - font-size: inherit; - margin: 0; - white-space: pre; - word-wrap: normal; - color: inherit; - z-index: 2; - position: relative; - overflow: visible; - -webkit-tap-highlight-color: transparent; -} -.codemirror-high-line-height { - line-height: 2; -} -.codemirror-low-line-height { - line-height: 1.4; -} -.CodeMirror-wrap pre { - word-wrap: break-word; - white-space: pre-wrap; - word-break: normal; -} -.CodeMirror-linebackground { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - z-index: 0; -} -.CodeMirror-linewidget { - position: relative; - z-index: 2; - overflow: auto; -} -.CodeMirror-code { - outline: none; -} -/* Force content-box sizing for the elements where we expect it */ -.CodeMirror-scroll, -.CodeMirror-sizer, -.CodeMirror-gutter, -.CodeMirror-gutters, -.CodeMirror-linenumber { - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.CodeMirror-measure { - position: absolute; - width: 100%; - height: 0; - overflow: hidden; - visibility: hidden; -} -.CodeMirror-measure pre { - position: static; -} -.CodeMirror div.CodeMirror-cursor { - position: absolute; - border-right: none; - width: 0; -} -div.CodeMirror-cursors { - visibility: hidden; - position: relative; - z-index: 3; -} -.CodeMirror-focused div.CodeMirror-cursors { - visibility: visible; -} -.CodeMirror-selected { - background: #d9d9d9; -} -.CodeMirror-focused .CodeMirror-selected { - background: #d7d4f0; -} -.CodeMirror-crosshair { - cursor: crosshair; -} -.CodeMirror-line::selection, -.CodeMirror-line > span::selection, -.CodeMirror-line > span > span::selection { - background: #d7d4f0; -} -.CodeMirror-line::-moz-selection, -.CodeMirror-line > span::-moz-selection, -.CodeMirror-line > span > span::-moz-selection { - background: #d7d4f0; -} -.cm-searching { - background: #ffa; - background: rgba(255, 255, 0, 0.4); -} -/* IE7 hack to prevent it from returning funny offsetTops on the spans */ -.CodeMirror span { - *vertical-align: text-bottom; -} -/* Used to force a border model for a node */ -.cm-force-border { - padding-right: .1px; -} -@media print { - /* Hide the cursor when printing */ - .CodeMirror div.CodeMirror-cursors { - visibility: hidden; - } -} -/* See issue #2901 */ -.cm-tab-wrap-hack:after { - content: ''; -} -/* Help users use markselection to safely style text background */ -span.CodeMirror-selectedtext { - background: none; -} -/*addon: show-hint*/ -.CodeMirror-hints { - position: absolute; - z-index: 10000; - overflow: hidden; - list-style: none; - margin: 0; - padding: 2px; - -webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2); - box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2); - border-radius: 3px; - border: 1px solid silver; - background: white; - font-size: 90%; - font-family: monospace; - max-height: 20em; - overflow-y: auto; -} -.CodeMirror-hint { - margin: 0; - padding: 0 4px; - border-radius: 2px; - max-width: 19em; - overflow: hidden; - white-space: pre; - color: black; - cursor: pointer; -} -.CodeMirror-hints { - z-index: 1000000000; -} -li.CodeMirror-hint-active { - background: #08f; - color: white; -} diff --git a/src/css/base/foundation/bi.message.css b/src/css/base/foundation/bi.message.css deleted file mode 100644 index 173116c053..0000000000 --- a/src/css/base/foundation/bi.message.css +++ /dev/null @@ -1,19 +0,0 @@ -.bi-message-title { - font-size: 16px; - cursor: pointer; -} -.bi-message-text { - font-size: 16px; - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -.bi-message-content { - font-size: 16px; -} -.bi-message-close { - font-size: 25px; -} diff --git a/src/css/base/layer/layer.multiselect.css b/src/css/base/layer/layer.multiselect.css deleted file mode 100644 index e30f78d826..0000000000 --- a/src/css/base/layer/layer.multiselect.css +++ /dev/null @@ -1,4 +0,0 @@ -.bi-multi-list-view .bi-button-mask { - opacity: 0.1; - filter: alpha(opacity=10); -} diff --git a/src/css/base/layer/panel.css b/src/css/base/layer/panel.css deleted file mode 100644 index 5a0c74f550..0000000000 --- a/src/css/base/layer/panel.css +++ /dev/null @@ -1,9 +0,0 @@ -.bi-panel { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} -.bi-panel .panel-title .panel-title-text { - cursor: text; - font-size: 14px; -} diff --git a/src/css/base/pager/pager.all.count.css b/src/css/base/pager/pager.all.count.css deleted file mode 100644 index ef5e6f63ce..0000000000 --- a/src/css/base/pager/pager.all.count.css +++ /dev/null @@ -1,6 +0,0 @@ -.bi-all-count-pager .all-pager-prev { - font-size: 16px; -} -.bi-all-count-pager .all-pager-next { - font-size: 16px; -} diff --git a/src/css/base/pager/pager.css b/src/css/base/pager/pager.css deleted file mode 100644 index 585c512896..0000000000 --- a/src/css/base/pager/pager.css +++ /dev/null @@ -1,5 +0,0 @@ -.bi-pager .page-item { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} diff --git a/src/css/base/pager/pager.direction.css b/src/css/base/pager/pager.direction.css deleted file mode 100644 index 15f1686ab3..0000000000 --- a/src/css/base/pager/pager.direction.css +++ /dev/null @@ -1,6 +0,0 @@ -.bi-direction-pager .direction-pager-prev { - font-size: 16px; -} -.bi-direction-pager .direction-pager-next { - font-size: 16px; -} diff --git a/src/css/base/richeditor/texttoolbar/texttoolbar.css b/src/css/base/richeditor/texttoolbar/texttoolbar.css deleted file mode 100644 index 69a0cba9be..0000000000 --- a/src/css/base/richeditor/texttoolbar/texttoolbar.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-rich-editor-text-toolbar .text-toolbar-button { - font-size: 16px; -} diff --git a/src/css/base/segment/segment.css b/src/css/base/segment/segment.css deleted file mode 100644 index be61364e4c..0000000000 --- a/src/css/base/segment/segment.css +++ /dev/null @@ -1,32 +0,0 @@ -.bi-segment > .center-element { - overflow: hidden; - overflow-x: hidden; - overflow-y: hidden; - background: #ffffff; - border-right: 1px solid #d4dadd; - border-top: 1px solid #d4dadd; - border-bottom: 1px solid #d4dadd; -} -.bi-segment > .first-element { - border-left: 1px solid #d4dadd; - -webkit-border-radius: 6px 0px 0px 6px; - -moz-border-radius: 6px 0px 0px 6px; - border-radius: 6px 0px 0px 6px; -} -.bi-segment > .last-element { - -webkit-border-radius: 0px 6px 6px 0px; - -moz-border-radius: 0px 6px 6px 0px; - border-radius: 0px 6px 6px 0px; -} -.bi-theme-dark .bi-segment > .center-element { - overflow: hidden; - overflow-x: hidden; - overflow-y: hidden; - background: #242640; - border-right: 1px solid #525466; - border-top: 1px solid #525466; - border-bottom: 1px solid #525466; -} -.bi-theme-dark .bi-segment > .first-element { - border-left: 1px solid #242640; -} diff --git a/src/css/base/single/button/button.css b/src/css/base/single/button/button.css deleted file mode 100644 index e81114b77f..0000000000 --- a/src/css/base/single/button/button.css +++ /dev/null @@ -1,217 +0,0 @@ -body .bi-button, -#body .bi-button { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - border: 1px solid #178cdf; - background-color: #3f8ce8; - text-align: center; - vertical-align: middle; - cursor: pointer; - font-size: 14px; -} -body .bi-button.block, -#body .bi-button.block { - font-size: inherit; - border-width: 0; - -webkit-border-radius: 0px; - -moz-border-radius: 0px; - border-radius: 0px; -} -body .bi-button.clear, -#body .bi-button.clear { - font-size: inherit; - border-width: 0; - background-color: transparent; -} -body .bi-button.clear:hover, -#body .bi-button.clear:hover, -body .bi-button.clear:active, -#body .bi-button.clear:active { - opacity: 0.75; - filter: alpha(opacity=75); -} -body .bi-button.button-common, -#body .bi-button.button-common, -body .bi-button.button-common .b-font:before, -#body .bi-button.button-common .b-font:before { - color: #ffffff; -} -body .bi-button.button-common.clear, -#body .bi-button.button-common.clear, -body .bi-button.button-common.clear .b-font:before, -#body .bi-button.button-common.clear .b-font:before { - color: #3f8ce8; -} -body .bi-button.button-ignore, -#body .bi-button.button-ignore { - background-color: #ffffff; - border-color: #d4dadd; -} -body .bi-button.button-ignore, -#body .bi-button.button-ignore, -body .bi-button.button-ignore .b-font:before, -#body .bi-button.button-ignore .b-font:before { - color: #1a1a1a; -} -body .bi-button.button-ignore.clear, -#body .bi-button.button-ignore.clear { - background-color: transparent; - border-width: 0; -} -body .bi-button.button-success, -#body .bi-button.button-success { - background-color: #58cc7d; - border-color: #58cc7d; -} -body .bi-button.button-success, -#body .bi-button.button-success, -body .bi-button.button-success .b-font:before, -#body .bi-button.button-success .b-font:before { - color: #ffffff; -} -body .bi-button.button-success.clear, -#body .bi-button.button-success.clear { - background-color: transparent; - border-width: 0; -} -body .bi-button.button-success.clear, -#body .bi-button.button-success.clear, -body .bi-button.button-success.clear .b-font:before, -#body .bi-button.button-success.clear .b-font:before { - color: #0c6d23; -} -body .bi-button.button-warning, -#body .bi-button.button-warning { - background-color: #e85050; - border-color: #e85050; -} -body .bi-button.button-warning, -#body .bi-button.button-warning, -body .bi-button.button-warning .b-font:before, -#body .bi-button.button-warning .b-font:before { - color: #ffffff; -} -body .bi-button.button-warning.clear, -#body .bi-button.button-warning.clear { - background-color: transparent; - border-width: 0; -} -body .bi-button.button-warning.clear, -#body .bi-button.button-warning.clear, -body .bi-button.button-warning.clear .b-font:before, -#body .bi-button.button-warning.clear .b-font:before { - color: #e85050; -} -body .bi-button.button-common.disabled, -#body .bi-button.button-common.disabled, -body .bi-button.button-success.disabled, -#body .bi-button.button-success.disabled, -body .bi-button.button-warning.disabled, -#body .bi-button.button-warning.disabled, -body .bi-button.button-common.disabled.base-disabled, -#body .bi-button.button-common.disabled.base-disabled, -body .bi-button.button-success.disabled.base-disabled, -#body .bi-button.button-success.disabled.base-disabled, -body .bi-button.button-warning.disabled.base-disabled, -#body .bi-button.button-warning.disabled.base-disabled { - background: #cccccc !important; - border-color: #cccccc !important; -} -body .bi-button.button-common.disabled, -#body .bi-button.button-common.disabled, -body .bi-button.button-success.disabled, -#body .bi-button.button-success.disabled, -body .bi-button.button-warning.disabled, -#body .bi-button.button-warning.disabled, -body .bi-button.button-common.disabled.base-disabled, -#body .bi-button.button-common.disabled.base-disabled, -body .bi-button.button-success.disabled.base-disabled, -#body .bi-button.button-success.disabled.base-disabled, -body .bi-button.button-warning.disabled.base-disabled, -#body .bi-button.button-warning.disabled.base-disabled, -body .bi-button.button-common.disabled .b-font:before, -#body .bi-button.button-common.disabled .b-font:before, -body .bi-button.button-success.disabled .b-font:before, -#body .bi-button.button-success.disabled .b-font:before, -body .bi-button.button-warning.disabled .b-font:before, -#body .bi-button.button-warning.disabled .b-font:before, -body .bi-button.button-common.disabled.base-disabled .b-font:before, -#body .bi-button.button-common.disabled.base-disabled .b-font:before, -body .bi-button.button-success.disabled.base-disabled .b-font:before, -#body .bi-button.button-success.disabled.base-disabled .b-font:before, -body .bi-button.button-warning.disabled.base-disabled .b-font:before, -#body .bi-button.button-warning.disabled.base-disabled .b-font:before { - color: #ffffff !important; -} -body .bi-button.button-ignore.disabled, -#body .bi-button.button-ignore.disabled { - background: #ffffff !important; - border-color: #d4dadd !important; -} -body .bi-button.button-ignore.disabled, -#body .bi-button.button-ignore.disabled, -body .bi-button.button-ignore.disabled .b-font:before, -#body .bi-button.button-ignore.disabled .b-font:before { - color: #cccccc !important; -} -body .bi-button.button-common.disabled.clear, -#body .bi-button.button-common.disabled.clear, -body .bi-button.button-success.disabled.clear, -#body .bi-button.button-success.disabled.clear, -body .bi-button.button-warning.disabled.clear, -#body .bi-button.button-warning.disabled.clear, -body .bi-button.button-ignore.disabled.clear, -#body .bi-button.button-ignore.disabled.clear { - background: transparent !important; - border-width: 0 !important; -} -body .bi-button.button-common.disabled.clear, -#body .bi-button.button-common.disabled.clear, -body .bi-button.button-success.disabled.clear, -#body .bi-button.button-success.disabled.clear, -body .bi-button.button-warning.disabled.clear, -#body .bi-button.button-warning.disabled.clear, -body .bi-button.button-ignore.disabled.clear, -#body .bi-button.button-ignore.disabled.clear, -body .bi-button.button-common.disabled.clear .b-font:before, -#body .bi-button.button-common.disabled.clear .b-font:before, -body .bi-button.button-success.disabled.clear .b-font:before, -#body .bi-button.button-success.disabled.clear .b-font:before, -body .bi-button.button-warning.disabled.clear .b-font:before, -#body .bi-button.button-warning.disabled.clear .b-font:before, -body .bi-button.button-ignore.disabled.clear .b-font:before, -#body .bi-button.button-ignore.disabled.clear .b-font:before { - color: #cccccc !important; -} -body .bi-button.button-common.disabled.clear:hover, -#body .bi-button.button-common.disabled.clear:hover, -body .bi-button.button-success.disabled.clear:hover, -#body .bi-button.button-success.disabled.clear:hover, -body .bi-button.button-warning.disabled.clear:hover, -#body .bi-button.button-warning.disabled.clear:hover, -body .bi-button.button-ignore.disabled.clear:hover, -#body .bi-button.button-ignore.disabled.clear:hover, -body .bi-button.button-common.disabled.clear:active, -#body .bi-button.button-common.disabled.clear:active, -body .bi-button.button-success.disabled.clear:active, -#body .bi-button.button-success.disabled.clear:active, -body .bi-button.button-warning.disabled.clear:active, -#body .bi-button.button-warning.disabled.clear:active, -body .bi-button.button-ignore.disabled.clear:active, -#body .bi-button.button-ignore.disabled.clear:active { - opacity: 1; - filter: alpha(opacity=100); -} -.bi-basic-button.button-common .bi-button-mask, -.bi-basic-button.button-success .bi-button-mask, -.bi-basic-button.button-warning .bi-button-mask { - opacity: 0.2; - filter: alpha(opacity=20); - background-color: #ffffff; -} -.bi-basic-button .bi-button-mask { - opacity: 0.2; - filter: alpha(opacity=20); - background-color: #1a1a1a; -} diff --git a/src/css/base/single/button/item.singleselect.icontext.css b/src/css/base/single/button/item.singleselect.icontext.css deleted file mode 100644 index b446c5eafe..0000000000 --- a/src/css/base/single/button/item.singleselect.icontext.css +++ /dev/null @@ -1,4 +0,0 @@ -.bi-single-select-icon-text-item:active .b-font:before, -.bi-single-select-icon-text-item.active .b-font:before { - color: #3f8ce8; -} diff --git a/src/css/base/single/editor/editor.code.css b/src/css/base/single/editor/editor.code.css deleted file mode 100644 index 47243060ec..0000000000 --- a/src/css/base/single/editor/editor.code.css +++ /dev/null @@ -1,16 +0,0 @@ -.bi-code-editor .param { - color: #ffffff; - padding: 0 5px; - margin: 1px 1px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - background: #3f8ce8; - display: inline-block; -} -.bi-code-editor .error-param { - color: #e85050; - padding: 0 5px; - margin: 1px 1px; - display: inline-block; -} diff --git a/src/css/base/single/editor/editor.css b/src/css/base/single/editor/editor.css deleted file mode 100644 index dd76bd5abd..0000000000 --- a/src/css/base/single/editor/editor.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-editor { - font-size: 12px; -} diff --git a/src/css/base/single/editor/editor.multifile.css b/src/css/base/single/editor/editor.multifile.css deleted file mode 100644 index a9bb78621d..0000000000 --- a/src/css/base/single/editor/editor.multifile.css +++ /dev/null @@ -1,6 +0,0 @@ -.bi-multifile-editor .multifile-editor { - text-align: right; - cursor: pointer; - font-size: 100px; - z-index: 2; -} diff --git a/src/css/base/single/editor/editor.shelter.css b/src/css/base/single/editor/editor.shelter.css deleted file mode 100644 index aa6b9b2a1d..0000000000 --- a/src/css/base/single/editor/editor.shelter.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-shelter-editor .shelter-editor-text { - font-size: 12px; -} diff --git a/src/css/base/single/editor/editor.sign.css b/src/css/base/single/editor/editor.sign.css deleted file mode 100644 index 5012db8678..0000000000 --- a/src/css/base/single/editor/editor.sign.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-sign-editor .sign-editor-text { - font-size: 12px; -} diff --git a/src/css/base/single/editor/editor.textarea.css b/src/css/base/single/editor/editor.textarea.css deleted file mode 100644 index b9816a85fd..0000000000 --- a/src/css/base/single/editor/editor.textarea.css +++ /dev/null @@ -1,11 +0,0 @@ -.bi-textarea-editor { - overflow: hidden; - overflow-x: hidden; - overflow-y: hidden; -} -.bi-textarea-editor .textarea-editor-content { - font-size: 12px; -} -.bi-textarea-editor .textarea-editor-content { - border: none; -} diff --git a/src/css/base/single/input/file.css b/src/css/base/single/input/file.css deleted file mode 100644 index 82aa8303f5..0000000000 --- a/src/css/base/single/input/file.css +++ /dev/null @@ -1,5 +0,0 @@ -.bi-file { - opacity: 0; - filter: alpha(opacity=0); - z-index: 2; -} diff --git a/src/css/base/single/input/input.css b/src/css/base/single/input/input.css deleted file mode 100644 index c2a019a557..0000000000 --- a/src/css/base/single/input/input.css +++ /dev/null @@ -1,19 +0,0 @@ -.bi-input, -.bi-textarea { - border: none; - outline: none; - background-color: transparent; - padding: 0; - margin: 0; - width: 100%; - height: 100%; -} -.bi-input.bi-input-focus, -.bi-textarea.bi-input-focus { - border: none; -} -.bi-input.bi-input-error, -.bi-textarea.bi-input-error { - border: none; - color: #e85050 !important; -} diff --git a/src/css/base/single/label.css b/src/css/base/single/label.css deleted file mode 100644 index bbe9bfebe4..0000000000 --- a/src/css/base/single/label.css +++ /dev/null @@ -1,7 +0,0 @@ -.bi-label { - text-overflow: ellipsis; - overflow-x: hidden; - overflow-y: hidden; - white-space: nowrap; - word-break: break-all; -} diff --git a/src/css/base/single/text.css b/src/css/base/single/text.css deleted file mode 100644 index f4b27f3cdc..0000000000 --- a/src/css/base/single/text.css +++ /dev/null @@ -1,16 +0,0 @@ -.bi-text { - text-overflow: ellipsis; - overflow-x: hidden; - overflow-y: hidden; - white-space: nowrap; - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ - word-wrap: break-word; - word-break: break-word; -} diff --git a/src/css/base/single/tip/tip.bubble.css b/src/css/base/single/tip/tip.bubble.css deleted file mode 100644 index c1149da83e..0000000000 --- a/src/css/base/single/tip/tip.bubble.css +++ /dev/null @@ -1,10 +0,0 @@ -.bi-bubble { - font-size: 14px; -} -.bi-bubble .bubble-text { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - background: #fddddd; - color: #e85050; -} diff --git a/src/css/base/single/tip/tip.css b/src/css/base/single/tip/tip.css deleted file mode 100644 index bc771b53d4..0000000000 --- a/src/css/base/single/tip/tip.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-tip { - position: fixed !important; -} diff --git a/src/css/base/single/tip/tip.toast.css b/src/css/base/single/tip/tip.toast.css deleted file mode 100644 index 28b7bbbeb0..0000000000 --- a/src/css/base/single/tip/tip.toast.css +++ /dev/null @@ -1,14 +0,0 @@ -.bi-toast { - font-size: 14px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} -.bi-toast.toast-success { - background: #e1f4e7; - color: #0c6d23; -} -.bi-toast.toast-warning { - background: #fddddd; - color: #e85050; -} diff --git a/src/css/base/single/tip/tip.tooltip.css b/src/css/base/single/tip/tip.tooltip.css deleted file mode 100644 index 97e57e50ea..0000000000 --- a/src/css/base/single/tip/tip.tooltip.css +++ /dev/null @@ -1,17 +0,0 @@ -.bi-tooltip { - max-width: 250px; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - font-size: 12px; -} -.bi-tooltip.tooltip-success { - background: #fff5c1; - border: 1px solid #fff5c1; - color: #1a1a1a; -} -.bi-tooltip.tooltip-warning { - background: #fddddd; - color: #e85050; - border: 1px solid #f4cbcb; -} diff --git a/src/css/base/table/table.collection.cell.css b/src/css/base/table/table.collection.cell.css deleted file mode 100644 index f630fb3edc..0000000000 --- a/src/css/base/table/table.collection.cell.css +++ /dev/null @@ -1,22 +0,0 @@ -.bi-collection-table-cell { - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} -.bi-collection-table-cell.first-row { - border-top: 1px solid #d4dadd; -} -.bi-collection-table-cell.first-col { - border-left: 1px solid #d4dadd; -} -.bi-theme-dark .bi-collection-table-cell.first-row { - border-top: 1px solid #525466; -} -.bi-theme-dark .bi-collection-table-cell.first-col { - border-left: 1px solid #525466; -} diff --git a/src/css/base/table/table.collection.quick.css b/src/css/base/table/table.collection.quick.css deleted file mode 100644 index f1249ba832..0000000000 --- a/src/css/base/table/table.collection.quick.css +++ /dev/null @@ -1,5 +0,0 @@ -.bi-quick-collection-table > div > .bi-collection { - overflow: hidden !important; - overflow-x: hidden !important; - overflow-y: hidden !important; -} diff --git a/src/css/base/table/table.css b/src/css/base/table/table.css deleted file mode 100644 index abfd5a9428..0000000000 --- a/src/css/base/table/table.css +++ /dev/null @@ -1,78 +0,0 @@ -.bi-table > .first-col { - border-left: none; -} -.bi-table > .first-row { - border-top: none; -} -.bi-table > div > div > table { - border-bottom: 1px solid #d4dadd; - border-right: 1px solid #d4dadd; -} -.bi-table > div.top-left > div > div > table { - border-bottom: 1px solid #d4dadd; - border-right: 1px solid #d4dadd; -} -.bi-table > div.top-right > div > div > table { - border-bottom: 1px solid #d4dadd; - border-right: 1px solid #d4dadd; -} -.bi-table > div.bottom-left > div > div > table { - border-bottom: 1px solid #d4dadd; - border-right: 1px solid #d4dadd; -} -.bi-table > div.bottom-right > div > div > table { - border-right: 1px solid #d4dadd; - border-bottom: 1px solid #d4dadd; -} -.bi-table > div > div > table, -.bi-table > div > div > div > table { - min-width: 100%; - clear: both; - vertical-align: middle; - border-spacing: 0; - border-collapse: separate; -} -.bi-table > div > div > table, -.bi-table > div > div > div > table, -.bi-table > div > div > table > * > * > th, -.bi-table > div > div > div > table > * > * > th, -.bi-table > div > div > table > * > * > td, -.bi-table > div > div > div > table > * > * > td { - vertical-align: middle; - margin: 0; - padding: 0; -} -.bi-table > div > div > table > tbody > tr > td, -.bi-table > div > div > div > table > tbody > tr > td, -.bi-table > div > div > table > thead > tr > td, -.bi-table > div > div > div > table > thead > tr > td { - border-top: 1px solid #d4dadd; - border-left: 1px solid #d4dadd; -} -.bi-theme-dark .bi-table > div > div > table { - border-bottom: 1px solid #525466; - border-right: 1px solid #525466; -} -.bi-theme-dark .bi-table > div.top-left > div > div > table { - border-bottom: 1px solid #525466; - border-right: 1px solid #525466; -} -.bi-theme-dark .bi-table > div.top-right > div > div > table { - border-bottom: 1px solid #525466; - border-right: 1px solid #525466; -} -.bi-theme-dark .bi-table > div.bottom-left > div > div > table { - border-bottom: 1px solid #525466; - border-right: 1px solid #525466; -} -.bi-theme-dark .bi-table > div.bottom-right > div > div > table { - border-right: 1px solid #525466; - border-bottom: 1px solid #525466; -} -.bi-theme-dark .bi-table > div > div > table > tbody > tr > td, -.bi-theme-dark .bi-table > div > div > div > table > tbody > tr > td, -.bi-theme-dark .bi-table > div > div > table > thead > tr > td, -.bi-theme-dark .bi-table > div > div > div > table > thead > tr > td { - border-top: 1px solid #525466; - border-left: 1px solid #525466; -} diff --git a/src/css/base/table/table.grid.cell.css b/src/css/base/table/table.grid.cell.css deleted file mode 100644 index 10fab44a8a..0000000000 --- a/src/css/base/table/table.grid.cell.css +++ /dev/null @@ -1,22 +0,0 @@ -.bi-grid-table-cell { - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} -.bi-grid-table-cell.first-row { - border-top: 1px solid #d4dadd; -} -.bi-grid-table-cell.first-col { - border-left: 1px solid #d4dadd; -} -.bi-theme-dark .bi-grid-table-cell.first-row { - border-top: 1px solid #525466; -} -.bi-theme-dark .bi-grid-table-cell.first-col { - border-left: 1px solid #525466; -} diff --git a/src/css/base/table/table.grid.scrollbar.css b/src/css/base/table/table.grid.scrollbar.css deleted file mode 100644 index 111b2f8774..0000000000 --- a/src/css/base/table/table.grid.scrollbar.css +++ /dev/null @@ -1,113 +0,0 @@ -.scrollbar-layout-main { - box-sizing: border-box; - outline: none; - overflow: hidden; - position: absolute; - transition-duration: 250ms; - transition-timing-function: ease; - user-select: none; - background-color: rgba(102, 102, 102, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0d666666,endColorstr=#0d666666); - border-radius: 5px; -} -.bi-theme-dark .scrollbar-layout-main { - background-color: rgba(204, 204, 204, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0dcccccc,endColorstr=#0dcccccc); -} -.scrollbar-layout-main-vertical { - bottom: 0; - right: 0; - top: 0; - transition-property: background-color; - width: 10px; -} -.scrollbar-layout-main-vertical.public-scrollbar-main-active, -.scrollbar-layout-main-vertical:hover { - width: 10px; -} -.scrollbar-layout-main-horizontal { - bottom: 0; - height: 10px; - left: 0; - transition-property: background-color; - background-color: rgba(102, 102, 102, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0d666666,endColorstr=#0d666666); -} -.bi-theme-dark .scrollbar-layout-main-horizontal { - background-color: rgba(204, 204, 204, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0dcccccc,endColorstr=#0dcccccc); -} -/* Touching the scroll-track directly makes the scroll-track bolder */ -.scrollbar-layout-main-horizontal.public-scrollbar-main-active, -.scrollbar-layout-main-horizontal:hover { - height: 10px; -} -.scrollbar-layout-face { - left: 0; - overflow: hidden; - position: absolute; - z-index: 1; -} -/** - * This selector renders the "nub" of the scrollface. The nub must - * be rendered as pseudo-element so that it won't receive any UI events then - * we can get the correct `event.offsetX` and `event.offsetY` from the - * scrollface element while dragging it. - */ -.scrollbar-layout-face:after { - border-radius: 6px; - content: ''; - display: block; - position: absolute; - transition: background-color 250ms ease; -} -.scrollbar-layout-face-horizontal { - bottom: 0; - left: 0; - top: 0; -} -.scrollbar-layout-face-horizontal:after { - bottom: 2px; - left: 0; - top: 2px; - width: 100%; -} -.scrollbar-layout-face-vertical { - left: 0; - right: 0; - top: 0; -} -.scrollbar-layout-face-vertical:after { - height: 100%; - left: 2px; - right: 2px; - top: 0; -} -/** - * scrollbars. - */ -/* Touching the scroll-track directly makes the scroll-track bolder */ -.public-scrollbar-face:after { - background-color: rgba(102, 102, 102, 0.3); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d666666,endColorstr=#4d666666); -} -.bi-theme-dark .public-scrollbar-face:after { - background-color: rgba(204, 204, 204, 0.3); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4dcccccc,endColorstr=#4dcccccc); -} -.public-scrollbar-main:hover .public-scrollbar-face:after, -.public-scrollbar-main-active .public-scrollbar-face:after, -.public-scrollbar-face-active:after { - background-color: rgba(102, 102, 102, 0.7); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b3666666,endColorstr=#b3666666); -} -.bi-theme-dark .public-scrollbar-main:hover .public-scrollbar-face:after, -.bi-theme-dark .public-scrollbar-main-active .public-scrollbar-face:after, -.bi-theme-dark .public-scrollbar-face-active:after { - background-color: rgba(204, 204, 204, 0.7); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b3cccccc,endColorstr=#b3cccccc); -} -.horizontal-scrollbar { - bottom: 0; - position: absolute; -} diff --git a/src/css/base/table/table.resizable.cell.css b/src/css/base/table/table.resizable.cell.css deleted file mode 100644 index bd1c75358d..0000000000 --- a/src/css/base/table/table.resizable.cell.css +++ /dev/null @@ -1,11 +0,0 @@ -.bi-resizable-table-cell .resizable-table-cell-resizer-container { - cursor: ew-resize; - z-index: 1; -} -.bi-resizable-table-cell .resizable-table-cell-resizer-container:hover .resizable-table-cell-resizer-knob, -.bi-resizable-table-cell .resizable-table-cell-resizer-container.dragging .resizable-table-cell-resizer-knob { - background-color: #3f8ce8; -} -.bi-resizable-table-cell .resizable-table-cell-resizer-container.suitable .resizable-table-cell-resizer-knob { - background-color: #58cc7d; -} diff --git a/src/css/base/table/table.resizable.css b/src/css/base/table/table.resizable.css deleted file mode 100644 index cc4c9b86b3..0000000000 --- a/src/css/base/table/table.resizable.css +++ /dev/null @@ -1,16 +0,0 @@ -.bi-resizable-table .resizable-table-resizer { - cursor: ew-resize; - z-index: 1; - background-color: #3f8ce8; -} -.bi-resizable-table .resizable-table-resizer.suitable { - background-color: #58cc7d; -} -.bi-resizable-table .resizable-table-region-resizer { - cursor: ew-resize; - z-index: 1; -} -.bi-resizable-table .resizable-table-region-resizer:hover .resizable-table-region-resizer-knob, -.bi-resizable-table .resizable-table-region-resizer.dragging .resizable-table-region-resizer-knob { - background-color: #3f8ce8; -} diff --git a/src/css/base/tree/tree.branch.css b/src/css/base/tree/tree.branch.css deleted file mode 100644 index 3d6d38e251..0000000000 --- a/src/css/base/tree/tree.branch.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-branch-tree .bi-branch-tree-view { - min-width: 300px; -} diff --git a/src/css/base/tree/tree.display.css b/src/css/base/tree/tree.display.css deleted file mode 100644 index c350e0a99b..0000000000 --- a/src/css/base/tree/tree.display.css +++ /dev/null @@ -1,17 +0,0 @@ -.bi-display-tree .ztree * { - color: #999999; -} -.bi-display-tree .ztree li a, -.bi-display-tree .ztree li span { - cursor: default !important; -} -.bi-display-tree .ztree li a:hover { - text-decoration: none; -} -.bi-display-tree .ztree li a.curSelectedNode { - padding-top: 1px; - border: none; - background-color: inherit; - opacity: 1; - filter: alpha(opacity=100); -} diff --git a/src/css/base/tree/ztree.css b/src/css/base/tree/ztree.css deleted file mode 100644 index 85b33830d8..0000000000 --- a/src/css/base/tree/ztree.css +++ /dev/null @@ -1,214 +0,0 @@ -.ztree * { - padding: 0; - margin: 0; -} -.ztree { - margin: 0; - padding: 5px; -} -.ztree li { - padding: 0; - margin: 0; - list-style: none; - line-height: 14px; - text-align: left; - white-space: nowrap; - outline: 0; -} -.ztree li ul { - margin: 0; - padding: 0 0 0 18px; -} -.ztree li a { - padding: 1px 3px 0 0; - margin: 0; - cursor: pointer; - height: 24px; - background-color: transparent; - text-decoration: none; - vertical-align: top; - display: inline-block; -} -.ztree li a.curSelectedNode_Edit { - padding-top: 0px; - background-color: #FFE6B0; - color: black; - height: 16px; - border: 1px #FFB951 solid; - opacity: 0.8; -} -.ztree li a.tmpTargetNode_inner { - padding-top: 0px; - background-color: #316AC5; - color: white; - height: 16px; - border: 1px #316AC5 solid; - opacity: 0.8; - filter: alpha(opacity=80); -} -.ztree li a input.rename { - height: 14px; - width: 80px; - padding: 0; - margin: 0; - font-size: 12px; - border: 1px #7EC4CC solid; - *border: 0px; -} -.ztree li span { - line-height: 24px; - margin-right: 2px; -} -.ztree li span.button { - line-height: 0; - margin: 0; - width: 16px; - height: 16px; - display: inline-block; - vertical-align: middle; - border: 0 none; - cursor: pointer; - outline: none; - background-color: transparent; - background-repeat: no-repeat; - background-attachment: scroll; -} -.ztree li span.button.chk { - width: 16px; - height: 16px; - margin: 0 3px 0 0; - cursor: auto; -} -.ztree li span.button.chk.checkbox_false_disable { - background-position: 0 -56px; -} -.ztree li span.button.chk.checkbox_true_disable { - background-position: -14px -56px; -} -.ztree li span.button.chk.radio_false_full { - background-position: -28px 0; -} -.ztree li span.button.chk.radio_false_full_focus { - background-position: -28px -14px; -} -.ztree li span.button.chk.radio_false_part { - background-position: -28px -28px; -} -.ztree li span.button.chk.radio_false_part_focus { - background-position: -28px -42px; -} -.ztree li span.button.chk.radio_false_disable { - background-position: -28px -56px; -} -.ztree li span.button.chk.radio_true_full { - background-position: -42px 0; -} -.ztree li span.button.chk.radio_true_full_focus { - background-position: -42px -14px; -} -.ztree li span.button.chk.radio_true_part { - background-position: -42px -28px; -} -.ztree li span.button.chk.radio_true_part_focus { - background-position: -42px -42px; -} -.ztree li span.button.chk.radio_true_disable { - background-position: -42px -56px; -} -.ztree li span.button.switch { - width: 25px; - height: 25px; -} -.ztree li span.button.noline_open { - background-position: -92px -72px; -} -.ztree li span.button.noline_close { - background-position: -74px -72px; -} -.ztree li span.button.root_docu { - background: none; -} -.ztree li span.button.noline_docu { - background: none; -} -.ztree li span.button.ico_open { - margin-right: 2px; - background-position: -110px -16px; - vertical-align: top; - *vertical-align: middle; -} -.ztree li span.button.ico_close { - margin-right: 2px; - background-position: -110px 0; - vertical-align: top; - *vertical-align: middle; -} -.ztree li span.button.ico_docu { - margin-right: 2px; - background-position: -110px -32px; - vertical-align: top; - *vertical-align: middle; -} -.ztree li span.button.edit { - margin-right: 2px; - background-position: -110px -48px; - vertical-align: top; - *vertical-align: middle; -} -.ztree li span.button.remove { - margin-right: 2px; - background-position: -110px -64px; - vertical-align: top; - *vertical-align: middle; -} -.ztree li span.button.ico_loading { - width: 0px; - margin-right: 2px; - vertical-align: top; - *vertical-align: middle; -} -ul.tmpTargetzTree { - background-color: #FFE6B0; - opacity: 0.8; - filter: alpha(opacity=80); -} -span.tmpzTreeMove_arrow { - width: 16px; - height: 16px; - display: inline-block; - padding: 0; - margin: 2px 0 0 1px; - border: 0 none; - position: absolute; - background-color: transparent; - background-repeat: no-repeat; - background-attachment: scroll; - background-position: -110px -80px; -} -ul.ztree.zTreeDragUL { - margin: 0; - padding: 0; - position: absolute; - width: auto; - height: auto; - overflow: hidden; - background-color: #cfcfcf; - border: 1px #00B83F dotted; - opacity: 0.8; - filter: alpha(opacity=80); -} -.zTreeMask { - z-index: 10000; - background-color: #cfcfcf; - opacity: 0.0; - filter: alpha(opacity=0); - position: absolute; -} -/* level style*/ -/*.ztree li span.button.level0 { - display:none; -} -.ztree li ul.level0 { - padding:0; - background:none; -}*/ diff --git a/src/css/base/trigger/trigger.css b/src/css/base/trigger/trigger.css deleted file mode 100644 index 51c60b4927..0000000000 --- a/src/css/base/trigger/trigger.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-trigger .bi-trigger-icon-button { - font-size: 16px; -} diff --git a/src/css/base/trigger/trigger.selecttext.css b/src/css/base/trigger/trigger.selecttext.css deleted file mode 100644 index 0f5ff3f24b..0000000000 --- a/src/css/base/trigger/trigger.selecttext.css +++ /dev/null @@ -1,5 +0,0 @@ -.bi-select-text-trigger { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} diff --git a/src/css/base/trigger/trigger.selecttextsmall.css b/src/css/base/trigger/trigger.selecttextsmall.css deleted file mode 100644 index bd464915d6..0000000000 --- a/src/css/base/trigger/trigger.selecttextsmall.css +++ /dev/null @@ -1,5 +0,0 @@ -.bi-small-select-text-trigger { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} diff --git a/src/css/base/view/popupview.css b/src/css/base/view/popupview.css deleted file mode 100644 index 142b2c7a7c..0000000000 --- a/src/css/base/view/popupview.css +++ /dev/null @@ -1,28 +0,0 @@ -/**********BI.BIListView*************/ -.bi-popup-view { - position: fixed !important; - overflow-y: visible !important; - overflow-x: visible !important; - overflow: visible !important; - cursor: default; -} -.bi-popup-view .list-view-outer { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} -.bi-popup-view .list-view-toolbar { - line-height: 30px; -} -.bi-popup-view .list-view-toolbar > .center-element { - border-left: 1px solid #d4dadd; -} -.bi-popup-view .list-view-toolbar > .first-element { - border-left: none; -} -.bi-theme-dark .bi-popup-view .list-view-toolbar > .center-element { - border-left: 1px solid #525466; -} -.bi-theme-dark .bi-popup-view .list-view-toolbar > .first-element { - border-left: none; -} diff --git a/src/css/core/normalize.css b/src/css/core/normalize.css deleted file mode 100644 index 65b0635b22..0000000000 --- a/src/css/core/normalize.css +++ /dev/null @@ -1,230 +0,0 @@ -/*! normalize.css v1.0.0 | MIT License | git.io/normalize */ -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -nav, -section, -summary { - display: block; -} -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1; -} -audio:not([controls]) { - display: none; - height: 0; -} -[hidden] { - display: none; -} -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; -} -html, -button, -input, -select, -textarea { - font-family: sans-serif; -} -body { - margin: 0; -} -a:focus { - outline: thin dotted; -} -a:active, -a:hover { - outline: 0; -} -h1 { - font-size: 2em; - margin: 0.67em 0; -} -h2 { - font-size: 1.5em; - margin: 0.83em 0; -} -h3 { - font-size: 1.17em; - margin: 1em 0; -} -h4 { - font-size: 1em; - margin: 1.33em 0; -} -h5 { - font-size: .83em; - margin: 1.67em 0; -} -h6 { - font-size: .75em; - margin: 2.33em 0; -} -abbr[title] { - border-bottom: 1px dotted; -} -b, -strong { - font-weight: bold; -} -blockquote { - margin: 1em 40px; -} -dfn { - font-style: italic; -} -mark { - background: #ff0; - color: #000000; -} -p, -pre { - margin: 1em 0; -} -code, -kbd, -pre, -samp { - font-family: monospace, serif; - _font-family: 'courier new', monospace; - font-size: 1em; -} -pre { - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; -} -q { - quotes: none; -} -q:before, -q:after { - content: ''; - content: none; -} -small { - font-size: 75%; -} -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} -sup { - top: -0.5em; -} -sub { - bottom: -0.25em; -} -dl, -menu, -ol, -ul { - margin: 1em 0; -} -dd { - margin: 0 0 0 40px; -} -menu, -ol, -ul { - padding: 0 0 0 40px; -} -nav ul, -nav ol { - list-style: none; - list-style-image: none; -} -img { - border: 0; - -ms-interpolation-mode: bicubic; -} -svg:not(:root) { - overflow: hidden; -} -figure { - margin: 0; -} -form { - margin: 0; -} -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} -legend { - border: 0; - padding: 0; - white-space: normal; - *margin-left: -7px; -} -button, -input, -select, -textarea { - font-size: 100%; - margin: 0; - vertical-align: baseline; - *vertical-align: middle; -} -button, -input { - line-height: normal; -} -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; - *overflow: visible; -} -button[disabled], -input[disabled] { - cursor: default; -} -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; - padding: 0; - *height: 13px; - *width: 13px; -} -input[type="search"] { - -webkit-appearance: textfield; - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - box-sizing: content-box; -} -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} -textarea { - overflow: auto; - vertical-align: top; -} -table { - border-collapse: collapse; - border-spacing: 0; -} diff --git a/src/css/core/normalize2.css b/src/css/core/normalize2.css deleted file mode 100644 index 4763f9a9e8..0000000000 --- a/src/css/core/normalize2.css +++ /dev/null @@ -1,53 +0,0 @@ -html, -body, -div, -ul, -ol, -li, -img, -a, -span, -p, -* { - margin: 0; - padding: 0; -} -a { - outline: none; - text-decoration: none; -} -a:focus { - outline: 0; -} -input::-webkit-contacts-auto-fill-button { - visibility: hidden; - display: none !important; - pointer-events: none; - position: absolute; - right: 0; -} -input::-ms-clear { - display: none; -} -input, -textarea { - margin: 0; - padding: 0; - outline: none; - border: 1px solid #d4dadd; -} -.bi-theme-dark input, -.bi-theme-dark textarea { - border: 1px solid #525466; -} -ul { - list-style: disc; -} -li { - list-style-type: none; -} -i { - -webkit-font-smoothing: antialiased; - -webkit-text-stroke-width: 0.2px; - -moz-osx-font-smoothing: grayscale; -} diff --git a/src/css/core/utils/common.css b/src/css/core/utils/common.css deleted file mode 100644 index a4ff12fef6..0000000000 --- a/src/css/core/utils/common.css +++ /dev/null @@ -1,825 +0,0 @@ -.base-disabled { - cursor: default !important; - color: #cccccc !important; -} -.base-disabled .bi-input { - color: #cccccc !important; -} -.base-disabled .bi-textarea { - color: #cccccc !important; -} -.base-disabled .b-font:before { - color: #cccccc !important; -} -.bi-theme-dark .base-disabled { - color: #666666 !important; -} -.bi-theme-dark .base-disabled .bi-input { - color: #666666 !important; -} -.bi-theme-dark .base-disabled .bi-textarea { - color: #666666 !important; -} -.bi-theme-dark .base-disabled .b-font:before { - color: #666666 !important; -} -.base-invalid { - cursor: default !important; -} -.clearfix { - *zoom: 1; -} -.clearfix:before, -.clearfix:after { - content: " "; - display: table; - line-height: 0; -} -.clearfix:after { - clear: both; -} -.bi-background { - background-color: #eff1f4; - color: #666666; -} -.bi-background .bi-input { - color: #666666; -} -.bi-background .bi-textarea { - color: #666666; -} -.bi-theme-dark .bi-background { - background-color: #191b2b; - color: #cccccc; -} -.bi-theme-dark .bi-background .bi-input { - color: #cccccc; -} -.bi-theme-dark .bi-background .bi-textarea { - color: #cccccc; -} -.bi-card { - background-color: #ffffff; - color: #666666; -} -.bi-card .bi-input { - color: #666666; -} -.bi-card .bi-textarea { - color: #666666; -} -.bi-theme-dark .bi-card { - background-color: #242640; - color: #cccccc; -} -.bi-theme-dark .bi-card .bi-input { - color: #cccccc; -} -.bi-theme-dark .bi-card .bi-textarea { - color: #cccccc; -} -.bi-disabled { - color: #cccccc; -} -.bi-disabled .bi-input { - color: #cccccc; -} -.bi-disabled .bi-textarea { - color: #cccccc; -} -.bi-theme-dark .bi-disabled { - color: #666666; -} -.bi-theme-dark .bi-disabled .bi-input { - color: #666666; -} -.bi-theme-dark .bi-disabled .bi-textarea { - color: #666666; -} -.bi-tips { - color: #999999; -} -.bi-tips .bi-input { - color: #999999; -} -.bi-tips .bi-textarea { - color: #999999; -} -.bi-border { - border: 1px solid #d4dadd; -} -.bi-theme-dark .bi-border { - border: 1px solid #525466; -} -.bi-border-left { - border-left: 1px solid #d4dadd; -} -.bi-theme-dark .bi-border-left { - border-left: 1px solid #525466; -} -.bi-border-right { - border-right: 1px solid #d4dadd; -} -.bi-theme-dark .bi-border-right { - border-right: 1px solid #525466; -} -.bi-border-top { - border-top: 1px solid #d4dadd; -} -.bi-theme-dark .bi-border-top { - border-top: 1px solid #525466; -} -.bi-border-bottom { - border-bottom: 1px solid #d4dadd; -} -.bi-theme-dark .bi-border-bottom { - border-bottom: 1px solid #525466; -} -.bi-keyword-red-mark { - color: #f07d0a; -} -.bi-keyword-red-mark .bi-input { - color: #f07d0a; -} -.bi-keyword-red-mark .bi-textarea { - color: #f07d0a; -} -.bi-high-light { - color: #3f8ce8; -} -.bi-high-light .bi-input { - color: #3f8ce8; -} -.bi-high-light .bi-textarea { - color: #3f8ce8; -} -.bi-high-light-background { - background-color: #3f8ce8; - color: #ffffff; -} -.bi-high-light-background .bi-input { - color: #ffffff; -} -.bi-high-light-background .bi-textarea { - color: #ffffff; -} -.bi-high-light-border { - border-color: #178cdf; -} -.bi-water-mark { - color: #cccccc; - cursor: text; -} -.bi-water-mark .bi-input { - color: #cccccc; -} -.bi-water-mark .bi-textarea { - color: #cccccc; -} -.bi-theme-dark .bi-water-mark { - color: #666666; -} -.bi-theme-dark .bi-water-mark .bi-input { - color: #666666; -} -.bi-theme-dark .bi-water-mark .bi-textarea { - color: #666666; -} -.bi-resizer { - background: #1a1a1a; - opacity: 0.2; - filter: alpha(opacity=20); - z-index: 1000000000 !important; -} -.bi-theme-dark .bi-resizer { - background: #ffffff; -} -.bi-mask { - color: #ffffff; - background-color: rgba(26, 26, 26, 0.2); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#331a1a1a,endColorstr=#331a1a1a); -} -.bi-mask .bi-input { - color: #ffffff; -} -.bi-mask .bi-textarea { - color: #ffffff; -} -.bi-theme-dark .bi-mask { - color: #242640; - background-color: rgba(255, 255, 255, 0.2); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#33ffffff,endColorstr=#33ffffff); -} -.bi-theme-dark .bi-mask .bi-input { - color: #242640; -} -.bi-theme-dark .bi-mask .bi-textarea { - color: #242640; -} -.bi-z-index-mask { - color: #ffffff; - background-color: rgba(26, 26, 26, 0.5); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#801a1a1a,endColorstr=#801a1a1a); -} -.bi-z-index-mask .bi-input { - color: #ffffff; -} -.bi-z-index-mask .bi-textarea { - color: #ffffff; -} -.bi-list-item:hover, -.bi-list-item.hover { - color: #1a1a1a; - background-color: rgba(26, 26, 26, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0d1a1a1a,endColorstr=#0d1a1a1a); -} -.bi-list-item:hover .bi-input, -.bi-list-item.hover .bi-input { - color: #1a1a1a; -} -.bi-list-item:hover .bi-textarea, -.bi-list-item.hover .bi-textarea { - color: #1a1a1a; -} -.bi-list-item.disabled, -.bi-list-item.disabled:hover, -.bi-list-item.disabled:active { - background-color: transparent !important; - color: #cccccc !important; -} -.bi-list-item.disabled .bi-input, -.bi-list-item.disabled:hover .bi-input, -.bi-list-item.disabled:active .bi-input { - color: #cccccc !important; -} -.bi-list-item.disabled .bi-textarea, -.bi-list-item.disabled:hover .bi-textarea, -.bi-list-item.disabled:active .bi-textarea { - color: #cccccc !important; -} -.bi-list-item.disabled .bi-high-light, -.bi-list-item.disabled:hover .bi-high-light, -.bi-list-item.disabled:active .bi-high-light { - color: #cccccc !important; -} -.bi-theme-dark .bi-list-item:hover, -.bi-theme-dark .bi-list-item.hover { - color: #ffffff; - background-color: rgba(255, 255, 255, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0dffffff,endColorstr=#0dffffff); -} -.bi-theme-dark .bi-list-item:hover .bi-input, -.bi-theme-dark .bi-list-item.hover .bi-input { - color: #ffffff; -} -.bi-theme-dark .bi-list-item:hover .bi-textarea, -.bi-theme-dark .bi-list-item.hover .bi-textarea { - color: #ffffff; -} -.bi-theme-dark .bi-list-item.disabled, -.bi-theme-dark .bi-list-item.disabled:hover, -.bi-theme-dark .bi-list-item.disabled:active { - background-color: transparent !important; - color: #666666 !important; -} -.bi-theme-dark .bi-list-item.disabled .bi-input, -.bi-theme-dark .bi-list-item.disabled:hover .bi-input, -.bi-theme-dark .bi-list-item.disabled:active .bi-input { - color: #666666 !important; -} -.bi-theme-dark .bi-list-item.disabled .bi-textarea, -.bi-theme-dark .bi-list-item.disabled:hover .bi-textarea, -.bi-theme-dark .bi-list-item.disabled:active .bi-textarea { - color: #666666 !important; -} -.bi-theme-dark .bi-list-item.disabled .bi-high-light, -.bi-theme-dark .bi-list-item.disabled:hover .bi-high-light, -.bi-theme-dark .bi-list-item.disabled:active .bi-high-light { - color: #666666 !important; -} -.bi-list-item-border:active, -.bi-list-item-border.active { - border: 1px solid #178cdf; -} -.bi-list-item-simple { - color: #999999; -} -.bi-list-item-simple .bi-input { - color: #999999; -} -.bi-list-item-simple .bi-textarea { - color: #999999; -} -.bi-list-item-simple:hover, -.bi-list-item-simple.hover { - color: #3f8ce8; -} -.bi-list-item-simple:hover .bi-input, -.bi-list-item-simple.hover .bi-input { - color: #3f8ce8; -} -.bi-list-item-simple:hover .bi-textarea, -.bi-list-item-simple.hover .bi-textarea { - color: #3f8ce8; -} -.bi-list-item-simple.disabled, -.bi-list-item-simple.disabled:hover, -.bi-list-item-simple.disabled:active { - color: #cccccc !important; -} -.bi-list-item-simple.disabled .bi-input, -.bi-list-item-simple.disabled:hover .bi-input, -.bi-list-item-simple.disabled:active .bi-input { - color: #cccccc !important; -} -.bi-list-item-simple.disabled .bi-textarea, -.bi-list-item-simple.disabled:hover .bi-textarea, -.bi-list-item-simple.disabled:active .bi-textarea { - color: #cccccc !important; -} -.bi-list-item-simple.disabled .bi-high-light, -.bi-list-item-simple.disabled:hover .bi-high-light, -.bi-list-item-simple.disabled:active .bi-high-light { - color: #cccccc !important; -} -.bi-list-item-effect:hover { - color: #1a1a1a; -} -.bi-list-item-effect:hover .bi-input { - color: #1a1a1a; -} -.bi-list-item-effect:hover .bi-textarea { - color: #1a1a1a; -} -.bi-list-item-effect.active, -.bi-list-item-effect:active { - color: #3f8ce8; -} -.bi-list-item-effect.active .bi-input, -.bi-list-item-effect:active .bi-input { - color: #3f8ce8; -} -.bi-list-item-effect.active .bi-textarea, -.bi-list-item-effect:active .bi-textarea { - color: #3f8ce8; -} -.bi-list-item-effect.disabled, -.bi-list-item-effect.disabled:hover, -.bi-list-item-effect.disabled:active { - color: #cccccc !important; -} -.bi-list-item-effect.disabled .bi-input, -.bi-list-item-effect.disabled:hover .bi-input, -.bi-list-item-effect.disabled:active .bi-input { - color: #cccccc !important; -} -.bi-list-item-effect.disabled .bi-textarea, -.bi-list-item-effect.disabled:hover .bi-textarea, -.bi-list-item-effect.disabled:active .bi-textarea { - color: #cccccc !important; -} -.bi-list-item-effect.disabled .bi-high-light, -.bi-list-item-effect.disabled:hover .bi-high-light, -.bi-list-item-effect.disabled:active .bi-high-light { - color: #cccccc !important; -} -.bi-theme-dark .bi-list-item-effect:hover { - color: #ffffff; -} -.bi-theme-dark .bi-list-item-effect:hover .bi-input { - color: #ffffff; -} -.bi-theme-dark .bi-list-item-effect:hover .bi-textarea { - color: #ffffff; -} -.bi-theme-dark .bi-list-item-effect.active, -.bi-theme-dark .bi-list-item-effect:active { - color: #3f8ce8; -} -.bi-theme-dark .bi-list-item-effect.active .bi-input, -.bi-theme-dark .bi-list-item-effect:active .bi-input { - color: #3f8ce8; -} -.bi-theme-dark .bi-list-item-effect.active .bi-textarea, -.bi-theme-dark .bi-list-item-effect:active .bi-textarea { - color: #3f8ce8; -} -.bi-theme-dark .bi-list-item-effect.disabled, -.bi-theme-dark .bi-list-item-effect.disabled:hover, -.bi-theme-dark .bi-list-item-effect.disabled:active { - background-color: transparent !important; - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-effect.disabled .bi-input, -.bi-theme-dark .bi-list-item-effect.disabled:hover .bi-input, -.bi-theme-dark .bi-list-item-effect.disabled:active .bi-input { - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-effect.disabled .bi-textarea, -.bi-theme-dark .bi-list-item-effect.disabled:hover .bi-textarea, -.bi-theme-dark .bi-list-item-effect.disabled:active .bi-textarea { - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-effect.disabled .bi-high-light, -.bi-theme-dark .bi-list-item-effect.disabled:hover .bi-high-light, -.bi-theme-dark .bi-list-item-effect.disabled:active .bi-high-light { - color: #666666 !important; -} -.bi-list-item-active:hover, -.bi-list-item-active.hover { - color: #1a1a1a; - background-color: rgba(26, 26, 26, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0d1a1a1a,endColorstr=#0d1a1a1a); -} -.bi-list-item-active:hover .bi-input, -.bi-list-item-active.hover .bi-input { - color: #1a1a1a; -} -.bi-list-item-active:hover .bi-textarea, -.bi-list-item-active.hover .bi-textarea { - color: #1a1a1a; -} -.bi-list-item-active.active, -.bi-list-item-active:active { - color: #3f8ce8; - background-color: rgba(26, 26, 26, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0d1a1a1a,endColorstr=#0d1a1a1a); -} -.bi-list-item-active.active .bi-input, -.bi-list-item-active:active .bi-input { - color: #3f8ce8; -} -.bi-list-item-active.active .bi-textarea, -.bi-list-item-active:active .bi-textarea { - color: #3f8ce8; -} -.bi-list-item-active.disabled, -.bi-list-item-active.disabled:hover, -.bi-list-item-active.disabled:active { - background-color: transparent !important; - color: #cccccc !important; -} -.bi-list-item-active.disabled .bi-input, -.bi-list-item-active.disabled:hover .bi-input, -.bi-list-item-active.disabled:active .bi-input { - color: #cccccc !important; -} -.bi-list-item-active.disabled .bi-textarea, -.bi-list-item-active.disabled:hover .bi-textarea, -.bi-list-item-active.disabled:active .bi-textarea { - color: #cccccc !important; -} -.bi-list-item-active.disabled .bi-high-light, -.bi-list-item-active.disabled:hover .bi-high-light, -.bi-list-item-active.disabled:active .bi-high-light { - color: #cccccc !important; -} -.bi-theme-dark .bi-list-item-active:hover, -.bi-theme-dark .bi-list-item-active.hover { - color: #ffffff; - background-color: rgba(255, 255, 255, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0dffffff,endColorstr=#0dffffff); -} -.bi-theme-dark .bi-list-item-active:hover .bi-input, -.bi-theme-dark .bi-list-item-active.hover .bi-input { - color: #ffffff; -} -.bi-theme-dark .bi-list-item-active:hover .bi-textarea, -.bi-theme-dark .bi-list-item-active.hover .bi-textarea { - color: #ffffff; -} -.bi-theme-dark .bi-list-item-active.active, -.bi-theme-dark .bi-list-item-active:active { - color: #3f8ce8; - background-color: rgba(255, 255, 255, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0dffffff,endColorstr=#0dffffff); -} -.bi-theme-dark .bi-list-item-active.active .bi-input, -.bi-theme-dark .bi-list-item-active:active .bi-input { - color: #3f8ce8; -} -.bi-theme-dark .bi-list-item-active.active .bi-textarea, -.bi-theme-dark .bi-list-item-active:active .bi-textarea { - color: #3f8ce8; -} -.bi-theme-dark .bi-list-item-active.disabled, -.bi-theme-dark .bi-list-item-active.disabled:hover, -.bi-theme-dark .bi-list-item-active.disabled:active { - background-color: transparent !important; - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-active.disabled .bi-input, -.bi-theme-dark .bi-list-item-active.disabled:hover .bi-input, -.bi-theme-dark .bi-list-item-active.disabled:active .bi-input { - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-active.disabled .bi-textarea, -.bi-theme-dark .bi-list-item-active.disabled:hover .bi-textarea, -.bi-theme-dark .bi-list-item-active.disabled:active .bi-textarea { - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-active.disabled .bi-high-light, -.bi-theme-dark .bi-list-item-active.disabled:hover .bi-high-light, -.bi-theme-dark .bi-list-item-active.disabled:active .bi-high-light { - color: #666666 !important; -} -.bi-list-item-active2:hover, -.bi-list-item-active2.hover { - color: #1a1a1a; - background-color: #ffffff; -} -.bi-list-item-active2:hover .bi-input, -.bi-list-item-active2.hover .bi-input { - color: #1a1a1a; -} -.bi-list-item-active2:hover .bi-textarea, -.bi-list-item-active2.hover .bi-textarea { - color: #1a1a1a; -} -.bi-list-item-active2.active, -.bi-list-item-active2:active { - color: #3f8ce8; - background-color: #ffffff; -} -.bi-list-item-active2.active .bi-input, -.bi-list-item-active2:active .bi-input { - color: #3f8ce8; -} -.bi-list-item-active2.active .bi-textarea, -.bi-list-item-active2:active .bi-textarea { - color: #3f8ce8; -} -.bi-list-item-active2.disabled, -.bi-list-item-active2.disabled:hover, -.bi-list-item-active2.disabled:active { - background-color: transparent !important; - color: #cccccc !important; -} -.bi-list-item-active2.disabled .bi-input, -.bi-list-item-active2.disabled:hover .bi-input, -.bi-list-item-active2.disabled:active .bi-input { - color: #cccccc !important; -} -.bi-list-item-active2.disabled .bi-textarea, -.bi-list-item-active2.disabled:hover .bi-textarea, -.bi-list-item-active2.disabled:active .bi-textarea { - color: #cccccc !important; -} -.bi-list-item-active2.disabled .bi-high-light, -.bi-list-item-active2.disabled:hover .bi-high-light, -.bi-list-item-active2.disabled:active .bi-high-light { - color: #cccccc !important; -} -.bi-theme-dark .bi-list-item-active2:hover, -.bi-theme-dark .bi-list-item-active2.hover { - color: #ffffff; - background-color: #242640; -} -.bi-theme-dark .bi-list-item-active2:hover .bi-input, -.bi-theme-dark .bi-list-item-active2.hover .bi-input { - color: #ffffff; -} -.bi-theme-dark .bi-list-item-active2:hover .bi-textarea, -.bi-theme-dark .bi-list-item-active2.hover .bi-textarea { - color: #ffffff; -} -.bi-theme-dark .bi-list-item-active2.active, -.bi-theme-dark .bi-list-item-active2:active { - color: #3f8ce8; - background-color: #242640; -} -.bi-theme-dark .bi-list-item-active2.active .bi-input, -.bi-theme-dark .bi-list-item-active2:active .bi-input { - color: #3f8ce8; -} -.bi-theme-dark .bi-list-item-active2.active .bi-textarea, -.bi-theme-dark .bi-list-item-active2:active .bi-textarea { - color: #3f8ce8; -} -.bi-theme-dark .bi-list-item-active2.disabled, -.bi-theme-dark .bi-list-item-active2.disabled:hover, -.bi-theme-dark .bi-list-item-active2.disabled:active { - background-color: transparent !important; - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-active2.disabled .bi-input, -.bi-theme-dark .bi-list-item-active2.disabled:hover .bi-input, -.bi-theme-dark .bi-list-item-active2.disabled:active .bi-input { - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-active2.disabled .bi-textarea, -.bi-theme-dark .bi-list-item-active2.disabled:hover .bi-textarea, -.bi-theme-dark .bi-list-item-active2.disabled:active .bi-textarea { - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-active2.disabled .bi-high-light, -.bi-theme-dark .bi-list-item-active2.disabled:hover .bi-high-light, -.bi-theme-dark .bi-list-item-active2.disabled:active .bi-high-light { - color: #666666 !important; -} -.bi-list-item-select:hover, -.bi-list-item-select.hover { - color: #1a1a1a; - background-color: rgba(26, 26, 26, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0d1a1a1a,endColorstr=#0d1a1a1a); -} -.bi-list-item-select:hover .bi-input, -.bi-list-item-select.hover .bi-input { - color: #1a1a1a; -} -.bi-list-item-select:hover .bi-textarea, -.bi-list-item-select.hover .bi-textarea { - color: #1a1a1a; -} -.bi-list-item-select:active, -.bi-list-item-select.active { - color: #ffffff; - background-color: #3f8ce8; -} -.bi-list-item-select:active .bi-input, -.bi-list-item-select.active .bi-input { - color: #ffffff; -} -.bi-list-item-select:active .bi-textarea, -.bi-list-item-select.active .bi-textarea { - color: #ffffff; -} -.bi-list-item-select:active .bi-high-light, -.bi-list-item-select.active .bi-high-light { - color: #ffffff; -} -.bi-list-item-select.disabled, -.bi-list-item-select.disabled:hover, -.bi-list-item-select.disabled:active { - color: #cccccc !important; - background-color: transparent !important; -} -.bi-list-item-select.disabled .bi-input, -.bi-list-item-select.disabled:hover .bi-input, -.bi-list-item-select.disabled:active .bi-input { - color: #cccccc !important; -} -.bi-list-item-select.disabled .bi-textarea, -.bi-list-item-select.disabled:hover .bi-textarea, -.bi-list-item-select.disabled:active .bi-textarea { - color: #cccccc !important; -} -.bi-list-item-select.disabled .bi-high-light, -.bi-list-item-select.disabled:hover .bi-high-light, -.bi-list-item-select.disabled:active .bi-high-light { - color: #cccccc !important; -} -.bi-theme-dark .bi-list-item-select:hover, -.bi-theme-dark .bi-list-item-select.hover { - color: #ffffff; - background-color: rgba(255, 255, 255, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0dffffff,endColorstr=#0dffffff); -} -.bi-theme-dark .bi-list-item-select:hover .bi-input, -.bi-theme-dark .bi-list-item-select.hover .bi-input { - color: #ffffff; -} -.bi-theme-dark .bi-list-item-select:hover .bi-textarea, -.bi-theme-dark .bi-list-item-select.hover .bi-textarea { - color: #ffffff; -} -.bi-theme-dark .bi-list-item-select:active, -.bi-theme-dark .bi-list-item-select.active { - color: #ffffff; - background-color: #3f8ce8; -} -.bi-theme-dark .bi-list-item-select:active .bi-input, -.bi-theme-dark .bi-list-item-select.active .bi-input { - color: #ffffff; -} -.bi-theme-dark .bi-list-item-select:active .bi-textarea, -.bi-theme-dark .bi-list-item-select.active .bi-textarea { - color: #ffffff; -} -.bi-theme-dark .bi-list-item-select:active .bi-high-light, -.bi-theme-dark .bi-list-item-select.active .bi-high-light { - color: #ffffff; -} -.bi-theme-dark .bi-list-item-select.disabled, -.bi-theme-dark .bi-list-item-select.disabled:hover, -.bi-theme-dark .bi-list-item-select.disabled:active { - background-color: transparent !important; - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-select.disabled .bi-input, -.bi-theme-dark .bi-list-item-select.disabled:hover .bi-input, -.bi-theme-dark .bi-list-item-select.disabled:active .bi-input { - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-select.disabled .bi-textarea, -.bi-theme-dark .bi-list-item-select.disabled:hover .bi-textarea, -.bi-theme-dark .bi-list-item-select.disabled:active .bi-textarea { - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-select.disabled .bi-high-light, -.bi-theme-dark .bi-list-item-select.disabled:hover .bi-high-light, -.bi-theme-dark .bi-list-item-select.disabled:active .bi-high-light { - color: #666666 !important; -} -.bi-list-item-none:hover, -.bi-list-item-none.hover { - color: inherit; - background-color: transparent; -} -.bi-list-item-none:hover .bi-input, -.bi-list-item-none.hover .bi-input { - color: inherit; -} -.bi-list-item-none:hover .bi-textarea, -.bi-list-item-none.hover .bi-textarea { - color: inherit; -} -.bi-list-item-none:active, -.bi-list-item-none.active { - color: inherit; - background-color: transparent; -} -.bi-list-item-none:active .bi-input, -.bi-list-item-none.active .bi-input { - color: inherit; -} -.bi-list-item-none:active .bi-textarea, -.bi-list-item-none.active .bi-textarea { - color: inherit; -} -.bi-list-item-none:active .bi-high-light, -.bi-list-item-none.active .bi-high-light { - color: inherit; -} -.bi-list-item-none.disabled, -.bi-list-item-none.disabled:hover, -.bi-list-item-none.disabled:active { - color: #cccccc !important; - background-color: transparent !important; -} -.bi-list-item-none.disabled .bi-input, -.bi-list-item-none.disabled:hover .bi-input, -.bi-list-item-none.disabled:active .bi-input { - color: #cccccc !important; -} -.bi-list-item-none.disabled .bi-textarea, -.bi-list-item-none.disabled:hover .bi-textarea, -.bi-list-item-none.disabled:active .bi-textarea { - color: #cccccc !important; -} -.bi-list-item-none.disabled .bi-high-light, -.bi-list-item-none.disabled:hover .bi-high-light, -.bi-list-item-none.disabled:active .bi-high-light { - color: #cccccc !important; -} -.bi-theme-dark .bi-list-item-none:hover, -.bi-theme-dark .bi-list-item-none.hover { - color: inherit; - background-color: transparent; -} -.bi-theme-dark .bi-list-item-none:hover .bi-input, -.bi-theme-dark .bi-list-item-none.hover .bi-input { - color: inherit; -} -.bi-theme-dark .bi-list-item-none:hover .bi-textarea, -.bi-theme-dark .bi-list-item-none.hover .bi-textarea { - color: inherit; -} -.bi-theme-dark .bi-list-item-none:active, -.bi-theme-dark .bi-list-item-none.active { - color: inherit; - background-color: transparent; -} -.bi-theme-dark .bi-list-item-none:active .bi-input, -.bi-theme-dark .bi-list-item-none.active .bi-input { - color: inherit; -} -.bi-theme-dark .bi-list-item-none:active .bi-textarea, -.bi-theme-dark .bi-list-item-none.active .bi-textarea { - color: inherit; -} -.bi-theme-dark .bi-list-item-none:active .bi-high-light, -.bi-theme-dark .bi-list-item-none.active .bi-high-light { - color: inherit; -} -.bi-theme-dark .bi-list-item-none.disabled, -.bi-theme-dark .bi-list-item-none.disabled:hover, -.bi-theme-dark .bi-list-item-none.disabled:active { - background-color: transparent !important; - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-none.disabled .bi-input, -.bi-theme-dark .bi-list-item-none.disabled:hover .bi-input, -.bi-theme-dark .bi-list-item-none.disabled:active .bi-input { - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-none.disabled .bi-textarea, -.bi-theme-dark .bi-list-item-none.disabled:hover .bi-textarea, -.bi-theme-dark .bi-list-item-none.disabled:active .bi-textarea { - color: #666666 !important; -} -.bi-theme-dark .bi-list-item-none.disabled .bi-high-light, -.bi-theme-dark .bi-list-item-none.disabled:hover .bi-high-light, -.bi-theme-dark .bi-list-item-none.disabled:active .bi-high-light { - color: #666666 !important; -} diff --git a/src/css/core/utils/cursor.css b/src/css/core/utils/cursor.css deleted file mode 100644 index 0973b0a17f..0000000000 --- a/src/css/core/utils/cursor.css +++ /dev/null @@ -1,11 +0,0 @@ -/*****************cursor*****************/ -.cursor-pointer { - cursor: pointer; -} -.cursor-default { - cursor: default; -} -.cursor-move { - cursor: move; -} -/*****************cursor*****************/ diff --git a/src/css/core/utils/overflow.css b/src/css/core/utils/overflow.css deleted file mode 100644 index 0376a1ee13..0000000000 --- a/src/css/core/utils/overflow.css +++ /dev/null @@ -1,38 +0,0 @@ -.y-overflow-auto { - overflow-y: auto; - overflow-x: hidden; -} -.x-overflow-auto { - overflow-y: hidden; - overflow-x: auto; -} -.y-overflow-scroll { - overflow-y: scroll; - overflow-x: hidden; -} -.x-overflow-scroll { - overflow-y: hidden; - overflow-x: scroll; -} -.overflow-auto { - overflow-x: auto; - overflow-y: auto; -} -.overflow-scroll { - overflow-x: scroll; - overflow-y: scroll; -} -.overflow-hidden { - overflow-x: hidden; - overflow-y: hidden; -} -.td-overflow { - white-space: normal; - word-break: break-all; -} -.overflow-dot { - text-overflow: ellipsis; - overflow-x: hidden; - overflow-y: hidden; - white-space: nowrap; -} diff --git a/src/css/core/utils/pos.css b/src/css/core/utils/pos.css deleted file mode 100644 index 4744c15495..0000000000 --- a/src/css/core/utils/pos.css +++ /dev/null @@ -1,21 +0,0 @@ -.display-block { - display: block; -} -.display-inline { - display: inline-block; - *display: inline; - *zoom: 1; -} -/**常用于span元素在与combo并列时**/ -.vertical-super { - vertical-align: super; -} -.vertical-top { - vertical-align: top; -} -.horizon-center { - text-align: center; -} -.horizon-left { - text-align: left; -} diff --git a/src/css/core/utils/sizing.css b/src/css/core/utils/sizing.css deleted file mode 100644 index 65ec7a96f5..0000000000 --- a/src/css/core/utils/sizing.css +++ /dev/null @@ -1,21 +0,0 @@ -/*类似ie6的盒子模型 可以在有百分比的时候加border 支持到ie8*/ -.border-sizing { - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} -.content-sizing { - -webkit-box-sizing: content-box; - /*Safari3.2+*/ - -moz-box-sizing: content-box; - /*Firefox3.5+*/ - -ms-box-sizing: content-box; - /*IE8*/ - box-sizing: content-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} diff --git a/src/css/core/wrapper/flex.center.css b/src/css/core/wrapper/flex.center.css deleted file mode 100644 index 74feeac543..0000000000 --- a/src/css/core/wrapper/flex.center.css +++ /dev/null @@ -1,38 +0,0 @@ -.bi-flex-center-layout { - display: box; - /* OLD - Android 4.4- */ - display: -webkit-box; - /* OLD - iOS 6-, Safari 3.1-6 */ - display: -moz-box; - /* OLD - Firefox 19- (buggy but mostly works) */ - display: -ms-flexbox; - /* TWEENER - IE 10 */ - display: -webkit-flex; - /* NEW - Chrome */ - display: flex; - /* NEW, Spec - Opera 12.1, Firefox 20+ */ - /* 09版 */ - -webkit-box-orient: horizontal; - /* 12版 */ - -webkit-flex-direction: row; - -moz-flex-direction: row; - -ms-flex-direction: row; - -o-flex-direction: row; - flex-direction: row; - /* 09版 */ - -webkit-box-pack: center; - /* 12版 */ - -webkit-justify-content: center; - -moz-justify-content: center; - -ms-justify-content: center; - -o-justify-content: center; - justify-content: center; - /* 09版 */ - -webkit-box-align: center; - /* 12版 */ - -webkit-align-items: center; - -moz-align-items: center; - -ms-align-items: center; - -o-align-items: center; - align-items: center; -} diff --git a/src/css/core/wrapper/flex.horizontal.css b/src/css/core/wrapper/flex.horizontal.css deleted file mode 100644 index 1956492672..0000000000 --- a/src/css/core/wrapper/flex.horizontal.css +++ /dev/null @@ -1,66 +0,0 @@ -.bi-flex-horizontal-layout { - display: box; - /* OLD - Android 4.4- */ - display: -webkit-box; - /* OLD - iOS 6-, Safari 3.1-6 */ - display: -moz-box; - /* OLD - Firefox 19- (buggy but mostly works) */ - display: -ms-flexbox; - /* TWEENER - IE 10 */ - display: -webkit-flex; - /* NEW - Chrome */ - display: flex; - /* NEW, Spec - Opera 12.1, Firefox 20+ */ - /* 09版 */ - -webkit-box-orient: horizontal; - /* 12版 */ - -webkit-flex-direction: row; - -moz-flex-direction: row; - -ms-flex-direction: row; - -o-flex-direction: row; - flex-direction: row; - /* 09版 */ - -webkit-box-pack: flex-start; - /* 12版 */ - -webkit-justify-content: flex-start; - -moz-justify-content: flex-start; - -ms-justify-content: flex-start; - -o-justify-content: flex-start; - justify-content: flex-start; - /* 09版 */ - -webkit-box-align: flex-start; - /* 12版 */ - -webkit-align-items: flex-start; - -moz-align-items: flex-start; - -ms-align-items: flex-start; - -o-align-items: flex-start; - align-items: flex-start; - /* 09版 */ - /*-webkit-box-lines: multiple;*/ - /* 12版 */ - -webkit-flex-wrap: nowrap; - -moz-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - -o-flex-wrap: nowrap; - flex-wrap: nowrap; -} -.bi-flex-horizontal-layout.middle { - /* 09版 */ - -webkit-box-align: center; - /* 12版 */ - -webkit-align-items: center; - -moz-align-items: center; - -ms-align-items: center; - -o-align-items: center; - align-items: center; -} -.bi-flex-horizontal-layout.bottom { - /* 09版 */ - -webkit-box-align: flex-end; - /* 12版 */ - -webkit-align-items: flex-end; - -moz-align-items: flex-end; - -ms-align-items: flex-end; - -o-align-items: flex-end; - align-items: flex-end; -} diff --git a/src/css/core/wrapper/flex.vertical.center.css b/src/css/core/wrapper/flex.vertical.center.css deleted file mode 100644 index 0a0bd8a1e1..0000000000 --- a/src/css/core/wrapper/flex.vertical.center.css +++ /dev/null @@ -1,72 +0,0 @@ -.bi-flex-vertical-center { - display: box; - /* OLD - Android 4.4- */ - display: -webkit-box; - /* OLD - iOS 6-, Safari 3.1-6 */ - display: -moz-box; - /* OLD - Firefox 19- (buggy but mostly works) */ - display: -ms-flexbox; - /* TWEENER - IE 10 */ - display: -webkit-flex; - /* NEW - Chrome */ - display: flex; - /* NEW, Spec - Opera 12.1, Firefox 20+ */ - /* 09版 */ - -webkit-box-orient: horizontal; - /* 12版 */ - -webkit-flex-direction: row; - -moz-flex-direction: row; - -ms-flex-direction: row; - -o-flex-direction: row; - flex-direction: row; - /* 09版 */ - -webkit-box-pack: flex-start; - /* 12版 */ - -webkit-justify-content: flex-start; - -moz-justify-content: flex-start; - -ms-justify-content: flex-start; - -o-justify-content: flex-start; - justify-content: flex-start; - /* 09版 */ - -webkit-box-align: center; - /* 12版 */ - -webkit-align-items: center; - -moz-align-items: center; - -ms-align-items: center; - -o-align-items: center; - align-items: center; - /* 09版 */ - /*-webkit-box-lines: multiple;*/ - /* 12版 */ - -webkit-flex-wrap: nowrap; - -moz-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - -o-flex-wrap: nowrap; - flex-wrap: nowrap; -} -.bi-flex-vertical-center.stretch { - /* 09版 */ - -webkit-box-orient: vertical; - /* 12版 */ - -webkit-flex-direction: column; - -moz-flex-direction: column; - -ms-flex-direction: column; - -o-flex-direction: column; - flex-direction: column; - /* 09版 */ - -webkit-box-pack: center; - /* 12版 */ - -webkit-justify-content: center; - -moz-justify-content: center; - -ms-justify-content: center; - -o-justify-content: center; - justify-content: center; - /* 09版 */ - -webkit-box-align: stretch; - /* 12版 */ - -webkit-align-items: stretch; - -moz-align-items: stretch; - -ms-align-items: stretch; - -o-align-items: stretch; - align-items: stretch; -} diff --git a/src/css/core/wrapper/flex.wrapper.center.css b/src/css/core/wrapper/flex.wrapper.center.css deleted file mode 100644 index a3f2e030e6..0000000000 --- a/src/css/core/wrapper/flex.wrapper.center.css +++ /dev/null @@ -1,41 +0,0 @@ -.bi-flex-wrapper-center-layout .flex-wrapper-center-layout-wrapper { - display: box; - /* OLD - Android 4.4- */ - display: -webkit-box; - /* OLD - iOS 6-, Safari 3.1-6 */ - display: -moz-box; - /* OLD - Firefox 19- (buggy but mostly works) */ - display: -ms-flexbox; - /* TWEENER - IE 10 */ - display: -webkit-flex; - /* NEW - Chrome */ - display: flex; - /* NEW, Spec - Opera 12.1, Firefox 20+ */ - /* 09版 */ - -webkit-box-orient: horizontal; - /* 12版 */ - -webkit-flex-direction: row; - -moz-flex-direction: row; - -ms-flex-direction: row; - -o-flex-direction: row; - flex-direction: row; - /* 09版 */ - -webkit-box-pack: center; - /* 12版 */ - -webkit-justify-content: center; - -moz-justify-content: center; - -ms-justify-content: center; - -o-justify-content: center; - justify-content: center; - /* 09版 */ - -webkit-box-align: center; - /* 12版 */ - -webkit-align-items: center; - -moz-align-items: center; - -ms-align-items: center; - -o-align-items: center; - align-items: center; - min-width: 100%; - min-height: 100%; - float: left; -} diff --git a/src/css/core/wrapper/flex.wrapper.horizontal.css b/src/css/core/wrapper/flex.wrapper.horizontal.css deleted file mode 100644 index d3435658bc..0000000000 --- a/src/css/core/wrapper/flex.wrapper.horizontal.css +++ /dev/null @@ -1,67 +0,0 @@ -.bi-flex-wrapper-horizontal-layout .flex-wrapper-horizontal-layout-wrapper { - display: box; - /* OLD - Android 4.4- */ - display: -webkit-box; - /* OLD - iOS 6-, Safari 3.1-6 */ - display: -moz-box; - /* OLD - Firefox 19- (buggy but mostly works) */ - display: -ms-flexbox; - /* TWEENER - IE 10 */ - display: -webkit-flex; - /* NEW - Chrome */ - display: flex; - /* NEW, Spec - Opera 12.1, Firefox 20+ */ - /* 09版 */ - -webkit-box-orient: horizontal; - /* 12版 */ - -webkit-flex-direction: row; - -moz-flex-direction: row; - -ms-flex-direction: row; - -o-flex-direction: row; - flex-direction: row; - /* 09版 */ - -webkit-box-pack: flex-start; - /* 12版 */ - -webkit-justify-content: flex-start; - -moz-justify-content: flex-start; - -ms-justify-content: flex-start; - -o-justify-content: flex-start; - justify-content: flex-start; - /* 09版 */ - -webkit-box-align: flex-start; - /* 12版 */ - -webkit-align-items: flex-start; - -moz-align-items: flex-start; - -ms-align-items: flex-start; - -o-align-items: flex-start; - align-items: flex-start; - /* 09版 */ - /*-webkit-box-lines: multiple;*/ - /* 12版 */ - -webkit-flex-wrap: nowrap; - -moz-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - -o-flex-wrap: nowrap; - flex-wrap: nowrap; - min-height: 100%; -} -.bi-flex-wrapper-horizontal-layout .flex-wrapper-horizontal-layout-wrapper.middle { - /* 09版 */ - -webkit-box-align: center; - /* 12版 */ - -webkit-align-items: center; - -moz-align-items: center; - -ms-align-items: center; - -o-align-items: center; - align-items: center; -} -.bi-flex-wrapper-horizontal-layout .flex-wrapper-horizontal-layout-wrapper.bottom { - /* 09版 */ - -webkit-box-align: flex-end; - /* 12版 */ - -webkit-align-items: flex-end; - -moz-align-items: flex-end; - -ms-align-items: flex-end; - -o-align-items: flex-end; - align-items: flex-end; -} diff --git a/src/css/core/wrapper/flex.wrapper.vertical.center.css b/src/css/core/wrapper/flex.wrapper.vertical.center.css deleted file mode 100644 index 67a30fc7cb..0000000000 --- a/src/css/core/wrapper/flex.wrapper.vertical.center.css +++ /dev/null @@ -1,75 +0,0 @@ -.bi-flex-wrapper-vertical-center .flex-wrapper-vertical-center-wrapper { - display: box; - /* OLD - Android 4.4- */ - display: -webkit-box; - /* OLD - iOS 6-, Safari 3.1-6 */ - display: -moz-box; - /* OLD - Firefox 19- (buggy but mostly works) */ - display: -ms-flexbox; - /* TWEENER - IE 10 */ - display: -webkit-flex; - /* NEW - Chrome */ - display: flex; - /* NEW, Spec - Opera 12.1, Firefox 20+ */ - /* 09版 */ - -webkit-box-orient: horizontal; - /* 12版 */ - -webkit-flex-direction: row; - -moz-flex-direction: row; - -ms-flex-direction: row; - -o-flex-direction: row; - flex-direction: row; - /* 09版 */ - -webkit-box-pack: flex-start; - /* 12版 */ - -webkit-justify-content: flex-start; - -moz-justify-content: flex-start; - -ms-justify-content: flex-start; - -o-justify-content: flex-start; - justify-content: flex-start; - /* 09版 */ - -webkit-box-align: center; - /* 12版 */ - -webkit-align-items: center; - -moz-align-items: center; - -ms-align-items: center; - -o-align-items: center; - align-items: center; - /* 09版 */ - /*-webkit-box-lines: multiple;*/ - /* 12版 */ - -webkit-flex-wrap: nowrap; - -moz-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - -o-flex-wrap: nowrap; - flex-wrap: nowrap; - min-height: 100%; - float: left; -} -.bi-flex-wrapper-vertical-center .flex-wrapper-vertical-center-wrapper.stretch { - width: 100%; - /* 09版 */ - -webkit-box-orient: vertical; - /* 12版 */ - -webkit-flex-direction: column; - -moz-flex-direction: column; - -ms-flex-direction: column; - -o-flex-direction: column; - flex-direction: column; - /* 09版 */ - -webkit-box-pack: center; - /* 12版 */ - -webkit-justify-content: center; - -moz-justify-content: center; - -ms-justify-content: center; - -o-justify-content: center; - justify-content: center; - /* 09版 */ - -webkit-box-align: stretch; - /* 12版 */ - -webkit-align-items: stretch; - -moz-align-items: stretch; - -ms-align-items: stretch; - -o-align-items: stretch; - align-items: stretch; -} diff --git a/src/css/core/wrapper/inline.center.css b/src/css/core/wrapper/inline.center.css deleted file mode 100644 index 1337d38419..0000000000 --- a/src/css/core/wrapper/inline.center.css +++ /dev/null @@ -1,7 +0,0 @@ -.bi-inline-center-adapt-layout:after { - display: inline-block; - width: 0; - min-height: 100%; - vertical-align: middle; - content: ' '; -} diff --git a/src/css/core/wrapper/inline.vertical.css b/src/css/core/wrapper/inline.vertical.css deleted file mode 100644 index 23d94c971c..0000000000 --- a/src/css/core/wrapper/inline.vertical.css +++ /dev/null @@ -1,7 +0,0 @@ -.bi-inline-vertical-adapt-layout:after { - display: inline-block; - width: 0; - min-height: 100%; - vertical-align: middle; - content: ' '; -} diff --git a/src/css/resource/app.css b/src/css/resource/app.css deleted file mode 100644 index a84c8542ba..0000000000 --- a/src/css/resource/app.css +++ /dev/null @@ -1,79 +0,0 @@ -html, -button, -input, -select, -textarea, -* { - font-family: "Microsoft YaHei", "Hiragino Sans GB W3"; -} -html { - height: 100%; - overflow: hidden; -} -body { - position: absolute; - width: 100%; - height: 100%; - margin: 0; - padding: 0; - top: 0; - left: 0; - background-repeat: repeat; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; - color: #666666; - font: normal 12px "Microsoft YaHei", "Hiragino Sans GB W3"; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - text-decoration: none; - -kthml-user-focus: normal; - -moz-user-focus: normal; - -moz-outline: 0 none; - outline: 0 none; -} -div::-webkit-scrollbar, -textarea::-webkit-scrollbar { - -webkit-appearance: none; - background-color: rgba(102, 102, 102, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0d666666,endColorstr=#0d666666); - width: 6px; - height: 6px; -} -div::-webkit-scrollbar-thumb, -textarea::-webkit-scrollbar-thumb { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - background-color: rgba(102, 102, 102, 0.3); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d666666,endColorstr=#4d666666); -} -div::-webkit-scrollbar-thumb:hover, -textarea::-webkit-scrollbar-thumb:hover { - background-color: rgba(102, 102, 102, 0.7); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b3666666,endColorstr=#b3666666); -} -.bi-theme-dark div::-webkit-scrollbar, -.bi-theme-dark textarea::-webkit-scrollbar { - -webkit-appearance: none; - background-color: rgba(204, 204, 204, 0.05); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#0dcccccc,endColorstr=#0dcccccc); - width: 6px; - height: 6px; -} -.bi-theme-dark div::-webkit-scrollbar-thumb, -.bi-theme-dark textarea::-webkit-scrollbar-thumb { - -webkit-border-radius: 0; - -moz-border-radius: 0; - border-radius: 0; - background-color: rgba(204, 204, 204, 0.3); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4dcccccc,endColorstr=#4dcccccc); -} -.bi-theme-dark div::-webkit-scrollbar-thumb:hover, -.bi-theme-dark textarea::-webkit-scrollbar-thumb:hover { - background-color: rgba(204, 204, 204, 0.7); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#b3cccccc,endColorstr=#b3cccccc); -} diff --git a/src/css/resource/background.css b/src/css/resource/background.css deleted file mode 100644 index 65761bef69..0000000000 --- a/src/css/resource/background.css +++ /dev/null @@ -1,250 +0,0 @@ -.farbtastic .wheel { - background: url('images/1x/background/wheel.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/wheel.png'); - _background: none; -} -.farbtastic .overlay { - background: url('images/1x/background/mask.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/mask.png'); - _background: none; -} -.farbtastic .marker { - background: url('images/1x/background/marker.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/marker.png'); - _background: none; -} -.bi-display-tree .ztree li span.button.switch.center_open { - background: url('images/1x/icon/tree-vertical-line-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-3.png'); - _background: none; -} -.bi-display-tree .ztree li span.button.switch.roots_open { - background: url('images/1x/icon/tree-vertical-line-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-2.png'); - _background: none; -} -.bi-display-tree .ztree li span.button.switch.bottom_open { - background: url('images/1x/icon/tree-vertical-line-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-4.png'); - _background: none; -} -.ztree li ul.line { - background: url('images/1x/icon/tree-vertical-line-1.png') repeat-y 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-1.png'); - _background: none; -} -.bi-theme-dark .ztree li ul.line { - background: url('images/1x/icon/dark/tree-vertical-line-1.png') repeat-y 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-1.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_false_full { - background: url('images/1x/icon/check-box-normal.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-normal.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_false_full_focus { - background: url('images/1x/icon/check-box-normal.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-normal.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_false_part { - background: url('images/1x/icon/half_selected.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_false_part_focus { - background: url('images/1x/icon/half_selected.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_true_full { - background: url('images/1x/icon/check-box-active.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-active.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_true_full_focus { - background: url('images/1x/icon/check-box-active.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-active.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_true_part { - background: url('images/1x/icon/half_selected.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); - _background: none; -} -.ztree li span.button.chk.checkbox_true_part_focus { - background: url('images/1x/icon/half_selected.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); - _background: none; -} -.ztree li span.button.root_open { - background: url('images/1x/icon/tree-expand-1.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-1.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.root_open { - background: url('images/1x/icon/dark/tree-expand-1.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-1.png'); - _background: none; -} -.ztree li span.button.root_close { - background: url('images/1x/icon/tree-collapse-1.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-1.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.root_close { - background: url('images/1x/icon/dark/tree-collapse-1.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-1.png'); - _background: none; -} -.ztree li span.button.roots_open { - background: url('images/1x/icon/tree-expand-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-2.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.roots_open { - background: url('images/1x/icon/dark/tree-expand-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-2.png'); - _background: none; -} -.ztree li span.button.roots_close { - background: url('images/1x/icon/tree-collapse-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-2.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.roots_close { - background: url('images/1x/icon/dark/tree-collapse-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-2.png'); - _background: none; -} -.ztree li span.button.center_open { - background: url('images/1x/icon/tree-expand-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-3.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.center_open { - background: url('images/1x/icon/dark/tree-expand-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-3.png'); - _background: none; -} -.ztree li span.button.center_close { - background: url('images/1x/icon/tree-collapse-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-3.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.center_close { - background: url('images/1x/icon/dark/tree-collapse-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-3.png'); - _background: none; -} -.ztree li span.button.bottom_open { - background: url('images/1x/icon/tree-expand-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-4.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.bottom_open { - background: url('images/1x/icon/dark/tree-expand-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-4.png'); - _background: none; -} -.ztree li span.button.bottom_close { - background: url('images/1x/icon/tree-collapse-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-4.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.bottom_close { - background: url('images/1x/icon/dark/tree-collapse-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-4.png'); - _background: none; -} -.ztree li span.button.roots_docu { - background: url('images/1x/icon/tree-vertical-line-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-2.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.roots_docu { - background: url('images/1x/icon/dark/tree-vertical-line-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-2.png'); - _background: none; -} -.ztree li span.button.center_docu { - background: url('images/1x/icon/tree-vertical-line-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-3.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.center_docu { - background: url('images/1x/icon/dark/tree-vertical-line-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-3.png'); - _background: none; -} -.ztree li span.button.bottom_docu { - background: url('images/1x/icon/tree-vertical-line-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-4.png'); - _background: none; -} -.bi-theme-dark .ztree li span.button.bottom_docu { - background: url('images/1x/icon/dark/tree-vertical-line-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-4.png'); - _background: none; -} -.ztree li span.button.ico_loading { - background: url('images/1x/icon/loading.gif') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/loading.gif'); - _background: none; -} -.base-line-conn-background { - background: url('images/1x/icon/tree-vertical-line-1.png') repeat-y 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-1.png'); - _background: none; -} -.bi-theme-dark .base-line-conn-background { - background: url('images/1x/icon/dark/tree-vertical-line-1.png') repeat-y 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-1.png'); - _background: none; -} -.first-line-conn-background { - background: url('images/1x/icon/tree-vertical-line-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-2.png'); - _background: none; -} -.bi-theme-dark .first-line-conn-background { - background: url('images/1x/icon/dark/tree-vertical-line-2.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-2.png'); - _background: none; -} -.mid-line-conn-background { - background: url('images/1x/icon/tree-vertical-line-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-3.png'); - _background: none; -} -.bi-theme-dark .mid-line-conn-background { - background: url('images/1x/icon/dark/tree-vertical-line-3.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-3.png'); - _background: none; -} -.last-line-conn-background { - background: url('images/1x/icon/tree-vertical-line-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-4.png'); - _background: none; -} -.bi-theme-dark .last-line-conn-background { - background: url('images/1x/icon/dark/tree-vertical-line-4.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-4.png'); - _background: none; -} -.loading-background { - background: url('images/1x/icon/loading.gif') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/loading.gif'); - _background: none; -} -.auto-color-background { - background: url('images/1x/background/auto-color.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/auto-color.png'); - _background: none; -} -.trans-color-background { - background: url('images/1x/background/trans-color.png') no-repeat center center; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/background/trans-color.png'); - _background: none; -} diff --git a/src/css/resource/font.css b/src/css/resource/font.css deleted file mode 100644 index fb800e07b8..0000000000 --- a/src/css/resource/font.css +++ /dev/null @@ -1,874 +0,0 @@ -@font-face { - font-family: 'bi'; - src: url('font/iconfont.eot'), /* IE6-IE8 */ url('font/iconfont.woff') format('woff'), /* chrome、firefox */ url('font/iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('font/iconfont.svg#svgFontName') format('svg'); - - /* iOS 4.1- */ -} -@font-face { - font-family: 'bi'; - src: url('font/iconfont.eot') /* IE6-IE8 */; -} -.b-font { - font-family: "bi"; - font-style: normal; - -webkit-font-smoothing: antialiased; - -webkit-text-stroke-width: 0.2px; - -moz-osx-font-smoothing: grayscale; -} -.close-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.close-font .b-font:before { - content: "\e600"; - color: inherit; -} -.close-font.native .b-font:before, -.close-font.disabled .b-font:before { - content: "\e600"; - color: inherit; -} -.close-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.close-h-font .b-font:before { - content: "\e600"; - color: inherit; -} -.close-h-font:hover .b-font:before, -.close-h-font:focus .b-font:before, -.close-h-font.hover .b-font:before { - content: "\e600"; - color: inherit; -} -.close-h-font.native .b-font:before, -.close-h-font.disabled .b-font:before { - content: "\e600"; - color: inherit; -} -.close-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.close-ha-font .b-font:before { - content: "\e600"; - color: inherit; -} -.close-ha-font:hover .b-font:before, -.close-ha-font:focus .b-font:before, -.close-ha-font.hover .b-font:before { - content: "\e600"; - color: inherit; -} -.close-ha-font:active .b-font:before, -.close-ha-font.active .b-font:before { - content: "\e600"; - color: #3f8ce8; -} -.close-ha-font.native .b-font:before, -.close-ha-font.disabled .b-font:before { - content: "\e600"; - color: inherit; -} -.search-close-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.search-close-h-font .b-font:before { - content: "\e600"; - color: inherit; -} -.search-close-h-font:hover .b-font:before, -.search-close-h-font:focus .b-font:before, -.search-close-h-font.hover .b-font:before { - content: "\e600"; - color: #e85050; -} -.search-close-h-font.native .b-font:before, -.search-close-h-font.disabled .b-font:before { - content: "\e600"; - color: inherit; -} -.pre-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pre-page-h-font .b-font:before { - content: "\e601"; - color: inherit; -} -.pre-page-h-font:hover .b-font:before, -.pre-page-h-font:focus .b-font:before, -.pre-page-h-font.hover .b-font:before { - content: "\e601"; - color: inherit; -} -.pre-page-h-font.native .b-font:before, -.pre-page-h-font.disabled .b-font:before { - content: "\e601"; - color: inherit; -} -.next-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.next-page-h-font .b-font:before { - content: "\e602"; - color: inherit; -} -.next-page-h-font:hover .b-font:before, -.next-page-h-font:focus .b-font:before, -.next-page-h-font.hover .b-font:before { - content: "\e602"; - color: inherit; -} -.next-page-h-font.native .b-font:before, -.next-page-h-font.disabled .b-font:before { - content: "\e602"; - color: inherit; -} -.search-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.search-font .b-font:before { - content: "\e604"; - color: inherit; -} -.search-font.native .b-font:before, -.search-font.disabled .b-font:before { - content: "\e604"; - color: inherit; -} -.date-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.date-font .b-font:before { - content: "\e61b"; - color: inherit; -} -.date-font.native .b-font:before, -.date-font.disabled .b-font:before { - content: "\e61b"; - color: inherit; -} -.date-change-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.date-change-h-font .b-font:before { - content: "\e660"; - color: inherit; -} -.date-change-h-font:hover .b-font:before, -.date-change-h-font:focus .b-font:before, -.date-change-h-font.hover .b-font:before { - content: "\e660"; - color: inherit; -} -.date-change-h-font.native .b-font:before, -.date-change-h-font.disabled .b-font:before { - content: "\e660"; - color: inherit; -} -.dot-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.dot-font .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-font.native .b-font:before, -.dot-font.disabled .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.dot-h-font .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-h-font:hover .b-font:before, -.dot-h-font:focus .b-font:before, -.dot-h-font.hover .b-font:before { - content: "\e606"; - color: inherit; -} -.dot-h-font.native .b-font:before, -.dot-h-font.disabled .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.dot-ha-font .b-font:before { - content: "\e606"; - color: #ffffff; -} -.dot-ha-font:hover .b-font:before, -.dot-ha-font:focus .b-font:before, -.dot-ha-font.hover .b-font:before { - content: "\e606"; - color: #999999; -} -.dot-ha-font:active .b-font:before, -.dot-ha-font.active .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-ha-font.native .b-font:before, -.dot-ha-font.disabled .b-font:before { - content: "\e606"; - color: #ffffff; -} -.dot-e-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.dot-e-font .b-font:before { - content: "\e606"; - color: #ffffff; -} -.dot-e-font:hover .b-font:before, -.dot-e-font:focus .b-font:before, -.dot-e-font.hover .b-font:before { - content: "\e606"; - color: #999999; -} -.dot-e-font.active .b-font:before { - content: "\e606"; - color: #1a1a1a; -} -.dot-e-font:active .b-font:before { - content: "\e606"; - color: #3f8ce8; -} -.dot-e-font.native .b-font:before, -.dot-e-font.disabled .b-font:before { - content: "\e606"; - color: #ffffff; -} -.pull-right-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-right-font .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-font.native .b-font:before, -.pull-right-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-right-h-font .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-h-font:hover .b-font:before, -.pull-right-h-font:focus .b-font:before, -.pull-right-h-font.hover .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-h-font.native .b-font:before, -.pull-right-h-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-right-ha-font .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-ha-font:hover .b-font:before, -.pull-right-ha-font:focus .b-font:before, -.pull-right-ha-font.hover .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-ha-font:active .b-font:before, -.pull-right-ha-font.active .b-font:before { - content: "\e607"; - color: #3f8ce8; -} -.pull-right-ha-font.native .b-font:before, -.pull-right-ha-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-e-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-right-e-font .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-e-font:hover .b-font:before, -.pull-right-e-font:focus .b-font:before, -.pull-right-e-font.hover .b-font:before { - content: "\e607"; - color: inherit; -} -.pull-right-e-font.active .b-font:before { - content: "\e607"; - color: #3f8ce8; -} -.pull-right-e-font:active .b-font:before { - content: "\e607"; - color: #3f8ce8; -} -.pull-right-e-font.native .b-font:before, -.pull-right-e-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.copy-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.copy-font .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-font.native .b-font:before, -.copy-font.disabled .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.copy-h-font .b-font:before { - content: "\e610"; - color: #1a1a1a; -} -.copy-h-font:hover .b-font:before, -.copy-h-font:focus .b-font:before, -.copy-h-font.hover .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-h-font.native .b-font:before, -.copy-h-font.disabled .b-font:before { - content: "\e610"; - color: #1a1a1a; -} -.copy-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.copy-ha-font .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-ha-font:hover .b-font:before, -.copy-ha-font:focus .b-font:before, -.copy-ha-font.hover .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-ha-font:active .b-font:before, -.copy-ha-font.active .b-font:before { - content: "\e610"; - color: #3f8ce8; -} -.copy-ha-font.native .b-font:before, -.copy-ha-font.disabled .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-e-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.copy-e-font .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-e-font:hover .b-font:before, -.copy-e-font:focus .b-font:before, -.copy-e-font.hover .b-font:before { - content: "\e610"; - color: inherit; -} -.copy-e-font.active .b-font:before { - content: "\e610"; - color: #3f8ce8; -} -.copy-e-font:active .b-font:before { - content: "\e610"; - color: #3f8ce8; -} -.copy-e-font.native .b-font:before, -.copy-e-font.disabled .b-font:before { - content: "\e610"; - color: inherit; -} -.check-mark-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-mark-font .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-font.native .b-font:before, -.check-mark-font.disabled .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-mark-h-font .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-h-font:hover .b-font:before, -.check-mark-h-font:focus .b-font:before, -.check-mark-h-font.hover .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-h-font.native .b-font:before, -.check-mark-h-font.disabled .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-mark-ha-font .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-ha-font:hover .b-font:before, -.check-mark-ha-font:focus .b-font:before, -.check-mark-ha-font.hover .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-ha-font:active .b-font:before, -.check-mark-ha-font.active .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.check-mark-ha-font.native .b-font:before, -.check-mark-ha-font.disabled .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-e-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-mark-e-font .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-e-font:hover .b-font:before, -.check-mark-e-font:focus .b-font:before, -.check-mark-e-font.hover .b-font:before { - content: "\e611"; - color: inherit; -} -.check-mark-e-font.active .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.check-mark-e-font:active .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.check-mark-e-font.native .b-font:before, -.check-mark-e-font.disabled .b-font:before { - content: "\e611"; - color: inherit; -} -/** dashboard组件/控件 下拉列表图标字体 ~end~**/ -.tree-node-triangle-expand-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.tree-node-triangle-expand-font .b-font:before { - content: "\e608"; - color: inherit; -} -.tree-node-triangle-expand-font.native .b-font:before, -.tree-node-triangle-expand-font.disabled .b-font:before { - content: "\e608"; - color: inherit; -} -.tree-node-triangle-collapse-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.tree-node-triangle-collapse-font .b-font:before { - content: "\e607"; - color: inherit; -} -.tree-node-triangle-collapse-font.native .b-font:before, -.tree-node-triangle-collapse-font.disabled .b-font:before { - content: "\e607"; - color: inherit; -} -.row-pre-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.row-pre-page-h-font .b-font:before { - content: "\e6be"; - color: inherit; -} -.row-pre-page-h-font:hover .b-font:before, -.row-pre-page-h-font:focus .b-font:before, -.row-pre-page-h-font.hover .b-font:before { - content: "\e6be"; - color: inherit; -} -.row-pre-page-h-font.native .b-font:before, -.row-pre-page-h-font.disabled .b-font:before { - content: "\e6be"; - color: inherit; -} -.row-next-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.row-next-page-h-font .b-font:before { - content: "\e6bd"; - color: inherit; -} -.row-next-page-h-font:hover .b-font:before, -.row-next-page-h-font:focus .b-font:before, -.row-next-page-h-font.hover .b-font:before { - content: "\e6bd"; - color: inherit; -} -.row-next-page-h-font.native .b-font:before, -.row-next-page-h-font.disabled .b-font:before { - content: "\e6bd"; - color: inherit; -} -.column-pre-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.column-pre-page-h-font .b-font:before { - content: "\e6bc"; - color: inherit; -} -.column-pre-page-h-font:hover .b-font:before, -.column-pre-page-h-font:focus .b-font:before, -.column-pre-page-h-font.hover .b-font:before { - content: "\e6bc"; - color: inherit; -} -.column-pre-page-h-font.native .b-font:before, -.column-pre-page-h-font.disabled .b-font:before { - content: "\e6bc"; - color: inherit; -} -.column-next-page-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.column-next-page-h-font .b-font:before { - content: "\e6bb"; - color: inherit; -} -.column-next-page-h-font:hover .b-font:before, -.column-next-page-h-font:focus .b-font:before, -.column-next-page-h-font.hover .b-font:before { - content: "\e6bb"; - color: inherit; -} -.column-next-page-h-font.native .b-font:before, -.column-next-page-h-font.disabled .b-font:before { - content: "\e6bb"; - color: inherit; -} -.trigger-triangle-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.trigger-triangle-font .b-font:before { - content: "\e66a"; - color: #999999; -} -.trigger-triangle-font:hover .b-font:before, -.trigger-triangle-font:focus .b-font:before, -.trigger-triangle-font.hover .b-font:before { - content: "\e66a"; - color: #999999; -} -.trigger-triangle-font:active .b-font:before, -.trigger-triangle-font.active .b-font:before { - content: "\e66a"; - color: #3f8ce8; -} -.trigger-triangle-font.native .b-font:before, -.trigger-triangle-font.disabled .b-font:before { - content: "\e66a"; - color: #999999; -} -.pull-down-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-down-font .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-font.native .b-font:before, -.pull-down-font.disabled .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-h-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-down-h-font .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-h-font:hover .b-font:before, -.pull-down-h-font:focus .b-font:before, -.pull-down-h-font.hover .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-h-font.native .b-font:before, -.pull-down-h-font.disabled .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-ha-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.pull-down-ha-font .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-ha-font:hover .b-font:before, -.pull-down-ha-font:focus .b-font:before, -.pull-down-ha-font.hover .b-font:before { - content: "\e608"; - color: inherit; -} -.pull-down-ha-font:active .b-font:before, -.pull-down-ha-font.active .b-font:before { - content: "\e608"; - color: #3f8ce8; -} -.pull-down-ha-font.native .b-font:before, -.pull-down-ha-font.disabled .b-font:before { - content: "\e608"; - color: inherit; -} -.check-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.check-font .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.check-font.native .b-font:before, -.check-font.disabled .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.item-check-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.item-check-font .b-font:before { - content: "\e611"; - color: #ffffff; -} -.item-check-font:hover .b-font:before, -.item-check-font:focus .b-font:before, -.item-check-font.hover .b-font:before { - content: "\e611"; - color: #999999; -} -.item-check-font:active .b-font:before, -.item-check-font.active .b-font:before { - content: "\e611"; - color: #3f8ce8; -} -.item-check-font.native .b-font:before, -.item-check-font.disabled .b-font:before { - content: "\e611"; - color: #ffffff; -} -.primary-key-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ';'); -} -.primary-key-font .b-font:before { - content: "\e67d;"; - color: inherit; -} -.primary-key-font:hover .b-font:before, -.primary-key-font:focus .b-font:before, -.primary-key-font.hover .b-font:before { - content: "\e67d;"; - color: inherit; -} -.primary-key-font.native .b-font:before, -.primary-key-font.disabled .b-font:before { - content: "\e67d;"; - color: inherit; -} -.drag-tag-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.drag-tag-font .b-font:before { - content: "\e600"; - color: #f07d0a; -} -.drag-tag-font.native .b-font:before, -.drag-tag-font.disabled .b-font:before { - content: "\e600"; - color: #f07d0a; -} -.less-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.less-font .b-font:before { - content: "\e633"; - color: inherit; -} -.less-font:hover .b-font:before, -.less-font:focus .b-font:before, -.less-font.hover .b-font:before { - content: "\e633"; - color: inherit; -} -.less-font:active .b-font:before, -.less-font.active .b-font:before { - content: "\e633"; - color: #3f8ce8; -} -.less-font.native .b-font:before, -.less-font.disabled .b-font:before { - content: "\e633"; - color: inherit; -} -.less-equal-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.less-equal-font .b-font:before { - content: "\e636"; - color: inherit; -} -.less-equal-font:hover .b-font:before, -.less-equal-font:focus .b-font:before, -.less-equal-font.hover .b-font:before { - content: "\e636"; - color: inherit; -} -.less-equal-font:active .b-font:before, -.less-equal-font.active .b-font:before { - content: "\e636"; - color: #3f8ce8; -} -.less-equal-font.native .b-font:before, -.less-equal-font.disabled .b-font:before { - content: "\e636"; - color: inherit; -} -.text-bold-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-bold-font .b-font:before { - content: "\e64d"; - color: inherit; -} -.text-bold-font.native .b-font:before, -.text-bold-font.disabled .b-font:before { - content: "\e64d"; - color: inherit; -} -.text-italic-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-italic-font .b-font:before { - content: "\e656"; - color: inherit; -} -.text-italic-font.native .b-font:before, -.text-italic-font.disabled .b-font:before { - content: "\e656"; - color: inherit; -} -.text-underline-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-underline-font .b-font:before { - content: "\e650"; - color: inherit; -} -.text-underline-font.native .b-font:before, -.text-underline-font.disabled .b-font:before { - content: "\e650"; - color: inherit; -} -.text-color-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-color-font .b-font:before { - content: "\e69c"; - color: inherit; -} -.text-color-font.native .b-font:before, -.text-color-font.disabled .b-font:before { - content: "\e69c"; - color: inherit; -} -.text-background-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-background-font .b-font:before { - content: "\e696"; - color: inherit; -} -.text-background-font.native .b-font:before, -.text-background-font.disabled .b-font:before { - content: "\e696"; - color: inherit; -} -.text-color-underline-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-color-underline-font .b-font:before { - content: "\e69d"; - color: inherit; -} -.text-color-underline-font.native .b-font:before, -.text-color-underline-font.disabled .b-font:before { - content: "\e69d"; - color: inherit; -} -.text-align-left-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-align-left-font .b-font:before { - content: "\e654"; - color: inherit; -} -.text-align-left-font.native .b-font:before, -.text-align-left-font.disabled .b-font:before { - content: "\e654"; - color: inherit; -} -.text-align-center-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-align-center-font .b-font:before { - content: "\e64f"; - color: inherit; -} -.text-align-center-font.native .b-font:before, -.text-align-center-font.disabled .b-font:before { - content: "\e64f"; - color: inherit; -} -.text-align-right-font .b-font { - *zoom: expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = ''); -} -.text-align-right-font .b-font:before { - content: "\e651"; - color: inherit; -} -.text-align-right-font.native .b-font:before, -.text-align-right-font.disabled .b-font:before { - content: "\e651"; - color: inherit; -} diff --git a/src/css/resource/icon.css b/src/css/resource/icon.css deleted file mode 100644 index 6f13861fc4..0000000000 --- a/src/css/resource/icon.css +++ /dev/null @@ -1,862 +0,0 @@ -.tree-collapse-icon-type1 .x-icon, -.tree-collapse-icon-type1:hover .x-icon, -.tree-collapse-icon-type1:active .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-1.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type1 .x-icon.hack, -.tree-collapse-icon-type1:hover .x-icon.hack, -.tree-collapse-icon-type1:active .x-icon.hack { - background: url('images/1x/icon/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-1.png'); - _background: none; -} -.tree-collapse-icon-type1.native .x-icon, -.tree-collapse-icon-type1.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-1.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type1.native .x-icon.hack, -.tree-collapse-icon-type1.disabled .x-icon.hack { - background: url('images/1x/icon/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-1.png'); - _background: none; -} -.tree-collapse-icon-type2 .x-icon, -.tree-collapse-icon-type2:hover .x-icon, -.tree-collapse-icon-type2:active .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-2.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type2 .x-icon.hack, -.tree-collapse-icon-type2:hover .x-icon.hack, -.tree-collapse-icon-type2:active .x-icon.hack { - background: url('images/1x/icon/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-2.png'); - _background: none; -} -.tree-collapse-icon-type2.native .x-icon, -.tree-collapse-icon-type2.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-2.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type2.native .x-icon.hack, -.tree-collapse-icon-type2.disabled .x-icon.hack { - background: url('images/1x/icon/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-2.png'); - _background: none; -} -.tree-collapse-icon-type3 .x-icon, -.tree-collapse-icon-type3:hover .x-icon, -.tree-collapse-icon-type3:active .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-3.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type3 .x-icon.hack, -.tree-collapse-icon-type3:hover .x-icon.hack, -.tree-collapse-icon-type3:active .x-icon.hack { - background: url('images/1x/icon/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-3.png'); - _background: none; -} -.tree-collapse-icon-type3.native .x-icon, -.tree-collapse-icon-type3.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-3.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type3.native .x-icon.hack, -.tree-collapse-icon-type3.disabled .x-icon.hack { - background: url('images/1x/icon/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-3.png'); - _background: none; -} -.tree-collapse-icon-type4 .x-icon, -.tree-collapse-icon-type4:hover .x-icon, -.tree-collapse-icon-type4:active .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-4.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type4 .x-icon.hack, -.tree-collapse-icon-type4:hover .x-icon.hack, -.tree-collapse-icon-type4:active .x-icon.hack { - background: url('images/1x/icon/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-4.png'); - _background: none; -} -.tree-collapse-icon-type4.native .x-icon, -.tree-collapse-icon-type4.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-collapse-4.png'); - background-size: contain; - _background: none; -} -.tree-collapse-icon-type4.native .x-icon.hack, -.tree-collapse-icon-type4.disabled .x-icon.hack { - background: url('images/1x/icon/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-collapse-4.png'); - _background: none; -} -.tree-expand-icon-type1 .x-icon, -.tree-expand-icon-type1:hover .x-icon, -.tree-expand-icon-type1:active .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-1.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type1 .x-icon.hack, -.tree-expand-icon-type1:hover .x-icon.hack, -.tree-expand-icon-type1:active .x-icon.hack { - background: url('images/1x/icon/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-1.png'); - _background: none; -} -.tree-expand-icon-type1.native .x-icon, -.tree-expand-icon-type1.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-1.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type1.native .x-icon.hack, -.tree-expand-icon-type1.disabled .x-icon.hack { - background: url('images/1x/icon/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-1.png'); - _background: none; -} -.tree-expand-icon-type2 .x-icon, -.tree-expand-icon-type2:hover .x-icon, -.tree-expand-icon-type2:active .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-2.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type2 .x-icon.hack, -.tree-expand-icon-type2:hover .x-icon.hack, -.tree-expand-icon-type2:active .x-icon.hack { - background: url('images/1x/icon/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-2.png'); - _background: none; -} -.tree-expand-icon-type2.native .x-icon, -.tree-expand-icon-type2.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-2.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type2.native .x-icon.hack, -.tree-expand-icon-type2.disabled .x-icon.hack { - background: url('images/1x/icon/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-2.png'); - _background: none; -} -.tree-expand-icon-type3 .x-icon, -.tree-expand-icon-type3:hover .x-icon, -.tree-expand-icon-type3:active .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-3.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type3 .x-icon.hack, -.tree-expand-icon-type3:hover .x-icon.hack, -.tree-expand-icon-type3:active .x-icon.hack { - background: url('images/1x/icon/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-3.png'); - _background: none; -} -.tree-expand-icon-type3.native .x-icon, -.tree-expand-icon-type3.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-3.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type3.native .x-icon.hack, -.tree-expand-icon-type3.disabled .x-icon.hack { - background: url('images/1x/icon/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-3.png'); - _background: none; -} -.tree-expand-icon-type4 .x-icon, -.tree-expand-icon-type4:hover .x-icon, -.tree-expand-icon-type4:active .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-4.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type4 .x-icon.hack, -.tree-expand-icon-type4:hover .x-icon.hack, -.tree-expand-icon-type4:active .x-icon.hack { - background: url('images/1x/icon/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-4.png'); - _background: none; -} -.tree-expand-icon-type4.native .x-icon, -.tree-expand-icon-type4.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-expand-4.png'); - background-size: contain; - _background: none; -} -.tree-expand-icon-type4.native .x-icon.hack, -.tree-expand-icon-type4.disabled .x-icon.hack { - background: url('images/1x/icon/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-expand-4.png'); - _background: none; -} -.tree-vertical-line-type2 .x-icon, -.tree-vertical-line-type2:hover .x-icon, -.tree-vertical-line-type2:active .x-icon { - display: block; - background: url('images/2x/icon/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-vertical-line-2.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type2 .x-icon.hack, -.tree-vertical-line-type2:hover .x-icon.hack, -.tree-vertical-line-type2:active .x-icon.hack { - background: url('images/1x/icon/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-2.png'); - _background: none; -} -.tree-vertical-line-type2.native .x-icon, -.tree-vertical-line-type2.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-vertical-line-2.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type2.native .x-icon.hack, -.tree-vertical-line-type2.disabled .x-icon.hack { - background: url('images/1x/icon/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-2.png'); - _background: none; -} -.tree-vertical-line-type3 .x-icon, -.tree-vertical-line-type3:hover .x-icon, -.tree-vertical-line-type3:active .x-icon { - display: block; - background: url('images/2x/icon/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-vertical-line-3.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type3 .x-icon.hack, -.tree-vertical-line-type3:hover .x-icon.hack, -.tree-vertical-line-type3:active .x-icon.hack { - background: url('images/1x/icon/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-3.png'); - _background: none; -} -.tree-vertical-line-type3.native .x-icon, -.tree-vertical-line-type3.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-vertical-line-3.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type3.native .x-icon.hack, -.tree-vertical-line-type3.disabled .x-icon.hack { - background: url('images/1x/icon/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-3.png'); - _background: none; -} -.tree-vertical-line-type4 .x-icon, -.tree-vertical-line-type4:hover .x-icon, -.tree-vertical-line-type4:active .x-icon { - display: block; - background: url('images/2x/icon/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-vertical-line-4.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type4 .x-icon.hack, -.tree-vertical-line-type4:hover .x-icon.hack, -.tree-vertical-line-type4:active .x-icon.hack { - background: url('images/1x/icon/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-4.png'); - _background: none; -} -.tree-vertical-line-type4.native .x-icon, -.tree-vertical-line-type4.disabled .x-icon { - display: block; - background: url('images/2x/icon/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/tree-vertical-line-4.png'); - background-size: contain; - _background: none; -} -.tree-vertical-line-type4.native .x-icon.hack, -.tree-vertical-line-type4.disabled .x-icon.hack { - background: url('images/1x/icon/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/tree-vertical-line-4.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type1 .x-icon, -.bi-theme-dark .tree-collapse-icon-type1:hover .x-icon, -.bi-theme-dark .tree-collapse-icon-type1:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-1.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type1 .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type1:hover .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type1:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-1.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type1.native .x-icon, -.bi-theme-dark .tree-collapse-icon-type1.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-1.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type1.native .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type1.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-1.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type2 .x-icon, -.bi-theme-dark .tree-collapse-icon-type2:hover .x-icon, -.bi-theme-dark .tree-collapse-icon-type2:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type2 .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type2:hover .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type2:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-2.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type2.native .x-icon, -.bi-theme-dark .tree-collapse-icon-type2.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type2.native .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type2.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-2.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type3 .x-icon, -.bi-theme-dark .tree-collapse-icon-type3:hover .x-icon, -.bi-theme-dark .tree-collapse-icon-type3:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type3 .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type3:hover .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type3:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-3.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type3.native .x-icon, -.bi-theme-dark .tree-collapse-icon-type3.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type3.native .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type3.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-3.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type4 .x-icon, -.bi-theme-dark .tree-collapse-icon-type4:hover .x-icon, -.bi-theme-dark .tree-collapse-icon-type4:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type4 .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type4:hover .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type4:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-4.png'); - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type4.native .x-icon, -.bi-theme-dark .tree-collapse-icon-type4.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-collapse-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-collapse-icon-type4.native .x-icon.hack, -.bi-theme-dark .tree-collapse-icon-type4.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-collapse-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-collapse-4.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type1 .x-icon, -.bi-theme-dark .tree-expand-icon-type1:hover .x-icon, -.bi-theme-dark .tree-expand-icon-type1:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-1.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type1 .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type1:hover .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type1:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-1.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type1.native .x-icon, -.bi-theme-dark .tree-expand-icon-type1.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-1.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type1.native .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type1.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-1.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-1.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type2 .x-icon, -.bi-theme-dark .tree-expand-icon-type2:hover .x-icon, -.bi-theme-dark .tree-expand-icon-type2:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type2 .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type2:hover .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type2:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-2.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type2.native .x-icon, -.bi-theme-dark .tree-expand-icon-type2.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type2.native .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type2.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-2.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type3 .x-icon, -.bi-theme-dark .tree-expand-icon-type3:hover .x-icon, -.bi-theme-dark .tree-expand-icon-type3:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type3 .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type3:hover .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type3:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-3.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type3.native .x-icon, -.bi-theme-dark .tree-expand-icon-type3.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type3.native .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type3.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-3.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type4 .x-icon, -.bi-theme-dark .tree-expand-icon-type4:hover .x-icon, -.bi-theme-dark .tree-expand-icon-type4:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type4 .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type4:hover .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type4:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-4.png'); - _background: none; -} -.bi-theme-dark .tree-expand-icon-type4.native .x-icon, -.bi-theme-dark .tree-expand-icon-type4.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-expand-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-expand-icon-type4.native .x-icon.hack, -.bi-theme-dark .tree-expand-icon-type4.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-expand-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-expand-4.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type2 .x-icon, -.bi-theme-dark .tree-vertical-line-type2:hover .x-icon, -.bi-theme-dark .tree-vertical-line-type2:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-vertical-line-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type2 .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type2:hover .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type2:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-2.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type2.native .x-icon, -.bi-theme-dark .tree-vertical-line-type2.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-vertical-line-2.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type2.native .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type2.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-vertical-line-2.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-2.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type3 .x-icon, -.bi-theme-dark .tree-vertical-line-type3:hover .x-icon, -.bi-theme-dark .tree-vertical-line-type3:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-vertical-line-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type3 .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type3:hover .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type3:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-3.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type3.native .x-icon, -.bi-theme-dark .tree-vertical-line-type3.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-vertical-line-3.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type3.native .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type3.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-vertical-line-3.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-3.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type4 .x-icon, -.bi-theme-dark .tree-vertical-line-type4:hover .x-icon, -.bi-theme-dark .tree-vertical-line-type4:active .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-vertical-line-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type4 .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type4:hover .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type4:active .x-icon.hack { - background: url('images/1x/icon/dark/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-4.png'); - _background: none; -} -.bi-theme-dark .tree-vertical-line-type4.native .x-icon, -.bi-theme-dark .tree-vertical-line-type4.disabled .x-icon { - display: block; - background: url('images/2x/icon/dark/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/dark/tree-vertical-line-4.png'); - background-size: contain; - _background: none; -} -.bi-theme-dark .tree-vertical-line-type4.native .x-icon.hack, -.bi-theme-dark .tree-vertical-line-type4.disabled .x-icon.hack { - background: url('images/1x/icon/dark/tree-vertical-line-4.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/dark/tree-vertical-line-4.png'); - _background: none; -} -.check-box-icon .x-icon { - display: block; - background: url('images/2x/icon/check-box-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check-box-normal.png'); - background-size: contain; - _background: none; -} -.check-box-icon .x-icon.hack { - background: url('images/1x/icon/check-box-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-normal.png'); - _background: none; -} -.check-box-icon:hover .x-icon, -.check-box-icon:focus .x-icon, -.check-box-icon.hover .x-icon { - display: block; - background: url('images/2x/icon/check-box-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check-box-normal.png'); - background-size: contain; - _background: none; -} -.check-box-icon:hover .x-icon.hack, -.check-box-icon:focus .x-icon.hack, -.check-box-icon.hover .x-icon.hack { - background: url('images/1x/icon/check-box-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-normal.png'); - _background: none; -} -.check-box-icon:active .x-icon, -.check-box-icon.active .x-icon { - display: block; - background: url('images/2x/icon/check-box-active.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check-box-active.png'); - background-size: contain; - _background: none; -} -.check-box-icon:active .x-icon.hack, -.check-box-icon.active .x-icon.hack { - background: url('images/1x/icon/check-box-active.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-active.png'); - _background: none; -} -.check-box-icon.native .x-icon, -.check-box-icon.disabled .x-icon { - display: block; - background: url('images/2x/icon/check-box-disable.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check-box-disable.png'); - background-size: contain; - _background: none; -} -.check-box-icon.native .x-icon.hack, -.check-box-icon.disabled .x-icon.hack { - background: url('images/1x/icon/check-box-disable.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-disable.png'); - _background: none; -} -.check-box-icon.native .x-icon, -.check-box-icon.disabled.active .x-icon { - display: block; - background: url('images/2x/icon/check-box-disable2.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/check-box-disable2.png'); - background-size: contain; - _background: none; -} -.check-box-icon.native .x-icon.hack, -.check-box-icon.disabled.active .x-icon.hack { - background: url('images/1x/icon/check-box-disable2.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/check-box-disable2.png'); - _background: none; -} -.radio-icon .x-icon { - display: block; - background: url('images/2x/icon/radio-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/radio-normal.png'); - background-size: contain; - _background: none; -} -.radio-icon .x-icon.hack { - background: url('images/1x/icon/radio-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio-normal.png'); - _background: none; -} -.radio-icon:hover .x-icon, -.radio-icon:focus .x-icon, -.radio-icon.hover .x-icon { - display: block; - background: url('images/2x/icon/radio-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/radio-normal.png'); - background-size: contain; - _background: none; -} -.radio-icon:hover .x-icon.hack, -.radio-icon:focus .x-icon.hack, -.radio-icon.hover .x-icon.hack { - background: url('images/1x/icon/radio-normal.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio-normal.png'); - _background: none; -} -.radio-icon:active .x-icon, -.radio-icon.active .x-icon { - display: block; - background: url('images/2x/icon/radio-active.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/radio-active.png'); - background-size: contain; - _background: none; -} -.radio-icon:active .x-icon.hack, -.radio-icon.active .x-icon.hack { - background: url('images/1x/icon/radio-active.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio-active.png'); - _background: none; -} -.radio-icon.native .x-icon, -.radio-icon.disabled .x-icon { - display: block; - background: url('images/2x/icon/radio-disable.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/radio-disable.png'); - background-size: contain; - _background: none; -} -.radio-icon.native .x-icon.hack, -.radio-icon.disabled .x-icon.hack { - background: url('images/1x/icon/radio-disable.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio-disable.png'); - _background: none; -} -.radio-icon.native .x-icon, -.radio-icon.disabled.active .x-icon { - display: block; - background: url('images/2x/icon/radio-disable2.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/radio-disable2.png'); - background-size: contain; - _background: none; -} -.radio-icon.native .x-icon.hack, -.radio-icon.disabled.active .x-icon.hack { - background: url('images/1x/icon/radio-disable2.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/radio-disable2.png'); - _background: none; -} -.check-half-select-icon .x-icon, -.check-half-select-icon:hover .x-icon, -.check-half-select-icon:active .x-icon { - display: block; - background: url('images/2x/icon/half_selected.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/half_selected.png'); - background-size: contain; - _background: none; -} -.check-half-select-icon .x-icon.hack, -.check-half-select-icon:hover .x-icon.hack, -.check-half-select-icon:active .x-icon.hack { - background: url('images/1x/icon/half_selected.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); - _background: none; -} -.check-half-select-icon.native .x-icon, -.check-half-select-icon.disabled .x-icon { - display: block; - background: url('images/2x/icon/half_selected.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/half_selected.png'); - background-size: contain; - _background: none; -} -.check-half-select-icon.native .x-icon.hack, -.check-half-select-icon.disabled .x-icon.hack { - background: url('images/1x/icon/half_selected.png') no-repeat 0px 0px; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/half_selected.png'); - _background: none; -} -.slider-icon .x-icon { - display: block; - background: url('images/2x/icon/slider-normal-small.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/slider-normal-small.png'); - background-size: contain; - _background: none; -} -.slider-icon .x-icon.hack { - background: url('images/1x/icon/slider-normal-small.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/slider-normal-small.png'); - _background: none; -} -.slider-icon:hover .x-icon, -.slider-icon:focus .x-icon, -.slider-icon.hover .x-icon { - display: block; - background: url('images/2x/icon/slider-active-small.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/2x/icon/slider-active-small.png'); - background-size: contain; - _background: none; -} -.slider-icon:hover .x-icon.hack, -.slider-icon:focus .x-icon.hack, -.slider-icon.hover .x-icon.hack { - background: url('images/1x/icon/slider-active-small.png') no-repeat 0 0; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/1x/icon/slider-active-small.png'); - _background: none; -} -.slider-icon.native .x-icon, -.slider-icon.disabled .x-icon { - display: block; -} diff --git a/src/css/theme/dark.css b/src/css/theme/dark.css deleted file mode 100644 index 7349cdeef4..0000000000 --- a/src/css/theme/dark.css +++ /dev/null @@ -1,7 +0,0 @@ -.bi-theme-dark { - background-color: #191b2b; - color: #cccccc; -} -.bi-theme-dark .bi-input { - color: #ffffff; -} diff --git a/src/css/widget/arrangement/arrangement.css b/src/css/widget/arrangement/arrangement.css deleted file mode 100644 index a42351a6d5..0000000000 --- a/src/css/widget/arrangement/arrangement.css +++ /dev/null @@ -1,36 +0,0 @@ -.bi-arrangement .arrangement-helper { - background: #3f8ce8; - z-index: 1000000000; -} -.bi-arrangement .arrangement-block { - z-index: 1000000000; -} -.bi-arrangement .arrangement-drop-container { - z-index: 1000000000; -} -.bi-arrangement .arrangement-drop-container .arrangement-drop-region { - overflow: hidden; -} -.bi-arrangement .arrangement-drop-container .drop-devider { - z-index: 1000000001; - background: #3f8ce8; -} -.bi-arrangement .arrangement-drop-container .top-left, -.bi-arrangement .arrangement-drop-container .top-right, -.bi-arrangement .arrangement-drop-container .bottom-left, -.bi-arrangement .arrangement-drop-container .bottom-right, -.bi-arrangement .arrangement-drop-container .top-left-second, -.bi-arrangement .arrangement-drop-container .top-right-second, -.bi-arrangement .arrangement-drop-container .bottom-left-second, -.bi-arrangement .arrangement-drop-container .bottom-right-second, -.bi-arrangement .arrangement-drop-container .top-center, -.bi-arrangement .arrangement-drop-container .bottom-center, -.bi-arrangement .arrangement-drop-container .left-center, -.bi-arrangement .arrangement-drop-container .right-center, -.bi-arrangement .arrangement-drop-container .top-center-second, -.bi-arrangement .arrangement-drop-container .bottom-center-second, -.bi-arrangement .arrangement-drop-container .left-center-second, -.bi-arrangement .arrangement-drop-container .right-center-second { - z-index: 1000000001; - background: #3f8ce8; -} diff --git a/src/css/widget/arrangement/arrangement.droppable.css b/src/css/widget/arrangement/arrangement.droppable.css deleted file mode 100644 index 003a55bb1a..0000000000 --- a/src/css/widget/arrangement/arrangement.droppable.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-arrangement-droppable { - z-index: 100000; -} diff --git a/src/css/widget/date/trigger.date.css b/src/css/widget/date/trigger.date.css deleted file mode 100644 index 94c2071eff..0000000000 --- a/src/css/widget/date/trigger.date.css +++ /dev/null @@ -1,5 +0,0 @@ -.bi-date-trigger { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} diff --git a/src/css/widget/downlist/popup.downlist.css b/src/css/widget/downlist/popup.downlist.css deleted file mode 100644 index a3a7ae2a5e..0000000000 --- a/src/css/widget/downlist/popup.downlist.css +++ /dev/null @@ -1,6 +0,0 @@ -.bi-down-list-popup .list-group-item-text { - max-width: 203px; -} -.bi-down-list-popup .bi-down-list-item .list-item-text { - max-width: 203px; -} diff --git a/src/css/widget/exceltable/exceltable.css b/src/css/widget/exceltable/exceltable.css deleted file mode 100644 index 4f6dc3b7ad..0000000000 --- a/src/css/widget/exceltable/exceltable.css +++ /dev/null @@ -1,6 +0,0 @@ -.bi-excel-table > div.bottom-right > div > div > table { - border-right: 1px solid #d4dadd; -} -.bi-theme-dark .bi-excel-table > div.bottom-right > div > div > table { - border-right: 1px solid #525466; -} diff --git a/src/css/widget/exceltable/exceltable.header.cell.css b/src/css/widget/exceltable/exceltable.header.cell.css deleted file mode 100644 index 36056b2621..0000000000 --- a/src/css/widget/exceltable/exceltable.header.cell.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-excel-table-header-cell { - font-weight: bold; -} diff --git a/src/css/widget/filemanager/nav/button/button.nav.filemanager.css b/src/css/widget/filemanager/nav/button/button.nav.filemanager.css deleted file mode 100644 index 973b3c1c16..0000000000 --- a/src/css/widget/filemanager/nav/button/button.nav.filemanager.css +++ /dev/null @@ -1,14 +0,0 @@ -.bi-file-manager-nav-button .file-manager-nav-button-text { - max-width: 200px; -} -.bi-file-manager-nav-button .file-manager-nav-button-text.active { - background-color: #eff1f4; - color: #999999; -} -.bi-file-manager-nav-button .file-manager-nav-button-triangle { - z-index: 1; -} -.bi-theme-dark .bi-file-manager-nav-button .file-manager-nav-button-text.active { - background-color: #191b2b; - color: #999999; -} diff --git a/src/css/widget/interactivearrangement/interactivearrangement.css b/src/css/widget/interactivearrangement/interactivearrangement.css deleted file mode 100644 index f52a2e3b9e..0000000000 --- a/src/css/widget/interactivearrangement/interactivearrangement.css +++ /dev/null @@ -1,7 +0,0 @@ -.bi-interactive-arrangement .interactive-arrangement-dragtag-line { - z-index: 1000000000; - background-color: #f07d0a; -} -.bi-interactive-arrangement .interactive-arrangement-dragtag-icon { - z-index: 1000000000; -} diff --git a/src/css/widget/intervalslider/intervalslider.css b/src/css/widget/intervalslider/intervalslider.css deleted file mode 100644 index b5b62cba39..0000000000 --- a/src/css/widget/intervalslider/intervalslider.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-interval-slider { - min-height: 70px; -} diff --git a/src/css/widget/intervalslider/intervalslider.label.css b/src/css/widget/intervalslider/intervalslider.label.css deleted file mode 100644 index 71d128223d..0000000000 --- a/src/css/widget/intervalslider/intervalslider.label.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-interval-slider-label { - min-height: 50px; -} diff --git a/src/css/widget/month/trigger.month.css b/src/css/widget/month/trigger.month.css deleted file mode 100644 index 047ce2087b..0000000000 --- a/src/css/widget/month/trigger.month.css +++ /dev/null @@ -1,5 +0,0 @@ -.bi-month-trigger { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} diff --git a/src/css/widget/multidate/multidate.combo.css b/src/css/widget/multidate/multidate.combo.css deleted file mode 100644 index c98349ffbc..0000000000 --- a/src/css/widget/multidate/multidate.combo.css +++ /dev/null @@ -1,5 +0,0 @@ -.bi-multidate-combo { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} diff --git a/src/css/widget/multidate/multidate.popup.css b/src/css/widget/multidate/multidate.popup.css deleted file mode 100644 index ac4793ed0c..0000000000 --- a/src/css/widget/multidate/multidate.popup.css +++ /dev/null @@ -1,16 +0,0 @@ -.bi-multidate-popup .multidate-popup-label { - color: #3f8ce8; - font-size: 14px; -} -.bi-multidate-popup .multidate-popup-item:active, -.bi-multidate-popup .multidate-popup-item.active { - background-color: #3f8ce8; - color: #ffffff; - -webkit-border-radius: 2px 2px 0 0; - -moz-border-radius: 2px 2px 0 0; - border-radius: 2px 2px 0 0; -} -.bi-multidate-popup .multidate-popup-button { - color: #3f8ce8; - font-size: 14px; -} diff --git a/src/css/widget/multidate/multidate.segment.css b/src/css/widget/multidate/multidate.segment.css deleted file mode 100644 index 0b9a434749..0000000000 --- a/src/css/widget/multidate/multidate.segment.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-multidate-segment .bi-multidate-editor { - font-size: 14px; -} diff --git a/src/css/widget/multiselect/check/multiselect.check.pane.css b/src/css/widget/multiselect/check/multiselect.check.pane.css deleted file mode 100644 index cf9105e466..0000000000 --- a/src/css/widget/multiselect/check/multiselect.check.pane.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-multi-select-check-pane .multi-select-check-selected { - text-decoration: underline; -} diff --git a/src/css/widget/multiselect/multiselect.combo.css b/src/css/widget/multiselect/multiselect.combo.css deleted file mode 100644 index 7e76ec81c9..0000000000 --- a/src/css/widget/multiselect/multiselect.combo.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-multi-select-combo .multi-select-trigger-icon-button { - font-size: 16px; -} diff --git a/src/css/widget/multiselect/multiselect.insert.combo.css b/src/css/widget/multiselect/multiselect.insert.combo.css deleted file mode 100644 index 23dc44e668..0000000000 --- a/src/css/widget/multiselect/multiselect.insert.combo.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-multi-select-insert-combo .multi-select-trigger-icon-button { - font-size: 16px; -} diff --git a/src/css/widget/multiselect/multiselect.trigger.css b/src/css/widget/multiselect/multiselect.trigger.css deleted file mode 100644 index 31e53166c8..0000000000 --- a/src/css/widget/multiselect/multiselect.trigger.css +++ /dev/null @@ -1,5 +0,0 @@ -.bi-multi-select-trigger { - -webkit-border-radius: 2px 2px 2px 2px; - -moz-border-radius: 2px 2px 2px 2px; - border-radius: 2px 2px 2px 2px; -} diff --git a/src/css/widget/multiselect/search/multiselect.search.pane.css b/src/css/widget/multiselect/search/multiselect.search.pane.css deleted file mode 100644 index 88e22218d5..0000000000 --- a/src/css/widget/multiselect/search/multiselect.search.pane.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-multi-select-search-pane .multi-select-toolbar { - color: #e85050; -} diff --git a/src/css/widget/multiselect/trigger/button.checkselected.css b/src/css/widget/multiselect/trigger/button.checkselected.css deleted file mode 100644 index 135ecbc994..0000000000 --- a/src/css/widget/multiselect/trigger/button.checkselected.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-multi-select-check-selected-button { - z-index: 1; -} diff --git a/src/css/widget/multitree/check/multi.tree.check.pane.css b/src/css/widget/multitree/check/multi.tree.check.pane.css deleted file mode 100644 index 64572cfb51..0000000000 --- a/src/css/widget/multitree/check/multi.tree.check.pane.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-multi-tree-check-pane .multi-tree-check-selected { - color: #3f8ce8; -} diff --git a/src/css/widget/multitree/multi.tree.combo.css b/src/css/widget/multitree/multi.tree.combo.css deleted file mode 100644 index 4a62511952..0000000000 --- a/src/css/widget/multitree/multi.tree.combo.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-multi-tree-combo .multi-select-trigger-icon-button { - font-size: 16px; -} diff --git a/src/css/widget/multitree/popup.multi.tree.css b/src/css/widget/multitree/popup.multi.tree.css deleted file mode 100644 index 9c1ddb0787..0000000000 --- a/src/css/widget/multitree/popup.multi.tree.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-multi-tree-popup .popup-view-tree { - min-height: 170px; -} diff --git a/src/css/widget/multitree/trigger/multi.tree.button.checkselected.css b/src/css/widget/multitree/trigger/multi.tree.button.checkselected.css deleted file mode 100644 index 0716e0c16e..0000000000 --- a/src/css/widget/multitree/trigger/multi.tree.button.checkselected.css +++ /dev/null @@ -1,4 +0,0 @@ -.bi-multi-tree-check-selected-button .trigger-check-selected { - color: #3f8ce8; - z-index: 1; -} diff --git a/src/css/widget/numbereditor/number.editor.css b/src/css/widget/numbereditor/number.editor.css deleted file mode 100644 index 577fd87e9d..0000000000 --- a/src/css/widget/numbereditor/number.editor.css +++ /dev/null @@ -1,5 +0,0 @@ -.bi-number-editor { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} diff --git a/src/css/widget/numberinterval/numberinterval.css b/src/css/widget/numberinterval/numberinterval.css deleted file mode 100644 index a6b087f732..0000000000 --- a/src/css/widget/numberinterval/numberinterval.css +++ /dev/null @@ -1,41 +0,0 @@ -.bi-number-interval .number-interval-small-editor { - -moz-border-radius-topleft: 2px; - -webkit-border-top-left-radius: 2px; - -moz-border-radius-bottomleft: 2px; - -webkit-border-bottom-left-radius: 2px; - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.bi-number-interval .number-interval-big-editor { - -moz-border-radius-topright: 2px; - -webkit-border-top-right-radius: 2px; - -moz-border-radius-bottomright: 2px; - -webkit-border-bottom-right-radius: 2px; - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.bi-number-interval .number-interval-big-combo { - -moz-border-radius-topleft: 2px; - -webkit-border-top-left-radius: 2px; - -moz-border-radius-bottomleft: 2px; - -webkit-border-bottom-left-radius: 2px; - border-top-left-radius: 2px; - border-bottom-left-radius: 2px; -} -.bi-number-interval .number-interval-big-combo .bi-icon-combo-trigger .icon-combo-trigger-icon { - font-size: 14px; -} -.bi-number-interval .number-interval-small-combo { - -moz-border-radius-topright: 2px; - -webkit-border-top-right-radius: 2px; - -moz-border-radius-bottomright: 2px; - -webkit-border-bottom-right-radius: 2px; - border-top-right-radius: 2px; - border-bottom-right-radius: 2px; -} -.bi-number-interval .number-interval-small-combo .bi-icon-combo-trigger .icon-combo-trigger-icon { - font-size: 14px; -} -.bi-number-interval.number-error .bi-input { - color: #e85050 !important; -} diff --git a/src/css/widget/pagetable/pagetable.cell.css b/src/css/widget/pagetable/pagetable.cell.css deleted file mode 100644 index 5cfe70bef8..0000000000 --- a/src/css/widget/pagetable/pagetable.cell.css +++ /dev/null @@ -1,8 +0,0 @@ -.bi-page-table-cell { - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} diff --git a/src/css/widget/pathchooser/pathchooser.css b/src/css/widget/pathchooser/pathchooser.css deleted file mode 100644 index 42c9334952..0000000000 --- a/src/css/widget/pathchooser/pathchooser.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-path-chooser .path-chooser-radio { - z-index: 1; -} diff --git a/src/css/widget/pathchooser/pathregion.css b/src/css/widget/pathchooser/pathregion.css deleted file mode 100644 index 7497796329..0000000000 --- a/src/css/widget/pathchooser/pathregion.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-path-region .path-region-label { - z-index: 1; -} diff --git a/src/css/widget/previewtable/previewtable.cell.css b/src/css/widget/previewtable/previewtable.cell.css deleted file mode 100644 index 053899e31e..0000000000 --- a/src/css/widget/previewtable/previewtable.cell.css +++ /dev/null @@ -1,5 +0,0 @@ -.bi-preview-table-cell { - min-height: 25px; - min-width: 80px; - max-width: 220px; -} diff --git a/src/css/widget/previewtable/previewtable.css b/src/css/widget/previewtable/previewtable.css deleted file mode 100644 index 2fc0f57bea..0000000000 --- a/src/css/widget/previewtable/previewtable.css +++ /dev/null @@ -1,16 +0,0 @@ -.bi-preview-table { - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} -.bi-preview-table > div > table > thead > tr.odd, -.bi-preview-table > div > div > div > table > thead > tr.odd { - background-color: #eff1f4; -} -.bi-theme-dark .bi-preview-table > div > table > thead > tr.odd, -.bi-theme-dark .bi-preview-table > div > div > div > table > thead > tr.odd { - background-color: #191b2b; -} diff --git a/src/css/widget/previewtable/previewtable.header.cell.css b/src/css/widget/previewtable/previewtable.header.cell.css deleted file mode 100644 index 04025668d3..0000000000 --- a/src/css/widget/previewtable/previewtable.header.cell.css +++ /dev/null @@ -1,6 +0,0 @@ -.bi-preview-table-header-cell { - font-weight: bold; - min-height: 25px; - min-width: 80px; - max-width: 220px; -} diff --git a/src/css/widget/quarter/trigger.quarter.css b/src/css/widget/quarter/trigger.quarter.css deleted file mode 100644 index 190dfff6de..0000000000 --- a/src/css/widget/quarter/trigger.quarter.css +++ /dev/null @@ -1,5 +0,0 @@ -.bi-quarter-trigger { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} diff --git a/src/css/widget/relationview/relationview.region.css b/src/css/widget/relationview/relationview.region.css deleted file mode 100644 index 66700cd65c..0000000000 --- a/src/css/widget/relationview/relationview.region.css +++ /dev/null @@ -1,9 +0,0 @@ -.bi-relation-view-region .relation-view-region-container { - z-index: 1; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} -.bi-relation-view-region .relation-view-region-container.other-package { - border-style: dashed; -} diff --git a/src/css/widget/sequencetable/dynamicnumber.sequencetable.css b/src/css/widget/sequencetable/dynamicnumber.sequencetable.css deleted file mode 100644 index 1a92f05fc3..0000000000 --- a/src/css/widget/sequencetable/dynamicnumber.sequencetable.css +++ /dev/null @@ -1,23 +0,0 @@ -.bi-sequence-table-dynamic-number .sequence-table-title-cell { - overflow: hidden; - overflow-x: hidden; - overflow-y: hidden; - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} -.bi-sequence-table-dynamic-number .sequence-table-number-cell { - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} diff --git a/src/css/widget/sequencetable/listnumber.sequencetable.css b/src/css/widget/sequencetable/listnumber.sequencetable.css deleted file mode 100644 index 83fb91ad1b..0000000000 --- a/src/css/widget/sequencetable/listnumber.sequencetable.css +++ /dev/null @@ -1,23 +0,0 @@ -.bi-sequence-table-list-number .sequence-table-title-cell { - overflow: hidden; - overflow-x: hidden; - overflow-y: hidden; - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} -.bi-sequence-table-list-number .sequence-table-number-cell { - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} diff --git a/src/css/widget/sequencetable/treenumber.sequencetable.css b/src/css/widget/sequencetable/treenumber.sequencetable.css deleted file mode 100644 index 907c2bf06f..0000000000 --- a/src/css/widget/sequencetable/treenumber.sequencetable.css +++ /dev/null @@ -1,23 +0,0 @@ -.bi-sequence-table-tree-number .sequence-table-title-cell { - overflow: hidden; - overflow-x: hidden; - overflow-y: hidden; - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} -.bi-sequence-table-tree-number .sequence-table-number-cell { - -webkit-box-sizing: border-box; - /*Safari3.2+*/ - -moz-box-sizing: border-box; - /*Firefox3.5+*/ - -ms-box-sizing: border-box; - /*IE8*/ - box-sizing: border-box; - /*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} diff --git a/src/css/widget/singleslider/singlelider.label.css b/src/css/widget/singleslider/singlelider.label.css deleted file mode 100644 index 23ecedfbf5..0000000000 --- a/src/css/widget/singleslider/singlelider.label.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-single-slider-label { - min-height: 50px; -} diff --git a/src/css/widget/singleslider/singlelider.normal.css b/src/css/widget/singleslider/singlelider.normal.css deleted file mode 100644 index 965b7bfd77..0000000000 --- a/src/css/widget/singleslider/singlelider.normal.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-single-slider-normal { - min-height: 30px; -} diff --git a/src/css/widget/singleslider/singleslider.css b/src/css/widget/singleslider/singleslider.css deleted file mode 100644 index 35dad715e9..0000000000 --- a/src/css/widget/singleslider/singleslider.css +++ /dev/null @@ -1,3 +0,0 @@ -.bi-single-slider { - min-height: 50px; -} diff --git a/src/css/widget/singleslider/slider/widget.slider.css b/src/css/widget/singleslider/slider/widget.slider.css deleted file mode 100644 index 14a3812ebe..0000000000 --- a/src/css/widget/singleslider/slider/widget.slider.css +++ /dev/null @@ -1,9 +0,0 @@ -.bi-single-slider-button .slider-button { - cursor: ew-resize; - -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); - -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); - box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); - -webkit-border-radius: 7px; - -moz-border-radius: 7px; - border-radius: 7px; -} diff --git a/src/css/widget/singleslider/track/widget.track.css b/src/css/widget/singleslider/track/widget.track.css deleted file mode 100644 index 895db146a3..0000000000 --- a/src/css/widget/singleslider/track/widget.track.css +++ /dev/null @@ -1,12 +0,0 @@ -.bi-slider-track .gray-track { - background-color: rgba(153, 153, 153, 0.3); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4d999999,endColorstr=#4d999999); - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} -.bi-slider-track .blue-track { - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; -} diff --git a/src/css/widget/timeinterval/timeinterval.css b/src/css/widget/timeinterval/timeinterval.css deleted file mode 100644 index d4b03659ae..0000000000 --- a/src/css/widget/timeinterval/timeinterval.css +++ /dev/null @@ -1,6 +0,0 @@ -.bi-param-time-interval.time-error .bi-input { - color: #e85050; -} -.bi-param-time-interval.time-error .sign-editor-text { - color: #e85050; -} diff --git a/src/css/widget/year/popup.year.css b/src/css/widget/year/popup.year.css deleted file mode 100644 index 95705e7094..0000000000 --- a/src/css/widget/year/popup.year.css +++ /dev/null @@ -1,15 +0,0 @@ -.bi-year-popup .year-popup-navigation { - line-height: 30px; -} -.bi-year-popup .year-popup-navigation > .center-element { - border-left: 1px solid #d4dadd; -} -.bi-year-popup .year-popup-navigation > .first-element { - border-left: none; -} -.bi-theme-dark .bi-year-popup .year-popup-navigation > .center-element { - border-left: 1px solid #525466; -} -.bi-theme-dark .bi-year-popup .year-popup-navigation > .first-element { - border-left: none; -} diff --git a/src/css/widget/year/trigger.year.css b/src/css/widget/year/trigger.year.css deleted file mode 100644 index 07eb6b5237..0000000000 --- a/src/css/widget/year/trigger.year.css +++ /dev/null @@ -1,5 +0,0 @@ -.bi-year-trigger { - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; -} diff --git a/src/data/constant/attrs.js b/src/data/constant/attrs.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/data/constant/colors.js b/src/data/constant/colors.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/data/constant/constant.js b/src/data/constant/constant.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/data/constant/enums.js b/src/data/constant/enums.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/data/constant/strings.js b/src/data/constant/strings.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/data/data.js b/src/data/data.js deleted file mode 100644 index 8926ea2cb7..0000000000 --- a/src/data/data.js +++ /dev/null @@ -1,11 +0,0 @@ -/** - * 保存数据,将js里面用到的常量数据都分离 - * - */ -BI.Data = Data = {}; - -/** - * 存放bi里面通用的一些常量 - * @type {{}} - */ -Data.Constant = BI.Constant = BICst = {}; diff --git a/src/data/pool/pool.buffer.js b/src/data/pool/pool.buffer.js deleted file mode 100644 index 357adaed4b..0000000000 --- a/src/data/pool/pool.buffer.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * 缓冲池 - * @type {{Buffer: {}}} - */ -; -(function () { - var Buffer = {}; - var MODE = false;//设置缓存模式为关闭 - - Data.BufferPool = { - put: function (name, cache) { - if (BI.isNotNull(Buffer[name])) { - throw new Error("Buffer Pool has the key already!"); - } - Buffer[name] = cache; - }, - - get: function (name) { - return Buffer[name]; - }, - }; -})(); \ No newline at end of file diff --git a/src/data/pool/pool.sharing.js b/src/data/pool/pool.sharing.js deleted file mode 100644 index 5bbb533312..0000000000 --- a/src/data/pool/pool.sharing.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * 共享池 - * @type {{Shared: {}}} - */ -; -(function () { - var _Shared = {}; - Data.SharingPool = { - _Shared: _Shared, - put: function (name, shared) { - _Shared[name] = shared; - }, - - cat: function () { - var args = Array.prototype.slice.call(arguments, 0), - copy = _Shared; - for (var i = 0; i < args.length; i++) { - copy = copy && copy[args[i]]; - } - return copy; - }, - - get: function () { - return BI.deepClone(this.cat.apply(this, arguments)); - }, - - remove: function (key) { - delete _Shared[key]; - } - }; -})(); \ No newline at end of file diff --git a/src/data/req/req.js b/src/data/req/req.js deleted file mode 100644 index 21e527ce15..0000000000 --- a/src/data/req/req.js +++ /dev/null @@ -1,3 +0,0 @@ -Data.Req = { - -}; diff --git a/src/data/source/source.js b/src/data/source/source.js deleted file mode 100644 index 64096d0f08..0000000000 --- a/src/data/source/source.js +++ /dev/null @@ -1,3 +0,0 @@ -Data.Source = BISource = { - -}; \ No newline at end of file diff --git a/src/dom/index.js b/src/dom/index.js new file mode 100644 index 0000000000..fc7c11128e --- /dev/null +++ b/src/dom/index.js @@ -0,0 +1,109 @@ +import { IS_NON_DIMENSIONAL } from '../constants'; +import options from '../options'; + + +/** Create an element with the given nodeName. + * @param {String} nodeName + * @param {Boolean} [isSvg=false] If `true`, creates an element within the SVG namespace. + * @returns {Element} node + */ +export function createNode(nodeName, isSvg) { + let node = isSvg ? document.createElementNS('http://www.w3.org/2000/svg', nodeName) : document.createElement(nodeName); + node.normalizedNodeName = nodeName; + return node; +} + + +/** Remove a child node from its parent if attached. + * @param {Element} node The node to remove + */ +export function removeNode(node) { + let parentNode = node.parentNode; + if (parentNode) parentNode.removeChild(node); +} + + +/** Set a named attribute on the given Node, with special behavior for some names and event handlers. + * If `value` is `null`, the attribute/handler will be removed. + * @param {Element} node An element to mutate + * @param {string} name The name/key to set, such as an event or attribute name + * @param {any} old The last value that was set for this name/node pair + * @param {any} value An attribute value, such as a function to be used as an event handler + * @param {Boolean} isSvg Are we currently diffing inside an svg? + * @private + */ +export function setAccessor(node, name, old, value, isSvg) { + if (name==='className') name = 'class'; + + + if (name==='key') { + // ignore + } + else if (name==='ref') { + if (old) old(null); + if (value) value(node); + } + else if (name==='class' && !isSvg) { + node.className = value || ''; + } + else if (name==='style') { + if (!value || typeof value==='string' || typeof old==='string') { + node.style.cssText = value || ''; + } + if (value && typeof value==='object') { + if (typeof old!=='string') { + for (let i in old) if (!(i in value)) node.style[i] = ''; + } + for (let i in value) { + node.style[i] = typeof value[i]==='number' && IS_NON_DIMENSIONAL.test(i)===false ? (value[i]+'px') : value[i]; + } + } + } + else if (name==='dangerouslySetInnerHTML') { + if (value) node.innerHTML = value.__html || ''; + } + else if (name[0]=='o' && name[1]=='n') { + let useCapture = name !== (name=name.replace(/Capture$/, '')); + name = name.toLowerCase().substring(2); + if (value) { + if (!old) node.addEventListener(name, eventProxy, useCapture); + } + else { + node.removeEventListener(name, eventProxy, useCapture); + } + (node._listeners || (node._listeners = {}))[name] = value; + } + else if (name!=='list' && name!=='type' && !isSvg && name in node) { + setProperty(node, name, value==null ? '' : value); + if (value==null || value===false) node.removeAttribute(name); + } + else { + let ns = isSvg && (name !== (name = name.replace(/^xlink\:?/, ''))); + if (value==null || value===false) { + if (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase()); + else node.removeAttribute(name); + } + else if (typeof value!=='function') { + if (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value); + else node.setAttribute(name, value); + } + } +} + + +/** Attempt to set a DOM property to the given value. + * IE & FF throw for certain property-value combinations. + */ +function setProperty(node, name, value) { + try { + node[name] = value; + } catch (e) { } +} + + +/** Proxy an event to hooked event handlers + * @private + */ +function eventProxy(e) { + return this._listeners[e.type](options.event && options.event(e) || e); +} diff --git a/src/h.js b/src/h.js new file mode 100644 index 0000000000..acf2543879 --- /dev/null +++ b/src/h.js @@ -0,0 +1,65 @@ +import {VNode} from './vnode'; +import options from './options'; + + +const stack = []; + +const EMPTY_CHILDREN = []; + +/** JSX/hyperscript reviver + * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0 + * @see http://jasonformat.com/wtf-is-jsx + * @public + */ +export function h(nodeName, attributes) { + let children = EMPTY_CHILDREN, lastSimple, child, simple, i; + for (i = arguments.length; i-- > 2;) { + stack.push(arguments[i]); + } + if (attributes && attributes.children != null) { + if (!stack.length) stack.push(attributes.children); + delete attributes.children; + } + while (stack.length) { + if ((child = stack.pop()) && child.pop !== undefined) { + for (i = child.length; i--;) stack.push(child[i]); + } + else { + if (typeof child === 'boolean') child = null; + + if ((simple = typeof nodeName !== 'function')) { + if (child == null) child = ''; + else if (typeof child === 'number') child = String(child); + else if (typeof child !== 'string') simple = false; + } + + if (simple && lastSimple) { + children[children.length - 1] += child; + } + else if (children === EMPTY_CHILDREN) { + children = [child]; + } + else { + children.push(child); + } + + lastSimple = simple; + } + } + + let p = new VNode(); + p.nodeName = shortcuts[nodeName] ? shortcuts[nodeName] : nodeName; + p.children = children; + p.attributes = attributes == null ? undefined : attributes; + p.key = attributes == null ? undefined : attributes.key; + + // if a "vnode hook" is defined, pass every created VNode to it + if (options.vnode !== undefined) options.vnode(p); + + return p; +} + +const shortcuts = {} +export function shortcut(type, fn) { + shortcuts[type] = fn +} \ No newline at end of file diff --git a/src/less/base/colorchooser/colorchooser.trigger.less b/src/less/base/colorchooser/colorchooser.trigger.less deleted file mode 100644 index e948a5f875..0000000000 --- a/src/less/base/colorchooser/colorchooser.trigger.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "../../bibase"; - -.bi-color-chooser-trigger { - .border-radius(2px); - .box-shadow(0px, 0px, 2px, 1px, @color-bi-background-dark, inset); -} \ No newline at end of file diff --git a/src/less/base/colorchooser/colorpicker/button.colorpicker.less b/src/less/base/colorchooser/colorpicker/button.colorpicker.less deleted file mode 100644 index 4ff3bdedf1..0000000000 --- a/src/less/base/colorchooser/colorpicker/button.colorpicker.less +++ /dev/null @@ -1,16 +0,0 @@ -@import "../../../bibase"; - -.bi-color-picker-button { - & .color-picker-button-mask { - border: 1px solid @color-bi-border-black; - } -} - -//特殊样式自定义 -.bi-theme-dark { - .bi-color-picker-button { - & .color-picker-button-mask { - border: 1px solid @color-bi-border-default; - } - } -} \ No newline at end of file diff --git a/src/less/base/colorchooser/colorpicker/editor.colorpicker.less b/src/less/base/colorchooser/colorpicker/editor.colorpicker.less deleted file mode 100644 index fe97078124..0000000000 --- a/src/less/base/colorchooser/colorpicker/editor.colorpicker.less +++ /dev/null @@ -1,8 +0,0 @@ -@import "../../../bibase"; - -.bi-color-picker-editor { - & .color-picker-editor-display { - .border-radius(2px); - .box-shadow(0px, 0px, 2px, 1px, @color-bi-background-dark, inset); - } -} \ No newline at end of file diff --git a/src/less/base/colorchooser/farbtastic/farbtastic.less b/src/less/base/colorchooser/farbtastic/farbtastic.less deleted file mode 100644 index af8d9de620..0000000000 --- a/src/less/base/colorchooser/farbtastic/farbtastic.less +++ /dev/null @@ -1,32 +0,0 @@ -@import "../../../bibase"; - -.farbtastic { - position: relative; -} -.farbtastic * { - position: absolute; - cursor: crosshair; -} -.farbtastic, .farbtastic .wheel { - width: 195px; - height: 195px; -} -.farbtastic .color, .farbtastic .overlay { - top: 47px; - left: 47px; - width: 101px; - height: 101px; -} -.farbtastic .wheel { - width: 195px; - height: 195px; -} -.farbtastic .overlay { -} -.farbtastic .marker { - width: 17px; - height: 17px; - margin: -8px 0 0 -8px; - overflow: hidden; -} - diff --git a/src/less/base/combo/combo.bubble.less b/src/less/base/combo/combo.bubble.less deleted file mode 100644 index da74aef0c4..0000000000 --- a/src/less/base/combo/combo.bubble.less +++ /dev/null @@ -1,23 +0,0 @@ -@import "../../bibase"; - -.bi-bubble-combo { - & .button-combo-triangle-wrapper { - position: fixed !important; - } - & .bubble-combo-triangle-left { - z-index: 1; - .solid-triangle-right(@color-bi-background-highlight); - } - & .bubble-combo-triangle-right { - z-index: 1; - .solid-triangle-left(@color-bi-background-highlight); - } - & .bubble-combo-triangle-top { - z-index: 1; - .solid-triangle-down(@color-bi-background-highlight); - } - & .bubble-combo-triangle-bottom { - z-index: 1; - .solid-triangle-up(@color-bi-background-highlight); - } -} \ No newline at end of file diff --git a/src/less/base/combo/popup.bubble.less b/src/less/base/combo/popup.bubble.less deleted file mode 100644 index 4a6a7c469e..0000000000 --- a/src/less/base/combo/popup.bubble.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-bubble-popup-view { - .box-shadow(0 0 10px, rgba(0, 0, 0, 0.2)); -} \ No newline at end of file diff --git a/src/less/base/dom.less b/src/less/base/dom.less deleted file mode 100644 index 10e6d85686..0000000000 --- a/src/less/base/dom.less +++ /dev/null @@ -1,2 +0,0 @@ -@import "../bibase"; -@import "../lib/colors"; diff --git a/src/less/base/editor/editor.adapt.less b/src/less/base/editor/editor.adapt.less deleted file mode 100644 index b245ef2fcd..0000000000 --- a/src/less/base/editor/editor.adapt.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../bibase"; - -.bi-adapt-editor{ - .adapt-editor-text{ - font-size: @font-size-14; - } -} \ No newline at end of file diff --git a/src/less/base/editor/editor.search.less b/src/less/base/editor/editor.search.less deleted file mode 100644 index d69291bc9a..0000000000 --- a/src/less/base/editor/editor.search.less +++ /dev/null @@ -1,10 +0,0 @@ -@import "../../bibase"; -/*************BI.SearchEditor******************/ -.bi-search-editor { - & .close-font{ - font-size: 20px; - } - & .search-font{ - font-size: 20px; - } -} \ No newline at end of file diff --git a/src/less/base/editor/editor.search.small.less b/src/less/base/editor/editor.search.small.less deleted file mode 100644 index 4c66953062..0000000000 --- a/src/less/base/editor/editor.search.small.less +++ /dev/null @@ -1,19 +0,0 @@ -@import "../../bibase"; -/*************BI.SearchEditor******************/ -.bi-small-search-editor { - & .bi-editor { - font-size: @font-size-12; - & .bi-input{ - font-size: @font-size-12; - } - & .bi-label{ - font-size: @font-size-12; - } - } - & .close-font{ - font-size: 18px; - } - & .search-font{ - font-size: 18px; - } -} \ No newline at end of file diff --git a/src/less/base/editor/editor.sign.initial.less b/src/less/base/editor/editor.sign.initial.less deleted file mode 100644 index 524c46286f..0000000000 --- a/src/less/base/editor/editor.sign.initial.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../bibase"; - -.bi-sign-initial-editor{ - .sign-initial-editor-text{ - font-size: @font-size-14; - } -} \ No newline at end of file diff --git a/src/less/base/formula/codemirror.less b/src/less/base/formula/codemirror.less deleted file mode 100644 index 66915027c2..0000000000 --- a/src/less/base/formula/codemirror.less +++ /dev/null @@ -1,588 +0,0 @@ -@import "../../bibase"; - -/* BASICS */ - -.CodeMirror { - /* Set height, width, borders, and global font properties here */ - font-family: monospace; - cursor: text; - // .border-radius(4px); - .size(100%, 100%); -} - -/* PADDING */ - -.CodeMirror-lines { - padding: 4px 0; /* Vertical padding around content */ -} - -.CodeMirror pre { - padding: 0 4px; /* Horizontal padding of content */ -} - -.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { - background-color: white; /* The little square between H and V scrollbars */ -} - -/* GUTTER */ - -.CodeMirror-gutters { - border-right: 1px solid #ddd; - background-color: #f7f7f7; - white-space: nowrap; -} - -.CodeMirror-linenumbers { -} - -.CodeMirror-linenumber { - padding: 0 3px 0 5px; - min-width: 20px; - text-align: right; - color: #999; - white-space: nowrap; -} - -.CodeMirror-guttermarker { - color: black; -} - -.CodeMirror-guttermarker-subtle { - color: #999; -} - -/* CURSOR */ - -.CodeMirror div.CodeMirror-cursor { - border-left: 1px solid @color-bi-border-black; -} - -.bi-theme-dark { - .CodeMirror div.CodeMirror-cursor { - border-left: 1px solid @color-bi-border-default; - } -} - -/* Shown when moving in bi-directional text */ -.CodeMirror div.CodeMirror-secondarycursor { - border-left: 1px solid silver; -} - -.CodeMirror.cm-fat-cursor div.CodeMirror-cursor { - width: auto; - border: 0; - background: #7e7; -} - -.CodeMirror.cm-fat-cursor div.CodeMirror-cursors { - z-index: 1; -} - -.cm-animate-fat-cursor { - width: auto; - border: 0; - -webkit-animation: blink 1.06s steps(1) infinite; - -moz-animation: blink 1.06s steps(1) infinite; - animation: blink 1.06s steps(1) infinite; -} - -@-moz-keyframes blink { - 0% { - background: #7e7; - } - 50% { - background: none; - } - 100% { - background: #7e7; - } -} - -@-webkit-keyframes blink { - 0% { - background: #7e7; - } - 50% { - background: none; - } - 100% { - background: #7e7; - } -} - -@keyframes blink { - 0% { - background: #7e7; - } - 50% { - background: none; - } - 100% { - background: #7e7; - } -} - -/* Can style cursor different in overwrite (non-insert) mode */ -div.CodeMirror-overwrite div.CodeMirror-cursor { -} - -.cm-tab { - display: inline-block; - text-decoration: inherit; -} - -.CodeMirror-ruler { - border-left: 1px solid #ccc; - position: absolute; -} - -/* DEFAULT THEME */ - -.cm-s-default .cm-header { - color: blue; -} - -.cm-s-default .cm-quote { - color: #090; -} - -.cm-negative { - color: #d44; -} - -.cm-positive { - color: #292; -} - -.cm-header, .cm-strong { - font-weight: bold; -} - -.cm-em { - font-style: italic; -} - -.cm-link { - text-decoration: underline; -} - -.cm-strikethrough { - text-decoration: line-through; -} - -//.cm-s-default .cm-keyword {color: #708;} -.cm-s-default .cm-atom { - color: #219; -} - -.cm-s-default .cm-number { - color: #164; -} - -.cm-s-default .cm-def { - color: #00f; -} - -.cm-s-default .cm-variable, -.cm-s-default .cm-punctuation, -.cm-s-default .cm-property, -.cm-s-default .cm-operator { -} - -.cm-s-default .cm-variable-2 { - color: #05a; -} - -.cm-s-default .cm-variable-3 { - color: #085; -} - -.cm-s-default .cm-comment { - color: #a50; -} - -.cm-s-default .cm-string { - color: #a11; -} - -.cm-s-default .cm-string-2 { - color: #f50; -} - -.cm-s-default .cm-meta { - color: #555; -} - -.cm-s-default .cm-qualifier { - color: #555; -} - -.cm-s-default .cm-builtin { - color: #30a; -} - -.cm-s-default .cm-bracket { - color: #997; -} - -.cm-s-default .cm-tag { - color: #170; -} - -.cm-s-default .cm-attribute { - color: #00c; -} - -.cm-s-default .cm-hr { - color: #999; -} - -.cm-s-default .cm-link { - color: #00c; -} - -.cm-s-default span[class*="fieldName"] { - display: inline-block; - color: white; - background: @color-bi-text-highlight; - padding: 0 5px; - margin: 1px 1px; -} - -.cm-s-default span[class*="start"] { - .border-radius(3px 0px 0px 3px); - margin-left: 3px; -} - -.cm-s-default span[class*="end"] { - .border-radius(0px 3px 3px 0px); - margin-right: 3px; -} - -.cm-s-default span[class*="start end"] { - .border-radius(3px); -} - -.cm-s-default span[class*="#"] { - color: @color-bi-text-highlight; -} - -.cm-s-default .cm-error { - color: #f00; -} - -.cm-invalidchar { - color: #f00; -} - -.CodeMirror-composing { - border-bottom: 2px solid; -} - -/* Default styles for common addons */ - -div.CodeMirror span.CodeMirror-matchingbracket { - color: #0f0; -} - -div.CodeMirror span.CodeMirror-nonmatchingbracket { - color: #f22; -} - -.CodeMirror-matchingtag { - background: rgba(255, 150, 0, .3); -} - -.CodeMirror-activeline-background { - background: #e8f2ff; -} - -/* STOP */ - -/* The rest of this file contains styles related to the mechanics of - the editor. You probably shouldn't touch them. */ - -.CodeMirror { - position: relative; - overflow: hidden; -} - -.CodeMirror-scroll { - overflow: scroll !important; /* Things will break if this is overridden */ - /* 30px is the magic margin used to hide the element's real scrollbars */ - /* See overflow: hidden in .CodeMirror */ - margin-bottom: -30px; - margin-right: -30px; - padding-bottom: 30px; - height: 100%; - outline: none; /* Prevent dragging from highlighting the element */ - position: relative; -} - -.CodeMirror-sizer { - position: relative; - border-right: 30px solid transparent; -} - -/* The fake, visible scrollbars. Used to force redraw during scrolling - before actuall scrolling happens, thus preventing shaking and - flickering artifacts. */ -.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { - position: absolute; - z-index: 6; - display: none; -} - -.CodeMirror-vscrollbar { - right: 0; - top: 0; - overflow-x: hidden; - overflow-y: scroll; -} - -.CodeMirror-hscrollbar { - bottom: 0; - left: 0; - overflow-y: hidden; - overflow-x: scroll; -} - -.CodeMirror-scrollbar-filler { - right: 0; - bottom: 0; -} - -.CodeMirror-gutter-filler { - left: 0; - bottom: 0; -} - -.CodeMirror-gutters { - position: absolute; - left: 0; - top: 0; - z-index: 3; -} - -.CodeMirror-gutter { - white-space: normal; - height: 100%; - display: inline-block; - margin-bottom: -30px; - /* Hack to make IE7 behave */ - *zoom: 1; - *display: inline; -} - -.CodeMirror-gutter-wrapper { - position: absolute; - z-index: 4; - height: 100%; -} - -.CodeMirror-gutter-elt { - position: absolute; - cursor: default; - z-index: 4; -} - -.CodeMirror-gutter-wrapper { - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.CodeMirror-lines { - cursor: text; - min-height: 1px; /* prevents collapsing before first draw */ -} - -.CodeMirror pre { - /* Reset some styles that the rest of the page might have set */ - -moz-border-radius: 0; - -webkit-border-radius: 0; - border-radius: 0; - border-width: 0; - background: transparent; - font-family: inherit; - font-size: inherit; - margin: 0; - white-space: pre; - word-wrap: normal; - color: inherit; - z-index: 2; - position: relative; - overflow: visible; - -webkit-tap-highlight-color: transparent; -} - -.codemirror-high-line-height { - line-height: 2; -} - -.codemirror-low-line-height { - line-height: 1.4; -} - -.CodeMirror-wrap pre { - word-wrap: break-word; - white-space: pre-wrap; - word-break: normal; -} - -.CodeMirror-linebackground { - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - z-index: 0; -} - -.CodeMirror-linewidget { - position: relative; - z-index: 2; - overflow: auto; -} - -.CodeMirror-widget { - -} - -.CodeMirror-code { - outline: none; -} - -/* Force content-box sizing for the elements where we expect it */ -.CodeMirror-scroll, -.CodeMirror-sizer, -.CodeMirror-gutter, -.CodeMirror-gutters, -.CodeMirror-linenumber { - -moz-box-sizing: content-box; - box-sizing: content-box; -} - -.CodeMirror-measure { - position: absolute; - width: 100%; - height: 0; - overflow: hidden; - visibility: hidden; -} - -.CodeMirror-measure pre { - position: static; -} - -.CodeMirror div.CodeMirror-cursor { - position: absolute; - border-right: none; - width: 0; -} - -div.CodeMirror-cursors { - visibility: hidden; - position: relative; - z-index: 3; -} - -.CodeMirror-focused div.CodeMirror-cursors { - visibility: visible; -} - -.CodeMirror-selected { - background: #d9d9d9; -} - -.CodeMirror-focused .CodeMirror-selected { - background: #d7d4f0; -} - -.CodeMirror-crosshair { - cursor: crosshair; -} - -.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { - background: #d7d4f0; -} - -.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { - background: #d7d4f0; -} - -.cm-searching { - background: #ffa; - background: rgba(255, 255, 0, .4); -} - -/* IE7 hack to prevent it from returning funny offsetTops on the spans */ -.CodeMirror span { - *vertical-align: text-bottom; -} - -/* Used to force a border model for a node */ -.cm-force-border { - padding-right: .1px; -} - -@media print { - /* Hide the cursor when printing */ - .CodeMirror div.CodeMirror-cursors { - visibility: hidden; - } -} - -/* See issue #2901 */ -.cm-tab-wrap-hack:after { - content: ''; -} - -/* Help users use markselection to safely style text background */ -span.CodeMirror-selectedtext { - background: none; -} - -/*addon: show-hint*/ -.CodeMirror-hints { - position: absolute; - z-index: 10000; - overflow: hidden; - list-style: none; - - margin: 0; - padding: 2px; - - -webkit-box-shadow: 2px 3px 5px rgba(0, 0, 0, .2); - -moz-box-shadow: 2px 3px 5px rgba(0, 0, 0, .2); - box-shadow: 2px 3px 5px rgba(0, 0, 0, .2); - border-radius: 3px; - border: 1px solid silver; - - background: white; - font-size: 90%; - font-family: monospace; - - max-height: 20em; - overflow-y: auto; -} - -.CodeMirror-hint { - margin: 0; - padding: 0 4px; - border-radius: 2px; - max-width: 19em; - overflow: hidden; - white-space: pre; - color: black; - cursor: pointer; -} - -.CodeMirror-hints { - z-index: @zIndex-tip; -} - -li.CodeMirror-hint-active { - background: #08f; - color: white; -} \ No newline at end of file diff --git a/src/less/base/foundation/bi.message.less b/src/less/base/foundation/bi.message.less deleted file mode 100644 index 1a475966be..0000000000 --- a/src/less/base/foundation/bi.message.less +++ /dev/null @@ -1,19 +0,0 @@ -@import "../../bibase"; - -.bi-message-title { - font-size: 16px; - cursor: pointer; -} - -.bi-message-text { - font-size: 16px; - .user-select-enable(); -} - -.bi-message-content { - font-size: 16px; -} - -.bi-message-close { - font-size: 25px; -} \ No newline at end of file diff --git a/src/less/base/layer/layer.multiselect.less b/src/less/base/layer/layer.multiselect.less deleted file mode 100644 index 26c73571bf..0000000000 --- a/src/less/base/layer/layer.multiselect.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../bibase"; - -.bi-multi-list-view{ - & .bi-button-mask{ - .opacity(0.1); - } -} \ No newline at end of file diff --git a/src/less/base/layer/panel.less b/src/less/base/layer/panel.less deleted file mode 100644 index 25fd8f2807..0000000000 --- a/src/less/base/layer/panel.less +++ /dev/null @@ -1,11 +0,0 @@ -@import "../../bibase"; - -.bi-panel{ - .border-radius(2px); - .panel-title{ - & .panel-title-text{ - cursor: text; - font-size: @font-size-14; - } - } -} \ No newline at end of file diff --git a/src/less/base/pager/pager.all.count.less b/src/less/base/pager/pager.all.count.less deleted file mode 100644 index 4b14999611..0000000000 --- a/src/less/base/pager/pager.all.count.less +++ /dev/null @@ -1,12 +0,0 @@ -@import "../../bibase"; - -.bi-all-count-pager { - & .pager-editor { - } - & .all-pager-prev { - font-size: @font-size-16; - } - & .all-pager-next { - font-size: @font-size-16; - } -} \ No newline at end of file diff --git a/src/less/base/pager/pager.direction.less b/src/less/base/pager/pager.direction.less deleted file mode 100644 index c15512fdba..0000000000 --- a/src/less/base/pager/pager.direction.less +++ /dev/null @@ -1,10 +0,0 @@ -@import "../../bibase"; - -.bi-direction-pager { - & .direction-pager-prev { - font-size: @font-size-16; - } - & .direction-pager-next { - font-size: @font-size-16; - } -} \ No newline at end of file diff --git a/src/less/base/pager/pager.less b/src/less/base/pager/pager.less deleted file mode 100644 index 4801127905..0000000000 --- a/src/less/base/pager/pager.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../bibase"; - -.bi-pager{ - & .page-item{ - .border-radius(2px); - } -} \ No newline at end of file diff --git a/src/less/base/richeditor/texttoolbar/texttoolbar.less b/src/less/base/richeditor/texttoolbar/texttoolbar.less deleted file mode 100644 index 28b540104b..0000000000 --- a/src/less/base/richeditor/texttoolbar/texttoolbar.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../../bibase"; - -.bi-rich-editor-text-toolbar { - & .text-toolbar-button { - font-size: @font-size-16; - } -} \ No newline at end of file diff --git a/src/less/base/segment/button.segment.less b/src/less/base/segment/button.segment.less deleted file mode 100644 index b28e25b1c1..0000000000 --- a/src/less/base/segment/button.segment.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; - -.bi-segment-button{ -} \ No newline at end of file diff --git a/src/less/base/segment/segment.less b/src/less/base/segment/segment.less deleted file mode 100644 index bbf0df435c..0000000000 --- a/src/less/base/segment/segment.less +++ /dev/null @@ -1,33 +0,0 @@ -@import "../../bibase"; - -.bi-segment{ - & > .center-element{ - .overflow-hidden(); - background: @color-bi-background-default; - border-right: 1px solid @color-bi-border-line; - border-top: 1px solid @color-bi-border-line; - border-bottom: 1px solid @color-bi-border-line; - } - & > .first-element{ - border-left: 1px solid @color-bi-border-line; - .border-corner-radius(6px,0px,0px,6px) - } - & > .last-element{ - .border-corner-radius(0px,6px,6px,0px) - } -} - -.bi-theme-dark { - .bi-segment { - & > .center-element{ - .overflow-hidden(); - background: @color-bi-background-default-theme-dark; - border-right: 1px solid @color-bi-border-line-theme-dark; - border-top: 1px solid @color-bi-border-line-theme-dark; - border-bottom: 1px solid @color-bi-border-line-theme-dark; - } - & > .first-element{ - border-left: 1px solid @color-bi-background-default-theme-dark; - } - } -} \ No newline at end of file diff --git a/src/less/base/single/bar/bar.less b/src/less/base/single/bar/bar.less deleted file mode 100644 index 25c21cad4d..0000000000 --- a/src/less/base/single/bar/bar.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "../../../bibase"; - -.bi-loading-bar{ - & .loading-text{ - } -} \ No newline at end of file diff --git a/src/less/base/single/button/button.less b/src/less/base/single/button/button.less deleted file mode 100644 index 683f03e498..0000000000 --- a/src/less/base/single/button/button.less +++ /dev/null @@ -1,123 +0,0 @@ -@import "../../../bibase"; - -body .bi-button, #body .bi-button { - .border-radius(2px); - border: 1px solid @color-bi-border-highlight; - background-color: @color-bi-background-highlight; - text-align: center; - vertical-align: middle; - cursor: pointer; - font-size: 14px; - &.block { - font-size: inherit; - border-width: 0; - .border-radius(0px); - } - &.clear { - font-size: inherit; - border-width: 0; - background-color: transparent; - &:hover, &:active { - .opacity(0.75); - } - } - &.button-common { - &, & .b-font:before { - color: @color-bi-text; - } - &.clear, &.clear .b-font:before { - color: @color-bi-text-highlight; - } - } - &.button-ignore { - & { - &, & .b-font:before { - color: @color-bi-text-black; - } - background-color: @color-bi-background-default; - border-color: @color-bi-border-line; - } - &.clear { - background-color: transparent; - border-width: 0; - } - } - &.button-success { - & { - &, & .b-font:before { - color: @color-bi-text; - } - background-color: @color-bi-background-success; - border-color: @color-bi-border-success; - } - &.clear { - &, & .b-font:before { - color: @color-bi-text-success; - } - background-color: transparent; - border-width: 0; - } - } - &.button-warning { - & { - &, & .b-font:before { - color: @color-bi-text; - } - background-color: @color-bi-background-delete; - border-color: @color-bi-border-delete; - } - &.clear { - &, & .b-font:before { - color: @color-bi-text-warning; - } - background-color: transparent; - border-width: 0; - } - } - &.button-common.disabled, - &.button-success.disabled, - &.button-warning.disabled { - &, &.base-disabled { - &, & .b-font:before { - color: @color-bi-text !important; - } - background: @color-bi-background-disabled !important; - border-color: @color-bi-border-disabled !important; - } - } - &.button-ignore.disabled { - &, & .b-font:before { - color: @color-bi-text-disabled !important; - } - background: @color-bi-background-default !important; - border-color: @color-bi-border-line !important; - } - &.button-common.disabled, - &.button-success.disabled, - &.button-warning.disabled, - &.button-ignore.disabled { - &.clear { - &, & .b-font:before { - color: @color-bi-text-disabled !important; - } - background: transparent !important; - border-width: 0 !important; - &:hover, &:active { - .opacity(1); - } - } - } -} - -.bi-basic-button { - &.button-common, &.button-success, &.button-warning { - & .bi-button-mask { - .opacity(0.2); - background-color: @color-bi-background-default; - } - } - & .bi-button-mask { - .opacity(0.2); - background-color: @color-bi-button-mask; - } -} \ No newline at end of file diff --git a/src/less/base/single/button/item.multiselect.less b/src/less/base/single/button/item.multiselect.less deleted file mode 100644 index b01495729d..0000000000 --- a/src/less/base/single/button/item.multiselect.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../../bibase"; - -.bi-multi-select-item{ - //& .list-item-text{ - // max-width: 189px; - //} -} \ No newline at end of file diff --git a/src/less/base/single/button/item.singleselect.icontext.less b/src/less/base/single/button/item.singleselect.icontext.less deleted file mode 100644 index 319f060aae..0000000000 --- a/src/less/base/single/button/item.singleselect.icontext.less +++ /dev/null @@ -1,9 +0,0 @@ -@import "../../../bibase"; - -.bi-single-select-icon-text-item{ - &:active, &.active { - & .b-font:before { - color: @color-bi-text-highlight; - } - } -} \ No newline at end of file diff --git a/src/less/base/single/button/item.singleselectradio.less b/src/less/base/single/button/item.singleselectradio.less deleted file mode 100644 index e92fbcdcf2..0000000000 --- a/src/less/base/single/button/item.singleselectradio.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../../bibase"; - -.bi-single-select-radio-item{ - //& .list-item-text{ - // max-width: 189px; - //} -} \ No newline at end of file diff --git a/src/less/base/single/button/item.texticon.less b/src/less/base/single/button/item.texticon.less deleted file mode 100644 index 32bb8c7013..0000000000 --- a/src/less/base/single/button/item.texticon.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../../bibase"; - -.bi-icon-text-item{ - //& .list-item-text{ - // max-width: 193px; - //} -} \ No newline at end of file diff --git a/src/less/base/single/button/listitem.less b/src/less/base/single/button/listitem.less deleted file mode 100644 index b32eb7edce..0000000000 --- a/src/less/base/single/button/listitem.less +++ /dev/null @@ -1 +0,0 @@ -@import "../../../bibase"; \ No newline at end of file diff --git a/src/less/base/single/editor/editor.code.less b/src/less/base/single/editor/editor.code.less deleted file mode 100644 index f159db03ca..0000000000 --- a/src/less/base/single/editor/editor.code.less +++ /dev/null @@ -1,18 +0,0 @@ -@import "../../../bibase"; - -.bi-code-editor{ - & .param { - color: @color-bi-text; - padding: 0 5px; - margin: 1px 1px; - .border-radius(2px); - background: @color-bi-background-highlight; - display: inline-block; - } - & .error-param { - color: @color-bi-text-warning; - padding: 0 5px; - margin: 1px 1px; - display: inline-block; - } -} \ No newline at end of file diff --git a/src/less/base/single/editor/editor.less b/src/less/base/single/editor/editor.less deleted file mode 100644 index 18d6279b28..0000000000 --- a/src/less/base/single/editor/editor.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../../bibase"; - -.bi-editor{ -} \ No newline at end of file diff --git a/src/less/base/single/editor/editor.multifile.less b/src/less/base/single/editor/editor.multifile.less deleted file mode 100644 index f929f0480c..0000000000 --- a/src/less/base/single/editor/editor.multifile.less +++ /dev/null @@ -1,10 +0,0 @@ -@import "../../../bibase"; - -.bi-multifile-editor { - .multifile-editor { - text-align: right; - cursor: pointer; - font-size: 100px; - z-index: 2; - } -} \ No newline at end of file diff --git a/src/less/base/single/editor/editor.shelter.less b/src/less/base/single/editor/editor.shelter.less deleted file mode 100644 index 3d909ad509..0000000000 --- a/src/less/base/single/editor/editor.shelter.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../../bibase"; - -.bi-shelter-editor { -} \ No newline at end of file diff --git a/src/less/base/single/editor/editor.sign.less b/src/less/base/single/editor/editor.sign.less deleted file mode 100644 index 3d3964ab97..0000000000 --- a/src/less/base/single/editor/editor.sign.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../../bibase"; - -.bi-sign-editor { -} \ No newline at end of file diff --git a/src/less/base/single/editor/editor.state.less b/src/less/base/single/editor/editor.state.less deleted file mode 100644 index 7dfd89d0ae..0000000000 --- a/src/less/base/single/editor/editor.state.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../../bibase"; - - -.bi-state-editor{ - & .state-editor-infinite-text{ - } -} \ No newline at end of file diff --git a/src/less/base/single/editor/editor.state.simple.less b/src/less/base/single/editor/editor.state.simple.less deleted file mode 100644 index 305f9b0d92..0000000000 --- a/src/less/base/single/editor/editor.state.simple.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../../bibase"; - - -.bi-simple-state-editor{ - & .state-editor-infinite-text{ - } -} \ No newline at end of file diff --git a/src/less/base/single/editor/editor.textarea.less b/src/less/base/single/editor/editor.textarea.less deleted file mode 100644 index 02f9f449cf..0000000000 --- a/src/less/base/single/editor/editor.textarea.less +++ /dev/null @@ -1,24 +0,0 @@ -@import "../../../bibase"; - -.bi-textarea-editor { - .overflow-hidden(); - & .textarea-editor-content { - font-size: @font-size-12; - & { - border: none; - } - &.textarea-editor-focus{ - - } - } -} - -.bi-theme-dark{ - .bi-textarea-editor { - & .textarea-editor-content { - &.textarea-editor-focus{ - - } - } - } -} \ No newline at end of file diff --git a/src/less/base/single/input/file.less b/src/less/base/single/input/file.less deleted file mode 100644 index 604d8a9731..0000000000 --- a/src/less/base/single/input/file.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "../../../bibase"; - -.bi-file{ - .opacity(0); - z-index: 2; -} \ No newline at end of file diff --git a/src/less/base/single/input/input.less b/src/less/base/single/input/input.less deleted file mode 100644 index 304ba27bf1..0000000000 --- a/src/less/base/single/input/input.less +++ /dev/null @@ -1,19 +0,0 @@ -@import "../../../bibase"; - -.bi-input, .bi-textarea{ - border: none; - outline: none; - background-color: transparent; - padding: 0; - margin: 0; - .size(100%,100%); - - &.bi-input-focus{ - border: none; - } - - &.bi-input-error{ - border: none; - color:@color-bi-text-warning !important; - } -} \ No newline at end of file diff --git a/src/less/base/single/label.less b/src/less/base/single/label.less deleted file mode 100644 index 1b56752475..0000000000 --- a/src/less/base/single/label.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "../../bibase"; - -.bi-label { - .overflow-dot(); - word-break: break-all; -} \ No newline at end of file diff --git a/src/less/base/single/single.less b/src/less/base/single/single.less deleted file mode 100644 index 4267c1a3c9..0000000000 --- a/src/less/base/single/single.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-single{ - -} \ No newline at end of file diff --git a/src/less/base/single/text.less b/src/less/base/single/text.less deleted file mode 100644 index 2174e27568..0000000000 --- a/src/less/base/single/text.less +++ /dev/null @@ -1,8 +0,0 @@ -@import "../../bibase"; - -.bi-text { - .overflow-dot(); - .box-sizing(border-box); - word-wrap: break-word; - word-break: break-word; -} \ No newline at end of file diff --git a/src/less/base/single/tip/tip.bubble.less b/src/less/base/single/tip/tip.bubble.less deleted file mode 100644 index efc81eba01..0000000000 --- a/src/less/base/single/tip/tip.bubble.less +++ /dev/null @@ -1,10 +0,0 @@ -@import "../../../bibase"; - -.bi-bubble{ - font-size: @font-size-14; - & .bubble-text{ - .border-radius(2px); - background: @color-bi-tip-warning-background; - color: @color-bi-text-warning; - } -} \ No newline at end of file diff --git a/src/less/base/single/tip/tip.less b/src/less/base/single/tip/tip.less deleted file mode 100644 index c2257400b5..0000000000 --- a/src/less/base/single/tip/tip.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "../../../bibase"; - - -.bi-tip{ - position: fixed !important; -} \ No newline at end of file diff --git a/src/less/base/single/tip/tip.toast.less b/src/less/base/single/tip/tip.toast.less deleted file mode 100644 index 8f92c8675d..0000000000 --- a/src/less/base/single/tip/tip.toast.less +++ /dev/null @@ -1,14 +0,0 @@ -@import "../../../bibase"; - -.bi-toast{ - font-size: @font-size-14; - .border-radius(2px); - &.toast-success{ - background: @color-bi-toast-success-background; - color: @color-bi-text-success; - } - &.toast-warning{ - background: @color-bi-tip-warning-background; - color: @color-bi-text-warning; - } -} \ No newline at end of file diff --git a/src/less/base/single/tip/tip.tooltip.less b/src/less/base/single/tip/tip.tooltip.less deleted file mode 100644 index 966829185d..0000000000 --- a/src/less/base/single/tip/tip.tooltip.less +++ /dev/null @@ -1,17 +0,0 @@ -@import "../../../bibase"; - -.bi-tooltip{ - max-width: 250px; - .border-radius(2px); - font-size: 12px; - &.tooltip-success{ - background: @color-bi-tooltip-success-background; - border: 1px solid @color-bi-tooltip-success-background; - color: @color-bi-text-black; - } - &.tooltip-warning{ - background: @color-bi-tip-warning-background; - color: @color-bi-text-warning; - border: 1px solid @color-bi-tooltip-warning-border; - } -} \ No newline at end of file diff --git a/src/less/base/table/table.collection.cell.less b/src/less/base/table/table.collection.cell.less deleted file mode 100644 index 3f5d3175fd..0000000000 --- a/src/less/base/table/table.collection.cell.less +++ /dev/null @@ -1,23 +0,0 @@ -@import "../../bibase"; - -.bi-collection-table-cell { - .box-sizing(border-box); - &.first-row { - border-top: 1px solid @border-color-line; - } - &.first-col { - border-left: 1px solid @border-color-line; - } -} - -//特殊样式 -.bi-theme-dark { - .bi-collection-table-cell { - &.first-row { - border-top: 1px solid @border-color-line-theme-dark; - } - &.first-col { - border-left: 1px solid @border-color-line-theme-dark; - } - } -} \ No newline at end of file diff --git a/src/less/base/table/table.collection.quick.less b/src/less/base/table/table.collection.quick.less deleted file mode 100644 index 356dbc1da9..0000000000 --- a/src/less/base/table/table.collection.quick.less +++ /dev/null @@ -1,9 +0,0 @@ -@import "../../bibase"; - -.bi-quick-collection-table { - & > div > .bi-collection { - overflow: hidden !important; - overflow-x: hidden !important; - overflow-y: hidden !important; - } -} \ No newline at end of file diff --git a/src/less/base/table/table.grid.cell.less b/src/less/base/table/table.grid.cell.less deleted file mode 100644 index 03ce7b357c..0000000000 --- a/src/less/base/table/table.grid.cell.less +++ /dev/null @@ -1,21 +0,0 @@ -@import "../../bibase"; - -.bi-grid-table-cell { - .box-sizing(border-box); - &.first-row { - border-top: 1px solid @border-color-line; - } - &.first-col { - border-left: 1px solid @border-color-line; - } -} -.bi-theme-dark{ - .bi-grid-table-cell{ - &.first-row { - border-top: 1px solid @border-color-line-theme-dark; - } - &.first-col { - border-left: 1px solid @border-color-line-theme-dark; - } - } -} \ No newline at end of file diff --git a/src/less/base/table/table.grid.scrollbar.less b/src/less/base/table/table.grid.scrollbar.less deleted file mode 100644 index ae6ba22f8f..0000000000 --- a/src/less/base/table/table.grid.scrollbar.less +++ /dev/null @@ -1,146 +0,0 @@ -@import "../../bibase"; - -.scrollbar-layout-main { - box-sizing: border-box; - outline: none; - overflow: hidden; - position: absolute; - transition-duration: 250ms; - transition-timing-function: ease; - user-select: none; - .background-color(@scroll-color, 5%); - border-radius: 5px; -} - -.bi-theme-dark { - .scrollbar-layout-main { - .background-color(@scroll-color-theme-dark, 5%); - } -} - -.scrollbar-layout-main-vertical { - bottom: 0; - right: 0; - top: 0; - transition-property: background-color; - width: 10px; -} - -.scrollbar-layout-main-vertical.public-scrollbar-main-active, -.scrollbar-layout-main-vertical:hover { - width: 10px; -} - -.scrollbar-layout-main-horizontal { - bottom: 0; - height: 10px; - left: 0; - transition-property: background-color; - .background-color(@scroll-color, 5%); -} - -.bi-theme-dark { - .scrollbar-layout-main-horizontal { - .background-color(@scroll-color-theme-dark, 5%); - } -} - -/* Touching the scroll-track directly makes the scroll-track bolder */ -.scrollbar-layout-main-horizontal.public-scrollbar-main-active, -.scrollbar-layout-main-horizontal:hover { - height: 10px; -} - -.scrollbar-layout-face { - left: 0; - overflow: hidden; - position: absolute; - z-index: 1; -} - -/** - * This selector renders the "nub" of the scrollface. The nub must - * be rendered as pseudo-element so that it won't receive any UI events then - * we can get the correct `event.offsetX` and `event.offsetY` from the - * scrollface element while dragging it. - */ -.scrollbar-layout-face:after { - border-radius: 6px; - content: ''; - display: block; - position: absolute; - transition: background-color 250ms ease; -} - -.scrollbar-layout-face-horizontal { - bottom: 0; - left: 0; - top: 0; -} - -.scrollbar-layout-face-horizontal:after { - bottom: 2px; - left: 0; - top: 2px; - width: 100%; -} - -.scrollbar-layout-face-vertical { - left: 0; - right: 0; - top: 0; -} - -.scrollbar-layout-face-vertical:after { - height: 100%; - left: 2px; - right: 2px; - top: 0; -} - -/** - * scrollbars. - */ - -/* Touching the scroll-track directly makes the scroll-track bolder */ -.public-scrollbar-main.public-scrollbar-main-active, -.public-scrollbar-main:hover { - //background-color: rgba(255, 255, 255, 0.8); -} - -.public-scrollbar-main-opaque, -.public-scrollbar-main-opaque.public-scrollbar-main-active, -.public-scrollbar-main-opaque:hover { - //background-color: #fff; -} - -.public-scrollbar-face:after { - .background-color(@scroll-color, 30%); -} - -.bi-theme-dark { - .public-scrollbar-face:after { - .background-color(@scroll-color-theme-dark, 30%); - } -} - -.public-scrollbar-main:hover .public-scrollbar-face:after, -.public-scrollbar-main-active .public-scrollbar-face:after, -.public-scrollbar-face-active:after { - .background-color(@scroll-color, 70%); -} - -.bi-theme-dark { - .public-scrollbar-main:hover .public-scrollbar-face:after, - .public-scrollbar-main-active .public-scrollbar-face:after, - .public-scrollbar-face-active:after { - .background-color(@scroll-color-theme-dark, 70%); - } -} - -//horizontalScrollbar -.horizontal-scrollbar { - bottom: 0; - position: absolute; -} - diff --git a/src/less/base/table/table.less b/src/less/base/table/table.less deleted file mode 100644 index 2d981d91a0..0000000000 --- a/src/less/base/table/table.less +++ /dev/null @@ -1,111 +0,0 @@ -@import "../../bibase"; - -.bi-table { - > .center-element { - //border-top: 1px solid @color-bi-border-normal; - //border-left: 1px solid @color-bi-border-normal; - } - - > .first-col { - border-left: none; - } - > .first-row { - border-top: none; - } - - & > div > div > table { - border-bottom: 1px solid @border-color-line; - border-right: 1px solid @border-color-line; - } - & > div.top-left > div > div > table { - border-bottom: 1px solid @border-color-line; - border-right: 1px solid @border-color-line; - } - & > div.top-right > div > div > table { - border-bottom: 1px solid @border-color-line; - border-right: 1px solid @border-color-line; - } - & > div.bottom-left > div > div > table { - border-bottom: 1px solid @border-color-line; - border-right: 1px solid @border-color-line; - } - & > div.bottom-right > div > div > table { - border-right: 1px solid @border-color-line; - border-bottom: 1px solid @border-color-line; - } - - & > div > div > table, & > div > div > div > table { - &, & > * > * > th, & > * > * > td { - vertical-align: middle; - margin: 0; - padding: 0; - } - min-width: 100%; - clear: both; - vertical-align: middle; - border-spacing: 0; - border-collapse: separate; - - & > tbody > tr > td, & > thead > tr > td { - border-top: 1px solid @border-color-line; - border-left: 1px solid @color-bi-border-line; - } - & > tbody > tr.odd { - //background-color: #f9f9f9; - //&:hover { - // background-color: whitesmoke; - //} - } - & > tbody > tr.even { - //background-color: white; - //&:hover { - // background-color: whitesmoke; - //} - } - - & > thead > tr.odd { - //background-color: #f9f9f9; - //&:hover { - // background-color: whitesmoke; - //} - } - & > thead > tr.even { - //background-color: white; - //&:hover { - // background-color: whitesmoke; - //} - } - } -} - -.bi-theme-dark { - .bi-table { - & > div > div > table { - border-bottom: 1px solid @border-color-line-theme-dark; - border-right: 1px solid @border-color-line-theme-dark; - } - & > div.top-left > div > div > table { - border-bottom: 1px solid @border-color-line-theme-dark; - border-right: 1px solid @border-color-line-theme-dark; - } - & > div.top-right > div > div > table { - border-bottom: 1px solid @border-color-line-theme-dark; - border-right: 1px solid @border-color-line-theme-dark; - } - & > div.bottom-left > div > div > table { - border-bottom: 1px solid @border-color-line-theme-dark; - border-right: 1px solid @border-color-line-theme-dark; - } - & > div.bottom-right > div > div > table { - border-right: 1px solid @border-color-line-theme-dark; - border-bottom: 1px solid @border-color-line-theme-dark; - } - - & > div > div > table, & > div > div > div > table { - & > tbody > tr > td, & > thead > tr > td { - border-top: 1px solid @border-color-line-theme-dark; - border-left: 1px solid @border-color-line-theme-dark; - } - } - } -} diff --git a/src/less/base/table/table.resizable.cell.less b/src/less/base/table/table.resizable.cell.less deleted file mode 100644 index 63d67d400c..0000000000 --- a/src/less/base/table/table.resizable.cell.less +++ /dev/null @@ -1,18 +0,0 @@ -@import "../../bibase"; - -.bi-resizable-table-cell { - & .resizable-table-cell-resizer-container { - cursor: ew-resize; - z-index: 1; - &:hover, &.dragging { - & .resizable-table-cell-resizer-knob { - background-color: @color-bi-background-highlight; - } - } - &.suitable{ - & .resizable-table-cell-resizer-knob { - background-color: @color-bi-background-success; - } - } - } -} \ No newline at end of file diff --git a/src/less/base/table/table.resizable.less b/src/less/base/table/table.resizable.less deleted file mode 100644 index d9ad746352..0000000000 --- a/src/less/base/table/table.resizable.less +++ /dev/null @@ -1,21 +0,0 @@ -@import "../../bibase"; - -.bi-resizable-table { - & .resizable-table-resizer { - cursor: ew-resize; - z-index: 1; - background-color: @color-bi-background-highlight; - &.suitable { - background-color: @color-bi-background-success; - } - } - & .resizable-table-region-resizer { - cursor: ew-resize; - z-index: 1; - &:hover, &.dragging { - & .resizable-table-region-resizer-knob { - background-color: @color-bi-background-highlight; - } - } - } -} \ No newline at end of file diff --git a/src/less/base/table/table.tree.less b/src/less/base/table/table.tree.less deleted file mode 100644 index 121034d22e..0000000000 --- a/src/less/base/table/table.tree.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-table-tree{ - -} \ No newline at end of file diff --git a/src/less/base/tree/tree.branch.less b/src/less/base/tree/tree.branch.less deleted file mode 100644 index 3b21041c31..0000000000 --- a/src/less/base/tree/tree.branch.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "../../bibase"; -.bi-branch-tree{ - & .bi-branch-tree-view{ - min-width: 300px; - } -} \ No newline at end of file diff --git a/src/less/base/tree/tree.display.less b/src/less/base/tree/tree.display.less deleted file mode 100644 index 0d4137b2b9..0000000000 --- a/src/less/base/tree/tree.display.less +++ /dev/null @@ -1,20 +0,0 @@ -@import "../../bibase"; - -.bi-display-tree{ - .ztree * { - color: @color-bi-text-gray; - } - - & .ztree li a, & .ztree li span{ - cursor: default !important; - } - & .ztree li a:hover{ - text-decoration: none; - } - & .ztree li a.curSelectedNode{ - padding-top: 1px; - border: none; - background-color: inherit; - .opacity(1); - } -} \ No newline at end of file diff --git a/src/less/base/tree/ztree.less b/src/less/base/tree/ztree.less deleted file mode 100644 index f9d0532c89..0000000000 --- a/src/less/base/tree/ztree.less +++ /dev/null @@ -1,263 +0,0 @@ -@import "../../bibase"; - -.ztree * { - padding: 0; - margin: 0; -} - -.ztree { - margin: 0; - padding: 5px; -} - -.ztree li { - padding: 0; - margin: 0; - list-style: none; - line-height: 14px; - text-align: left; - white-space: nowrap; - outline: 0 -} - -.ztree li ul { - margin: 0; - padding: 0 0 0 18px -} - -.ztree li a { - padding: 1px 3px 0 0; - margin: 0; - cursor: pointer; - height: 24px; - background-color: transparent; - text-decoration: none; - vertical-align: top; - display: inline-block -} - -.ztree li a.curSelectedNode { -} - -.ztree li a.curSelectedNode_Edit { - padding-top: 0px; - background-color: #FFE6B0; - color: black; - height: 16px; - border: 1px #FFB951 solid; - opacity: 0.8; -} - -.ztree li a.tmpTargetNode_inner { - padding-top: 0px; - background-color: #316AC5; - color: white; - height: 16px; - border: 1px #316AC5 solid; - opacity: 0.8; - filter: alpha(opacity=80) -} - -.ztree li a.tmpTargetNode_prev { -} - -.ztree li a.tmpTargetNode_next { -} - -.ztree li a input.rename { - height: 14px; - width: 80px; - padding: 0; - margin: 0; - font-size: 12px; - border: 1px #7EC4CC solid; - *border: 0px -} - -.ztree li span { - line-height: 24px; - margin-right: 2px -} - -.ztree li span.button { - line-height: 0; - margin: 0; - width: 16px; - height: 16px; - display: inline-block; - vertical-align: middle; - border: 0 none; - cursor: pointer; - outline: none; - background-color: transparent; - background-repeat: no-repeat; - background-attachment: scroll; -} - -.ztree li span.button.chk { - width: 16px; - height: 16px; - margin: 0 3px 0 0; - cursor: auto -} - -.ztree li span.button.chk.checkbox_false_disable { - background-position: 0 -56px -} - -.ztree li span.button.chk.checkbox_true_disable { - background-position: -14px -56px -} - -.ztree li span.button.chk.radio_false_full { - background-position: -28px 0 -} - -.ztree li span.button.chk.radio_false_full_focus { - background-position: -28px -14px -} - -.ztree li span.button.chk.radio_false_part { - background-position: -28px -28px -} - -.ztree li span.button.chk.radio_false_part_focus { - background-position: -28px -42px -} - -.ztree li span.button.chk.radio_false_disable { - background-position: -28px -56px -} - -.ztree li span.button.chk.radio_true_full { - background-position: -42px 0 -} - -.ztree li span.button.chk.radio_true_full_focus { - background-position: -42px -14px -} - -.ztree li span.button.chk.radio_true_part { - background-position: -42px -28px -} - -.ztree li span.button.chk.radio_true_part_focus { - background-position: -42px -42px -} - -.ztree li span.button.chk.radio_true_disable { - background-position: -42px -56px -} - -.ztree li span.button.switch { - width: 25px; - height: 25px -} - -.ztree li span.button.noline_open { - background-position: -92px -72px -} - -.ztree li span.button.noline_close { - background-position: -74px -72px -} - -.ztree li span.button.root_docu { - background: none; -} - -.ztree li span.button.noline_docu { - background: none; -} - -.ztree li span.button.ico_open { - margin-right: 2px; - background-position: -110px -16px; - vertical-align: top; - *vertical-align: middle -} - -.ztree li span.button.ico_close { - margin-right: 2px; - background-position: -110px 0; - vertical-align: top; - *vertical-align: middle -} - -.ztree li span.button.ico_docu { - margin-right: 2px; - background-position: -110px -32px; - vertical-align: top; - *vertical-align: middle -} - -.ztree li span.button.edit { - margin-right: 2px; - background-position: -110px -48px; - vertical-align: top; - *vertical-align: middle -} - -.ztree li span.button.remove { - margin-right: 2px; - background-position: -110px -64px; - vertical-align: top; - *vertical-align: middle -} - -.ztree li span.button.ico_loading { - width: 0px; - margin-right: 2px; - vertical-align: top; - *vertical-align: middle -} - -ul.tmpTargetzTree { - background-color: #FFE6B0; - opacity: 0.8; - filter: alpha(opacity=80) -} - -span.tmpzTreeMove_arrow { - width: 16px; - height: 16px; - display: inline-block; - padding: 0; - margin: 2px 0 0 1px; - border: 0 none; - position: absolute; - background-color: transparent; - background-repeat: no-repeat; - background-attachment: scroll; - background-position: -110px -80px; -} - -ul.ztree.zTreeDragUL { - margin: 0; - padding: 0; - position: absolute; - width: auto; - height: auto; - overflow: hidden; - background-color: #cfcfcf; - border: 1px #00B83F dotted; - opacity: 0.8; - filter: alpha(opacity=80) -} - -.zTreeMask { - z-index: 10000; - background-color: #cfcfcf; - opacity: 0.0; - filter: alpha(opacity=0); - position: absolute -} - -/* level style*/ -/*.ztree li span.button.level0 { - display:none; -} -.ztree li ul.level0 { - padding:0; - background:none; -}*/ \ No newline at end of file diff --git a/src/less/base/trigger/trigger.editor.less b/src/less/base/trigger/trigger.editor.less deleted file mode 100644 index a8b014eb14..0000000000 --- a/src/less/base/trigger/trigger.editor.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; - -.bi-editor-trigger{ -} \ No newline at end of file diff --git a/src/less/base/trigger/trigger.icon.less b/src/less/base/trigger/trigger.icon.less deleted file mode 100644 index 331442a3b5..0000000000 --- a/src/less/base/trigger/trigger.icon.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-icon-trigger { - -} \ No newline at end of file diff --git a/src/less/base/trigger/trigger.less b/src/less/base/trigger/trigger.less deleted file mode 100644 index a5adf829eb..0000000000 --- a/src/less/base/trigger/trigger.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../bibase"; - -.bi-trigger{ - & .bi-trigger-icon-button{ - font-size: @font-size-16; - } -} \ No newline at end of file diff --git a/src/less/base/trigger/trigger.selecttext.less b/src/less/base/trigger/trigger.selecttext.less deleted file mode 100644 index 38312579ef..0000000000 --- a/src/less/base/trigger/trigger.selecttext.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-select-text-trigger{ - .border-radius(2px); -} \ No newline at end of file diff --git a/src/less/base/trigger/trigger.selecttextsmall.less b/src/less/base/trigger/trigger.selecttextsmall.less deleted file mode 100644 index 322f34180b..0000000000 --- a/src/less/base/trigger/trigger.selecttextsmall.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-small-select-text-trigger{ - .border-radius(2px); -} \ No newline at end of file diff --git a/src/less/base/view/floatboxview.less b/src/less/base/view/floatboxview.less deleted file mode 100644 index 8b0a8ffe05..0000000000 --- a/src/less/base/view/floatboxview.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; - -.bi-float-box { -} \ No newline at end of file diff --git a/src/less/base/view/popupview.less b/src/less/base/view/popupview.less deleted file mode 100644 index 66e49d57bf..0000000000 --- a/src/less/base/view/popupview.less +++ /dev/null @@ -1,35 +0,0 @@ -@import "../../bibase"; - -/**********BI.BIListView*************/ -.bi-popup-view { - position: fixed !important; - overflow-y: visible !important; - overflow-x: visible !important; - overflow: visible !important; - cursor: default; - & .list-view-outer { - .border-radius(2px); - } - & .list-view-toolbar { - line-height: 30px; - & > .center-element { - border-left: 1px solid @color-bi-border-line; - } - & > .first-element { - border-left: none; - } - } -} - -.bi-theme-dark { - .bi-popup-view { - & .list-view-toolbar { - & > .center-element { - border-left: 1px solid @color-bi-border-line-theme-dark; - } - & > .first-element { - border-left: none; - } - } - } -} diff --git a/src/less/bibase.less b/src/less/bibase.less deleted file mode 100644 index 5f0b88dc25..0000000000 --- a/src/less/bibase.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "position"; -@import "box-model"; -@import "typographic"; -@import "visual"; -@import "var"; -@import "lib/colors"; \ No newline at end of file diff --git a/src/less/box-model.less b/src/less/box-model.less deleted file mode 100644 index 2d0e5815aa..0000000000 --- a/src/less/box-model.less +++ /dev/null @@ -1,61 +0,0 @@ -.box-sizing(@box-model){ - -webkit-box-sizing: @box-model;/*Safari3.2+*/ - -moz-box-sizing: @box-model;/*Firefox3.5+*/ - -ms-box-sizing: @box-model;/*IE8*/ - box-sizing: @box-model;/*W3C标准(IE9+,Safari5.1+,Chrome10.0+,Opera10.6+都符合box-sizing的w3c标准语法)*/ -} -.clearfix() { - *zoom: 1; - &:before, - &:after { - content: " "; - display: table; - line-height: 0; - } - &:after { - clear: both; - } -} -.calc( @expression) { - /*Firefox*/ - width: -moz-calc(@expression); - /*chrome safari*/ - width: -webkit-calc(@expression); - /*Standard */ - width: calc(@expression); -} - -.float-left(@left:0px){ - position: relative; - float:left; - left:@left; -} - -.float-right(@right:0px){ - position: relative; - float:right; - right: @right; -} -.size(@width, @height){ - width: @width; - height: @height; -} -.full-size(){ - .size(100%,100%); -} -.absolute-full-size(@top:0px, @right:0px, @bottom:0px, @left:0px){ - position: absolute; - left: @left; - right: @right; - bottom: @bottom; - top: @top; -} -.inline-block(){ - display:inline-block; - *display:inline; - *zoom:1; -} -.line-height(@height){ - height: @height; - line-height: @height; -} \ No newline at end of file diff --git a/src/less/core/normalize.less b/src/less/core/normalize.less deleted file mode 100644 index baf3cb1df2..0000000000 --- a/src/less/core/normalize.less +++ /dev/null @@ -1,231 +0,0 @@ -/*! normalize.css v1.0.0 | MIT License | git.io/normalize */ - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -nav, -section, -summary { - display: block -} -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1 -} -audio:not([controls]) { - display: none; - height: 0 -} -[hidden] { - display: none -} -html { - font-size: 100%; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100% -} -html, -button, -input, -select, -textarea { - font-family: sans-serif -} -body { - margin: 0 -} -a:focus { - outline: thin dotted -} -a:active, -a:hover { - outline: 0 -} -h1 { - font-size: 2em; - margin: .67em 0 -} -h2 { - font-size: 1.5em; - margin: .83em 0 -} -h3 { - font-size: 1.17em; - margin: 1em 0 -} -h4 { - font-size: 1em; - margin: 1.33em 0 -} -h5 { - font-size: .83em; - margin: 1.67em 0 -} -h6 { - font-size: .75em; - margin: 2.33em 0 -} -abbr[title] { - border-bottom: 1px dotted -} -b, -strong { - font-weight: bold -} -blockquote { - margin: 1em 40px -} -dfn { - font-style: italic -} -mark { - background: #ff0; - color: #000 -} -p, -pre { - margin: 1em 0 -} -code, -kbd, -pre, -samp { - font-family: monospace, serif; - _font-family: 'courier new', monospace; - font-size: 1em -} -pre { - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word -} -q { - quotes: none -} -q:before, -q:after { - content: ''; - content: none -} -small { - font-size: 75% -} -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline -} -sup { - top: -0.5em -} -sub { - bottom: -0.25em -} -dl, -menu, -ol, -ul { - margin: 1em 0 -} -dd { - margin: 0 0 0 40px -} -menu, -ol, -ul { - padding: 0 0 0 40px -} -nav ul, -nav ol { - list-style: none; - list-style-image: none -} -img { - border: 0; - -ms-interpolation-mode: bicubic -} -svg:not(:root) { - overflow: hidden -} -figure { - margin: 0 -} -form { - margin: 0 -} -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: .35em .625em .75em -} -legend { - border: 0; - padding: 0; - white-space: normal; - *margin-left: -7px -} -button, -input, -select, -textarea { - font-size: 100%; - margin: 0; - vertical-align: baseline; - *vertical-align: middle -} -button, -input { - line-height: normal -} -button, -html input[type="button"], -input[type="reset"], -input[type="submit"] { - -webkit-appearance: button; - cursor: pointer; - *overflow: visible -} -button[disabled], -input[disabled] { - cursor: default -} -input[type="checkbox"], -input[type="radio"] { - box-sizing: border-box; - padding: 0; - *height: 13px; - *width: 13px -} -input[type="search"] { - -webkit-appearance: textfield; - -moz-box-sizing: content-box; - -webkit-box-sizing: content-box; - box-sizing: content-box -} -input[type="search"]::-webkit-search-cancel-button, -input[type="search"]::-webkit-search-decoration { - -webkit-appearance: none -} -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0 -} -textarea { - overflow: auto; - vertical-align: top -} -table { - border-collapse: collapse; - border-spacing: 0 -} \ No newline at end of file diff --git a/src/less/core/normalize2.less b/src/less/core/normalize2.less deleted file mode 100644 index cc22acc7b8..0000000000 --- a/src/less/core/normalize2.less +++ /dev/null @@ -1,58 +0,0 @@ -@import "../bibase"; - -html, body, div, ul, ol, li, img, a, span, p, * { - margin: 0; - padding: 0; -} - -a { - outline: none; - text-decoration: none; -} - -a:focus { - outline: 0; -} - -input { - &::-webkit-contacts-auto-fill-button { - visibility: hidden; - display: none !important; - pointer-events: none; - position: absolute; - right: 0; - } - &::-ms-clear { - display: none; - } -} - -input, -textarea { - margin: 0; - padding: 0; - outline: none; - border: 1px solid @color-bi-border-line; -} - -.bi-theme-dark { - input, - textarea { - border: 1px solid @color-bi-border-line-theme-dark; - } -} - -ul { - list-style: disc; -} - -li { - list-style-type: none; -} - -i { - //font-style: normal; - -webkit-font-smoothing: antialiased; - -webkit-text-stroke-width: 0.2px; - -moz-osx-font-smoothing: grayscale; -} diff --git a/src/less/core/utils/common.less b/src/less/core/utils/common.less deleted file mode 100644 index 67e5a7bcbd..0000000000 --- a/src/less/core/utils/common.less +++ /dev/null @@ -1,782 +0,0 @@ -@import "../../bibase"; - -.base-disabled { - cursor: default !important; - color: @color-bi-text-disabled !important; - & .bi-input { - color: @color-bi-text-disabled !important; - } - & .bi-textarea { - color: @color-bi-text-disabled !important; - } - & .b-font:before { - color: @color-bi-text-disabled !important; - } -} - -.bi-theme-dark { - .base-disabled { - color: @color-bi-text-disabled-theme-dark !important; - & .bi-input { - color: @color-bi-text-disabled-theme-dark !important; - } - & .bi-textarea { - color: @color-bi-text-disabled-theme-dark !important; - } - & .b-font:before { - color: @color-bi-text-disabled-theme-dark !important; - } - } -} - -.base-invalid { - cursor: default !important; -} - -.clearfix { - .clearfix(); -} - -//基本背景色 -.bi-background { - background-color: @color-bi-background-normal; - color: @color-bi-text-normal; - & .bi-input { - color: @color-bi-text-normal; - } - & .bi-textarea { - color: @color-bi-text-normal; - } -} - -.bi-theme-dark { - .bi-background { - background-color: @color-bi-background-normal-theme-dark; - color: @color-bi-text-theme-dark; - & .bi-input { - color: @color-bi-text-theme-dark; - } - & .bi-textarea { - color: @color-bi-text-theme-dark; - } - } -} - -//card -.bi-card { - background-color: @color-bi-background-default; - color: @color-bi-text-normal; - & .bi-input { - color: @color-bi-text-normal; - } - & .bi-textarea { - color: @color-bi-text-normal; - } -} - -.bi-theme-dark { - .bi-card { - background-color: @color-bi-background-default-theme-dark; - color: @color-bi-text-theme-dark; - & .bi-input { - color: @color-bi-text-theme-dark; - } - & .bi-textarea { - color: @color-bi-text-theme-dark; - } - } -} - -.bi-disabled { - color: @color-bi-text-disabled; - & .bi-input { - color: @color-bi-text-disabled; - } - & .bi-textarea { - color: @color-bi-text-disabled; - } -} - -.bi-theme-dark { - .bi-disabled { - color: @color-bi-text-disabled-theme-dark; - & .bi-input { - color: @color-bi-text-disabled-theme-dark; - } - & .bi-textarea { - color: @color-bi-text-disabled-theme-dark; - } - } -} - -//提示区域, 灰色字体 -.bi-tips { - color: @color-bi-text-tips; - & .bi-input { - color: @color-bi-text-tips; - } - & .bi-textarea { - color: @color-bi-text-tips; - } -} - -//边框 -.bi-border { - border: 1px solid @color-bi-border-line; -} - -.bi-theme-dark { - .bi-border { - border: 1px solid @color-bi-border-line-theme-dark; - } -} - -.bi-border-left { - border-left: 1px solid @color-bi-border-line; -} - -.bi-theme-dark { - .bi-border-left { - border-left: 1px solid @color-bi-border-line-theme-dark; - } -} - -.bi-border-right { - border-right: 1px solid @color-bi-border-line; -} - -.bi-theme-dark { - .bi-border-right { - border-right: 1px solid @color-bi-border-line-theme-dark; - } -} - -.bi-border-top { - border-top: 1px solid @color-bi-border-line; -} - -.bi-theme-dark { - .bi-border-top { - border-top: 1px solid @color-bi-border-line-theme-dark; - } -} - -.bi-border-bottom { - border-bottom: 1px solid @color-bi-border-line; -} - -.bi-theme-dark { - .bi-border-bottom { - border-bottom: 1px solid @color-bi-border-line-theme-dark; - } -} - -//标红 -.bi-keyword-red-mark { - color: @color-bi-text-redmark; - & .bi-input { - color: @color-bi-text-redmark; - } - & .bi-textarea { - color: @color-bi-text-redmark; - } -} - -//高亮 -.bi-high-light { - color: @color-bi-text-highlight; - & .bi-input { - color: @color-bi-text-highlight; - } - & .bi-textarea { - color: @color-bi-text-highlight; - } -} - -.bi-high-light-background { - background-color: @color-bi-background-highlight; - color: @color-bi-text; - & .bi-input { - color: @color-bi-text; - } - & .bi-textarea { - color: @color-bi-text; - } -} - -.bi-high-light-border { - border-color: @color-bi-border-highlight; -} - -//水印 -.bi-water-mark { - color: @water-mark-color; - cursor: text; - & .bi-input { - color: @water-mark-color; - } - & .bi-textarea { - color: @water-mark-color; - } -} - -.bi-theme-dark { - .bi-water-mark { - color: @water-mark-color-theme-dark; - & .bi-input { - color: @water-mark-color-theme-dark; - } - & .bi-textarea { - color: @water-mark-color-theme-dark; - } - } -} - -//resize -.bi-resizer { - background: @color-bi-background-black; - .opacity(0.2); - z-index: @zIndex-tip !important; -} - -.bi-theme-dark { - .bi-resizer { - background: @color-bi-background-default; - } -} - -.bi-mask { - color: @color-bi-background-default; - & .bi-input { - color: @color-bi-background-default; - } - & .bi-textarea { - color: @color-bi-background-default; - } - .background-color(@color-bi-background-black, 20%); -} - -.bi-theme-dark { - .bi-mask { - color: @color-bi-background-default-theme-dark; - & .bi-input { - color: @color-bi-background-default-theme-dark; - } - & .bi-textarea { - color: @color-bi-background-default-theme-dark; - } - .background-color(@color-bi-background-default, 20%); - } -} - -.bi-z-index-mask { - color: @color-bi-background-default; - & .bi-input { - color: @color-bi-background-default; - } - & .bi-textarea { - color: @color-bi-background-default; - } - .background-color(@color-bi-background-black, 50%); -} - -//只有背景变化 -.bi-list-item { - &:hover, &.hover { - color: @color-bi-text-black; - & .bi-input { - color: @color-bi-text-black; - } - & .bi-textarea { - color: @color-bi-text-black; - } - .background-color(@color-bi-background-black, 5%); - } - &.disabled { - &, &:hover, &:active { - background-color: transparent !important; - color: @color-bi-text-disabled !important; - & .bi-input { - color: @color-bi-text-disabled !important; - } - & .bi-textarea { - color: @color-bi-text-disabled !important; - } - & .bi-high-light { - color: @color-bi-text-disabled !important; - } - } - } -} - -.bi-theme-dark { - .bi-list-item { - &:hover, &.hover { - color: @color-bi-text; - & .bi-input { - color: @color-bi-text; - } - & .bi-textarea { - color: @color-bi-text; - } - .background-color(@color-bi-background-default, 5%); - } - &.disabled { - &, &:hover, &:active { - background-color: transparent !important; - color: @color-bi-text-disabled-theme-dark !important; - & .bi-input { - color: @color-bi-text-disabled-theme-dark !important; - } - & .bi-textarea { - color: @color-bi-text-disabled-theme-dark !important; - } - & .bi-high-light { - color: @color-bi-text-disabled-theme-dark !important; - } - } - } - } -} - -.bi-list-item-border { - &:active, &.active { - border: 1px solid @color-bi-border-highlight; - } -} - -//极简 -.bi-list-item-simple { - color: @color-bi-text-tips; - & .bi-input { - color: @color-bi-text-tips; - } - & .bi-textarea { - color: @color-bi-text-tips; - } - &:hover, &.hover { - color: @color-bi-text-highlight; - & .bi-input { - color: @color-bi-text-highlight; - } - & .bi-textarea { - color: @color-bi-text-highlight; - } - } - &.disabled { - &, &:hover, &:active { - color: @color-bi-text-disabled !important; - & .bi-input { - color: @color-bi-text-disabled !important; - } - & .bi-textarea { - color: @color-bi-text-disabled !important; - } - & .bi-high-light { - color: @color-bi-text-disabled !important; - } - } - } -} - -//文字active时变化 -.bi-list-item-effect { - &:hover { - color: @color-bi-text-black; - & .bi-input { - color: @color-bi-text-black; - } - & .bi-textarea { - color: @color-bi-text-black; - } - } - &.active, &:active { - color: @color-bi-text-highlight; - & .bi-input { - color: @color-bi-text-highlight; - } - & .bi-textarea { - color: @color-bi-text-highlight; - } - } - &.disabled { - &, &:hover, &:active { - color: @color-bi-text-disabled !important; - & .bi-input { - color: @color-bi-text-disabled !important; - } - & .bi-textarea { - color: @color-bi-text-disabled !important; - } - & .bi-high-light { - color: @color-bi-text-disabled !important; - } - } - } -} - -.bi-theme-dark { - .bi-list-item-effect { - &:hover { - color: @color-bi-text; - & .bi-input { - color: @color-bi-text; - } - & .bi-textarea { - color: @color-bi-text; - } - } - &.active, &:active { - color: @color-bi-text-highlight; - & .bi-input { - color: @color-bi-text-highlight; - } - & .bi-textarea { - color: @color-bi-text-highlight; - } - } - &.disabled { - &, &:hover, &:active { - background-color: transparent !important; - color: @color-bi-text-disabled-theme-dark !important; - & .bi-input { - color: @color-bi-text-disabled-theme-dark !important; - } - & .bi-textarea { - color: @color-bi-text-disabled-theme-dark !important; - } - & .bi-high-light { - color: @color-bi-text-disabled-theme-dark !important; - } - } - } - } -} - -//文字和背景hover和active时变化 -.bi-list-item-active { - &:hover, &.hover { - color: @color-bi-text-black; - & .bi-input { - color: @color-bi-text-black; - } - & .bi-textarea { - color: @color-bi-text-black; - } - .background-color(@color-bi-background-black, 5%); - } - &.active, &:active { - color: @color-bi-text-highlight; - & .bi-input { - color: @color-bi-text-highlight; - } - & .bi-textarea { - color: @color-bi-text-highlight; - } - .background-color(@color-bi-background-black, 5%); - } - &.disabled { - &, &:hover, &:active { - background-color: transparent !important; - color: @color-bi-text-disabled !important; - & .bi-input { - color: @color-bi-text-disabled !important; - } - & .bi-textarea { - color: @color-bi-text-disabled !important; - } - & .bi-high-light { - color: @color-bi-text-disabled !important; - } - } - } -} - -.bi-theme-dark { - .bi-list-item-active { - &:hover, &.hover { - color: @color-bi-text; - & .bi-input { - color: @color-bi-text; - } - & .bi-textarea { - color: @color-bi-text; - } - .background-color(@color-bi-background-default, 5%); - } - &.active, &:active { - color: @color-bi-text-highlight; - & .bi-input { - color: @color-bi-text-highlight; - } - & .bi-textarea { - color: @color-bi-text-highlight; - } - .background-color(@color-bi-background-default, 5%); - } - &.disabled { - &, &:hover, &:active { - background-color: transparent !important; - color: @color-bi-text-disabled-theme-dark !important; - & .bi-input { - color: @color-bi-text-disabled-theme-dark !important; - } - & .bi-textarea { - color: @color-bi-text-disabled-theme-dark !important; - } - & .bi-high-light { - color: @color-bi-text-disabled-theme-dark !important; - } - } - } - } -} - -//文字和背景hover和active时变化 -.bi-list-item-active2 { - &:hover, &.hover { - color: @color-bi-text-black; - & .bi-input { - color: @color-bi-text-black; - } - & .bi-textarea { - color: @color-bi-text-black; - } - background-color: @color-bi-background-default; - } - &.active, &:active { - color: @color-bi-text-highlight; - & .bi-input { - color: @color-bi-text-highlight; - } - & .bi-textarea { - color: @color-bi-text-highlight; - } - background-color: @color-bi-background-default; - } - &.disabled { - &, &:hover, &:active { - background-color: transparent !important; - color: @color-bi-text-disabled !important; - & .bi-input { - color: @color-bi-text-disabled !important; - } - & .bi-textarea { - color: @color-bi-text-disabled !important; - } - & .bi-high-light { - color: @color-bi-text-disabled !important; - } - } - } -} - -.bi-theme-dark { - .bi-list-item-active2 { - &:hover, &.hover { - color: @color-bi-text; - & .bi-input { - color: @color-bi-text; - } - & .bi-textarea { - color: @color-bi-text; - } - background-color: @color-bi-background-default-theme-dark; - } - &.active, &:active { - color: @color-bi-text-highlight; - & .bi-input { - color: @color-bi-text-highlight; - } - & .bi-textarea { - color: @color-bi-text-highlight; - } - background-color: @color-bi-background-default-theme-dark; - } - &.disabled { - &, &:hover, &:active { - background-color: transparent !important; - color: @color-bi-text-disabled-theme-dark !important; - & .bi-input { - color: @color-bi-text-disabled-theme-dark !important; - } - & .bi-textarea { - color: @color-bi-text-disabled-theme-dark !important; - } - & .bi-high-light { - color: @color-bi-text-disabled-theme-dark !important; - } - } - } - } -} - -//有选中效果 -.bi-list-item-select { - &:hover, &.hover { - color: @color-bi-text-black; - & .bi-input { - color: @color-bi-text-black; - } - & .bi-textarea { - color: @color-bi-text-black; - } - .background-color(@color-bi-background-black, 5%); - } - &:active, &.active { - color: @color-bi-text; - & .bi-input { - color: @color-bi-text; - } - & .bi-textarea { - color: @color-bi-text; - } - background-color: @color-bi-background-highlight; - & .bi-high-light { - color: @color-bi-text; - } - } - &.disabled { - &, &:hover, &:active { - color: @color-bi-text-disabled !important; - & .bi-input { - color: @color-bi-text-disabled !important; - } - & .bi-textarea { - color: @color-bi-text-disabled !important; - } - background-color: transparent !important; - & .bi-high-light { - color: @color-bi-text-disabled !important; - } - } - } -} - -.bi-theme-dark { - .bi-list-item-select { - &:hover, &.hover { - color: @color-bi-text; - & .bi-input { - color: @color-bi-text; - } - & .bi-textarea { - color: @color-bi-text; - } - .background-color(@color-bi-background-default, 5%); - } - &:active, &.active { - color: @color-bi-text; - & .bi-input { - color: @color-bi-text; - } - & .bi-textarea { - color: @color-bi-text; - } - background-color: @color-bi-background-highlight; - & .bi-high-light { - color: @color-bi-text; - } - } - &.disabled { - &, &:hover, &:active { - background-color: transparent !important; - color: @color-bi-text-disabled-theme-dark !important; - & .bi-input { - color: @color-bi-text-disabled-theme-dark !important; - } - & .bi-textarea { - color: @color-bi-text-disabled-theme-dark !important; - } - & .bi-high-light { - color: @color-bi-text-disabled-theme-dark !important; - } - } - } - } -} - -//去掉list-item效果 -.bi-list-item-none { - &:hover, &.hover { - color: inherit; - & .bi-input { - color: inherit; - } - & .bi-textarea { - color: inherit; - } - background-color: transparent; - } - &:active, &.active { - color: inherit; - & .bi-input { - color: inherit; - } - & .bi-textarea { - color: inherit; - } - background-color: transparent; - & .bi-high-light { - color: inherit; - } - } - &.disabled { - &, &:hover, &:active { - color: @color-bi-text-disabled !important; - & .bi-input { - color: @color-bi-text-disabled !important; - } - & .bi-textarea { - color: @color-bi-text-disabled !important; - } - background-color: transparent !important; - & .bi-high-light { - color: @color-bi-text-disabled !important; - } - } - } -} - -.bi-theme-dark { - .bi-list-item-none { - &:hover, &.hover { - color: inherit; - & .bi-input { - color: inherit; - } - & .bi-textarea { - color: inherit; - } - background-color: transparent; - } - &:active, &.active { - color: inherit; - & .bi-input { - color: inherit; - } - & .bi-textarea { - color: inherit; - } - background-color: transparent; - & .bi-high-light { - color: inherit; - } - } - &.disabled { - &, &:hover, &:active { - background-color: transparent !important; - color: @color-bi-text-disabled-theme-dark !important; - & .bi-input { - color: @color-bi-text-disabled-theme-dark !important; - } - & .bi-textarea { - color: @color-bi-text-disabled-theme-dark !important; - } - & .bi-high-light { - color: @color-bi-text-disabled-theme-dark !important; - } - } - } - } -} diff --git a/src/less/core/utils/cursor.less b/src/less/core/utils/cursor.less deleted file mode 100644 index 696d08a562..0000000000 --- a/src/less/core/utils/cursor.less +++ /dev/null @@ -1,11 +0,0 @@ -/*****************cursor*****************/ -.cursor-pointer { - cursor: pointer; -} -.cursor-default{ - cursor: default; -} -.cursor-move{ - cursor: move; -} -/*****************cursor*****************/ \ No newline at end of file diff --git a/src/less/core/utils/overflow.less b/src/less/core/utils/overflow.less deleted file mode 100644 index 39bf904b1e..0000000000 --- a/src/less/core/utils/overflow.less +++ /dev/null @@ -1,45 +0,0 @@ -@import "../../bibase"; -.y-overflow-auto { - overflow-y: auto; - overflow-x: hidden; -} - -.x-overflow-auto { - overflow-y: hidden; - overflow-x: auto; -} - -.y-overflow-scroll { - overflow-y: scroll; - overflow-x: hidden; -} - -.x-overflow-scroll { - overflow-y: hidden; - overflow-x: scroll; -} - -.overflow-auto{ - overflow-x: auto; - overflow-y: auto; -} - -.overflow-scroll{ - overflow-x: scroll; - overflow-y: scroll; -} - -.overflow-hidden{ - overflow-x: hidden; - overflow-y: hidden; -} - -.td-overflow { - white-space: normal; - word-break: break-all; -} - - -.overflow-dot{ - .overflow-dot(); -} \ No newline at end of file diff --git a/src/less/core/utils/pos.less b/src/less/core/utils/pos.less deleted file mode 100644 index 67e4fab21c..0000000000 --- a/src/less/core/utils/pos.less +++ /dev/null @@ -1,23 +0,0 @@ -@import "../../bibase"; -.display-block{ - display: block; -} -.display-inline{ - .inline-block(); -} - -/**常用于span元素在与combo并列时**/ -.vertical-super{ - vertical-align: super; -} -.vertical-top{ - vertical-align: top; -} - -.horizon-center { - text-align: center; -} - -.horizon-left{ - text-align: left; -} \ No newline at end of file diff --git a/src/less/core/utils/sizing.less b/src/less/core/utils/sizing.less deleted file mode 100644 index 2042fe036b..0000000000 --- a/src/less/core/utils/sizing.less +++ /dev/null @@ -1,8 +0,0 @@ -@import "../../bibase"; -/*类似ie6的盒子模型 可以在有百分比的时候加border 支持到ie8*/ -.border-sizing{ - .box-sizing(border-box); -} -.content-sizing{ - .box-sizing(content-box); -} \ No newline at end of file diff --git a/src/less/core/wrapper/flex.center.less b/src/less/core/wrapper/flex.center.less deleted file mode 100644 index ce7c581dc8..0000000000 --- a/src/less/core/wrapper/flex.center.less +++ /dev/null @@ -1,35 +0,0 @@ -.bi-flex-center-layout { - display: box; /* OLD - Android 4.4- */ - display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ - display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */ - display: -ms-flexbox; /* TWEENER - IE 10 */ - display: -webkit-flex; /* NEW - Chrome */ - display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */ - - /* 09版 */ - -webkit-box-orient: horizontal; - /* 12版 */ - -webkit-flex-direction: row; - -moz-flex-direction: row; - -ms-flex-direction: row; - -o-flex-direction: row; - flex-direction: row; - - /* 09版 */ - -webkit-box-pack: center; - /* 12版 */ - -webkit-justify-content: center; - -moz-justify-content: center; - -ms-justify-content: center; - -o-justify-content: center; - justify-content: center; - - /* 09版 */ - -webkit-box-align: center; - /* 12版 */ - -webkit-align-items: center; - -moz-align-items: center; - -ms-align-items: center; - -o-align-items: center; - align-items: center; -} \ No newline at end of file diff --git a/src/less/core/wrapper/flex.horizontal.less b/src/less/core/wrapper/flex.horizontal.less deleted file mode 100644 index 7ecd307ec9..0000000000 --- a/src/less/core/wrapper/flex.horizontal.less +++ /dev/null @@ -1,65 +0,0 @@ -.bi-flex-horizontal-layout { - display: box; /* OLD - Android 4.4- */ - display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ - display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */ - display: -ms-flexbox; /* TWEENER - IE 10 */ - display: -webkit-flex; /* NEW - Chrome */ - display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */ - - /* 09版 */ - -webkit-box-orient: horizontal; - /* 12版 */ - -webkit-flex-direction: row; - -moz-flex-direction: row; - -ms-flex-direction: row; - -o-flex-direction: row; - flex-direction: row; - - /* 09版 */ - -webkit-box-pack: flex-start; - /* 12版 */ - -webkit-justify-content: flex-start; - -moz-justify-content: flex-start; - -ms-justify-content: flex-start; - -o-justify-content: flex-start; - justify-content: flex-start; - - /* 09版 */ - -webkit-box-align: flex-start; - /* 12版 */ - -webkit-align-items: flex-start; - -moz-align-items: flex-start; - -ms-align-items: flex-start; - -o-align-items: flex-start; - align-items: flex-start; - - /* 09版 */ - /*-webkit-box-lines: multiple;*/ - /* 12版 */ - -webkit-flex-wrap: nowrap; - -moz-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - -o-flex-wrap: nowrap; - flex-wrap: nowrap; - - &.middle { - /* 09版 */ - -webkit-box-align: center; - /* 12版 */ - -webkit-align-items: center; - -moz-align-items: center; - -ms-align-items: center; - -o-align-items: center; - align-items: center; - } - &.bottom { - /* 09版 */ - -webkit-box-align: flex-end; - /* 12版 */ - -webkit-align-items: flex-end; - -moz-align-items: flex-end; - -ms-align-items: flex-end; - -o-align-items: flex-end; - align-items: flex-end; - } -} \ No newline at end of file diff --git a/src/less/core/wrapper/flex.vertical.center.less b/src/less/core/wrapper/flex.vertical.center.less deleted file mode 100644 index f4f02a8673..0000000000 --- a/src/less/core/wrapper/flex.vertical.center.less +++ /dev/null @@ -1,72 +0,0 @@ -.bi-flex-vertical-center { - display: box; /* OLD - Android 4.4- */ - display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ - display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */ - display: -ms-flexbox; /* TWEENER - IE 10 */ - display: -webkit-flex; /* NEW - Chrome */ - display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */ - - /* 09版 */ - -webkit-box-orient: horizontal; - /* 12版 */ - -webkit-flex-direction: row; - -moz-flex-direction: row; - -ms-flex-direction: row; - -o-flex-direction: row; - flex-direction: row; - - /* 09版 */ - -webkit-box-pack: flex-start; - /* 12版 */ - -webkit-justify-content: flex-start; - -moz-justify-content: flex-start; - -ms-justify-content: flex-start; - -o-justify-content: flex-start; - justify-content: flex-start; - - /* 09版 */ - -webkit-box-align: center; - /* 12版 */ - -webkit-align-items: center; - -moz-align-items: center; - -ms-align-items: center; - -o-align-items: center; - align-items: center; - - /* 09版 */ - /*-webkit-box-lines: multiple;*/ - /* 12版 */ - -webkit-flex-wrap: nowrap; - -moz-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - -o-flex-wrap: nowrap; - flex-wrap: nowrap; - - &.stretch { - /* 09版 */ - -webkit-box-orient: vertical; - /* 12版 */ - -webkit-flex-direction: column; - -moz-flex-direction: column; - -ms-flex-direction: column; - -o-flex-direction: column; - flex-direction: column; - - /* 09版 */ - -webkit-box-pack: center; - /* 12版 */ - -webkit-justify-content: center; - -moz-justify-content: center; - -ms-justify-content: center; - -o-justify-content: center; - justify-content: center; - /* 09版 */ - -webkit-box-align: stretch; - /* 12版 */ - -webkit-align-items: stretch; - -moz-align-items: stretch; - -ms-align-items: stretch; - -o-align-items: stretch; - align-items: stretch; - } -} \ No newline at end of file diff --git a/src/less/core/wrapper/flex.wrapper.center.less b/src/less/core/wrapper/flex.wrapper.center.less deleted file mode 100644 index c430c58d5a..0000000000 --- a/src/less/core/wrapper/flex.wrapper.center.less +++ /dev/null @@ -1,40 +0,0 @@ -.bi-flex-wrapper-center-layout { - & .flex-wrapper-center-layout-wrapper { - display: box; /* OLD - Android 4.4- */ - display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ - display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */ - display: -ms-flexbox; /* TWEENER - IE 10 */ - display: -webkit-flex; /* NEW - Chrome */ - display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */ - /* 09版 */ - -webkit-box-orient: horizontal; - /* 12版 */ - -webkit-flex-direction: row; - -moz-flex-direction: row; - -ms-flex-direction: row; - -o-flex-direction: row; - flex-direction: row; - - /* 09版 */ - -webkit-box-pack: center; - /* 12版 */ - -webkit-justify-content: center; - -moz-justify-content: center; - -ms-justify-content: center; - -o-justify-content: center; - justify-content: center; - - /* 09版 */ - -webkit-box-align: center; - /* 12版 */ - -webkit-align-items: center; - -moz-align-items: center; - -ms-align-items: center; - -o-align-items: center; - align-items: center; - - min-width: 100%; - min-height: 100%; - float: left; - } -} \ No newline at end of file diff --git a/src/less/core/wrapper/flex.wrapper.horizontal.less b/src/less/core/wrapper/flex.wrapper.horizontal.less deleted file mode 100644 index 602c4bb6d1..0000000000 --- a/src/less/core/wrapper/flex.wrapper.horizontal.less +++ /dev/null @@ -1,68 +0,0 @@ -.bi-flex-wrapper-horizontal-layout { - & .flex-wrapper-horizontal-layout-wrapper { - display: box; /* OLD - Android 4.4- */ - display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ - display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */ - display: -ms-flexbox; /* TWEENER - IE 10 */ - display: -webkit-flex; /* NEW - Chrome */ - display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */ - /* 09版 */ - -webkit-box-orient: horizontal; - /* 12版 */ - -webkit-flex-direction: row; - -moz-flex-direction: row; - -ms-flex-direction: row; - -o-flex-direction: row; - flex-direction: row; - - /* 09版 */ - -webkit-box-pack: flex-start; - /* 12版 */ - -webkit-justify-content: flex-start; - -moz-justify-content: flex-start; - -ms-justify-content: flex-start; - -o-justify-content: flex-start; - justify-content: flex-start; - - /* 09版 */ - -webkit-box-align: flex-start; - /* 12版 */ - -webkit-align-items: flex-start; - -moz-align-items: flex-start; - -ms-align-items: flex-start; - -o-align-items: flex-start; - align-items: flex-start; - - /* 09版 */ - /*-webkit-box-lines: multiple;*/ - /* 12版 */ - -webkit-flex-wrap: nowrap; - -moz-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - -o-flex-wrap: nowrap; - flex-wrap: nowrap; - - min-height: 100%; - - &.middle { - /* 09版 */ - -webkit-box-align: center; - /* 12版 */ - -webkit-align-items: center; - -moz-align-items: center; - -ms-align-items: center; - -o-align-items: center; - align-items: center; - } - &.bottom { - /* 09版 */ - -webkit-box-align: flex-end; - /* 12版 */ - -webkit-align-items: flex-end; - -moz-align-items: flex-end; - -ms-align-items: flex-end; - -o-align-items: flex-end; - align-items: flex-end; - } - } -} \ No newline at end of file diff --git a/src/less/core/wrapper/flex.wrapper.vertical.center.less b/src/less/core/wrapper/flex.wrapper.vertical.center.less deleted file mode 100644 index e1da79b9dc..0000000000 --- a/src/less/core/wrapper/flex.wrapper.vertical.center.less +++ /dev/null @@ -1,78 +0,0 @@ -.bi-flex-wrapper-vertical-center { - & .flex-wrapper-vertical-center-wrapper { - display: box; /* OLD - Android 4.4- */ - display: -webkit-box; /* OLD - iOS 6-, Safari 3.1-6 */ - display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works) */ - display: -ms-flexbox; /* TWEENER - IE 10 */ - display: -webkit-flex; /* NEW - Chrome */ - display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */ - - /* 09版 */ - -webkit-box-orient: horizontal; - /* 12版 */ - -webkit-flex-direction: row; - -moz-flex-direction: row; - -ms-flex-direction: row; - -o-flex-direction: row; - flex-direction: row; - - /* 09版 */ - -webkit-box-pack: flex-start; - /* 12版 */ - -webkit-justify-content: flex-start; - -moz-justify-content: flex-start; - -ms-justify-content: flex-start; - -o-justify-content: flex-start; - justify-content: flex-start; - - /* 09版 */ - -webkit-box-align: center; - /* 12版 */ - -webkit-align-items: center; - -moz-align-items: center; - -ms-align-items: center; - -o-align-items: center; - align-items: center; - - /* 09版 */ - /*-webkit-box-lines: multiple;*/ - /* 12版 */ - -webkit-flex-wrap: nowrap; - -moz-flex-wrap: nowrap; - -ms-flex-wrap: nowrap; - -o-flex-wrap: nowrap; - flex-wrap: nowrap; - - min-height: 100%; - float: left; - - &.stretch { - width: 100%; - /* 09版 */ - -webkit-box-orient: vertical; - /* 12版 */ - -webkit-flex-direction: column; - -moz-flex-direction: column; - -ms-flex-direction: column; - -o-flex-direction: column; - flex-direction: column; - - /* 09版 */ - -webkit-box-pack: center; - /* 12版 */ - -webkit-justify-content: center; - -moz-justify-content: center; - -ms-justify-content: center; - -o-justify-content: center; - justify-content: center; - /* 09版 */ - -webkit-box-align: stretch; - /* 12版 */ - -webkit-align-items: stretch; - -moz-align-items: stretch; - -ms-align-items: stretch; - -o-align-items: stretch; - align-items: stretch; - } - } -} \ No newline at end of file diff --git a/src/less/core/wrapper/inline.center.less b/src/less/core/wrapper/inline.center.less deleted file mode 100644 index 6065e08a8a..0000000000 --- a/src/less/core/wrapper/inline.center.less +++ /dev/null @@ -1,11 +0,0 @@ -@import "../../bibase"; - -.bi-inline-center-adapt-layout{ - &:after{ - display:inline-block; - width:0; - min-height:100%; - vertical-align:middle; - content:' '; - } -} \ No newline at end of file diff --git a/src/less/core/wrapper/inline.vertical.less b/src/less/core/wrapper/inline.vertical.less deleted file mode 100644 index 651a77f9df..0000000000 --- a/src/less/core/wrapper/inline.vertical.less +++ /dev/null @@ -1,11 +0,0 @@ -@import "../../bibase"; - -.bi-inline-vertical-adapt-layout{ - &:after{ - display:inline-block; - width:0; - min-height:100%; - vertical-align:middle; - content:' '; - } -} \ No newline at end of file diff --git a/src/less/image.less b/src/less/image.less deleted file mode 100644 index d81d2a2b3b..0000000000 --- a/src/less/image.less +++ /dev/null @@ -1,355 +0,0 @@ -@import "var"; - -.imagePath(none) { - background: none; - _filter: none; -} - -.imagePath(@path, @top:center, @left:center, @repeat: no-repeat) when not (@path = none) { - background: url('@{imageUrl}@{path}') @repeat @left @top; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='@{imageUrl}@{path}'); - _background: none; -} - -.image2xPath(@path, @top:center, @left:center, @repeat: no-repeat) when not (@path = none) { - background: url('@{image2xUrl}@{path}') @repeat @left @top; - _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='@{image2xUrl}@{path}'); - background-size: contain; - _background: none; -} - -.icon(@class, @iconPath, @top:0px, @left:0px) { - .@{class} { - & .x-icon, - &:hover .x-icon, - &:active .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -@left); - &.hack { - .imagePath(@iconPath, -@top, -@left); - } - } - &.native .x-icon, - &.disabled .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -@left); - &.hack { - .imagePath(@iconPath, -@top, -@left); - } - } - } -} - -.icon_hover(@class, @iconPath, @top:0px, @left:0px, @distance: 20) { - .@{class} { - & .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -@left); - &.hack { - .imagePath(@iconPath, -@top, -@left); - } - } - &:hover .x-icon, - &:focus .x-icon, - &.hover .x-icon, - &:active .x-icon, - &.active .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -(@left + @distance)); - &.hack { - .imagePath(@iconPath, -@top, -(@left + @distance)); - } - } - &.native .x-icon, - &.disabled .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -@left); - &.hack { - .imagePath(@iconPath, -@top, -@left); - } - } - } -} - -.icon_active(@class, @iconPath, @top:0px, @left:0px, @distance: 20) { - .@{class} { - & .x-icon, - &:hover .x-icon, - &:focus .x-icon, - &.hover .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -@left); - &.hack { - .imagePath(@iconPath, -@top, -@left); - } - } - &:active .x-icon, - &.active .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -(@left + @distance)); - &.hack { - .imagePath(@iconPath, -@top, -(@left + @distance)); - } - } - &.native .x-icon, - &.disabled .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -@left); - &.hack { - .imagePath(@iconPath, -@top, -@left); - } - } - } -} - -.icon_hover_active(@class, @iconPath, @top:0px, @left:0px, @distance: 20) { - .@{class} { - & .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -@left); - &.hack { - .imagePath(@iconPath, -@top, -@left); - } - } - &:hover .x-icon, - &:focus .x-icon, - &.hover .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -(@left+@distance)); - &.hack { - .imagePath(@iconPath, -@top, -(@left+@distance)); - } - } - - &:active .x-icon, - &.active .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -(@left+@distance*2)); - &.hack { - .imagePath(@iconPath, -@top, -(@left+@distance*2)); - } - } - &.native .x-icon, - &.disabled .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -@left); - &.hack { - .imagePath(@iconPath, -@top, -@left); - } - } - } -} - -.icon_select(@class, @iconPath, @top:0px, @left:0px, @distance: 20) { - .@{class} { - & .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -@left); - &.hack { - .imagePath(@iconPath, -@top, -@left); - } - } - &.active .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -(@left+@distance)); - &.hack { - .imagePath(@iconPath, -@top, -(@left+@distance)); - } - } - &.native .x-icon, - &.disabled .x-icon { - display: block; - .image2xPath(@iconPath, -@top, -@left); - &.hack { - .imagePath(@iconPath, -@top, -@left); - } - } - } -} - -.icon_custom(@class, @iconPath, @hoverPath:none, @activePath:none, @disablePath:none, @activeDisablePath:none) { - .@{class} { - & .x-icon { - display: block; - .image2xPath(@iconPath, 0, 0); - &.hack { - .imagePath(@iconPath, 0, 0); - } - } - &:hover .x-icon, - &:focus .x-icon, - &.hover .x-icon { - display: block; - .image2xPath(@hoverPath, 0, 0); - &.hack { - .imagePath(@hoverPath, 0, 0); - } - } - - &:active .x-icon, - &.active .x-icon { - display: block; - .image2xPath(@activePath, 0, 0); - &.hack { - .imagePath(@activePath, 0, 0); - } - } - &.native .x-icon, - &.disabled .x-icon { - display: block; - .image2xPath(@disablePath, 0, 0); - &.hack { - .imagePath(@disablePath, 0, 0); - } - } - &.native .x-icon, - &.disabled.active .x-icon { - display: block; - .image2xPath(@activeDisablePath, 0, 0); - &.hack { - .imagePath(@activeDisablePath, 0, 0); - } - } - } -} - -.icon_custom_hover(@class, @iconPath, @hoverPath:none, @disablePath:none) { - .@{class} { - & .x-icon { - display: block; - .image2xPath(@iconPath, 0, 0); - &.hack { - .imagePath(@iconPath, 0, 0); - } - } - &:hover .x-icon, - &:focus .x-icon, - &.hover .x-icon { - display: block; - .image2xPath(@hoverPath, 0, 0); - &.hack { - .imagePath(@hoverPath, 0, 0); - } - } - - &.native .x-icon, - &.disabled .x-icon { - display: block; - .image2xPath(@disablePath, 0, 0); - &.hack { - .imagePath(@disablePath, 0, 0); - } - } - } -} - -// -@color-bi-font-native: inherit; -//active -@color-bi-font-hover: inherit; -//hover -@color-bi-font-active: #3f8ce8; - -.font(@class,@content, @color: @color-bi-font-native) { - @fc: "\@{content}"; - .@{class} { - & .b-font { - *zoom: ~"expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#x@{content};')"; - } - & .b-font:before { - content: @fc; - color: @color; - } - &.native .b-font:before, - &.disabled .b-font:before { - content: @fc; - color: @color; - } - } -} - -.font-hover(@class,@content,@color-native: @color-bi-font-native, @color-hover: @color-bi-font-hover) { - @fc: "\@{content}"; - .@{class} { - & .b-font { - *zoom: ~"expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#x@{content};')"; - } - & .b-font:before { - content: @fc; - color: @color-native; - } - &:hover .b-font:before, - &:focus .b-font:before, - &.hover .b-font:before { - content: @fc; - color: @color-hover; - } - &.native .b-font:before, - &.disabled .b-font:before { - content: @fc; - color: @color-native; - } - } -} - -.font-effect(@class,@content,@color-native: @color-bi-font-native, @color-hover: @color-bi-font-hover, @color-active: @color-bi-font-active, @color-selected: @color-bi-font-active) { - @fc: "\@{content}"; - .@{class} { - & .b-font { - *zoom: ~"expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#x@{content};')"; - } - & .b-font:before { - content: @fc; - color: @color-native; - } - &:hover .b-font:before, - &:focus .b-font:before, - &.hover .b-font:before { - content: @fc; - color: @color-hover; - } - &.active .b-font:before { - content: @fc; - color: @color-selected; - } - &:active .b-font:before { - content: @fc; - color: @color-active; - } - &.native .b-font:before, - &.disabled .b-font:before { - content: @fc; - color: @color-native; - } - } -} - -.font-hover-active(@class,@content,@color-native: @color-bi-font-native, @color-hover: @color-bi-font-hover, @color-active: @color-bi-font-active) { - @fc: "\@{content}"; - .@{class} { - & .b-font { - *zoom: ~"expression( this.runtimeStyle['zoom'] = '1',this.innerHTML = '&#x@{content};')"; - } - & .b-font:before { - content: @fc; - color: @color-native; - } - &:hover .b-font:before, - &:focus .b-font:before, - &.hover .b-font:before { - content: @fc; - color: @color-hover; - } - - &:active .b-font:before, - &.active .b-font:before { - content: @fc; - color: @color-active; - } - &.native .b-font:before, - &.disabled .b-font:before { - content: @fc; - color: @color-native; - } - } -} \ No newline at end of file diff --git a/src/less/lib/background.less b/src/less/lib/background.less deleted file mode 100644 index 1b8a6e6a31..0000000000 --- a/src/less/lib/background.less +++ /dev/null @@ -1,6 +0,0 @@ -@background-auto-color: "background/auto-color.png"; -@background-trans-color: "background/trans-color.png"; - -@background-farbtastic-wheel:"background/wheel.png"; -@background-farbtastic-overlay:"background/mask.png"; -@background-farbtastic-marker:"background/marker.png"; \ No newline at end of file diff --git a/src/less/lib/colors.less b/src/less/lib/colors.less deleted file mode 100644 index ba1c853ed6..0000000000 --- a/src/less/lib/colors.less +++ /dev/null @@ -1,97 +0,0 @@ -@import "constant"; - -// 色彩库,从constant.less中获取相关颜色,不要出现#xxxxxx - -//默认字体颜色 -@color-bi-text-normal: @font-color-normal; -//黑色字体颜色 -@color-bi-text-black: @font-color-black; -//深色主题默认字体颜色 -@color-bi-text-theme-dark: @font-color-normal-theme-dark; -//深灰色字体颜色 -@color-bi-text-dark: @font-color-dark; -//灰色字体颜色 -@color-bi-text-gray: @font-color-gray; -//白色字体颜色 -@color-bi-text: @font-color-white; -//灰化字体颜色 -@color-bi-text-disabled: @font-color-disabled; -//深色主题灰化字体颜色 -@color-bi-text-disabled-theme-dark: @font-color-disabled-theme-dark; -//提示字体颜色 -@color-bi-text-tips: @font-color-tips; -//成功字体颜色 -@color-bi-text-success: @font-color-success; -//失败字体颜色 -@color-bi-text-warning: @font-color-warning; -//基本提亮颜色 -@color-bi-text-highlight: @font-color-highlight; -//标红色 -@color-bi-text-redmark: @font-color-redmark; - -//普通背景 -@color-bi-background-normal: @background-color-normal; -@color-bi-background-normal-theme-dark: @background-color-normal-theme-dark; -//默认背景 -@color-bi-background-default: @background-color-default; -//深色主题默认背景 -@color-bi-background-default-theme-dark: @background-color-default-theme-dark; -//黑色背景 -@color-bi-background-black: @background-color-black; -//深灰色背景 -@color-bi-background-dark: @background-color-dark; -//灰色背景 -@color-bi-background-gray: @background-color-gray; -//灰化背景 -@color-bi-background-disabled: @background-color-disabled; -//成功背景色 -@color-bi-background-success: @background-color-dark-success; -//失败背景色 -@color-bi-background-failure: @background-color-negative; -//删除背景色 -@color-bi-background-delete: @background-color-negative; -//警示背景色 -@color-bi-background-warning: @background-color-warning; -//背景提亮色 -@color-bi-background-highlight: @background-color-highlight; - -//黑色边框色 -@color-bi-border-black: @border-color-black; -//默认边框色 -@color-bi-border-default: @border-color-default; -//outline颜色 -@color-bi-border-outline: @border-color-outline; -//边框线颜色 -@color-bi-border-line: @border-color-line; -//深色系边框线色 -@color-bi-border-line-theme-dark: @border-color-line-theme-dark; -//灰化分割线 -@color-bi-border-disabled: @border-color-disabled; -//成功边框色 -@color-bi-border-success: @border-color-success; -//失败边框色 -@color-bi-border-failure: @border-color-negative; -//删除边框色 -@color-bi-border-delete: @border-color-negative; -//警示边框色 -@color-bi-border-warning: @border-color-warning; -//边框提亮 -@color-bi-border-highlight: @border-color-highlight; - -//bubble、toast、tooltip通用 -@color-bi-tip-warning-background: @background-color-alert; - -//toast -//成功背景 -@color-bi-toast-success-background: @background-color-light-success; - -//tooltip -//成功背景 -@color-bi-tooltip-success-background: @background-color-normal-success; -//成功边框 -@color-bi-tooltip-success-border: @border-color-normal-success; -//失败边框 -@color-bi-tooltip-warning-border: @border-color-error; - -//mask颜色 -@color-bi-button-mask: @color-bi-background-black; diff --git a/src/less/lib/constant.less b/src/less/lib/constant.less deleted file mode 100644 index afebb922d2..0000000000 --- a/src/less/lib/constant.less +++ /dev/null @@ -1,78 +0,0 @@ -//常量库 - -//classified - -// -@font-size-12: 12px; -@font-size-13: 13px; -@font-size-14: 14px; -@font-size-16: 16px; -@font-size-22: 22px; -@radius-2: 2px; -@radius-6: 6px; - -@opacity-15: 0.15; -@opacity-20: 0.2; - -//font color -@font-color-black: #1a1a1a;// -@font-color-normal: #666666;// -@font-color-normal-theme-dark: #cccccc;// -@font-color-disabled: #cccccc;// -@font-color-disabled-theme-dark: #666666;// -@font-color-tips: #999999;// -@font-color-dark: #d4dadd; -@font-color-gray: #999999; -@font-color-white: #ffffff;// -@font-color-highlight: #3f8ce8; -@font-color-success: #0c6d23; -@font-color-warning: #e85050;// -@font-color-redmark: #f07d0a;// -@font-color-orange: #fbb03b;// - -//background color -@background-color-black: #1a1a1a;// -@background-color-default: #ffffff;// -@background-color-default-theme-dark: #242640;// -@background-color-normal: #eff1f4;// -@background-color-normal-theme-dark: #191B2B;// -@background-color-highlight: #3f8ce8; -@background-color-dark: #d4dadd; -@background-color-gray: #999999; -@background-color-disabled: #cccccc; - -@background-color-alert: #fddddd; -@background-color-warning: #fbb03b; -@background-color-negative: #e85050; - -@background-color-dark-success: #58cc7d; -@background-color-light-success: #e1f4e7; -@background-color-normal-success: #fff5c1; - -//border color -@border-color-default: #ffffff; -@border-color-black: #1a1a1a; -@border-color-line: #d4dadd; -@border-color-line-theme-dark: #525466; -@border-color-outline: #3f8ce8; -@border-color-highlight: #178cdf; - -@border-color-warning: #fbb03b; -@border-color-negative: #e85050; -@border-color-success: #58cc7d; -@border-color-error: #f4cbcb; -@border-color-normal-success: #eddea2; - -//split color -@border-color-disabled: #cccccc; - -//scroll color -@scroll-color: #666666; -@scroll-color-theme-dark: #cccccc; - -@water-mark-color: #cccccc; -@water-mark-color-theme-dark: #666666; - - -//shadow color -@shadow-color-black: #000000; diff --git a/src/less/lib/font.less b/src/less/lib/font.less deleted file mode 100644 index 0aaf28f159..0000000000 --- a/src/less/lib/font.less +++ /dev/null @@ -1,183 +0,0 @@ -//字体库 - -@font-cross: "e600"; -@font-arrow-left: "e601"; -@font-arrow-right: "e602"; -@font-arrow-down: "e603"; -@font-search: "e604"; - -@font-delete: "e605"; -@font-dot: "e606"; -@font-right-triangle: "e607"; -@font-down-triangle: "e608"; -@font-left-triangle: "e6ae"; -@font-top-triangle: "e6ad"; - -@font-summary: "e60e"; -@font-axis: "e626"; -@font-bar: "e620"; -@font-accumulate-bar: "e60a"; -@font-pie: "e618"; -@font-map: "e62c"; -@font-dashboard: "e623"; -@font-doughnut: "e624"; -@font-detail: "e615"; -@font-more-cn: "e60d"; -@font-bubble: "e62a"; -@font-scatter: "e61d"; -@font-radar: "e614"; -@font-content: "e621"; -@font-image: "e68d"; -@font-web: "e68c"; - -@font-text: "e622"; -@font-number: "e61f"; -@font-tree: "e61e"; -@font-date: "e61b"; -@font-year: "e628"; -@font-year-month: "e627"; -@font-quarter: "e629"; -@font-YMD: "e61c"; -@font-date-range: "e616"; - -@font-and-or: "e62b"; -@font-query-cn: "e609"; -@font-reset-cn: "e61a"; -@font-text-area: "e622"; -@font-reuse: "e60b"; - -@font-save: "e617"; -@font-undo: "e619"; -@font-redo: "e625"; - -@font-style-set: "e60c"; -@font-filter: "e60f"; -@font-copy: "e610"; -@font-check-mark: "e611"; -@font-dimension-from: "e612"; -@font-chart-type: "e613"; - -@font-share: "e632"; -@font-edit: "e631"; -@font-up: "e630"; -@font-right: "e62f"; -@font-down: "e62d"; -@font-left: "e62e"; - -@font-less: "e633"; -@font-less-equal: "e636"; -@font-less-arrow: "e637"; -@font-less-equal-arrow: "e638"; - -@font-asc: "e63f"; -@font-des: "e63a"; - -@font-add: "e649"; - -@font-field-calc: "e6a3"; -@font-field-string: "e642"; -@font-field-number: "e641"; -@font-field-date: "e640"; - -@font-preview: "e65f"; - -@font-setting: "e678"; -@font-warning: "e64e"; -@font-linkage: "e63c"; -@font-detail-set: "e634"; -@font-export-excel: "e635"; - -@font-change: "e660"; - -@font-sortable: "e63b"; -@font-clear: "e63d"; - -@font-bold: "e64d"; -@font-color: "e69c"; -@font-italic: "e656"; -@font-underline: "e650"; -@font-background: "e696"; -@font-color-underline: "e69d"; -@font-align-left: "e654"; -@font-align-center: "e64f"; -@font-align-right: "e651"; - -@font-move: "e65e"; -@font-share: "e65a"; -@font-new-folder: "e65d"; -@font-letter: "e659"; -@font-time: "e658"; -@font-file: "e65b"; -@font-folder: "e65c"; -@font-rename: "e687"; -@font-rename-edit: "e670"; - -@font-source-table: "e67b"; -@font-excel-table: "e682"; -@font-etl-table: "e680"; -@font-sql-table: "e681"; -@font-key: "e67d;"; -@font-refresh: "e683"; - -@font-tile-view: "e685"; -@font-relation-view: "e684"; -@font-test-link: "e686"; - -@font-upload: "e6ba"; -@font-image-size: "e68b"; -@font-href: "e688"; -@font-shutdown: "e689"; - -@font-doubt: "e69a"; -@font-new: "e692"; -@font-database: "e693"; - -@font-series: "e695"; -@font-classify: "e694"; - -@font-solid-left: "e6be"; -@font-solid-right: "e6bd"; -@font-solid-top: "e6bc"; -@font-solid-bottom: "e6bb"; - -@font-no-sort-no-filter: "e66a"; -@font-no-sort-filter: "e66b"; -@font-descending-filter: "e667"; -@font-ascending-filter: "e669"; -@font-descending-no-filter: "e666"; -@font-ascending-no-filter: "e668"; -@font-no-sort: "e66c"; - -@font-table-col-open: "e672"; -@font-table-row-open: "e671"; - -@font-tip: "e69e"; - -@font-mark-dot: "e6a2"; -@font-mark-up-arrow: "e6a0"; -@font-mark-down-arrow: "e6a1"; -@font-mark-equal: "e69f"; - -@font-pull-down: "e6ab"; -@font-check: "e64c"; - -@font-hellip: "e6ac"; - -@font-report-filter-open: "e648"; -@font-report-filter-close: "e645"; - -@font-apply-hangout: "e66d"; -@font-hangout: "e64b"; - -@font-real-time: "e6af"; - -@font-info: "e66e"; - -@font-cancel-share: "e6b5"; -@font-check-box-selected: "e6b3"; -@font-check-box-not-selected: "e6b2"; - -@font-recover-chart: "e6b4"; -@font-check-box-not-selected: "e6b2"; - -@font-solid-setting: "e697"; diff --git a/src/less/lib/icon.less b/src/less/lib/icon.less deleted file mode 100644 index 9f1ea017fc..0000000000 --- a/src/less/lib/icon.less +++ /dev/null @@ -1,47 +0,0 @@ -@icon-checkbox-normal: "icon/check-box-normal.png"; -@icon-checkbox-active: "icon/check-box-active.png"; -@icon-checkbox-disable: "icon/check-box-disable.png"; -@icon-checkbox-active-disable: "icon/check-box-disable2.png"; - -@icon-radio-normal: "icon/radio-normal.png"; -@icon-radio-active: "icon/radio-active.png"; -@icon-radio-disable: "icon/radio-disable.png"; -@icon-radio-active-disable: "icon/radio-disable2.png"; - -@icon-half-select: "icon/half_selected.png"; - -@icon-tree-expand-type1: "icon/tree-expand-1.png"; -@icon-tree-expand-type2: "icon/tree-expand-2.png"; -@icon-tree-expand-type3: "icon/tree-expand-3.png"; -@icon-tree-expand-type4: "icon/tree-expand-4.png"; - -@icon-tree-collapse-type1: "icon/tree-collapse-1.png"; -@icon-tree-collapse-type2: "icon/tree-collapse-2.png"; -@icon-tree-collapse-type3: "icon/tree-collapse-3.png"; -@icon-tree-collapse-type4: "icon/tree-collapse-4.png"; - -@icon-tree-vertical-line-1: "icon/tree-vertical-line-1.png"; -@icon-tree-vertical-line-2: "icon/tree-vertical-line-2.png"; -@icon-tree-vertical-line-3: "icon/tree-vertical-line-3.png"; -@icon-tree-vertical-line-4: "icon/tree-vertical-line-4.png"; - -@icon-tree-expand-type1-theme-dark: "icon/dark/tree-expand-1.png"; -@icon-tree-expand-type2-theme-dark: "icon/dark/tree-expand-2.png"; -@icon-tree-expand-type3-theme-dark: "icon/dark/tree-expand-3.png"; -@icon-tree-expand-type4-theme-dark: "icon/dark/tree-expand-4.png"; - -@icon-tree-collapse-type1-theme-dark: "icon/dark/tree-collapse-1.png"; -@icon-tree-collapse-type2-theme-dark: "icon/dark/tree-collapse-2.png"; -@icon-tree-collapse-type3-theme-dark: "icon/dark/tree-collapse-3.png"; -@icon-tree-collapse-type4-theme-dark: "icon/dark/tree-collapse-4.png"; - -@icon-tree-vertical-line-1-theme-dark: "icon/dark/tree-vertical-line-1.png"; -@icon-tree-vertical-line-2-theme-dark: "icon/dark/tree-vertical-line-2.png"; -@icon-tree-vertical-line-3-theme-dark: "icon/dark/tree-vertical-line-3.png"; -@icon-tree-vertical-line-4-theme-dark: "icon/dark/tree-vertical-line-4.png"; - -@icon-loading: "icon/loading.gif"; - -//滑块 -@icon-slider-normal: "icon/slider-normal-small.png"; -@icon-slider-active: "icon/slider-active-small.png"; diff --git a/src/less/position.less b/src/less/position.less deleted file mode 100644 index 7f1f1af66b..0000000000 --- a/src/less/position.less +++ /dev/null @@ -1,29 +0,0 @@ -.position-absolute(){ - position: absolute; -} - -.position-relative(){ - position: relative; -} - -.position-left-top(@left:0px, @top:0px){ - position: absolute; - left: @left; - top: @top; -} - -.position-right-bottom(@right: 0px, @bottom: 0px){ - position: absolute; - right: @right; - bottom: @bottom; -} - -.relative-left-top(@left:0px, @top: 0px){ - position: relative; - left: @left; - top: @top; -} - -.z-index-layer( @index: 0 ){ - z-index: @index; -} \ No newline at end of file diff --git a/src/less/resource/app.less b/src/less/resource/app.less deleted file mode 100644 index 3fe14de0c2..0000000000 --- a/src/less/resource/app.less +++ /dev/null @@ -1,69 +0,0 @@ -@import "../bibase"; - -html, -button, -input, -select, -textarea, * { - font-family: "Microsoft YaHei", "Hiragino Sans GB W3"; -} - -html { - height: 100%; - overflow: hidden; -} - -body { - position: absolute; - width: 100%; - height: 100%; - margin: 0; - padding: 0; - top: 0; - left: 0; - background-repeat: repeat; - .user-select-disable(); - color: @color-bi-text-normal; - font: normal 12px "Microsoft YaHei", "Hiragino Sans GB W3"; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - text-decoration: none; - -kthml-user-focus: normal; - -moz-user-focus: normal; - -moz-outline: 0 none; - outline: 0 none; -} - -div, textarea { - &::-webkit-scrollbar { - -webkit-appearance: none; - .background-color(@scroll-color, 5%); - width: 6px; - height: 6px; - } - &::-webkit-scrollbar-thumb { - .border-radius(0); - .background-color(@scroll-color, 30%); - &:hover { - .background-color(@scroll-color, 70%); - } - } -} - -.bi-theme-dark { - div, textarea { - &::-webkit-scrollbar { - -webkit-appearance: none; - .background-color(@scroll-color-theme-dark, 5%); - width: 6px; - height: 6px; - } - &::-webkit-scrollbar-thumb { - .border-radius(0); - .background-color(@scroll-color-theme-dark, 30%); - &:hover { - .background-color(@scroll-color-theme-dark, 70%); - } - } - } -} \ No newline at end of file diff --git a/src/less/resource/background.less b/src/less/resource/background.less deleted file mode 100644 index 3c15ea9228..0000000000 --- a/src/less/resource/background.less +++ /dev/null @@ -1,236 +0,0 @@ -@import "../image"; -@import "../lib/icon"; -@import "../lib/background"; - -.farbtastic .wheel { - .imagePath(@background-farbtastic-wheel); -} - -.farbtastic .overlay { - .imagePath(@background-farbtastic-overlay); -} - -.farbtastic .marker { - .imagePath(@background-farbtastic-marker); -} - -.bi-display-tree { - & .ztree li span.button.switch.center_open { - .imagePath(@icon-tree-vertical-line-3); - } - - & .ztree li span.button.switch.roots_open { - .imagePath(@icon-tree-vertical-line-2); - } - - & .ztree li span.button.switch.bottom_open { - .imagePath(@icon-tree-vertical-line-4); - } -} - -.ztree li ul.line { - .imagePath(@icon-tree-vertical-line-1, 0, 0, repeat-y); -} - -.bi-theme-dark { - .ztree li ul.line { - .imagePath(@icon-tree-vertical-line-1-theme-dark, 0, 0, repeat-y); - } -} - -.ztree li span.button.chk.checkbox_false_full { - .imagePath(@icon-checkbox-normal); -} - -.ztree li span.button.chk.checkbox_false_full_focus { - .imagePath(@icon-checkbox-normal); -} - -.ztree li span.button.chk.checkbox_false_part { - .imagePath(@icon-half-select); -} - -.ztree li span.button.chk.checkbox_false_part_focus { - .imagePath(@icon-half-select); -} - -.ztree li span.button.chk.checkbox_true_full { - .imagePath(@icon-checkbox-active); -} - -.ztree li span.button.chk.checkbox_true_full_focus { - .imagePath(@icon-checkbox-active); -} - -.ztree li span.button.chk.checkbox_true_part { - .imagePath(@icon-half-select); -} - -.ztree li span.button.chk.checkbox_true_part_focus { - .imagePath(@icon-half-select); -} - -.ztree li span.button.root_open { - .imagePath(@icon-tree-expand-type1); -} - -.bi-theme-dark { - .ztree li span.button.root_open { - .imagePath(@icon-tree-expand-type1-theme-dark); - } -} - -.ztree li span.button.root_close { - .imagePath(@icon-tree-collapse-type1); -} - -.bi-theme-dark { - .ztree li span.button.root_close { - .imagePath(@icon-tree-collapse-type1-theme-dark); - } -} - -.ztree li span.button.roots_open { - .imagePath(@icon-tree-expand-type2); -} - -.bi-theme-dark { - .ztree li span.button.roots_open { - .imagePath(@icon-tree-expand-type2-theme-dark); - } -} - -.ztree li span.button.roots_close { - .imagePath(@icon-tree-collapse-type2); -} - -.bi-theme-dark { - .ztree li span.button.roots_close { - .imagePath(@icon-tree-collapse-type2-theme-dark); - } -} - -.ztree li span.button.center_open { - .imagePath(@icon-tree-expand-type3); -} - -.bi-theme-dark { - .ztree li span.button.center_open { - .imagePath(@icon-tree-expand-type3-theme-dark); - } -} - -.ztree li span.button.center_close { - .imagePath(@icon-tree-collapse-type3); -} - -.bi-theme-dark { - .ztree li span.button.center_close { - .imagePath(@icon-tree-collapse-type3-theme-dark); - } -} - -.ztree li span.button.bottom_open { - .imagePath(@icon-tree-expand-type4); -} - -.bi-theme-dark { - .ztree li span.button.bottom_open { - .imagePath(@icon-tree-expand-type4-theme-dark); - } -} - -.ztree li span.button.bottom_close { - .imagePath(@icon-tree-collapse-type4); -} - -.bi-theme-dark { - .ztree li span.button.bottom_close { - .imagePath(@icon-tree-collapse-type4-theme-dark); - } -} - -.ztree li span.button.roots_docu { - .imagePath(@icon-tree-vertical-line-2); -} - -.bi-theme-dark { - .ztree li span.button.roots_docu { - .imagePath(@icon-tree-vertical-line-2-theme-dark); - } -} - -.ztree li span.button.center_docu { - .imagePath(@icon-tree-vertical-line-3); -} - -.bi-theme-dark { - .ztree li span.button.center_docu { - .imagePath(@icon-tree-vertical-line-3-theme-dark); - } -} - -.ztree li span.button.bottom_docu { - .imagePath(@icon-tree-vertical-line-4); -} - -.bi-theme-dark { - .ztree li span.button.bottom_docu { - .imagePath(@icon-tree-vertical-line-4-theme-dark); - } -} -.ztree li span.button.ico_loading { - .imagePath(@icon-loading); -} - -.base-line-conn-background { - .imagePath(@icon-tree-vertical-line-1, 0, 0, repeat-y); -} - -.bi-theme-dark { - .base-line-conn-background { - .imagePath(@icon-tree-vertical-line-1-theme-dark, 0, 0, repeat-y); - } -} - -.first-line-conn-background { - .imagePath(@icon-tree-vertical-line-2); -} - -.bi-theme-dark { - .first-line-conn-background { - .imagePath(@icon-tree-vertical-line-2-theme-dark); - } -} - -.mid-line-conn-background { - .imagePath(@icon-tree-vertical-line-3); -} - -.bi-theme-dark { - .mid-line-conn-background { - .imagePath(@icon-tree-vertical-line-3-theme-dark); - } -} - -.last-line-conn-background { - .imagePath(@icon-tree-vertical-line-4); -} - -.bi-theme-dark { - .last-line-conn-background { - .imagePath(@icon-tree-vertical-line-4-theme-dark); - } -} - -.loading-background { - .imagePath(@icon-loading); -} - -.auto-color-background { - .imagePath(@background-auto-color); -} - -.trans-color-background { - .imagePath(@background-trans-color); -} \ No newline at end of file diff --git a/src/less/resource/font.less b/src/less/resource/font.less deleted file mode 100644 index d1b97e19d5..0000000000 --- a/src/less/resource/font.less +++ /dev/null @@ -1,107 +0,0 @@ -@import "../lib/font"; -@import "../lib/colors"; -@import "../image"; - -@font-face { - font-family: 'bi'; - src: url('@{fontUrl}iconfont.eot'), /* IE6-IE8 */ url('@{fontUrl}iconfont.woff') format('woff'), /* chrome、firefox */ url('@{fontUrl}iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('@{fontUrl}iconfont.svg#svgFontName') format('svg'); /* iOS 4.1- */ -} - -html.ie9below { - @font-face { - font-family: 'bi'; - src: url('@{fontUrl}iconfont.eot') /* IE6-IE8 */ - } -} - -.b-font { - font-family: "bi"; - font-style: normal; - -webkit-font-smoothing: antialiased; - -webkit-text-stroke-width: 0.2px; - -moz-osx-font-smoothing: grayscale; -} - -.font(close-font, @font-cross); -.font-hover(close-h-font, @font-cross); -.font-hover-active(close-ha-font, @font-cross); - -//搜索框中的带有hover后颜色变红的图标 -.font-hover(search-close-h-font, @font-cross, inherit, @color-bi-text-warning); - -.font-hover(pre-page-h-font, @font-arrow-left); - -.font-hover(next-page-h-font, @font-arrow-right); - -.font(search-font, @font-search); - -.font(date-font, @font-date); -.font-hover(date-change-h-font, @font-change); - -//子菜单选中 -.font(dot-font, @font-dot, @color-bi-text-black); -.font-hover(dot-h-font, @font-dot, @color-bi-text-black); -.font-hover-active(dot-ha-font, @font-dot, @color-bi-text, @color-bi-text-gray, @color-bi-text-black); -.font-effect(dot-e-font, @font-dot, @color-bi-text, @color-bi-text-gray, @color-bi-text-highlight, @color-bi-text-black); - -//向右展开子菜单 -.font(pull-right-font, @font-right-triangle); -.font-hover(pull-right-h-font, @font-right-triangle); -.font-hover-active(pull-right-ha-font, @font-right-triangle); -.font-effect(pull-right-e-font, @font-right-triangle); - -//复制 -.font(copy-font, @font-copy); -.font-hover(copy-h-font, @font-copy, @color-bi-text-black); -.font-hover-active(copy-ha-font, @font-copy); -.font-effect(copy-e-font, @font-copy); - -//选中的字段 -.font(check-mark-font, @font-check-mark); -.font-hover(check-mark-h-font, @font-check-mark); -.font-hover-active(check-mark-ha-font, @font-check-mark); -.font-effect(check-mark-e-font, @font-check-mark); - -/** dashboard组件/控件 下拉列表图标字体 ~end~**/ - -//树控件图标 -.font(tree-node-triangle-expand-font, @font-down-triangle); -.font(tree-node-triangle-collapse-font, @font-right-triangle); - -//翻页按钮字体图标 -.font-hover(row-pre-page-h-font, @font-solid-left); -.font-hover(row-next-page-h-font, @font-solid-right); -.font-hover(column-pre-page-h-font, @font-solid-top); -.font-hover(column-next-page-h-font, @font-solid-bottom); - -//下拉框小小三角 -.font-hover-active(trigger-triangle-font, @font-no-sort-no-filter, @color-bi-text-gray, @color-bi-text-gray, @color-bi-text-highlight); - -//单选下拉框 -//向下展开子菜单 -.font(pull-down-font, @font-down-triangle); -.font-hover(pull-down-h-font, @font-down-triangle); -.font-hover-active(pull-down-ha-font, @font-down-triangle); - -.font(check-font, @font-check-mark, @color-bi-text-highlight); - -.font-hover-active(item-check-font, @font-check-mark, @color-bi-text, @color-bi-text-gray, @color-bi-font-active); - -.font-hover(primary-key-font, @font-key); - -.font(drag-tag-font, @font-cross, @color-bi-text-redmark); - -//数值区间 -.font-hover-active(less-font, @font-less); -.font-hover-active(less-equal-font, @font-less-equal); - -//文本控件 -.font(text-bold-font, @font-bold); -.font(text-italic-font, @font-italic); -.font(text-underline-font, @font-underline); -.font(text-color-font, @font-color); -.font(text-background-font, @font-background); -.font(text-color-underline-font, @font-color-underline); -.font(text-align-left-font, @font-align-left); -.font(text-align-center-font, @font-align-center); -.font(text-align-right-font, @font-align-right); \ No newline at end of file diff --git a/src/less/resource/icon.less b/src/less/resource/icon.less deleted file mode 100644 index 549573a500..0000000000 --- a/src/less/resource/icon.less +++ /dev/null @@ -1,71 +0,0 @@ -@import "../image"; -@import "../lib/icon"; - -//Tree Widget -.icon(tree-collapse-icon-type1, @icon-tree-collapse-type1); -.icon(tree-collapse-icon-type2, @icon-tree-collapse-type2); -.icon(tree-collapse-icon-type3, @icon-tree-collapse-type3); -.icon(tree-collapse-icon-type4, @icon-tree-collapse-type4); -.icon(tree-expand-icon-type1, @icon-tree-expand-type1); -.icon(tree-expand-icon-type2, @icon-tree-expand-type2); -.icon(tree-expand-icon-type3, @icon-tree-expand-type3); -.icon(tree-expand-icon-type4, @icon-tree-expand-type4); -.icon(tree-vertical-line-type2, @icon-tree-vertical-line-2); -.icon(tree-vertical-line-type3, @icon-tree-vertical-line-3); -.icon(tree-vertical-line-type4, @icon-tree-vertical-line-4); - -.bi-theme-dark { - .icon(tree-collapse-icon-type1, @icon-tree-collapse-type1-theme-dark); -} - -.bi-theme-dark { - .icon(tree-collapse-icon-type2, @icon-tree-collapse-type2-theme-dark); -} - -.bi-theme-dark { - .icon(tree-collapse-icon-type3, @icon-tree-collapse-type3-theme-dark); -} - -.bi-theme-dark { - .icon(tree-collapse-icon-type4, @icon-tree-collapse-type4-theme-dark); -} - -.bi-theme-dark { - .icon(tree-expand-icon-type1, @icon-tree-expand-type1-theme-dark); -} - -.bi-theme-dark { - .icon(tree-expand-icon-type2, @icon-tree-expand-type2-theme-dark); -} - -.bi-theme-dark { - .icon(tree-expand-icon-type3, @icon-tree-expand-type3-theme-dark); -} - -.bi-theme-dark { - .icon(tree-expand-icon-type4, @icon-tree-expand-type4-theme-dark); -} - -.bi-theme-dark { - .icon(tree-vertical-line-type2, @icon-tree-vertical-line-2-theme-dark); -} - -.bi-theme-dark { - .icon(tree-vertical-line-type3, @icon-tree-vertical-line-3-theme-dark); -} - -.bi-theme-dark { - .icon(tree-vertical-line-type4, @icon-tree-vertical-line-4-theme-dark); -} - -//CheckBox -.icon_custom(check-box-icon, @icon-checkbox-normal, @icon-checkbox-normal, @icon-checkbox-active, @icon-checkbox-disable, @icon-checkbox-active-disable); -//Radio -.icon_custom(radio-icon, @icon-radio-normal, @icon-radio-normal, @icon-radio-active, @icon-radio-disable, @icon-radio-active-disable); - -//Half Select -.icon(check-half-select-icon, @icon-half-select); - -//滑块 -.icon_custom_hover(slider-icon, @icon-slider-normal, @icon-slider-active); - diff --git a/src/less/theme/dark.less b/src/less/theme/dark.less deleted file mode 100644 index ab8aa3eeb1..0000000000 --- a/src/less/theme/dark.less +++ /dev/null @@ -1,9 +0,0 @@ -@import "../bibase"; - -.bi-theme-dark { - background-color: @color-bi-background-normal-theme-dark; - color: @color-bi-text-theme-dark; - & .bi-input { - color: @color-bi-text; - } -} \ No newline at end of file diff --git a/src/less/theme/default.less b/src/less/theme/default.less deleted file mode 100644 index 0edd5d4ac7..0000000000 --- a/src/less/theme/default.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../bibase"; - -.bi-theme-default{ - -} \ No newline at end of file diff --git a/src/less/theme/light.less b/src/less/theme/light.less deleted file mode 100644 index d0c8634243..0000000000 --- a/src/less/theme/light.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../bibase"; - -.bi-theme-light { -} \ No newline at end of file diff --git a/src/less/typographic.less b/src/less/typographic.less deleted file mode 100644 index 27aeba2703..0000000000 --- a/src/less/typographic.less +++ /dev/null @@ -1,53 +0,0 @@ -.x-overflow-auto(){ - overflow-y: hidden; - overflow-x: auto; -} - -.y-overflow-auto(){ - overflow-x: hidden; - overflow-y: auto; -} - -.overflow-auto(){ - overflow: auto; - overflow-x: auto; - overflow-y: auto; -} - -.overflow-hidden(){ - overflow: hidden; - overflow-x: hidden; - overflow-y: hidden; -} -.overflow-dot(){ - text-overflow:ellipsis; - overflow-x: hidden; - overflow-y: hidden; - white-space:nowrap; -} - -.user-select(@select) { - -webkit-user-select: @select; - -khtml-user-select: @select; - -moz-user-select: @select; - -ms-user-select: @select; - -o-user-select: @select; - user-select: @select; -} - -.user-select-disable(){ - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - -o-user-select: none; - user-select: none; -} -.user-select-enable(){ - -webkit-user-select: text; - -khtml-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - -o-user-select: text; - user-select: text; -} \ No newline at end of file diff --git a/src/less/var.less b/src/less/var.less deleted file mode 100644 index dfe8d8892e..0000000000 --- a/src/less/var.less +++ /dev/null @@ -1,9 +0,0 @@ -@fontUrl: 'font/'; //字体存放路径 -@imageUrl: 'images/1x/'; //图片的基本地址 -@image2xUrl: 'images/2x/'; //2x图片的基本地址 - -@zIndex-layer: 100000; -@zIndex-floatbox: 1000000; -@zIndex-popup: 10000000; -@zIndex-masker: 100000000; -@zIndex-tip: 1000000000; diff --git a/src/less/visual.less b/src/less/visual.less deleted file mode 100644 index a5fbd7e877..0000000000 --- a/src/less/visual.less +++ /dev/null @@ -1,227 +0,0 @@ -.text-shadow(none) { - text-shadow: none; - -moz-text-shadow: none; - -webkit-text-shadow: none; -} - -.text-shadow(@x, @y, @blur, @color) when not (@x = none) { - text-shadow: @arguments; - -moz-text-shadow: @arguments; - -webkit-text-shadow: @arguments; -} - -.box-shadow(none) { - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; -} - -.box-shadow(@style, @c) when (iscolor(@c)) { - -webkit-box-shadow: @style @c; - -moz-box-shadow: @style @c; - box-shadow: @style @c; -} - -.box-shadow(@x, @y, @blur, @spreed: 0px, @color, @inset: outset) when (iscolor(@color)) and (isnumber(unit(@spreed))){ - box-shadow: @arguments; - -webkit-box-shadow: @arguments; - -moz-box-shadow: @arguments; -} - -.background-color(@color, @alpha) { - background-color: fade(@color, @alpha); - @ieColor: argb(fade(@color, @alpha)); - filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr=@{ieColor},endColorstr=@{ieColor})"; -} - -.opacity(@opa) { - opacity: @opa; - @opa-ie: @opa*100; - filter: ~'alpha(opacity=@{opa-ie})'; -} - -.transition(@transition) { - -webkit-transition: @transition; - -moz-transition: @transition; - -o-transition: @transition; - transition: @transition; -} - -//渐变 -.gradient(@start, @end) { - background: @start; //不支持的用这个 - background: -webkit-gradient(linear, 0 0, 0 100%, from(@start) to(@end)); /*old webkit*/ - background: -webkit-linear-gradient(@start, @end); /*new webkit*/ - background: -moz-linear-gradient(@start, @end); /*gecko*/ - background: -ms-linear-gradient(@start, @end); /*IE10 preview*/ - background: -o-linear-gradient(@start, @end); /*opera 11.10+*/ - background: linear-gradient(@start, @end); /*future CSS3 browsers*/ - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='@{start}', endColorstr='@{end}', GradientType='0'); -} - -.border-radius(@radius: 5px) { - -webkit-border-radius: @radius; - -moz-border-radius: @radius; - border-radius: @radius; -} - -.border-corner-top-radius(@leftTop, @rightTop) { - -moz-border-radius-topleft: @leftTop; - -webkit-border-top-left-radius: @leftTop; - -moz-border-radius-topright: @rightTop; - -webkit-border-top-right-radius: @rightTop; - - border-top-left-radius: @leftTop; - border-top-right-radius: @rightTop; -} - -.border-corner-bottom-radius(@leftBottom, @rightBottom) { - -moz-border-radius-bottomleft: @rightBottom; - -webkit-border-bottom-left-radius: @rightBottom; - -moz-border-radius-bottomright: @leftBottom; - -webkit-border-bottom-right-radius: @rightBottom; - - border-bottom-right-radius: @rightBottom; - border-bottom-left-radius: @leftBottom; -} - -.border-corner-left-radius(@leftTop, @leftBottom) { - -moz-border-radius-topleft: @leftTop; - -webkit-border-top-left-radius: @leftTop; - -moz-border-radius-bottomleft: @leftBottom; - -webkit-border-bottom-left-radius: @leftBottom; - - border-top-left-radius: @leftTop; - border-bottom-left-radius: @leftBottom; -} - -.border-corner-right-radius(@rightTop, @rightBottom) { - -moz-border-radius-topright: @rightTop; - -webkit-border-top-right-radius: @rightTop; - -moz-border-radius-bottomright: @rightBottom; - -webkit-border-bottom-right-radius: @rightBottom; - - border-top-right-radius: @rightTop; - border-bottom-right-radius: @rightBottom; -} - -.border-corner-radius(@leftTop, @rightTop, @rightBottom, @leftBottom) { - -webkit-border-radius: @arguments; - -moz-border-radius: @arguments; - border-radius: @arguments; -} - -@sideHeight: 6px; -@sideLength: 12px; -.solid-triangle-up(@color) { - width: 0; - height: 0; - border-left: (@sideLength/2) solid transparent; - border-right: (@sideLength/2) solid transparent; - border-bottom: @sideHeight solid @color; -} - -.solid-triangle-down(@color) { - width: 0; - height: 0; - border-left: (@sideLength/2) solid transparent; - border-right: (@sideLength/2) solid transparent; - border-top: @sideHeight solid @color; -} - -.solid-triangle-left(@color) { - width: 0; - height: 0; - border-top: (@sideLength/2) solid transparent; - border-right: @sideHeight solid @color; - border-bottom: (@sideLength/2) solid transparent; -} - -.solid-triangle-right(@color) { - width: 0; - height: 0; - border-top: (@sideLength/2) solid transparent; - border-left: @sideHeight solid @color; - border-bottom: (@sideLength/2) solid transparent; -} - -.solid-triangle-top-left(@color) { - width: 0; - height: 0; - border-top: @sideHeight solid @color; - border-right: @sideHeight solid transparent; -} - -.solid-triangle-top-right(@color) { - width: 0; - height: 0; - border-top: @sideHeight solid @color; - border-left: @sideHeight solid transparent; -} - -.solid-triangle-bottom-left(@color) { - width: 0; - height: 0; - border-bottom: @sideHeight solid @color; - border-right: @sideHeight solid transparent; -} - -.solid-triangle-bottom-right(@color) { - width: 0; - height: 0; - border-bottom: @sideHeight solid @color; - border-left: @sideHeight solid transparent; -} - -.triangle-top() { - position: absolute; - width: 16px; - height: 10px; - border-bottom: 1px solid #f5f5f5; - - &:before { - position: absolute; - top: 0px; - right: 0px; - bottom: 0px; - border-bottom: 10px solid #ccc; - border-left: 8px solid transparent; - border-right: 8px solid transparent; - content: ""; - } - &:after { - position: absolute; - right: 1px; - top: 1px; - bottom: 0px; - border-bottom: 9px solid #f5f5f5; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - content: ""; - } -} - -.triangle-bottom() { - position: absolute; - width: 16px; - height: 10px; - border-top: 1px solid #f5f5f5; - - &:after { - position: absolute; - right: 1px; - top: -1px; - border-top: 9px solid #f5f5f5; - border-left: 7px solid transparent; - border-right: 7px solid transparent; - content: ""; - } - &:before { - position: absolute; - border-top: 10px solid #cccccc; - border-left: 8px solid transparent; - border-right: 8px solid transparent; - content: ""; - } - -} \ No newline at end of file diff --git a/src/less/widget/arrangement/arrangement.block.less b/src/less/widget/arrangement/arrangement.block.less deleted file mode 100644 index b9fe6d143c..0000000000 --- a/src/less/widget/arrangement/arrangement.block.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; - -.bi-arrangement-block { -} \ No newline at end of file diff --git a/src/less/widget/arrangement/arrangement.droppable.less b/src/less/widget/arrangement/arrangement.droppable.less deleted file mode 100644 index d11f2512ae..0000000000 --- a/src/less/widget/arrangement/arrangement.droppable.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-arrangement-droppable{ - z-index: @zIndex-layer; -} \ No newline at end of file diff --git a/src/less/widget/arrangement/arrangement.less b/src/less/widget/arrangement/arrangement.less deleted file mode 100644 index ba07469ef3..0000000000 --- a/src/less/widget/arrangement/arrangement.less +++ /dev/null @@ -1,28 +0,0 @@ -@import "../../bibase"; - -.bi-arrangement { - & .arrangement-helper { - background: @color-bi-background-highlight; - z-index: @zIndex-tip; - } - & .arrangement-block { - z-index: @zIndex-tip; - } - & .arrangement-drop-container { - z-index: @zIndex-tip; - & .arrangement-drop-region { - overflow: hidden; - } - & .drop-devider{ - z-index: @zIndex-tip + 1; - background: @color-bi-background-highlight; - } - & .top-left, & .top-right, & .bottom-left, & .bottom-right, - & .top-left-second, & .top-right-second, & .bottom-left-second, & .bottom-right-second, - & .top-center, & .bottom-center, & .left-center, & .right-center, - & .top-center-second, & .bottom-center-second, & .left-center-second, & .right-center-second { - z-index: @zIndex-tip + 1; - background: @color-bi-background-highlight; - } - } -} \ No newline at end of file diff --git a/src/less/widget/date/calendar/picker.date.less b/src/less/widget/date/calendar/picker.date.less deleted file mode 100644 index 926a621347..0000000000 --- a/src/less/widget/date/calendar/picker.date.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../../bibase"; - -.bi-date-picker { -} \ No newline at end of file diff --git a/src/less/widget/date/trigger.date.less b/src/less/widget/date/trigger.date.less deleted file mode 100644 index f146d30871..0000000000 --- a/src/less/widget/date/trigger.date.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-date-trigger { - .border-radius(2px); -} \ No newline at end of file diff --git a/src/less/widget/downlist/combo.downlist.less b/src/less/widget/downlist/combo.downlist.less deleted file mode 100644 index d9bab13750..0000000000 --- a/src/less/widget/downlist/combo.downlist.less +++ /dev/null @@ -1,8 +0,0 @@ -@import "../../bibase"; - -.bi-down-list-combo { - & .down-list-group { - } - & .bi-down-list-spliter { - } -} \ No newline at end of file diff --git a/src/less/widget/downlist/popup.downlist.less b/src/less/widget/downlist/popup.downlist.less deleted file mode 100644 index b93e90df09..0000000000 --- a/src/less/widget/downlist/popup.downlist.less +++ /dev/null @@ -1,12 +0,0 @@ -@import "../../bibase"; - -.bi-down-list-popup { - & .list-group-item-text { - max-width: 203px; - } - & .bi-down-list-item { - & .list-item-text { - max-width: 203px; - } - } -} \ No newline at end of file diff --git a/src/less/widget/exceltable/exceltable.cell.less b/src/less/widget/exceltable/exceltable.cell.less deleted file mode 100644 index d7aa69f77b..0000000000 --- a/src/less/widget/exceltable/exceltable.cell.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; - -.bi-excel-table-cell { -} \ No newline at end of file diff --git a/src/less/widget/exceltable/exceltable.header.cell.less b/src/less/widget/exceltable/exceltable.header.cell.less deleted file mode 100644 index 8605057f81..0000000000 --- a/src/less/widget/exceltable/exceltable.header.cell.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-excel-table-header-cell { - font-weight: bold; -} \ No newline at end of file diff --git a/src/less/widget/exceltable/exceltable.less b/src/less/widget/exceltable/exceltable.less deleted file mode 100644 index fba776e805..0000000000 --- a/src/less/widget/exceltable/exceltable.less +++ /dev/null @@ -1,15 +0,0 @@ -@import "../../bibase"; - -.bi-excel-table { - & > div.bottom-right > div > div > table { - border-right: 1px solid @color-bi-border-line; - } -} - -.bi-theme-dark { - .bi-excel-table { - & > div.bottom-right > div > div > table { - border-right: 1px solid @color-bi-border-line-theme-dark; - } - } -} \ No newline at end of file diff --git a/src/less/widget/filemanager/filemanager.less b/src/less/widget/filemanager/filemanager.less deleted file mode 100644 index b2b135c70b..0000000000 --- a/src/less/widget/filemanager/filemanager.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-file-manager{ - -} \ No newline at end of file diff --git a/src/less/widget/filemanager/items/item.file.filemanager.less b/src/less/widget/filemanager/items/item.file.filemanager.less deleted file mode 100644 index 4b906d1ebd..0000000000 --- a/src/less/widget/filemanager/items/item.file.filemanager.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../../bibase"; - -.bi-file-manager-file-item{ -} \ No newline at end of file diff --git a/src/less/widget/filemanager/items/item.folder.filemanager.less b/src/less/widget/filemanager/items/item.folder.filemanager.less deleted file mode 100644 index fdf1942deb..0000000000 --- a/src/less/widget/filemanager/items/item.folder.filemanager.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../../bibase"; - -.bi-file-manager-folder-item{ -} \ No newline at end of file diff --git a/src/less/widget/filemanager/nav/button/button.nav.filemanager.less b/src/less/widget/filemanager/nav/button/button.nav.filemanager.less deleted file mode 100644 index cd78da8900..0000000000 --- a/src/less/widget/filemanager/nav/button/button.nav.filemanager.less +++ /dev/null @@ -1,25 +0,0 @@ -@import "../../../../bibase"; - -.bi-file-manager-nav-button { - & .file-manager-nav-button-text { - max-width: 200px; - &.active { - background-color: @color-bi-background-normal; - color: @color-bi-text-gray; - } - } - & .file-manager-nav-button-triangle { - z-index: 1; - } -} - -.bi-theme-dark { - .bi-file-manager-nav-button { - & .file-manager-nav-button-text { - &.active { - background-color: @color-bi-background-normal-theme-dark; - color: @color-bi-text-gray; - } - } - } -} \ No newline at end of file diff --git a/src/less/widget/filemanager/nav/nav.filemanager.less b/src/less/widget/filemanager/nav/nav.filemanager.less deleted file mode 100644 index 5236a26344..0000000000 --- a/src/less/widget/filemanager/nav/nav.filemanager.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../../bibase"; - -.bi-file-manager-nav{ -} \ No newline at end of file diff --git a/src/less/widget/interactivearrangement/interactivearrangement.less b/src/less/widget/interactivearrangement/interactivearrangement.less deleted file mode 100644 index 7db22b8f02..0000000000 --- a/src/less/widget/interactivearrangement/interactivearrangement.less +++ /dev/null @@ -1,11 +0,0 @@ -@import "../../bibase"; - -.bi-interactive-arrangement { - & .interactive-arrangement-dragtag-line { - z-index: @zIndex-tip; - background-color: @color-bi-text-redmark; - } - & .interactive-arrangement-dragtag-icon { - z-index: @zIndex-tip; - } -} \ No newline at end of file diff --git a/src/less/widget/intervalslider/intervalslider.label.less b/src/less/widget/intervalslider/intervalslider.label.less deleted file mode 100644 index fa4882c009..0000000000 --- a/src/less/widget/intervalslider/intervalslider.label.less +++ /dev/null @@ -1,3 +0,0 @@ -.bi-interval-slider-label { - min-height: 50px; -} \ No newline at end of file diff --git a/src/less/widget/intervalslider/intervalslider.less b/src/less/widget/intervalslider/intervalslider.less deleted file mode 100644 index c7645f75f9..0000000000 --- a/src/less/widget/intervalslider/intervalslider.less +++ /dev/null @@ -1,3 +0,0 @@ -.bi-interval-slider { - min-height: 70px; -} \ No newline at end of file diff --git a/src/less/widget/month/combo.month.less b/src/less/widget/month/combo.month.less deleted file mode 100644 index f206adfc5c..0000000000 --- a/src/less/widget/month/combo.month.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-month-combo{ - -} \ No newline at end of file diff --git a/src/less/widget/month/popup.month.less b/src/less/widget/month/popup.month.less deleted file mode 100644 index 9170555b97..0000000000 --- a/src/less/widget/month/popup.month.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-month-popup{ - -} \ No newline at end of file diff --git a/src/less/widget/month/trigger.month.less b/src/less/widget/month/trigger.month.less deleted file mode 100644 index 73e333fcc1..0000000000 --- a/src/less/widget/month/trigger.month.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; -.bi-month-trigger{ - .border-radius(2px); -} \ No newline at end of file diff --git a/src/less/widget/multidate/multidate.combo.less b/src/less/widget/multidate/multidate.combo.less deleted file mode 100644 index 79475ddf5d..0000000000 --- a/src/less/widget/multidate/multidate.combo.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-multidate-combo { - .border-radius(2px); -} \ No newline at end of file diff --git a/src/less/widget/multidate/multidate.day.less b/src/less/widget/multidate/multidate.day.less deleted file mode 100644 index 1970c8ab28..0000000000 --- a/src/less/widget/multidate/multidate.day.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "../../bibase"; - -.bi-multidate-daycard{ - & .bi-multidate-inner-label{ - } -} \ No newline at end of file diff --git a/src/less/widget/multidate/multidate.month.less b/src/less/widget/multidate/multidate.month.less deleted file mode 100644 index ddef77ccba..0000000000 --- a/src/less/widget/multidate/multidate.month.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "../../bibase"; - -.bi-multidate-monthcard{ - & .bi-multidate-inner-label{ - } -} \ No newline at end of file diff --git a/src/less/widget/multidate/multidate.popup.less b/src/less/widget/multidate/multidate.popup.less deleted file mode 100644 index 60d8ad227f..0000000000 --- a/src/less/widget/multidate/multidate.popup.less +++ /dev/null @@ -1,23 +0,0 @@ -@import "../../bibase"; - -.bi-multidate-popup{ - - & .multidate-popup-label { - color:@color-bi-text-highlight; - font-size:@font-size-14; - } - & .multidate-popup-tab { - } - & .multidate-popup-item{ - &:active,&.active{ - background-color: @color-bi-text-highlight; - color: @color-bi-background-default; - .border-corner-radius(@radius-2,@radius-2,0,0); - } - } - - & .multidate-popup-button{ - color:@color-bi-text-highlight; - font-size:@font-size-14; - } -} \ No newline at end of file diff --git a/src/less/widget/multidate/multidate.quarter.less b/src/less/widget/multidate/multidate.quarter.less deleted file mode 100644 index b1151a8228..0000000000 --- a/src/less/widget/multidate/multidate.quarter.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "../../bibase"; - -.bi-multidate-quartercard{ - & .bi-multidate-inner-label{ - } -} \ No newline at end of file diff --git a/src/less/widget/multidate/multidate.segment.less b/src/less/widget/multidate/multidate.segment.less deleted file mode 100644 index eeffa7d457..0000000000 --- a/src/less/widget/multidate/multidate.segment.less +++ /dev/null @@ -1,9 +0,0 @@ -@import "../../bibase"; - -.bi-multidate-segment{ - & .bi-multidate-normal-label{ - } - & .bi-multidate-editor{ - font-size: @font-size-14; - } -} \ No newline at end of file diff --git a/src/less/widget/multidate/multidate.week.less b/src/less/widget/multidate/multidate.week.less deleted file mode 100644 index ebd27b5192..0000000000 --- a/src/less/widget/multidate/multidate.week.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "../../bibase"; - -.bi-multidate-weekcard{ - & .bi-multidate-inner-label{ - } -} \ No newline at end of file diff --git a/src/less/widget/multidate/multidate.year.less b/src/less/widget/multidate/multidate.year.less deleted file mode 100644 index 0474a5cf91..0000000000 --- a/src/less/widget/multidate/multidate.year.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "../../bibase"; - -.bi-multidate-yearcard{ - & .bi-multidate-inner-label{ - } -} \ No newline at end of file diff --git a/src/less/widget/multiselect/check/multiselect.check.pane.less b/src/less/widget/multiselect/check/multiselect.check.pane.less deleted file mode 100644 index 00d7f940d0..0000000000 --- a/src/less/widget/multiselect/check/multiselect.check.pane.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../../bibase"; - -.bi-multi-select-check-pane { - & .multi-select-check-selected { - text-decoration: underline; - } -} \ No newline at end of file diff --git a/src/less/widget/multiselect/check/multiselect.display.less b/src/less/widget/multiselect/check/multiselect.display.less deleted file mode 100644 index ba90171ed8..0000000000 --- a/src/less/widget/multiselect/check/multiselect.display.less +++ /dev/null @@ -1,6 +0,0 @@ -@import "../../../bibase"; - -.bi-display-list { - & .display-list-item { - } -} \ No newline at end of file diff --git a/src/less/widget/multiselect/multiselect.combo.less b/src/less/widget/multiselect/multiselect.combo.less deleted file mode 100644 index 6594aadb7c..0000000000 --- a/src/less/widget/multiselect/multiselect.combo.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../bibase"; - -.bi-multi-select-combo{ - & .multi-select-trigger-icon-button{ - font-size: 16px; - } -} \ No newline at end of file diff --git a/src/less/widget/multiselect/multiselect.insert.combo.less b/src/less/widget/multiselect/multiselect.insert.combo.less deleted file mode 100644 index 88ae534870..0000000000 --- a/src/less/widget/multiselect/multiselect.insert.combo.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../bibase"; - -.bi-multi-select-insert-combo{ - & .multi-select-trigger-icon-button{ - font-size: 16px; - } -} \ No newline at end of file diff --git a/src/less/widget/multiselect/multiselect.popup.view.less b/src/less/widget/multiselect/multiselect.popup.view.less deleted file mode 100644 index 3ecfed59b5..0000000000 --- a/src/less/widget/multiselect/multiselect.popup.view.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - - -.bi-multi-select-popup-view{ -} \ No newline at end of file diff --git a/src/less/widget/multiselect/multiselect.trigger.less b/src/less/widget/multiselect/multiselect.trigger.less deleted file mode 100644 index f2afecb9f5..0000000000 --- a/src/less/widget/multiselect/multiselect.trigger.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-multi-select-trigger { - .border-corner-radius(2px, 2px, 2px, 2px); -} \ No newline at end of file diff --git a/src/less/widget/multiselect/search/multiselect.search.pane.less b/src/less/widget/multiselect/search/multiselect.search.pane.less deleted file mode 100644 index 064ea8b615..0000000000 --- a/src/less/widget/multiselect/search/multiselect.search.pane.less +++ /dev/null @@ -1,8 +0,0 @@ -@import "../../../bibase"; - - -.bi-multi-select-search-pane{ - .multi-select-toolbar{ - color: @color-bi-text-warning; - } -} \ No newline at end of file diff --git a/src/less/widget/multiselect/trigger/button.checkselected.less b/src/less/widget/multiselect/trigger/button.checkselected.less deleted file mode 100644 index 884a54e5db..0000000000 --- a/src/less/widget/multiselect/trigger/button.checkselected.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../../bibase"; - -.bi-multi-select-check-selected-button { - z-index: 1; -} diff --git a/src/less/widget/multistringlist/multistringlist.less b/src/less/widget/multistringlist/multistringlist.less deleted file mode 100644 index 7511c12009..0000000000 --- a/src/less/widget/multistringlist/multistringlist.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; -.bi-multi-select-list{ - & .popup-multi-select-list{ - } -} \ No newline at end of file diff --git a/src/less/widget/multitree/check/multi.tree.check.pane.less b/src/less/widget/multitree/check/multi.tree.check.pane.less deleted file mode 100644 index f52dc73f3a..0000000000 --- a/src/less/widget/multitree/check/multi.tree.check.pane.less +++ /dev/null @@ -1,9 +0,0 @@ -@import "../../../bibase"; - -.bi-multi-tree-check-pane { - & .multi-tree-continue-select { - } - & .multi-tree-check-selected { - color: @color-bi-text-highlight; - } -} \ No newline at end of file diff --git a/src/less/widget/multitree/display.multi.tree.less b/src/less/widget/multitree/display.multi.tree.less deleted file mode 100644 index 0d31ac4dff..0000000000 --- a/src/less/widget/multitree/display.multi.tree.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; - -.bi-multi-tree-display{ -} \ No newline at end of file diff --git a/src/less/widget/multitree/multi.tree.combo.less b/src/less/widget/multitree/multi.tree.combo.less deleted file mode 100644 index 9cd2c3d919..0000000000 --- a/src/less/widget/multitree/multi.tree.combo.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../bibase"; - -.bi-multi-tree-combo{ - & .multi-select-trigger-icon-button{ - font-size: 16px; - } -} \ No newline at end of file diff --git a/src/less/widget/multitree/popup.multi.tree.less b/src/less/widget/multitree/popup.multi.tree.less deleted file mode 100644 index 420943841c..0000000000 --- a/src/less/widget/multitree/popup.multi.tree.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../bibase"; - -.bi-multi-tree-popup{ - & .popup-view-tree{ - min-height: 170px; - } -} \ No newline at end of file diff --git a/src/less/widget/multitree/search.multi.tree.less b/src/less/widget/multitree/search.multi.tree.less deleted file mode 100644 index 88134d18e7..0000000000 --- a/src/less/widget/multitree/search.multi.tree.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; - -.bi-multi-tree-search-pane { -} \ No newline at end of file diff --git a/src/less/widget/multitree/trigger/multi.tree.button.checkselected.less b/src/less/widget/multitree/trigger/multi.tree.button.checkselected.less deleted file mode 100644 index 234e233207..0000000000 --- a/src/less/widget/multitree/trigger/multi.tree.button.checkselected.less +++ /dev/null @@ -1,8 +0,0 @@ -@import "../../../bibase"; - -.bi-multi-tree-check-selected-button { - & .trigger-check-selected{ - color: @color-bi-text-highlight; - z-index: 1; - } -} \ No newline at end of file diff --git a/src/less/widget/multitreelist/multitreelist.popup.less b/src/less/widget/multitreelist/multitreelist.popup.less deleted file mode 100644 index 7b76d078ed..0000000000 --- a/src/less/widget/multitreelist/multitreelist.popup.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; - -.bi-tree-list-popup { -} \ No newline at end of file diff --git a/src/less/widget/numbereditor/number.editor.less b/src/less/widget/numbereditor/number.editor.less deleted file mode 100644 index 514e76cbb7..0000000000 --- a/src/less/widget/numbereditor/number.editor.less +++ /dev/null @@ -1,9 +0,0 @@ -@import "../../bibase"; - -.bi-number-editor { - .border-radius(2px); - & .top-button { - } - & .bottom-button { - } -} \ No newline at end of file diff --git a/src/less/widget/numberinterval/numberinterval.less b/src/less/widget/numberinterval/numberinterval.less deleted file mode 100644 index e8abc67688..0000000000 --- a/src/less/widget/numberinterval/numberinterval.less +++ /dev/null @@ -1,31 +0,0 @@ -@import "../../bibase"; - -.bi-number-interval { - & .number-interval-small-editor { - .border-corner-left-radius(2px, 2px); - } - & .number-interval-big-editor { - .border-corner-right-radius(2px, 2px); - } - & .number-interval-big-combo { - .border-corner-left-radius(2px, 2px); - & .bi-icon-combo-trigger { - & .icon-combo-trigger-icon { - font-size: @font-size-14; - } - } - } - - & .number-interval-small-combo { - .border-corner-right-radius(2px, 2px); - & .bi-icon-combo-trigger { - & .icon-combo-trigger-icon { - font-size: @font-size-14; - } - } - } - - &.number-error .bi-input { - color: @color-bi-text-warning !important; - } -} \ No newline at end of file diff --git a/src/less/widget/numberinterval/popup.numberinterval.less b/src/less/widget/numberinterval/popup.numberinterval.less deleted file mode 100644 index d57848a5b1..0000000000 --- a/src/less/widget/numberinterval/popup.numberinterval.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; - -.bi-number-interval-popup{ -} \ No newline at end of file diff --git a/src/less/widget/pagetable/pagetable.cell.less b/src/less/widget/pagetable/pagetable.cell.less deleted file mode 100644 index 7768c93485..0000000000 --- a/src/less/widget/pagetable/pagetable.cell.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-page-table-cell { - .user-select-enable(); -} \ No newline at end of file diff --git a/src/less/widget/pagetable/pagetable.less b/src/less/widget/pagetable/pagetable.less deleted file mode 100644 index 79a629fd40..0000000000 --- a/src/less/widget/pagetable/pagetable.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; - -.bi-page-table { -} \ No newline at end of file diff --git a/src/less/widget/pathchooser/pathchooser.less b/src/less/widget/pathchooser/pathchooser.less deleted file mode 100644 index 2a0bee5bc3..0000000000 --- a/src/less/widget/pathchooser/pathchooser.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../bibase"; - -.bi-path-chooser { - & .path-chooser-radio { - z-index: 1; - } -} \ No newline at end of file diff --git a/src/less/widget/pathchooser/pathregion.less b/src/less/widget/pathchooser/pathregion.less deleted file mode 100644 index a8aea70eb0..0000000000 --- a/src/less/widget/pathchooser/pathregion.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../bibase"; - -.bi-path-region { - & .path-region-label { - z-index: 1; - } -} \ No newline at end of file diff --git a/src/less/widget/previewtable/previewtable.cell.less b/src/less/widget/previewtable/previewtable.cell.less deleted file mode 100644 index ecfaa200b7..0000000000 --- a/src/less/widget/previewtable/previewtable.cell.less +++ /dev/null @@ -1,7 +0,0 @@ -@import "../../bibase"; - -.bi-preview-table-cell { - min-height: 25px; - min-width: 80px; - max-width: 220px; -} \ No newline at end of file diff --git a/src/less/widget/previewtable/previewtable.header.cell.less b/src/less/widget/previewtable/previewtable.header.cell.less deleted file mode 100644 index 5711309df6..0000000000 --- a/src/less/widget/previewtable/previewtable.header.cell.less +++ /dev/null @@ -1,8 +0,0 @@ -@import "../../bibase"; - -.bi-preview-table-header-cell { - font-weight: bold; - min-height: 25px; - min-width: 80px; - max-width: 220px; -} \ No newline at end of file diff --git a/src/less/widget/previewtable/previewtable.less b/src/less/widget/previewtable/previewtable.less deleted file mode 100644 index 1aee1ac662..0000000000 --- a/src/less/widget/previewtable/previewtable.less +++ /dev/null @@ -1,20 +0,0 @@ -@import "../../bibase"; - -.bi-preview-table { - .user-select-enable(); - & > div > table, & > div > div > div > table { - & > thead > tr.odd { - background-color: @color-bi-background-normal; - } - } -} - -.bi-theme-dark { - .bi-preview-table { - & > div > table, & > div > div > div > table { - & > thead > tr.odd { - background-color: @color-bi-background-normal-theme-dark; - } - } - } -} \ No newline at end of file diff --git a/src/less/widget/quarter/combo.quarter.less b/src/less/widget/quarter/combo.quarter.less deleted file mode 100644 index 20a071e8ee..0000000000 --- a/src/less/widget/quarter/combo.quarter.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-quarter-combo{ - -} \ No newline at end of file diff --git a/src/less/widget/quarter/popup.quarter.less b/src/less/widget/quarter/popup.quarter.less deleted file mode 100644 index 1d69d158dd..0000000000 --- a/src/less/widget/quarter/popup.quarter.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-quarter-popup{ - -} \ No newline at end of file diff --git a/src/less/widget/quarter/trigger.quarter.less b/src/less/widget/quarter/trigger.quarter.less deleted file mode 100644 index 7b6732cc77..0000000000 --- a/src/less/widget/quarter/trigger.quarter.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; -.bi-quarter-trigger{ - .border-radius(2px); -} \ No newline at end of file diff --git a/src/less/widget/relationview/relationview.item.less b/src/less/widget/relationview/relationview.item.less deleted file mode 100644 index bdb355dd87..0000000000 --- a/src/less/widget/relationview/relationview.item.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; - -.bi-relation-view-item{ -} \ No newline at end of file diff --git a/src/less/widget/relationview/relationview.region.less b/src/less/widget/relationview/relationview.region.less deleted file mode 100644 index c1478a0bbe..0000000000 --- a/src/less/widget/relationview/relationview.region.less +++ /dev/null @@ -1,13 +0,0 @@ -@import "../../bibase"; - -.bi-relation-view-region { - & .relation-view-region-container { - &.other-package { - border-style: dashed; - } - z-index: 1; - .border-radius(2px); - & .relation-view-region-title { - } - } -} \ No newline at end of file diff --git a/src/less/widget/sequencetable/dynamicnumber.sequencetable.less b/src/less/widget/sequencetable/dynamicnumber.sequencetable.less deleted file mode 100644 index dd6be53dbb..0000000000 --- a/src/less/widget/sequencetable/dynamicnumber.sequencetable.less +++ /dev/null @@ -1,11 +0,0 @@ -@import "../../bibase"; - -.bi-sequence-table-dynamic-number { - & .sequence-table-title-cell { - .overflow-hidden(); - .box-sizing(border-box); - } - & .sequence-table-number-cell { - .box-sizing(border-box); - } -} \ No newline at end of file diff --git a/src/less/widget/sequencetable/listnumber.sequencetable.less b/src/less/widget/sequencetable/listnumber.sequencetable.less deleted file mode 100644 index 3180f138c7..0000000000 --- a/src/less/widget/sequencetable/listnumber.sequencetable.less +++ /dev/null @@ -1,11 +0,0 @@ -@import "../../bibase"; - -.bi-sequence-table-list-number { - & .sequence-table-title-cell { - .overflow-hidden(); - .box-sizing(border-box); - } - & .sequence-table-number-cell { - .box-sizing(border-box); - } -} diff --git a/src/less/widget/sequencetable/sequencetable.less b/src/less/widget/sequencetable/sequencetable.less deleted file mode 100644 index a2a682137f..0000000000 --- a/src/less/widget/sequencetable/sequencetable.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; - -.bi-sequence-table{ -} \ No newline at end of file diff --git a/src/less/widget/sequencetable/treenumber.sequencetable.less b/src/less/widget/sequencetable/treenumber.sequencetable.less deleted file mode 100644 index af324f550d..0000000000 --- a/src/less/widget/sequencetable/treenumber.sequencetable.less +++ /dev/null @@ -1,11 +0,0 @@ -@import "../../bibase"; - -.bi-sequence-table-tree-number { - & .sequence-table-title-cell { - .overflow-hidden(); - .box-sizing(border-box); - } - & .sequence-table-number-cell { - .box-sizing(border-box); - } -} \ No newline at end of file diff --git a/src/less/widget/singleslider/singlelider.label.less b/src/less/widget/singleslider/singlelider.label.less deleted file mode 100644 index 2654372937..0000000000 --- a/src/less/widget/singleslider/singlelider.label.less +++ /dev/null @@ -1,3 +0,0 @@ -.bi-single-slider-label { - min-height: 50px; -} \ No newline at end of file diff --git a/src/less/widget/singleslider/singlelider.normal.less b/src/less/widget/singleslider/singlelider.normal.less deleted file mode 100644 index 8a7e4a6553..0000000000 --- a/src/less/widget/singleslider/singlelider.normal.less +++ /dev/null @@ -1,3 +0,0 @@ -.bi-single-slider-normal { - min-height: 30px; -} \ No newline at end of file diff --git a/src/less/widget/singleslider/singleslider.less b/src/less/widget/singleslider/singleslider.less deleted file mode 100644 index 9274d028b9..0000000000 --- a/src/less/widget/singleslider/singleslider.less +++ /dev/null @@ -1,3 +0,0 @@ -.bi-single-slider { - min-height: 50px; -} \ No newline at end of file diff --git a/src/less/widget/singleslider/slider/widget.slider.less b/src/less/widget/singleslider/slider/widget.slider.less deleted file mode 100644 index 68ecf506df..0000000000 --- a/src/less/widget/singleslider/slider/widget.slider.less +++ /dev/null @@ -1,9 +0,0 @@ -@import "../../../bibase"; - -.bi-single-slider-button { - & .slider-button { - cursor: ew-resize; - .box-shadow(0 0 10px, rgba(0, 0, 0, 0.2)); - .border-radius(7px); - } -} \ No newline at end of file diff --git a/src/less/widget/singleslider/track/widget.track.less b/src/less/widget/singleslider/track/widget.track.less deleted file mode 100644 index 2ecb97eb97..0000000000 --- a/src/less/widget/singleslider/track/widget.track.less +++ /dev/null @@ -1,11 +0,0 @@ -@import "../../../bibase"; - -.bi-slider-track { - .gray-track { - .background-color(@color-bi-background-gray, 30%); - .border-radius(3px); - } - .blue-track { - .border-radius(3px); - } -} \ No newline at end of file diff --git a/src/less/widget/singletree/combo.single.tree.less b/src/less/widget/singletree/combo.single.tree.less deleted file mode 100644 index fbd4f360da..0000000000 --- a/src/less/widget/singletree/combo.single.tree.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; - -.bi-singletree-combo { -} \ No newline at end of file diff --git a/src/less/widget/timeinterval/timeinterval.less b/src/less/widget/timeinterval/timeinterval.less deleted file mode 100644 index 9d3a2e1958..0000000000 --- a/src/less/widget/timeinterval/timeinterval.less +++ /dev/null @@ -1,10 +0,0 @@ -@import "../../bibase"; - -.bi-param-time-interval{ - &.time-error .bi-input{ - color:@color-bi-text-warning - } - &.time-error .sign-editor-text{ - color:@color-bi-text-warning - } -} \ No newline at end of file diff --git a/src/less/widget/year/combo.year.less b/src/less/widget/year/combo.year.less deleted file mode 100644 index 1b441ba648..0000000000 --- a/src/less/widget/year/combo.year.less +++ /dev/null @@ -1,5 +0,0 @@ -@import "../../bibase"; - -.bi-year-combo{ - -} \ No newline at end of file diff --git a/src/less/widget/year/popup.year.less b/src/less/widget/year/popup.year.less deleted file mode 100644 index 5ef0f5bc0c..0000000000 --- a/src/less/widget/year/popup.year.less +++ /dev/null @@ -1,26 +0,0 @@ -@import "../../bibase"; - -.bi-year-popup { - & .year-popup-navigation { - line-height: 30px; - & > .center-element { - border-left: 1px solid @color-bi-border-line; - } - & > .first-element { - border-left: none; - } - } -} - -.bi-theme-dark { - .bi-year-popup { - & .year-popup-navigation { - & > .center-element { - border-left: 1px solid @color-bi-border-line-theme-dark; - } - & > .first-element { - border-left: none; - } - } - } -} \ No newline at end of file diff --git a/src/less/widget/year/trigger.year.less b/src/less/widget/year/trigger.year.less deleted file mode 100644 index 5dba862cb2..0000000000 --- a/src/less/widget/year/trigger.year.less +++ /dev/null @@ -1,4 +0,0 @@ -@import "../../bibase"; -.bi-year-trigger{ - .border-radius(2px); -} \ No newline at end of file diff --git a/src/options.js b/src/options.js new file mode 100644 index 0000000000..49869604e7 --- /dev/null +++ b/src/options.js @@ -0,0 +1,27 @@ +/** Global options + * @public + * @namespace options {Object} + */ +export default { + + /** If `true`, `prop` changes trigger synchronous component updates. + * @name syncComponentUpdates + * @type Boolean + * @default true + */ + //syncComponentUpdates: true, + + /** Processes all created VNodes. + * @param {VNode} vnode A newly-created VNode to normalize/process + */ + //vnode(vnode) { } + + /** Hook invoked after a component is mounted. */ + // afterMount(component) { } + + /** Hook invoked after the DOM is updated with a component's latest render. */ + // afterUpdate(component) { } + + /** Hook invoked immediately before a component is unmounted. */ + // beforeUnmount(component) { } +}; diff --git a/src/polyfill/array.js b/src/polyfill/array.js deleted file mode 100644 index 266f7b3f8a..0000000000 --- a/src/polyfill/array.js +++ /dev/null @@ -1,97 +0,0 @@ -// Production steps of ECMA-262, Edition 5, 15.4.4.14 -// Reference: http://es5.github.io/#x15.4.4.14 -if (!Array.prototype.indexOf) { - Array.prototype.indexOf = function (searchElement, fromIndex) { - - var k; - - // 1. Let o be the result of calling ToObject passing - // the this value as the argument. - if (this == null) { - throw new TypeError('"this" is null or not defined'); - } - - var o = Object(this); - - // 2. Let lenValue be the result of calling the Get - // internal method of o with the argument "length". - // 3. Let len be ToUint32(lenValue). - var len = o.length >>> 0; - - // 4. If len is 0, return -1. - if (len === 0) { - return -1; - } - - // 5. If argument fromIndex was passed let n be - // ToInteger(fromIndex); else let n be 0. - var n = fromIndex | 0; - - // 6. If n >= len, return -1. - if (n >= len) { - return -1; - } - - // 7. If n >= 0, then Let k be n. - // 8. Else, n<0, Let k be len - abs(n). - // If k is less than 0, then let k be 0. - k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); - - // 9. Repeat, while k < len - while (k < len) { - // a. Let Pk be ToString(k). - // This is implicit for LHS operands of the in operator - // b. Let kPresent be the result of calling the - // HasProperty internal method of o with argument Pk. - // This step can be combined with c - // c. If kPresent is true, then - // i. Let elementK be the result of calling the Get - // internal method of o with the argument ToString(k). - // ii. Let same be the result of applying the - // Strict Equality Comparison Algorithm to - // searchElement and elementK. - // iii. If same is true, return k. - if (k in o && o[k] === searchElement) { - return k; - } - k++; - } - return -1; - }; -} -if (!Array.prototype.lastIndexOf) { - Array.prototype.lastIndexOf = function (searchElement /*, fromIndex*/) { - 'use strict'; - - if (this === void 0 || this === null) { - throw new TypeError(); - } - - var n, k, - t = Object(this), - len = t.length >>> 0; - if (len === 0) { - return -1; - } - - n = len - 1; - if (arguments.length > 1) { - n = Number(arguments[1]); - if (n != n) { - n = 0; - } - else if (n != 0 && n != (1 / 0) && n != -(1 / 0)) { - n = (n > 0 || -1) * Math.floor(Math.abs(n)); - } - } - - for (k = n >= 0 - ? Math.min(n, len - 1) - : len - Math.abs(n); k >= 0; k--) { - if (k in t && t[k] === searchElement) { - return k; - } - } - return -1; - }; -} diff --git a/src/polyfill/console.js b/src/polyfill/console.js deleted file mode 100644 index a1c017c063..0000000000 --- a/src/polyfill/console.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * 特殊情况 - * Created by wang on 15/6/23. - */ -//解决console未定义问题 guy -window.console = window.console || (function () { - var c = {}; - c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile - = c.clear = c.exception = c.trace = c.assert = function () { - }; - return c; - })(); diff --git a/src/polyfill/localStorage.js b/src/polyfill/localStorage.js deleted file mode 100644 index 12036d7433..0000000000 --- a/src/polyfill/localStorage.js +++ /dev/null @@ -1,21 +0,0 @@ -/* - * 前端缓存 - */ -window.localStorage || (window.localStorage = { - items: {}, - setItem: function (k, v) { - BI.Cache.addCookie(k, v); - }, - getItem: function (k) { - return BI.Cache.getCookie(k); - }, - removeItem: function (k) { - BI.Cache.deleteCookie(k); - }, - key: function () { - - }, - clear: function () { - this.items = {}; - } -}); \ No newline at end of file diff --git a/src/polyfill/set.js b/src/polyfill/set.js deleted file mode 100644 index 5bc42367db..0000000000 --- a/src/polyfill/set.js +++ /dev/null @@ -1,16 +0,0 @@ -if (typeof Set !== 'undefined' && Set.toString().match(/native code/)) { - -} else { - Set = function () { - this.set = {} - }; - Set.prototype.has = function (key) { - return this.set[key] !== undefined; - }; - Set.prototype.add = function (key) { - this.set[key] = 1 - }; - Set.prototype.clear = function () { - this.set = {} - }; -} \ No newline at end of file diff --git a/src/polyfill/sort.js b/src/polyfill/sort.js deleted file mode 100644 index c2581f68ae..0000000000 --- a/src/polyfill/sort.js +++ /dev/null @@ -1,31 +0,0 @@ -//修复ie9下sort方法的bug -;!function (window) { - var ua = window.navigator.userAgent.toLowerCase(), - reg = /msie|applewebkit.+safari/; - if (reg.test(ua)) { - var _sort = Array.prototype.sort; - Array.prototype.sort = function (fn) { - if (!!fn && typeof fn === 'function') { - if (this.length < 2) { - return this; - } - var i = 0, j = i + 1, l = this.length, tmp, r = false, t = 0; - for (; i < l; i++) { - for (j = i + 1; j < l; j++) { - t = fn.call(this, this[i], this[j]); - r = (typeof t === 'number' ? t : - !!t ? 1 : 0) > 0; - if (r === true) { - tmp = this[i]; - this[i] = this[j]; - this[j] = tmp; - } - } - } - return this; - } else { - return _sort.call(this); - } - }; - } -}(window); \ No newline at end of file diff --git a/src/preact.js b/src/preact.js new file mode 100644 index 0000000000..b98011822b --- /dev/null +++ b/src/preact.js @@ -0,0 +1,26 @@ +import { h, h as createElement } from './h'; +import { cloneElement } from './clone-element'; +import { Component } from './component'; +import { render } from './render'; +import { rerender } from './render-queue'; +import options from './options'; + +export default { + h, + createElement, + cloneElement, + Component, + render, + rerender, + options +}; + +export { + h, + createElement, + cloneElement, + Component, + render, + rerender, + options +}; diff --git a/src/render-queue.js b/src/render-queue.js new file mode 100644 index 0000000000..42021f69c7 --- /dev/null +++ b/src/render-queue.js @@ -0,0 +1,21 @@ +import options from './options'; +import { defer } from './util'; +import { renderComponent } from './vdom/component'; + +/** Managed queue of dirty components to be re-rendered */ + +let items = []; + +export function enqueueRender(component) { + if (!component._dirty && (component._dirty = true) && items.push(component)==1) { + (options.debounceRendering || defer)(rerender); + } +} + +export function rerender() { + let p, list = items; + items = []; + while ( (p = list.pop()) ) { + if (p._dirty) renderComponent(p); + } +} diff --git a/src/render.js b/src/render.js new file mode 100644 index 0000000000..2774a5e92b --- /dev/null +++ b/src/render.js @@ -0,0 +1,20 @@ +import { diff } from './vdom/diff'; + +/** Render JSX into a `parent` Element. + * @param {VNode} vnode A (JSX) VNode to render + * @param {Element} parent DOM element to render into + * @param {Element} [merge] Attempt to re-use an existing DOM tree rooted at `merge` + * @public + * + * @example + * // render a div into <body>: + * render(<div id="hello">hello!</div>, document.body); + * + * @example + * // render a "Thing" component into #foo: + * const Thing = ({ name }) => <span>{ name }</span>; + * render(<Thing name="one" />, document.querySelector('#foo')); + */ +export function render(vnode, parent, merge) { + return diff(merge, vnode, {}, false, parent, false); +} diff --git a/src/third/jquery.mousewheel.js b/src/third/jquery.mousewheel.js deleted file mode 100644 index 5973663539..0000000000 --- a/src/third/jquery.mousewheel.js +++ /dev/null @@ -1,202 +0,0 @@ -/*! - * jQuery Mousewheel 3.1.13 - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license - * http://jquery.org/license - */ - -(function (factory) { - if ( typeof define === 'function' && define.amd ) { - // AMD. Register as an anonymous module. - define(['../core/jquery'], factory); - } else if (typeof exports === 'object') { - // Node/CommonJS style for Browserify - module.exports = factory; - } else { - // Browser globals - factory(jQuery); - } -}(function ($) { - - var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], - toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? - ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], - slice = Array.prototype.slice, - nullLowestDeltaTimeout, lowestDelta; - - if ( $.event.fixHooks ) { - for ( var i = toFix.length; i; ) { - $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks; - } - } - - var special = $.event.special.mousewheel = { - version: '3.1.12', - - setup: function() { - if ( this.addEventListener ) { - for ( var i = toBind.length; i; ) { - this.addEventListener( toBind[--i], handler, false ); - } - } else { - this.onmousewheel = handler; - } - }, - - teardown: function() { - if ( this.removeEventListener ) { - for ( var i = toBind.length; i; ) { - this.removeEventListener( toBind[--i], handler, false ); - } - } else { - this.onmousewheel = null; - } - }, - - settings: { - adjustOldDeltas: true, // see shouldAdjustOldDeltas() below - normalizeOffset: true // calls getBoundingClientRect for each event - } - }; - - $.fn.extend({ - mousewheel: function(fn) { - return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel'); - }, - - unmousewheel: function(fn) { - return this.unbind('mousewheel', fn); - } - }); - - - function handler(event) { - var orgEvent = event || window.event, - args = slice.call(arguments, 1), - delta = 0, - deltaX = 0, - deltaY = 0, - absDelta = 0, - offsetX = 0, - offsetY = 0; - event = $.event.fix(orgEvent); - event.type = 'mousewheel'; - - // Old school scrollwheel delta - if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; } - if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; } - if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; } - if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; } - - // Firefox < 17 horizontal scrolling related to DOMMouseScroll event - if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { - deltaX = deltaY * -1; - deltaY = 0; - } - - // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy - delta = deltaY === 0 ? deltaX : deltaY; - - // New school wheel delta (wheel event) - if ( 'deltaY' in orgEvent ) { - deltaY = orgEvent.deltaY * -1; - delta = deltaY; - } - if ( 'deltaX' in orgEvent ) { - deltaX = orgEvent.deltaX; - if ( deltaY === 0 ) { delta = deltaX * -1; } - } - - // No change actually happened, no reason to go any further - if ( deltaY === 0 && deltaX === 0 ) { return; } - - // Need to convert lines and pages to pixels if we aren't already in pixels - // There are three delta modes: - // * deltaMode 0 is by pixels, nothing to do - // * deltaMode 1 is by lines - // * deltaMode 2 is by pages - if ( orgEvent.deltaMode === 1 ) { - var lineHeight = 40; - delta *= lineHeight; - deltaY *= lineHeight; - deltaX *= lineHeight; - } else if ( orgEvent.deltaMode === 2 ) { - var pageHeight = 800; - delta *= pageHeight; - deltaY *= pageHeight; - deltaX *= pageHeight; - } - - // Store lowest absolute delta to normalize the delta values - absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); - - if ( !lowestDelta || absDelta < lowestDelta ) { - lowestDelta = absDelta; - - // Adjust older deltas if necessary - if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { - lowestDelta /= 40; - } - } - - // Adjust older deltas if necessary - if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { - // Divide all the things by 40! - delta /= 40; - deltaX /= 40; - deltaY /= 40; - } - - // Get a whole, normalized value for the deltas - delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); - deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); - deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); - - // Normalise offsetX and offsetY properties - if ( special.settings.normalizeOffset && this.getBoundingClientRect ) { - var boundingRect = this.getBoundingClientRect(); - offsetX = event.clientX - boundingRect.left; - offsetY = event.clientY - boundingRect.top; - } - - // Add information to the event object - event.deltaX = deltaX; - event.deltaY = deltaY; - event.deltaFactor = lowestDelta; - event.offsetX = offsetX; - event.offsetY = offsetY; - // Go ahead and set deltaMode to 0 since we converted to pixels - // Although this is a little odd since we overwrite the deltaX/Y - // properties with normalized deltas. - event.deltaMode = 0; - - // Add event and delta to the front of the arguments - args.unshift(event, delta, deltaX, deltaY); - - // Clearout lowestDelta after sometime to better - // handle multiple device types that give different - // a different lowestDelta - // Ex: trackpad = 3 and mouse wheel = 120 - if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); } - nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200); - - return ($.event.dispatch || $.event.handle).apply(this, args); - } - - function nullLowestDelta() { - lowestDelta = null; - } - - function shouldAdjustOldDeltas(orgEvent, absDelta) { - // If this is an older event and the delta is divisable by 120, - // then we are assuming that the browser is treating this as an - // older mouse wheel event and that we should divide the deltas - // by 40 to try and get a more usable deltaFactor. - // Side note, this actually impacts the reported scroll distance - // in older browsers and can cause scrolling to be slower than native. - // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. - return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0; - } - -})); \ No newline at end of file diff --git a/src/util.js b/src/util.js new file mode 100644 index 0000000000..720db3b108 --- /dev/null +++ b/src/util.js @@ -0,0 +1,13 @@ +/** Copy own-properties from `props` onto `obj`. + * @returns obj + * @private + */ +export function extend(obj, props) { + for (let i in props) obj[i] = props[i]; + return obj; +} + +/** Call a function asynchronously, as soon as possible. + * @param {Function} callback + */ +export const defer = typeof Promise=='function' ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout; diff --git a/src/vdom/component-recycler.js b/src/vdom/component-recycler.js new file mode 100644 index 0000000000..33f74d905d --- /dev/null +++ b/src/vdom/component-recycler.js @@ -0,0 +1,49 @@ +import { Component } from '../component'; + +/** Retains a pool of Components for re-use, keyed on component name. + * Note: since component names are not unique or even necessarily available, these are primarily a form of sharding. + * @private + */ +const components = {}; + + +/** Reclaim a component for later re-use by the recycler. */ +export function collectComponent(component) { + let name = component.constructor.name; + (components[name] || (components[name] = [])).push(component); +} + + +/** Create a component. Normalizes differences between PFC's and classful Components. */ +export function createComponent(Ctor, props, context) { + let list = components[Ctor.name], + inst; + + if (Ctor.prototype && Ctor.prototype.render) { + inst = new Ctor(props, context); + Component.call(inst, props, context); + } + else { + inst = new Component(props, context); + inst.constructor = Ctor; + inst.render = doRender; + } + + + if (list) { + for (let i=list.length; i--; ) { + if (list[i].constructor===Ctor) { + inst.nextBase = list[i].nextBase; + list.splice(i, 1); + break; + } + } + } + return inst; +} + + +/** The `.render()` method for a PFC backing instance. */ +function doRender(props, state, context) { + return this.constructor(props, context); +} diff --git a/src/vdom/component.js b/src/vdom/component.js new file mode 100644 index 0000000000..5286735174 --- /dev/null +++ b/src/vdom/component.js @@ -0,0 +1,275 @@ +import { SYNC_RENDER, NO_RENDER, FORCE_RENDER, ASYNC_RENDER, ATTR_KEY } from '../constants'; +import options from '../options'; +import { extend } from '../util'; +import { enqueueRender } from '../render-queue'; +import { getNodeProps } from './index'; +import { diff, mounts, diffLevel, flushMounts, recollectNodeTree, removeChildren } from './diff'; +import { createComponent, collectComponent } from './component-recycler'; +import { removeNode } from '../dom/index'; + +/** Set a component's `props` (generally derived from JSX attributes). + * @param {Object} props + * @param {Object} [opts] + * @param {boolean} [opts.renderSync=false] If `true` and {@link options.syncComponentUpdates} is `true`, triggers synchronous rendering. + * @param {boolean} [opts.render=true] If `false`, no render will be triggered. + */ +export function setComponentProps(component, props, opts, context, mountAll) { + if (component._disable) return; + component._disable = true; + + if ((component.__ref = props.ref)) delete props.ref; + if ((component.__key = props.key)) delete props.key; + + if (!component.base || mountAll) { + if (component.componentWillMount) component.componentWillMount(); + } + else if (component.componentWillReceiveProps) { + component.componentWillReceiveProps(props, context); + } + + if (context && context!==component.context) { + if (!component.prevContext) component.prevContext = component.context; + component.context = context; + } + + if (!component.prevProps) component.prevProps = component.props; + component.props = props; + + component._disable = false; + + if (opts!==NO_RENDER) { + if (opts===SYNC_RENDER || options.syncComponentUpdates!==false || !component.base) { + renderComponent(component, SYNC_RENDER, mountAll); + } + else { + enqueueRender(component); + } + } + + if (component.__ref) component.__ref(component); +} + + + +/** Render a Component, triggering necessary lifecycle events and taking High-Order Components into account. + * @param {Component} component + * @param {Object} [opts] + * @param {boolean} [opts.build=false] If `true`, component will build and store a DOM node if not already associated with one. + * @private + */ +export function renderComponent(component, opts, mountAll, isChild) { + if (component._disable) return; + + let props = component.props, + state = component.state, + context = component.context, + previousProps = component.prevProps || props, + previousState = component.prevState || state, + previousContext = component.prevContext || context, + isUpdate = component.base, + nextBase = component.nextBase, + initialBase = isUpdate || nextBase, + initialChildComponent = component._component, + skip = false, + rendered, inst, cbase; + + // if updating + if (isUpdate) { + component.props = previousProps; + component.state = previousState; + component.context = previousContext; + if (opts!==FORCE_RENDER + && component.shouldComponentUpdate + && component.shouldComponentUpdate(props, state, context) === false) { + skip = true; + } + else if (component.componentWillUpdate) { + component.componentWillUpdate(props, state, context); + } + component.props = props; + component.state = state; + component.context = context; + } + + component.prevProps = component.prevState = component.prevContext = component.nextBase = null; + component._dirty = false; + + if (!skip) { + rendered = component.render(props, state, context); + + // context to pass to the child, can be updated via (grand-)parent component + if (component.getChildContext) { + context = extend(extend({}, context), component.getChildContext()); + } + + let childComponent = rendered && rendered.nodeName, + toUnmount, base; + + if (typeof childComponent==='function') { + // set up high order component link + + let childProps = getNodeProps(rendered); + inst = initialChildComponent; + + if (inst && inst.constructor===childComponent && childProps.key==inst.__key) { + setComponentProps(inst, childProps, SYNC_RENDER, context, false); + } + else { + toUnmount = inst; + + component._component = inst = createComponent(childComponent, childProps, context); + inst.nextBase = inst.nextBase || nextBase; + inst._parentComponent = component; + setComponentProps(inst, childProps, NO_RENDER, context, false); + renderComponent(inst, SYNC_RENDER, mountAll, true); + } + + base = inst.base; + } + else { + cbase = initialBase; + + // destroy high order component link + toUnmount = initialChildComponent; + if (toUnmount) { + cbase = component._component = null; + } + + if (initialBase || opts===SYNC_RENDER) { + if (cbase) cbase._component = null; + base = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, true); + } + } + + if (initialBase && base!==initialBase && inst!==initialChildComponent) { + let baseParent = initialBase.parentNode; + if (baseParent && base!==baseParent) { + baseParent.replaceChild(base, initialBase); + + if (!toUnmount) { + initialBase._component = null; + recollectNodeTree(initialBase, false); + } + } + } + + if (toUnmount) { + unmountComponent(toUnmount); + } + + component.base = base; + if (base && !isChild) { + let componentRef = component, + t = component; + while ((t=t._parentComponent)) { + (componentRef = t).base = base; + } + base._component = componentRef; + base._componentConstructor = componentRef.constructor; + } + } + + if (!isUpdate || mountAll) { + mounts.unshift(component); + } + else if (!skip) { + // Ensure that pending componentDidMount() hooks of child components + // are called before the componentDidUpdate() hook in the parent. + // Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750 + // flushMounts(); + + if (component.componentDidUpdate) { + component.componentDidUpdate(previousProps, previousState, previousContext); + } + if (options.afterUpdate) options.afterUpdate(component); + } + + if (component._renderCallbacks!=null) { + while (component._renderCallbacks.length) component._renderCallbacks.pop().call(component); + } + + if (!diffLevel && !isChild) flushMounts(); +} + + + +/** Apply the Component referenced by a VNode to the DOM. + * @param {Element} dom The DOM node to mutate + * @param {VNode} vnode A Component-referencing VNode + * @returns {Element} dom The created/mutated element + * @private + */ +export function buildComponentFromVNode(dom, vnode, context, mountAll) { + let c = dom && dom._component, + originalComponent = c, + oldDom = dom, + isDirectOwner = c && dom._componentConstructor===vnode.nodeName, + isOwner = isDirectOwner, + props = getNodeProps(vnode); + while (c && !isOwner && (c=c._parentComponent)) { + isOwner = c.constructor===vnode.nodeName; + } + + if (c && isOwner && (!mountAll || c._component)) { + setComponentProps(c, props, ASYNC_RENDER, context, mountAll); + dom = c.base; + } + else { + if (originalComponent && !isDirectOwner) { + unmountComponent(originalComponent); + dom = oldDom = null; + } + + c = createComponent(vnode.nodeName, props, context); + if (dom && !c.nextBase) { + c.nextBase = dom; + // passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229: + oldDom = null; + } + setComponentProps(c, props, SYNC_RENDER, context, mountAll); + dom = c.base; + + if (oldDom && dom!==oldDom) { + oldDom._component = null; + recollectNodeTree(oldDom, false); + } + } + + return dom; +} + + + +/** Remove a component from the DOM and recycle it. + * @param {Component} component The Component instance to unmount + * @private + */ +export function unmountComponent(component) { + if (options.beforeUnmount) options.beforeUnmount(component); + + let base = component.base; + + component._disable = true; + + if (component.componentWillUnmount) component.componentWillUnmount(); + + component.base = null; + + // recursively tear down & recollect high-order component children: + let inner = component._component; + if (inner) { + unmountComponent(inner); + } + else if (base) { + if (base[ATTR_KEY] && base[ATTR_KEY].ref) base[ATTR_KEY].ref(null); + + component.nextBase = base; + + removeNode(base); + collectComponent(component); + + removeChildren(base); + } + + if (component.__ref) component.__ref(null); +} diff --git a/src/vdom/diff.js b/src/vdom/diff.js new file mode 100644 index 0000000000..6cc9bb7106 --- /dev/null +++ b/src/vdom/diff.js @@ -0,0 +1,310 @@ +import { ATTR_KEY } from '../constants'; +import { isSameNodeType, isNamedNode } from './index'; +import { buildComponentFromVNode } from './component'; +import { createNode, setAccessor } from '../dom/index'; +import { unmountComponent } from './component'; +import options from '../options'; +import { removeNode } from '../dom/index'; + +/** Queue of components that have been mounted and are awaiting componentDidMount */ +export const mounts = []; + +/** Diff recursion count, used to track the end of the diff cycle. */ +export let diffLevel = 0; + +/** Global flag indicating if the diff is currently within an SVG */ +let isSvgMode = false; + +/** Global flag indicating if the diff is performing hydration */ +let hydrating = false; + +/** Invoke queued componentDidMount lifecycle methods */ +export function flushMounts() { + let c; + while ((c=mounts.pop())) { + if (options.afterMount) options.afterMount(c); + if (c.componentDidMount) c.componentDidMount(); + } +} + + +/** Apply differences in a given vnode (and it's deep children) to a real DOM Node. + * @param {Element} [dom=null] A DOM node to mutate into the shape of the `vnode` + * @param {VNode} vnode A VNode (with descendants forming a tree) representing the desired DOM structure + * @returns {Element} dom The created/mutated element + * @private + */ +export function diff(dom, vnode, context, mountAll, parent, componentRoot) { + // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff) + if (!diffLevel++) { + // when first starting the diff, check if we're diffing an SVG or within an SVG + isSvgMode = parent!=null && parent.ownerSVGElement!==undefined; + + // hydration is indicated by the existing element to be diffed not having a prop cache + hydrating = dom!=null && !(ATTR_KEY in dom); + } + + let ret = idiff(dom, vnode, context, mountAll, componentRoot); + + // append the element if its a new parent + if (parent && ret.parentNode!==parent) parent.appendChild(ret); + + // diffLevel being reduced to 0 means we're exiting the diff + if (!--diffLevel) { + hydrating = false; + // invoke queued componentDidMount lifecycle methods + if (!componentRoot) flushMounts(); + } + + return ret; +} + + +/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */ +function idiff(dom, vnode, context, mountAll, componentRoot) { + let out = dom, + prevSvgMode = isSvgMode; + + // empty values (null, undefined, booleans) render as empty Text nodes + if (vnode==null || typeof vnode==='boolean') vnode = ''; + + + // Fast case: Strings & Numbers create/update Text nodes. + if (typeof vnode==='string' || typeof vnode==='number') { + + // update if it's already a Text node: + if (dom && dom.splitText!==undefined && dom.parentNode && (!dom._component || componentRoot)) { + /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */ + if (dom.nodeValue!=vnode) { + dom.nodeValue = vnode; + } + } + else { + // it wasn't a Text node: replace it with one and recycle the old Element + out = document.createTextNode(vnode); + if (dom) { + if (dom.parentNode) dom.parentNode.replaceChild(out, dom); + recollectNodeTree(dom, true); + } + } + + out[ATTR_KEY] = true; + + return out; + } + + + // If the VNode represents a Component, perform a component diff: + let vnodeName = vnode.nodeName; + if (typeof vnodeName==='function') { + return buildComponentFromVNode(dom, vnode, context, mountAll); + } + + + // Tracks entering and exiting SVG namespace when descending through the tree. + isSvgMode = vnodeName==='svg' ? true : vnodeName==='foreignObject' ? false : isSvgMode; + + + // If there's no existing element or it's the wrong type, create a new one: + vnodeName = String(vnodeName); + if (!dom || !isNamedNode(dom, vnodeName)) { + out = createNode(vnodeName, isSvgMode); + + if (dom) { + // move children into the replacement node + while (dom.firstChild) out.appendChild(dom.firstChild); + + // if the previous Element was mounted into the DOM, replace it inline + if (dom.parentNode) dom.parentNode.replaceChild(out, dom); + + // recycle the old element (skips non-Element node types) + recollectNodeTree(dom, true); + } + } + + + let fc = out.firstChild, + props = out[ATTR_KEY], + vchildren = vnode.children; + + if (props==null) { + props = out[ATTR_KEY] = {}; + for (let a=out.attributes, i=a.length; i--; ) props[a[i].name] = a[i].value; + } + + // Optimization: fast-path for elements containing a single TextNode: + if (!hydrating && vchildren && vchildren.length===1 && typeof vchildren[0]==='string' && fc!=null && fc.splitText!==undefined && fc.nextSibling==null) { + if (fc.nodeValue!=vchildren[0]) { + fc.nodeValue = vchildren[0]; + } + } + // otherwise, if there are existing or new children, diff them: + else if (vchildren && vchildren.length || fc!=null) { + innerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML!=null); + } + + + // Apply attributes/props from VNode to the DOM Element: + diffAttributes(out, vnode.attributes, props); + + + // restore previous SVG mode: (in case we're exiting an SVG namespace) + isSvgMode = prevSvgMode; + + return out; +} + + +/** Apply child and attribute changes between a VNode and a DOM Node to the DOM. + * @param {Element} dom Element whose children should be compared & mutated + * @param {Array} vchildren Array of VNodes to compare to `dom.childNodes` + * @param {Object} context Implicitly descendant context object (from most recent `getChildContext()`) + * @param {Boolean} mountAll + * @param {Boolean} isHydrating If `true`, consumes externally created elements similar to hydration + */ +function innerDiffNode(dom, vchildren, context, mountAll, isHydrating) { + let originalChildren = dom.childNodes, + children = [], + keyed = {}, + keyedLen = 0, + min = 0, + len = originalChildren.length, + childrenLen = 0, + vlen = vchildren ? vchildren.length : 0, + j, c, f, vchild, child; + + // Build up a map of keyed children and an Array of unkeyed children: + if (len!==0) { + for (let i=0; i<len; i++) { + let child = originalChildren[i], + props = child[ATTR_KEY], + key = vlen && props ? child._component ? child._component.__key : props.key : null; + if (key!=null) { + keyedLen++; + keyed[key] = child; + } + else if (props || (child.splitText!==undefined ? (isHydrating ? child.nodeValue.trim() : true) : isHydrating)) { + children[childrenLen++] = child; + } + } + } + + if (vlen!==0) { + for (let i=0; i<vlen; i++) { + vchild = vchildren[i]; + child = null; + + // attempt to find a node based on key matching + let key = vchild.key; + if (key!=null) { + if (keyedLen && keyed[key]!==undefined) { + child = keyed[key]; + keyed[key] = undefined; + keyedLen--; + } + } + // attempt to pluck a node of the same type from the existing children + else if (!child && min<childrenLen) { + for (j=min; j<childrenLen; j++) { + if (children[j]!==undefined && isSameNodeType(c = children[j], vchild, isHydrating)) { + child = c; + children[j] = undefined; + if (j===childrenLen-1) childrenLen--; + if (j===min) min++; + break; + } + } + } + + // morph the matched/found/created DOM child to match vchild (deep) + child = idiff(child, vchild, context, mountAll); + + f = originalChildren[i]; + if (child && child!==dom && child!==f) { + if (f==null) { + dom.appendChild(child); + } + else if (child===f.nextSibling) { + removeNode(f); + } + else { + dom.insertBefore(child, f); + } + } + } + } + + + // remove unused keyed children: + if (keyedLen) { + for (let i in keyed) if (keyed[i]!==undefined) recollectNodeTree(keyed[i], false); + } + + // remove orphaned unkeyed children: + while (min<=childrenLen) { + if ((child = children[childrenLen--])!==undefined) recollectNodeTree(child, false); + } +} + + + +/** Recursively recycle (or just unmount) a node and its descendants. + * @param {Node} node DOM node to start unmount/removal from + * @param {Boolean} [unmountOnly=false] If `true`, only triggers unmount lifecycle, skips removal + */ +export function recollectNodeTree(node, unmountOnly) { + let component = node._component; + if (component) { + // if node is owned by a Component, unmount that component (ends up recursing back here) + unmountComponent(component); + } + else { + // If the node's VNode had a ref function, invoke it with null here. + // (this is part of the React spec, and smart for unsetting references) + if (node[ATTR_KEY]!=null && node[ATTR_KEY].ref) node[ATTR_KEY].ref(null); + + if (unmountOnly===false || node[ATTR_KEY]==null) { + removeNode(node); + } + + removeChildren(node); + } +} + + +/** Recollect/unmount all children. + * - we use .lastChild here because it causes less reflow than .firstChild + * - it's also cheaper than accessing the .childNodes Live NodeList + */ +export function removeChildren(node) { + node = node.lastChild; + while (node) { + let next = node.previousSibling; + recollectNodeTree(node, true); + node = next; + } +} + + +/** Apply differences in attributes from a VNode to the given DOM Element. + * @param {Element} dom Element with attributes to diff `attrs` against + * @param {Object} attrs The desired end-state key-value attribute pairs + * @param {Object} old Current/previous attributes (from previous VNode or element's prop cache) + */ +function diffAttributes(dom, attrs, old) { + let name; + + // remove attributes no longer present on the vnode by setting them to undefined + for (name in old) { + if (!(attrs && attrs[name]!=null) && old[name]!=null) { + setAccessor(dom, name, old[name], old[name] = undefined, isSvgMode); + } + } + + // add new & update changed attributes + for (name in attrs) { + if (name!=='children' && name!=='innerHTML' && (!(name in old) || attrs[name]!==(name==='value' || name==='checked' ? dom[name] : old[name]))) { + setAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode); + } + } +} diff --git a/src/vdom/index.js b/src/vdom/index.js new file mode 100644 index 0000000000..7324161526 --- /dev/null +++ b/src/vdom/index.js @@ -0,0 +1,50 @@ +import { extend } from '../util'; + + +/** Check if two nodes are equivalent. + * @param {Element} node + * @param {VNode} vnode + * @private + */ +export function isSameNodeType(node, vnode, hydrating) { + if (typeof vnode==='string' || typeof vnode==='number') { + return node.splitText!==undefined; + } + if (typeof vnode.nodeName==='string') { + return !node._componentConstructor && isNamedNode(node, vnode.nodeName); + } + return hydrating || node._componentConstructor===vnode.nodeName; +} + + +/** Check if an Element has a given normalized name. +* @param {Element} node +* @param {String} nodeName + */ +export function isNamedNode(node, nodeName) { + return node.normalizedNodeName===nodeName || node.nodeName.toLowerCase()===nodeName.toLowerCase(); +} + + +/** + * Reconstruct Component-style `props` from a VNode. + * Ensures default/fallback values from `defaultProps`: + * Own-properties of `defaultProps` not present in `vnode.attributes` are added. + * @param {VNode} vnode + * @returns {Object} props + */ +export function getNodeProps(vnode) { + let props = extend({}, vnode.attributes); + props.children = vnode.children; + + let defaultProps = vnode.nodeName.defaultProps; + if (defaultProps!==undefined) { + for (let i in defaultProps) { + if (props[i]===undefined) { + props[i] = defaultProps[i]; + } + } + } + + return props; +} diff --git a/src/vnode.js b/src/vnode.js new file mode 100644 index 0000000000..037426beb9 --- /dev/null +++ b/src/vnode.js @@ -0,0 +1,2 @@ +/** Virtual DOM Node */ +export function VNode() {} diff --git a/src/widget/adaptivearrangement/adaptivearrangement.js b/src/widget/adaptivearrangement/adaptivearrangement.js deleted file mode 100644 index 8a5b7fec46..0000000000 --- a/src/widget/adaptivearrangement/adaptivearrangement.js +++ /dev/null @@ -1,299 +0,0 @@ -/** - * 自适应布局 - * - * 1、resize - * 2、吸附 - * 3、当前组件在最上方 - * 4、可以撤销 - * 5、上下之间插入组件 - * - * Created by GUY on 2016/2/23. - * @class BI.AdaptiveArrangement - * @extends BI.Widget - */ -BI.AdaptiveArrangement = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.AdaptiveArrangement.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-adaptive-arrangement", - resizable: true, - layoutType: BI.Arrangement.LAYOUT_TYPE.FREE, - items: [] - }); - }, - - _init: function () { - BI.AdaptiveArrangement.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.arrangement = BI.createWidget({ - type: "bi.arrangement", - element: this, - layoutType: o.layoutType, - items: o.items - }); - this.arrangement.on(BI.Arrangement.EVENT_SCROLL, function () { - self.fireEvent(BI.AdaptiveArrangement.EVENT_SCROLL, arguments); - }); - this.zIndex = 0; - BI.each(o.items, function (i, item) { - self._initResizable(item.el); - }); - - $(document).mousedown(function (e) { - BI.each(self.getAllRegions(), function (i, region) { - if (region.el.element.find(e.target).length === 0) { - region.el.element.removeClass("selected"); - } - }); - }); - BI.ResizeDetector.addResizeListener(this, function () { - self.arrangement.resize(); - self.fireEvent(BI.AdaptiveArrangement.EVENT_RESIZE); - }); - }, - - _isEqual: function () { - return this.arrangement._isEqual.apply(this.arrangement, arguments); - }, - - _setSelect: function (item) { - if (!item.element.hasClass("selected")) { - item.element.css("zIndex", ++this.zIndex); - BI.each(this.getAllRegions(), function (i, region) { - region.el.element.removeClass("selected"); - }); - item.element.addClass("selected"); - } - }, - - _initResizable: function (item) { - var self = this, o = this.options; - item.element.css("zIndex", ++this.zIndex); - item.element.mousedown(function () { - self._setSelect(item) - }); - }, - - _getScrollOffset: function () { - return this.arrangement._getScrollOffset(); - }, - - getClientWidth: function () { - return this.arrangement.getClientWidth(); - }, - - getClientHeight: function () { - return this.arrangement.getClientHeight(); - }, - - addRegion: function (region, position) { - this._initResizable(region.el); - this._setSelect(region.el); - var self = this, flag; - var old = this.arrangement.getAllRegions(); - if (flag = this.arrangement.addRegion(region, position)) { - this._old = old; - } - return flag; - }, - - deleteRegion: function (name) { - var flag; - var old = this.getAllRegions(); - if (flag = this.arrangement.deleteRegion(name)) { - this._old = old; - } else { - this._old = this.getAllRegions(); - this.relayout(); - } - return flag; - }, - - setRegionSize: function (name, size) { - var flag; - var old = this.getAllRegions(); - if (flag = this.arrangement.setRegionSize(name, size)) { - this._old = old; - } - return flag; - }, - - setPosition: function (position, size) { - var self = this; - return this.arrangement.setPosition(position, size); - }, - - setRegionPosition: function (name, position) { - var region = this.getRegionByName(name); - return this.arrangement.setRegionPosition(name, position); - }, - - setDropPosition: function (position, size) { - return this.arrangement.setDropPosition(position, size); - }, - - scrollInterval: function (e, isBorderScroll, isOverflowScroll, cb) { - // var self = this; - // var map = { - // top: [-1, 0], - // bottom: [1, 0], - // left: [0, -1], - // right: [0, 1] - // }; - // var clientWidth = this.arrangement.getClientWidth(); - // var clientHeight = this.arrangement.getClientHeight(); - // - // function scrollTo(direction, callback) { - // if (direction === "") { - // self.lastActiveRegion = ""; - // if (self._scrollInterval) { - // clearInterval(self._scrollInterval); - // self._scrollInterval = null; - // } - // return; - // } - // if (self.lastActiveRegion !== direction) { - // self.lastActiveRegion = direction; - // if (self._scrollInterval) { - // clearInterval(self._scrollInterval); - // self._scrollInterval = null; - // } - // var count = 0; - // self._scrollInterval = setInterval(function () { - // count++; - // if (count <= 3) { - // return; - // } - // var offset = self._getScrollOffset(); - // var t = offset.top + map[direction][0] * 40; - // var l = offset.left + map[direction][1] * 40; - // if (t < 0 || l < 0) { - // return; - // } - // callback({ - // offsetX: map[direction][1] * 40, - // offsetY: map[direction][0] * 40 - // }); - // self.scrollTo({ - // top: t, - // left: l - // }); - // }, 300); - // } - // } - - cb({ - offsetX: 0, - offsetY: 0 - }); - // var offset = this.element.offset(); - // var p = { - // left: e.pageX - offset.left, - // top: e.pageY - offset.top - // }; - // //向上滚 - // if (isBorderScroll && p.top >= 0 && p.top <= 30) { - // scrollTo("top", cb) - // } - // //向下滚 - // else if (isBorderScroll && p.top >= clientHeight - 30 && p.top <= clientHeight) { - // scrollTo("bottom", cb) - // } - // //向左滚 - // else if (isBorderScroll && p.left >= 0 && p.left <= 30) { - // scrollTo("left", cb) - // } - // //向右滚 - // else if (isBorderScroll && p.left >= clientWidth - 30 && p.left <= clientWidth) { - // scrollTo("right", cb) - // } else { - // if (isOverflowScroll === true) { - // if (p.top < 0) { - // scrollTo("top", cb); - // } - // else if (p.top > clientHeight) { - // scrollTo("bottom", cb); - // } - // else if (p.left < 0) { - // scrollTo("left", cb); - // } - // else if (p.left > clientWidth) { - // scrollTo("right", cb); - // } else { - // scrollTo("", cb); - // } - // } else { - // scrollTo("", cb); - // } - // } - }, - - scrollEnd: function () { - this.lastActiveRegion = ""; - if (this._scrollInterval) { - clearInterval(this._scrollInterval); - this._scrollInterval = null; - } - }, - - scrollTo: function (scroll) { - this.arrangement.scrollTo(scroll); - }, - - zoom: function (ratio) { - this.arrangement.zoom(ratio); - }, - - resize: function () { - this.arrangement.resize(); - }, - - relayout: function () { - return this.arrangement.relayout(); - }, - - setLayoutType: function (type) { - var self = this; - this.arrangement.setLayoutType(type); - }, - - getLayoutType: function () { - return this.arrangement.getLayoutType(); - }, - - getLayoutRatio: function () { - return this.arrangement.getLayoutRatio(); - }, - - getHelper: function () { - return this.arrangement.getHelper(); - }, - - getRegionByName: function (name) { - return this.arrangement.getRegionByName(name); - }, - - getAllRegions: function () { - return this.arrangement.getAllRegions(); - }, - - revoke: function () { - if (this._old) { - this.populate(BI.toArray(this._old)); - } - }, - - populate: function (items) { - var self = this; - BI.each(items, function (i, item) { - self._initResizable(item.el); - }); - this.arrangement.populate(items); - } -}); -BI.AdaptiveArrangement.EVENT_ELEMENT_START_RESIZE = "AdaptiveArrangement.EVENT_ELEMENT_START_RESIZE"; -BI.AdaptiveArrangement.EVENT_ELEMENT_RESIZE = "AdaptiveArrangement.EVENT_ELEMENT_RESIZE"; -BI.AdaptiveArrangement.EVENT_ELEMENT_STOP_RESIZE = "AdaptiveArrangement.EVENT_ELEMENT_STOP_RESIZE"; -BI.AdaptiveArrangement.EVENT_RESIZE = "AdaptiveArrangement.EVENT_RESIZE"; -BI.AdaptiveArrangement.EVENT_SCROLL = "AdaptiveArrangement.EVENT_SCROLL"; -BI.shortcut('bi.adaptive_arrangement', BI.AdaptiveArrangement); \ No newline at end of file diff --git a/src/widget/arrangement/arrangement.block.js b/src/widget/arrangement/arrangement.block.js deleted file mode 100644 index e28d7324b0..0000000000 --- a/src/widget/arrangement/arrangement.block.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Arrangement的block面板 - * - * Created by GUY on 2016/3/1. - * @class BI.ArrangementBlock - * @extends BI.Widget - */ -BI.ArrangementBlock = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.ArrangementBlock.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-arrangement-block bi-mask" - }); - } -}); -BI.shortcut('bi.arrangement_block', BI.ArrangementBlock); \ No newline at end of file diff --git a/src/widget/arrangement/arrangement.droppable.js b/src/widget/arrangement/arrangement.droppable.js deleted file mode 100644 index 13acb6f4ec..0000000000 --- a/src/widget/arrangement/arrangement.droppable.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Arrangement的drop面板 - * - * Created by GUY on 2016/3/1. - * @class BI.ArrangementDroppable - * @extends BI.Widget - */ -BI.ArrangementDroppable = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.ArrangementDroppable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-arrangement-droppable bi-resizer" - }); - } -}); -BI.shortcut('bi.arrangement_droppable', BI.ArrangementDroppable); \ No newline at end of file diff --git a/src/widget/arrangement/arrangement.js b/src/widget/arrangement/arrangement.js deleted file mode 100644 index 5105990914..0000000000 --- a/src/widget/arrangement/arrangement.js +++ /dev/null @@ -1,1048 +0,0 @@ -/** - * 布局 - * - * Created by GUY on 2016/2/23. - * @class BI.Arrangement - * @extends BI.Widget - */ -BI.Arrangement = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.Arrangement.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-arrangement", - layoutType: BI.Arrangement.LAYOUT_TYPE.GRID, - items: [] - }); - }, - - _init: function () { - BI.Arrangement.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.arrangement = BI.createWidget({ - type: "bi.arrangement_droppable", - cls: "arrangement-block", - invisible: true - }); - this.block = BI.createWidget({ - type: "bi.arrangement_block", - invisible: true - }); - this.container = BI.createWidget({ - type: "bi.absolute", - scrollable: true, - cls: "arrangement-container", - items: o.items.concat([this.block, this.arrangement]) - }); - - this.container.element.scroll(function () { - self.fireEvent(BI.Arrangement.EVENT_SCROLL, { - scrollLeft: self.container.element.scrollLeft(), - scrollTop: self.container.element.scrollTop(), - clientWidth: self.container.element[0].clientWidth, - clientHeight: self.container.element[0].clientHeight - }); - }); - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.container, - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - this.regions = {}; - if (o.items.length > 0) { - BI.nextTick(function () { - self.populate(o.items); - }); - } - }, - - ////初始化操作//// - _calculateRegions: function (items) { - var self = this, o = this.options; - this.regions = {}; - BI.each(items, function (i, item) { - var region = self._createOneRegion(item); - self.regions[region.id] = region; - }); - }, - - _isEqual: function (num1, num2) { - return Math.abs(num1 - num2) < 2; - }, - - _isLessThan: function (num1, num2) { - return num1 < num2 && !this._isEqual(num1, num2); - }, - - _isMoreThan: function (num1, num2) { - return num1 > num2 && !this._isEqual(num1, num2); - }, - - _isLessThanEqual: function (num1, num2) { - return num1 <= num2 || this._isEqual(num1, num2); - }, - - _isMoreThanEqual: function (num1, num2) { - return num1 >= num2 || this._isEqual(num1, num2); - }, - - //获取占有的最大Region - _getRegionOccupied: function (regions) { - var self = this, o = this.options; - if (BI.size(regions || this.regions) <= 0) { - return { - left: 0, - top: 0, - width: 0, - height: 0 - } - } - var minLeft = BI.MAX, maxLeft = BI.MIN, minTop = BI.MAX, maxTop = BI.MIN; - BI.each(regions || this.regions, function (id, region) { - minLeft = Math.min(minLeft, region.left); - maxLeft = Math.max(maxLeft, region.left + region.width); - minTop = Math.min(minTop, region.top); - maxTop = Math.max(maxTop, region.top + region.height); - }); - return { - left: minLeft, - top: minTop, - width: maxLeft - minLeft, - height: maxTop - minTop - } - }, - - //两个区域的交叉面积 - _getCrossArea: function (region1, region2) { - if (region1.left <= region2.left) { - if (region1.top <= region2.top) { - if (region1.top + region1.height > region2.top && region1.left + region1.width > region2.left) { - if (this._isEqual(region1.top + region1.height, region2.top) || this._isEqual(region1.left + region1.width, region2.left)) { - return 0; - } - return (region1.top + region1.height - region2.top) * (region1.left + region1.width - region2.left); - } - } else { - if (region2.top + region2.height > region1.top && region1.left + region1.width > region2.left) { - if (this._isEqual(region2.top + region2.height, region1.top) || this._isEqual(region1.left + region1.width, region2.left)) { - return 0; - } - return (region2.top + region2.height - region1.top) * (region1.left + region1.width - region2.left); - } - } - } else { - if (region1.top <= region2.top) { - if (region1.top + region1.height > region2.top && region2.left + region2.width > region1.left) { - if (this._isEqual(region1.top + region1.height, region2.top) || this._isEqual(region2.left + region2.width, region1.left)) { - return 0; - } - return (region1.top + region1.height - region2.top) * (region2.left + region2.width - region1.left); - } - } else { - if (region2.top + region2.height > region1.top && region2.left + region2.width > region1.left) { - if (this._isEqual(region2.top + region2.height, region1.top) || this._isEqual(region2.left + region2.width, region1.left)) { - return 0; - } - return (region2.top + region2.height - region1.top) * (region2.left + region2.width - region1.left); - } - } - } - return 0; - }, - - //是否有覆盖的组件 - _isRegionOverlay: function (regions) { - var reg = []; - BI.each(regions || this.regions, function (id, region) { - reg.push(new BI.Region(region.left, region.top, region.width, region.height)); - }); - for (var i = 0, len = reg.length; i < len; i++) { - for (var j = i + 1; j < len; j++) { - var area1 = { - left: reg[i].x, - top: reg[i].y, - width: reg[i].w, - height: reg[i].h - }; - var area2 = { - left: reg[j].x, - top: reg[j].y, - width: reg[j].w, - height: reg[j].h - }; - if (reg[i].isIntersects(reg[j]) && this._getCrossArea(area1, area2) > 1) { - return true; - } - } - } - return false; - }, - - //布局是否是优良的 - _isArrangeFine: function (regions) { - switch (this.options.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - return true; - case BI.Arrangement.LAYOUT_TYPE.GRID: - // if (this._isRegionOverlay()) { - // return false; - // } - } - return true; - }, - - _getRegionNames: function (regions) { - var names = []; - BI.each(regions || this.regions, function (i, region) { - names.push(region.id || region.attr("id")); - }); - return names; - }, - - _getRegionsByNames: function (names, regions) { - names = BI.isArray(names) ? names : [names]; - regions = regions || this.regions; - if (BI.isArray(regions)) { - var result = []; - BI.each(regions, function (i, region) { - if (names.contains(region.id || region.attr("id"))) { - result.push(region); - } - }); - } else { - var result = {}; - BI.each(names, function (i, name) { - result[name] = regions[name]; - }); - } - return result; - }, - - _cloneRegion: function (regions) { - var clone = {}; - BI.each(regions || this.regions, function (id, region) { - clone[id] = {}; - clone[id].el = region.el; - clone[id].id = region.id; - clone[id].left = region.left; - clone[id].top = region.top; - clone[id].width = region.width; - clone[id].height = region.height; - }); - return clone; - }, - - //测试合法性 - _test: function (regions) { - var self = this; - return !BI.any(regions || this.regions, function (i, region) { - if (BI.isNaN(region.width) || BI.isNaN(region.height) || region.width <= 21 || region.height <= 21) { - return true; - } - }) - }, - - _getScrollOffset: function () { - return { - left: this.container.element[0].scrollLeft, - top: this.container.element[0].scrollTop - } - }, - - ////操作//// - _createOneRegion: function (item) { - var el = BI.createWidget(item.el); - el.setVisible(true); - return { - id: el.attr("id"), - left: item.left, - top: item.top, - width: item.width, - height: item.height, - el: el - } - }, - - _applyRegion: function (regions) { - var self = this, o = this.options; - BI.each(regions || this.regions, function (i, region) { - region.el.element.css({ - left: region.left, - top: region.top, - width: region.width, - height: region.height - }); - }); - this._applyContainer(); - this.ratio = this.getLayoutRatio(); - }, - - _renderRegion: function () { - var items = BI.toArray(this.regions); - BI.each(items, function (i, item) { - if (BI.isNotNull(item.el)) { - item.el.options.key = item.id; - } else { - item.key = item.id; - } - }); - if (BI.isNull(this.wrapper)) { - this.wrapper = BI.createWidget({ - type: "bi.absolute", - element: this.container - }); - } - this.wrapper.populate(items); - }, - - getClientWidth: function () { - return this.container.element[0].clientWidth; - }, - - getClientHeight: function () { - return this.container.element[0].clientHeight; - }, - - _applyContainer: function () { - var occupied = this._getRegionOccupied(); - return occupied; - }, - - _modifyRegion: function (regions) { - BI.each(this.regions, function (id, region) { - if (regions[id]) { - region.left = regions[id].left; - region.top = regions[id].top; - region.width = regions[id].width; - region.height = regions[id].height; - } - }); - }, - - _addRegion: function (item) { - var region = this._createOneRegion(item); - this.regions[region.id] = region; - BI.createWidget({ - type: "bi.absolute", - element: this.container, - items: [region] - }); - }, - - _deleteRegionByName: function (name) { - this.regions[name].el.setVisible(false); - delete this.regions[name]; - }, - - _setArrangeSize: function (size) { - this.arrangement.element.css({ - left: size.left, - top: size.top, - width: size.width, - height: size.height - }) - }, - - //Grid - _getOneWidthPortion: function () { - return this.getClientWidth() / BI.Arrangement.PORTION; - }, - _getOneHeightPortion: function () { - return this.getClientHeight() / BI.Arrangement.H_PORTION; - }, - - _getGridPositionAndSize: function (position) { - var perWidth = this._getOneWidthPortion(); - var perHeight = this._getOneHeightPortion(); - var widthPortion = Math.round(position.width / perWidth); - var leftPortion = Math.round(position.left / perWidth); - var topPortion = Math.round(position.top / perHeight); - var heightPortion = Math.round(position.height / perHeight); - // if (leftPortion > BI.Arrangement.PORTION) { - // leftPortion = BI.Arrangement.PORTION; - // } - // if (widthPortion > BI.Arrangement.PORTION) { - // widthPortion = BI.Arrangement.PORTION; - // } - // if (leftPortion + widthPortion > BI.Arrangement.PORTION) { - // leftPortion = BI.Arrangement.PORTION - widthPortion; - // } - if (widthPortion === 0) { - widthPortion = 1; - } - if (heightPortion === 0) { - heightPortion = 1; - } - return { - x: leftPortion, - y: topPortion, - w: widthPortion, - h: heightPortion - } - }, - - _getBlockPositionAndSize: function (position) { - var perWidth = this._getOneWidthPortion(); - var perHeight = this._getOneHeightPortion(); - return { - left: position.x * perWidth, - top: position.y * perHeight, - width: position.w * perWidth, - height: position.h * perHeight - }; - }, - - _getLayoutsByRegions: function (regions) { - var self = this; - var result = []; - BI.each(regions || this.regions, function (id, region) { - result.push(BI.extend(self._getGridPositionAndSize(region), { - i: region.id - })) - }); - return result; - }, - - _getLayoutIndexByName: function (layout, name) { - return BI.findIndex(layout, function (i, l) { - return l.i === name; - }); - }, - - _setBlockPositionAndSize: function (size) { - this.block.element.css({ - left: size.left, - top: size.top, - width: size.width, - height: size.height - }); - }, - - _getRegionsByLayout: function (layout) { - var self = this; - var regions = {}; - BI.each(layout, function (i, ly) { - regions[ly.i] = BI.extend(self._getBlockPositionAndSize(ly), { - id: ly.i - }); - }); - return regions; - }, - - _setRegionsByLayout: function (regions, layout) { - var self = this; - regions || (regions = this.regions); - BI.each(layout, function (i, ly) { - if (regions[ly.i]) { - BI.extend(regions[ly.i], self._getBlockPositionAndSize(ly)); - } - }); - return regions; - }, - - _moveElement: function (layout, l, x, y, isUserAction) { - var self = this; - if (l._static) { - return layout; - } - - if (l.y === y && l.x === x) { - return layout; - } - - var movingUp = y && l.y > y; - if (typeof x === 'number') { - l.x = x; - } - if (typeof y === 'number') { - l.y = y; - } - l.moved = true; - - var sorted = this._sortLayoutItemsByRowCol(layout); - if (movingUp) { - sorted = sorted.reverse(); - } - var collisions = getAllCollisions(sorted, l); - - for (var i = 0, len = collisions.length; i < len; i++) { - var collision = collisions[i]; - if (collision.moved) { - continue; - } - - if (l.y > collision.y && l.y - collision.y > collision.h / 4) { - continue; - } - - if (collision._static) { - layout = this._moveElementAwayFromCollision(layout, collision, l, isUserAction); - } else { - layout = this._moveElementAwayFromCollision(layout, l, collision, isUserAction); - } - } - - return layout; - - function getAllCollisions(layout, layoutItem) { - return BI.filter(layout, function (i, l) { - return self._collides(l, layoutItem); - }); - } - }, - - _sortLayoutItemsByRowCol: function (layout) { - return [].concat(layout).sort(function (a, b) { - if (a.y > b.y || (a.y === b.y && a.x > b.x)) { - return 1; - } - return -1; - }); - }, - - _collides: function (l1, l2) { - if (l1 === l2) { - return false; - } // same element - if (l1.x + l1.w <= l2.x) { - return false; - } // l1 is left of l2 - if (l1.x >= l2.x + l2.w) { - return false; - } // l1 is right of l2 - if (l1.y + l1.h <= l2.y) { - return false; - } // l1 is above l2 - if (l1.y >= l2.y + l2.h) { - return false; - } // l1 is below l2 - return true; // boxes overlap - }, - - _getFirstCollision: function (layout, layoutItem) { - for (var i = 0, len = layout.length; i < len; i++) { - if (this._collides(layout[i], layoutItem)) { - return layout[i]; - } - } - }, - - _moveElementAwayFromCollision: function (layout, collidesWith, - itemToMove, isUserAction) { - if (isUserAction) { - var fakeItem = { - x: itemToMove.x, - y: itemToMove.y, - w: itemToMove.w, - h: itemToMove.h, - i: '-1' - }; - fakeItem.y = Math.max(collidesWith.y - itemToMove.h, 0); - if (!this._getFirstCollision(layout, fakeItem)) { - return this._moveElement(layout, itemToMove, undefined, fakeItem.y); - } - } - - return this._moveElement(layout, itemToMove, undefined, itemToMove.y + 1); - }, - - _compactItem: function (compareWith, l, verticalCompact) { - if (verticalCompact) { - while (l.y > 0 && !this._getFirstCollision(compareWith, l)) { - l.y--; - } - } - - var collides; - while ((collides = this._getFirstCollision(compareWith, l))) { - l.y = collides.y + collides.h; - } - return l; - }, - - compact: function (layout, verticalCompact) { - var compareWith = getStatics(layout); - var sorted = this._sortLayoutItemsByRowCol(layout); - var out = []; - - for (var i = 0, len = sorted.length; i < len; i++) { - var l = sorted[i]; - - if (!l._static) { - l = this._compactItem(compareWith, l, verticalCompact); - - compareWith.push(l); - } - - out[layout.indexOf(l)] = l; - - l.moved = false; - } - - return out; - - function getStatics(layout) { - return BI.filter(layout, function (i, l) { - return l._static; - }); - } - }, - - ////公有方法//// - getRegionByName: function (name) { - var obj = {}; - obj[name] = this.regions[name]; - return this._cloneRegion(obj)[name]; - }, - - getAllRegions: function () { - return BI.toArray(this._cloneRegion()); - }, - - getHelper: function () { - var helper = BI.createWidget({ - type: "bi.layout", - width: 18, - height: 18, - cls: "arrangement-helper bi-border" - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [helper] - }); - return helper; - }, - - _start: function () { - if (this.options.layoutType === BI.Arrangement.LAYOUT_TYPE.GRID) { - this.block.setVisible(true); - } else { - this.arrangement.setVisible(true); - } - }, - - _stop: function () { - this.arrangement.setVisible(false); - this.block.setVisible(false); - }, - - ////公有操作//// - setLayoutType: function (type) { - var self = this, o = this.options; - if (type !== o.layoutType) { - o.layoutType = type; - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - this.relayout(); - break; - } - } - }, - - getLayoutType: function () { - return this.options.layoutType; - }, - - getLayoutRatio: function () { - var occupied = this._getRegionOccupied(); - var width = this.getClientWidth(), height = this.getClientHeight(); - return { - x: BI.parseFloat(BI.contentFormat((occupied.left + occupied.width) / width, "#.##;-#.##")), - y: BI.parseFloat(BI.contentFormat((occupied.top + occupied.height) / height, "#.##;-#.##")) - } - }, - - addRegion: function (region, position) { - if (position) { - this.setPosition(position, region); - } - var self = this, o = this.options; - if (!this.position) { - return false; - } - var test = this._cloneRegion(); - BI.each(this.position.regions, function (i, region) { - test[region.id].left = region.left; - test[region.id].top = region.top; - test[region.id].width = region.width; - test[region.id].height = region.height; - - }); - var item = BI.extend({}, region, { - left: this.position.insert.left, - top: this.position.insert.top, - width: this.position.insert.width, - height: this.position.insert.height - }); - var added = this._createOneRegion(item); - test[added.id] = added; - if (this._test(test)) { - delete test[added.id]; - this._modifyRegion(test); - this._addRegion(item); - this._populate(this.getAllRegions()); - return true; - } - return false; - }, - - deleteRegion: function (name) { - if (!this.regions[name]) { - return false; - } - var self = this, o = this.options; - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - this._deleteRegionByName(name); - this._populate(this.getAllRegions()); - return true; - case BI.Arrangement.LAYOUT_TYPE.GRID: - this._deleteRegionByName(name); - this._populate(this.getAllRegions()); - this.resize(); - return true; - } - return false; - }, - - setRegionSize: function (name, size) { - var self = this, o = this.options; - var flag = false; - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - var clone = this._cloneRegion(); - BI.extend(clone[name], { - width: size.width, - height: size.height - }); - if (this._test(clone)) { - this._modifyRegion(clone); - flag = true; - } - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - var clone = this._cloneRegion(); - BI.extend(clone[name], { - width: size.width, - height: size.height - }); - if (this._test(clone)) { - var layout = this._getLayoutsByRegions(clone); - layout = this.compact(layout, true); - var regions = this._getRegionsByLayout(layout); - this._modifyRegion(regions); - flag = true; - } - break; - } - this._applyRegion(); - return flag; - }, - - setPosition: function (position, size) { - var self = this, o = this.options; - var insert, regions = [], cur; - if (position.left < 0 || position.top < 0) { - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - this.resize(); - break; - } - this._stop(); - this.position = null; - return null; - } - var offset = this._getScrollOffset(); - position = { - left: position.left + offset.left, - top: position.top + offset.top - }; - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - var insert = { - top: position.top < 0 ? 0 : position.top, - left: position.left < 0 ? 0 : position.left, - width: size.width, - height: size.height - }; - this.position = { - insert: insert - }; - this._setArrangeSize(insert); - this._start(); - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - var p = { - top: position.top < 0 ? 0 : position.top, - left: position.left < 0 ? 0 : position.left, - width: size.width, - height: size.height - }; - this._setArrangeSize(p); - var cur = this._getGridPositionAndSize(p); - var layout = [{ - x: 0, y: BI.MAX, w: cur.w, h: cur.h, i: cur.i - }].concat(this._getLayoutsByRegions()); - layout = this._moveElement(layout, layout[0], cur.x, cur.y, true); - layout = this.compact(layout, true); - var regions = this._setRegionsByLayout(this._cloneRegion(), layout); - var insert = this._getBlockPositionAndSize(layout[0]); - this.position = { - insert: insert, - regions: regions - }; - this._applyRegion(regions); - this._setBlockPositionAndSize(insert); - this._start(); - break; - } - return this.position; - }, - - setRegionPosition: function (name, position) { - var self = this, o = this.options; - var offset = this._getScrollOffset(); - position = BI.extend(position, { - left: position.left + offset.left, - top: position.top + offset.top - }); - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - BI.extend(this.regions[name], { - left: position.left < 0 ? 0 : position.left, - top: position.top < 0 ? 0 : position.top - }); - this._applyRegion(); - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - if (!position.stop) { - BI.extend(this.regions[name], { - left: position.left < 0 ? 0 : position.left, - top: position.top < 0 ? 0 : position.top - }); - var cloned = this._cloneRegion(); - var cur = this._getGridPositionAndSize(BI.extend(cloned[name], { - left: position.left < 0 ? 0 : position.left, - top: position.top < 0 ? 0 : position.top - })); - var x = cur.x, y = cur.y; - cur = BI.extend(cur, { - x: 0, y: BI.MAX, i: -1 - }); - delete cloned[name]; - var layout = this._getLayoutsByRegions(cloned); - layout = this._moveElement([cur].concat(layout), cur, x, y, true); - layout = this.compact(layout, true); - var regions = this._getRegionsByLayout(layout); - this._modifyRegion(regions); - this._applyRegion(); - - this._setBlockPositionAndSize(this._getBlockPositionAndSize(cur)); - this.block.setVisible(true); - } else { - BI.extend(this.regions[name], { - left: position.left < 0 ? 0 : position.left, - top: position.top < 0 ? 0 : position.top - }); - var cloned = this._cloneRegion(); - var layout = this._getLayoutsByRegions(cloned); - layout = this.compact(layout, true); - var regions = this._getRegionsByLayout(layout); - this._modifyRegion(regions); - this._applyRegion(); - this.block.setVisible(false); - } - break; - } - }, - - setDropPosition: function (position, size) { - var self = this; - this.arrangement.setVisible(true); - var offset = this._getScrollOffset(); - this._setArrangeSize(BI.extend({}, size, { - left: position.left + offset.left, - top: position.top + offset.top - })); - return function () { - self.arrangement.setVisible(false); - } - }, - - scrollTo: function (scroll) { - this.container.element.scrollTop(scroll.top); - this.container.element.scrollLeft(scroll.left); - }, - - zoom: function (ratio) { - var self = this, o = this.options; - if (!ratio) { - return; - } - var occupied = this._applyContainer(); - switch (this.getLayoutType()) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - if (this._isArrangeFine()) { - var width = this.getClientWidth(); - var xRatio = (ratio.x || 1) * width / (occupied.left + occupied.width); - //var yRatio = ratio.y * height / (occupied.top + occupied.height); - var regions = this._cloneRegion(); - BI.each(regions, function (i, region) { - region.left = region.left * xRatio; - //region.top = region.top * yRatio; - region.width = region.width * xRatio; - //region.height = region.height * yRatio; - }); - if (this._test(regions)) { - this._modifyRegion(regions); - this._applyRegion(); - } - this.resize(); - // } else { - this.relayout(); - } - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - if (this._isArrangeFine()) { - var width = this.getClientWidth(), height = this.getClientHeight(); - var xRatio = (ratio.x || 1) * width / (occupied.left + occupied.width); - var yRatio = (ratio.y || 1) * height / (occupied.top + occupied.height); - var regions = this._cloneRegion(); - BI.each(regions, function (i, region) { - region.left = region.left * xRatio; - region.width = region.width * xRatio; - region.top = region.top * yRatio; - region.height = region.height * yRatio; - //做一下自适应布局到网格布局的兼容 - var perWidth = self._getOneWidthPortion(); - var widthPortion = Math.round(region.width / perWidth); - var leftPortion = Math.round(region.left / perWidth); - var comparePortion = Math.round((region.width + region.left) / perWidth); - if (leftPortion + widthPortion !== comparePortion) { - region.left = leftPortion * perWidth; - region.width = comparePortion * perWidth - region.left; - } - }); - if (this._test(regions)) { - var layout = this._getLayoutsByRegions(regions); - layout = this.compact(layout, true); - regions = this._getRegionsByLayout(layout); - this._modifyRegion(regions); - this._applyRegion(); - } - } else { - this.relayout(); - } - break; - } - }, - - resize: function () { - var self = this, o = this.options; - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - this.zoom(this.ratio); - var regions = this._cloneRegion(); - var layout = this._getLayoutsByRegions(regions); - layout = this.compact(layout, true); - regions = this._getRegionsByLayout(layout); - this._modifyRegion(regions); - this._applyRegion(); - break; - } - }, - - relayout: function () { - var self = this, o = this.options; - switch (o.layoutType) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - if (!this._isArrangeFine()) { - var perHeight = this._getOneHeightPortion(); - var width = this.getClientWidth(), height = this.getClientHeight(); - var regions = this._cloneRegion(); - var clone = BI.toArray(regions); - clone.sort(function (r1, r2) { - if (self._isEqual(r1.top, r2.top)) { - return r1.left - r2.left; - } - return r1.top - r2.top; - }); - var count = clone.length; - var cols = 4, rows = Math.floor((count - 1) / 4 + 1); - var w = width / cols, h = height / rows; - var store = {}; - BI.each(clone, function (i, region) { - var row = Math.floor(i / 4), col = i % 4; - BI.extend(region, { - top: row * perHeight * 6, - left: col * w, - width: w, - height: perHeight * 6 - }); - if (!store[row]) { - store[row] = {}; - } - store[row][col] = region; - }); - //非4的倍数 - // if (count % 4 !== 0) { - // var lasts = store[rows - 1]; - // var perWidth = width / (count % 4); - // BI.each(lasts, function (i, region) { - // BI.extend(region, { - // left: BI.parseInt(i) * perWidth, - // width: perWidth - // }); - // }); - // } - if (this._test(clone)) { - var layout = this._getLayoutsByRegions(regions); - layout = this.compact(layout, true); - regions = this._getRegionsByLayout(layout); - this._modifyRegion(regions); - this._populate(clone); - } - } else { - this.resize(); - } - break; - } - }, - - _populate: function (items) { - this._stop(); - this._calculateRegions(items); - this._applyRegion(); - }, - - populate: function (items) { - this.regions = {}; - this._populate(items); - this._renderRegion(); - } -}); -BI.Arrangement.EVENT_SCROLL = "EVENT_SCROLL"; -BI.extend(BI.Arrangement, { - PORTION: 36, - H_PORTION: 18, - LAYOUT_TYPE: { - GRID: 0, - FREE: 1 - } -}); -BI.shortcut('bi.arrangement', BI.Arrangement); \ No newline at end of file diff --git a/src/widget/date/calendar/combo.month.date.js b/src/widget/date/calendar/combo.month.date.js deleted file mode 100644 index 59ed76811d..0000000000 --- a/src/widget/date/calendar/combo.month.date.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * 日期控件中的月份下拉框 - * - * Created by GUY on 2015/9/7. - * @class BI.MonthDateCombo - * @extends BI.Trigger - */ -BI.MonthDateCombo = BI.inherit(BI.Trigger, { - _defaultConfig: function() { - return BI.extend( BI.MonthDateCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-month-combo", - height: 25 - }); - }, - _init: function() { - BI.MonthDateCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.date_triangle_trigger" - }); - - this.popup = BI.createWidget({ - type: "bi.month_popup" - }); - - this.popup.on(BI.YearPopup.EVENT_CHANGE, function(){ - self.setValue(self.popup.getValue()); - }) - - - this.combo = BI.createWidget({ - type: "bi.combo", - offsetStyle: "center", - element: this, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - popup: { - minWidth: 85, - stopPropagation: false, - el: this.popup - } - }) - this.combo.on(BI.Combo.EVENT_CHANGE, function(){ - self.combo.hideView(); - self.fireEvent(BI.MonthDateCombo.EVENT_CHANGE); - }); - }, - - setValue: function(v){ - this.trigger.setValue(v + 1); - this.popup.setValue(v); - }, - - getValue: function(){ - return this.popup.getValue(); - } -}); -BI.MonthDateCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.month_date_combo', BI.MonthDateCombo); \ No newline at end of file diff --git a/src/widget/date/calendar/combo.year.date.js b/src/widget/date/calendar/combo.year.date.js deleted file mode 100644 index ff0e16a8cc..0000000000 --- a/src/widget/date/calendar/combo.year.date.js +++ /dev/null @@ -1,66 +0,0 @@ -/** - * 年份下拉框 - * - * Created by GUY on 2015/9/7. - * @class BI.YearDateCombo - * @extends BI.Trigger - */ -BI.YearDateCombo = BI.inherit(BI.Trigger, { - _defaultConfig: function() { - return BI.extend( BI.YearDateCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-year-combo", - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - height: 25 - }); - }, - _init: function() { - BI.YearDateCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.date_triangle_trigger" - }); - - this.popup = BI.createWidget({ - type: "bi.year_popup", - min: o.min, - max: o.max - }); - - this.popup.on(BI.YearPopup.EVENT_CHANGE, function(){ - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.YearDateCombo.EVENT_CHANGE); - }) - - - this.combo = BI.createWidget({ - type: "bi.combo", - offsetStyle: "center", - element: this, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - popup: { - minWidth: 85, - stopPropagation: false, - el: this.popup - } - }) - this.combo.on(BI.Combo.EVENT_CHANGE, function(){ - self.fireEvent(BI.YearDateCombo.EVENT_CHANGE); - }) - }, - - setValue: function(v){ - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function(){ - return this.popup.getValue(); - } -}); -BI.YearDateCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.year_date_combo', BI.YearDateCombo); \ No newline at end of file diff --git a/src/widget/date/calendar/picker.date.js b/src/widget/date/calendar/picker.date.js deleted file mode 100644 index 1450f996cd..0000000000 --- a/src/widget/date/calendar/picker.date.js +++ /dev/null @@ -1,149 +0,0 @@ -/** - * Created by GUY on 2015/9/7. - * @class BI.DatePicker - * @extends BI.Widget - */ -BI.DatePicker = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.DatePicker.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-date-picker bi-background", - height: 25, - min: '1900-01-01', //最小日期 - max: '2099-12-31' //最大日期 - }) - }, - - _init: function () { - BI.DatePicker.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this._year = new Date().getFullYear(); - this._month = new Date().getMonth(); - this.left = BI.createWidget({ - type: "bi.icon_button", - cls: "pre-page-h-font", - width: 25, - height: 25 - }); - this.left.on(BI.IconButton.EVENT_CHANGE, function () { - if (self._month === 0) { - self.setValue({ - year: self.year.getValue() - 1, - month: 11 - }) - } else { - self.setValue({ - year: self.year.getValue(), - month: self.month.getValue() - 1 - }) - } - self.fireEvent(BI.DatePicker.EVENT_CHANGE); - self._checkLeftValid(); - self._checkRightValid(); - }); - - this.right = BI.createWidget({ - type: "bi.icon_button", - cls: "next-page-h-font", - width: 25, - height: 25 - }); - - this.right.on(BI.IconButton.EVENT_CHANGE, function () { - if (self._month === 11) { - self.setValue({ - year: self.year.getValue() + 1, - month: 0 - }) - } else { - self.setValue({ - year: self.year.getValue(), - month: self.month.getValue() + 1 - }) - } - self.fireEvent(BI.DatePicker.EVENT_CHANGE); - self._checkLeftValid(); - self._checkRightValid(); - }); - - this.year = BI.createWidget({ - type: "bi.year_date_combo", - min: o.min, - max: o.max - }); - this.year.on(BI.YearDateCombo.EVENT_CHANGE, function () { - self.setValue({ - year: self.year.getValue(), - month: self.month.getValue() - }); - self.fireEvent(BI.DatePicker.EVENT_CHANGE); - }) - this.month = BI.createWidget({ - type: "bi.month_date_combo" - }); - this.month.on(BI.MonthDateCombo.EVENT_CHANGE, function () { - self.setValue({ - year: self.year.getValue(), - month: self.month.getValue() - }); - self.fireEvent(BI.DatePicker.EVENT_CHANGE); - }); - - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - el: this.left, - width: 25 - }, { - type: "bi.center_adapt", - items: [{ - type: "bi.horizontal", - width: 100, - items: [this.year, this.month] - }] - }, { - el: this.right, - width: 25 - }] - }) - this.setValue({ - year: this._year, - month: this._month - }) - }, - - _checkLeftValid: function () { - var o = this.options; - var valid = !(this._month === 0 && this._year === Date.parseDateTime(o.min, "%Y-%X-%d").getFullYear()); - this.left.setEnable(valid); - return valid; - }, - - _checkRightValid: function () { - var o = this.options; - var valid = !(this._month === 11 && this._year === Date.parseDateTime(o.max, "%Y-%X-%d").getFullYear()); - this.right.setEnable(valid); - return valid; - }, - - - - setValue: function (ob) { - this._year = ob.year; - this._month = ob.month; - this.year.setValue(ob.year); - this.month.setValue(ob.month); - this._checkLeftValid(); - this._checkRightValid(); - }, - - getValue: function () { - return { - year: this.year.getValue(), - month: this.month.getValue() - } - } -}); -BI.DatePicker.EVENT_CHANGE = "EVENT_CHANGE" -BI.shortcut("bi.date_picker", BI.DatePicker); \ No newline at end of file diff --git a/src/widget/date/calendar/popup.calendar.date.js b/src/widget/date/calendar/popup.calendar.date.js deleted file mode 100644 index 24b57d2614..0000000000 --- a/src/widget/date/calendar/popup.calendar.date.js +++ /dev/null @@ -1,97 +0,0 @@ -/** - * Created by GUY on 2015/9/7. - * @class BI.DateCalendarPopup - * @extends BI.Widget - */ -BI.DateCalendarPopup = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.DateCalendarPopup.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-date-calendar-popup", - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - selectedTime: null - }) - }, - - _createNav: function (v) { - var date = BI.Calendar.getDateJSONByPage(v); - var calendar = BI.createWidget({ - type: "bi.calendar", - logic: { - dynamic: true - }, - min: this.options.min, - max: this.options.max, - year: date.year, - month: date.month, - day: this.selectedTime.day - }); - return calendar - }, - - _init: function () { - BI.DateCalendarPopup.superclass._init.apply(this, arguments); - var self = this, - o = this.options; - this.today = new Date(); - this._year = this.today.getFullYear(); - this._month = this.today.getMonth(); - this._day = this.today.getDate(); - - this.selectedTime = o.selectedTime || { - year: this._year, - month: this._month, - day: this._day - }; - this.datePicker = BI.createWidget({ - type: "bi.date_picker", - min: o.min, - max: o.max - }); - - this.calendar = BI.createWidget({ - direction: "top", - element: this, - logic: { - dynamic: true - }, - type: "bi.navigation", - tab: this.datePicker, - cardCreator: BI.bind(this._createNav, this), - - afterCardCreated: function () { - - }, - - afterCardShow: function () { - this.setValue(self.selectedTime); - } - }); - - this.datePicker.on(BI.DatePicker.EVENT_CHANGE, function () { - self.selectedTime = self.datePicker.getValue(); - self.selectedTime.day = 1; - self.calendar.setSelect(BI.Calendar.getPageByDateJSON(self.selectedTime)); - }); - - this.calendar.on(BI.Navigation.EVENT_CHANGE, function () { - self.selectedTime = self.calendar.getValue(); - self.setValue(self.selectedTime); - self.fireEvent(BI.DateCalendarPopup.EVENT_CHANGE); - }); - }, - - setValue: function (timeOb) { - this.datePicker.setValue(timeOb); - this.calendar.setSelect(BI.Calendar.getPageByDateJSON(timeOb)); - this.calendar.setValue(timeOb); - this.selectedTime = timeOb; - }, - - getValue: function () { - return this.selectedTime; - } -}); -BI.DateCalendarPopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.date_calendar_popup", BI.DateCalendarPopup); \ No newline at end of file diff --git a/src/widget/date/calendar/trigger.triangle.date.js b/src/widget/date/calendar/trigger.triangle.date.js deleted file mode 100644 index 76540d4c2d..0000000000 --- a/src/widget/date/calendar/trigger.triangle.date.js +++ /dev/null @@ -1,70 +0,0 @@ -/** - * 日期控件中的年份或月份trigger - * - * Created by GUY on 2015/9/7. - * @class BI.DateTriangleTrigger - * @extends BI.Trigger - */ -BI.DateTriangleTrigger = BI.inherit(BI.Trigger, { - _const: { - height: 25, - iconWidth: 16, - iconHeight: 13 - }, - - _defaultConfig: function() { - return BI.extend( BI.DateTriangleTrigger.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-date-triangle-trigger pull-down-ha-font cursor-pointer", - height: 25 - }); - }, - _init: function() { - BI.DateTriangleTrigger.superclass._init.apply(this, arguments); - var o = this.options, c = this._const; - this.text = BI.createWidget({ - type: "bi.label", - cls: "list-item-text", - textAlign: "right", - text: o.text, - value: o.value, - height: c.height - }) - this.icon = BI.createWidget({ - type: "bi.icon", - width: c.iconWidth, - height: c.iconHeight - }); - - BI.createWidget({ - type: "bi.center_adapt", - element: this, - items: [{ - type: "bi.center_adapt", - width: 50, - height: c.height, - items: [this.text, this.icon] - }] - }) - }, - - setValue: function(v){ - this.text.setValue(v); - }, - - getValue: function(){ - return this.text.getValue(); - }, - - setText: function(v){ - this.text.setText(v); - }, - - getText: function(){ - return this.item.getText(); - }, - - getKey: function(){ - - } -}); -BI.shortcut('bi.date_triangle_trigger', BI.DateTriangleTrigger); \ No newline at end of file diff --git a/src/widget/date/combo.date.js b/src/widget/date/combo.date.js deleted file mode 100644 index f14a8fcfaa..0000000000 --- a/src/widget/date/combo.date.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * 日期下拉框 - * - * Created by GUY on 2015/9/7. - * @class BI.DateCombo - * @extends BI.Widget - */ -BI.DateCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.DateCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-date-combo bi-border", - height: 25 - }); - }, - _init: function () { - BI.DateCombo.superclass._init.apply(this, arguments); - var self = this, - o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.date_trigger" - }); - - this.trigger.on(BI.DateTrigger.EVENT_TRIGGER_CLICK, function () { - self.combo.toggle(); - }); - - this.popup = BI.createWidget({ - type: "bi.date_calendar_popup" - }); - - this.popup.on(BI.DateCalendarPopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - toggle: false, - element: this, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - popup: { - width: 270, - el: this.popup, - stopPropagation: false - } - }) - }, - - setValue: function (v) { - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function () { - return this.popup.getValue(); - } -}); -BI.shortcut('bi.date_combo', BI.DateCombo); \ No newline at end of file diff --git a/src/widget/date/trigger.date.js b/src/widget/date/trigger.date.js deleted file mode 100644 index feb1eede88..0000000000 --- a/src/widget/date/trigger.date.js +++ /dev/null @@ -1,316 +0,0 @@ -BI.DateTrigger = BI.inherit(BI.Trigger, { - _const: { - hgap: 4, - vgap: 2, - yearLength: 4, - yearMonthLength: 7 - }, - - _defaultConfig: function () { - return BI.extend(BI.DateTrigger.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-date-trigger", - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - height: 24 - }); - }, - _init: function () { - BI.DateTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.editor = BI.createWidget({ - type: "bi.sign_editor", - height: o.height, - validationChecker: function (v) { - var date = v.match(/\d+/g); - self._autoAppend(v, date); - return self._dateCheck(v) && Date.checkLegal(v) && self._checkVoid({ - year: date[0], - month: date[1], - day: date[2] - }); - }, - quitChecker: function () { - return false; - }, - hgap: c.hgap, - vgap: c.vgap, - allowBlank: true, - watermark: BI.i18nText("BI-Basic_Unrestricted"), - errorText: function () { - if (self.editor.isEditing()) { - return BI.i18nText("BI-Date_Trigger_Error_Text"); - } - return BI.i18nText("BI-Year_Trigger_Invalid_Text"); - } - }); - this.editor.on(BI.SignEditor.EVENT_KEY_DOWN, function () { - self.fireEvent(BI.DateTrigger.EVENT_KEY_DOWN) - }); - this.editor.on(BI.SignEditor.EVENT_FOCUS, function () { - self.fireEvent(BI.DateTrigger.EVENT_FOCUS); - }); - this.editor.on(BI.SignEditor.EVENT_STOP, function () { - self.fireEvent(BI.DateTrigger.EVENT_STOP); - }); - this.editor.on(BI.SignEditor.EVENT_VALID, function () { - self.fireEvent(BI.DateTrigger.EVENT_VALID); - }); - this.editor.on(BI.SignEditor.EVENT_ERROR, function () { - self.fireEvent(BI.DateTrigger.EVENT_ERROR); - }); - this.editor.on(BI.SignEditor.EVENT_CONFIRM, function () { - var value = self.editor.getValue(); - if (BI.isNotNull(value)) { - self.editor.setState(value); - } - - if (BI.isNotEmptyString(value)) { - var date = value.split("-"); - self.store_value = { - type: BI.DateTrigger.MULTI_DATE_CALENDAR, - value:{ - year: date[0] | 0, - month: date[1] - 1, - day: date[2] | 0 - } - }; - } - self.fireEvent(BI.DateTrigger.EVENT_CONFIRM); - }); - this.editor.on(BI.SignEditor.EVENT_SPACE, function () { - if (self.editor.isValid()) { - self.editor.blur(); - } - }); - this.editor.on(BI.SignEditor.EVENT_START, function () { - self.fireEvent(BI.DateTrigger.EVENT_START); - }); - this.editor.on(BI.SignEditor.EVENT_CHANGE, function () { - self.fireEvent(BI.DateTrigger.EVENT_CHANGE); - }); - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - el: BI.createWidget(), - width: 30 - }, { - el: this.editor - }] - }) - }, - _dateCheck: function (date) { - return Date.parseDateTime(date, "%Y-%x-%d").print("%Y-%x-%d") == date || Date.parseDateTime(date, "%Y-%X-%d").print("%Y-%X-%d") == date || Date.parseDateTime(date, "%Y-%x-%e").print("%Y-%x-%e") == date || Date.parseDateTime(date, "%Y-%X-%e").print("%Y-%X-%e") == date; - }, - _checkVoid: function (obj) { - return !Date.checkVoid(obj.year, obj.month, obj.day, this.options.min, this.options.max)[0]; - }, - _autoAppend: function (v, dateObj) { - var self = this; - var date = Date.parseDateTime(v, "%Y-%X-%d").print("%Y-%X-%d"); - var yearCheck = function (v) { - return Date.parseDateTime(v, "%Y").print("%Y") == v && date >= self.options.min && date <= self.options.max; - }; - var monthCheck = function (v) { - return Date.parseDateTime(v, "%Y-%X").print("%Y-%X") == v && date >= self.options.min && date <= self.options.max; - }; - if (BI.isNotNull(dateObj) && Date.checkLegal(v)) { - switch (v.length) { - case this._const.yearLength: - if (yearCheck(v)) { - this.editor.setValue(v + "-"); - } - break; - case this._const.yearMonthLength: - if (monthCheck(v)) { - this.editor.setValue(v + "-"); - } - break; - } - } - }, - - setValue: function (v) { - var type, value, self = this; - var date = new Date(); - this.store_value = v; - if (BI.isNotNull(v)) { - type = v.type || BI.DateTrigger.MULTI_DATE_CALENDAR; value = v.value; - if(BI.isNull(value)){ - value = v; - } - } - var _setInnerValue = function (date, text) { - var dateStr = date.print("%Y-%x-%e"); - self.editor.setState(dateStr); - self.editor.setValue(dateStr); - self.setTitle(text + ":" + dateStr); - }; - switch (type) { - case BI.DateTrigger.MULTI_DATE_YEAR_PREV: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_PREV]; - date = new Date((date.getFullYear() - 1 * value), date.getMonth(), date.getDate()); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_YEAR_AFTER: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_AFTER]; - date = new Date((date.getFullYear() + 1 * value), date.getMonth(), date.getDate()); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_YEAR_BEGIN: - var text = BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_BEGIN]; - date = new Date(date.getFullYear(), 0, 1); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_YEAR_END: - var text = BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_END]; - date = new Date(date.getFullYear(), 11, 31); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_QUARTER_PREV: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_PREV]; - date = new Date().getBeforeMulQuarter(value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_QUARTER_AFTER: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_AFTER]; - date = new Date().getAfterMulQuarter(value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_QUARTER_BEGIN: - var text = BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_BEGIN]; - date = new Date().getQuarterStartDate(); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_QUARTER_END: - var text = BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_END]; - date = new Date().getQuarterEndDate(); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_MONTH_PREV: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_PREV]; - date = new Date().getBeforeMultiMonth(value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_MONTH_AFTER: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_AFTER]; - date = new Date().getAfterMultiMonth(value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_MONTH_BEGIN: - var text = BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_BEGIN]; - date = new Date(date.getFullYear(), date.getMonth(), 1); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_MONTH_END: - var text = BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_END]; - date = new Date(date.getFullYear(), date.getMonth(), (date.getLastDateOfMonth()).getDate()); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_WEEK_PREV: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_WEEK_PREV]; - date = date.getOffsetDate(-7 * value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_WEEK_AFTER: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_WEEK_AFTER]; - date = date.getOffsetDate(7 * value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_DAY_PREV: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_DAY_PREV]; - date = date.getOffsetDate(-1 * value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_DAY_AFTER: - var text = value + BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_DAY_AFTER]; - date = date.getOffsetDate(1 * value); - _setInnerValue(date, text); - break; - case BI.DateTrigger.MULTI_DATE_DAY_TODAY: - var text = BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_DAY_TODAY]; - date = new Date(); - _setInnerValue(date, text); - break; - default: - if (BI.isNull(value) || BI.isNull(value.day)) { - this.editor.setState(""); - this.editor.setValue(""); - this.setTitle(""); - } else { - var dateStr = value.year + "-" + (value.month + 1) + "-" + value.day; - this.editor.setState(dateStr); - this.editor.setValue(dateStr); - this.setTitle(dateStr); - } - break; - } - }, - - getKey: function () { - return this.editor.getValue(); - }, - getValue: function () { - return this.store_value; - } - -}); - -BI.DateTrigger.MULTI_DATE_YEAR_PREV = 1; -BI.DateTrigger.MULTI_DATE_YEAR_AFTER = 2; -BI.DateTrigger.MULTI_DATE_YEAR_BEGIN = 3; -BI.DateTrigger.MULTI_DATE_YEAR_END = 4; - -BI.DateTrigger.MULTI_DATE_MONTH_PREV = 5; -BI.DateTrigger.MULTI_DATE_MONTH_AFTER = 6; -BI.DateTrigger.MULTI_DATE_MONTH_BEGIN = 7; -BI.DateTrigger.MULTI_DATE_MONTH_END = 8; - -BI.DateTrigger.MULTI_DATE_QUARTER_PREV = 9; -BI.DateTrigger.MULTI_DATE_QUARTER_AFTER = 10; -BI.DateTrigger.MULTI_DATE_QUARTER_BEGIN = 11; -BI.DateTrigger.MULTI_DATE_QUARTER_END = 12; - -BI.DateTrigger.MULTI_DATE_WEEK_PREV = 13; -BI.DateTrigger.MULTI_DATE_WEEK_AFTER = 14; - -BI.DateTrigger.MULTI_DATE_DAY_PREV = 15; -BI.DateTrigger.MULTI_DATE_DAY_AFTER = 16; -BI.DateTrigger.MULTI_DATE_DAY_TODAY = 17; - -BI.DateTrigger.MULTI_DATE_PARAM = 18; -BI.DateTrigger.MULTI_DATE_CALENDAR = 19; - -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM = {}; -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_PREV] = BI.i18nText("BI-Multi_Date_Year_Prev"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_AFTER] = BI.i18nText("BI-Multi_Date_Year_Next"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_BEGIN] = BI.i18nText("BI-Multi_Date_Year_Begin"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_YEAR_END] = BI.i18nText("BI-Multi_Date_Year_End"); - -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_PREV] = BI.i18nText("BI-Multi_Date_Quarter_Prev"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_AFTER] = BI.i18nText("BI-Multi_Date_Quarter_Next"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_BEGIN] = BI.i18nText("BI-Multi_Date_Quarter_Begin"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_QUARTER_END] = BI.i18nText("BI-Multi_Date_Quarter_End"); - -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_PREV] = BI.i18nText("BI-Multi_Date_Month_Prev"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_AFTER] = BI.i18nText("BI-Multi_Date_Month_Next"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_BEGIN] = BI.i18nText("BI-Multi_Date_Month_Begin"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_MONTH_END] = BI.i18nText("BI-Multi_Date_Month_End"); - -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_WEEK_PREV] = BI.i18nText("BI-Multi_Date_Week_Prev"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_WEEK_AFTER] = BI.i18nText("BI-Multi_Date_Week_Next"); - -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_DAY_PREV] = BI.i18nText("BI-Multi_Date_Day_Prev"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_DAY_AFTER] = BI.i18nText("BI-Multi_Date_Day_Next"); -BI.DateTrigger.MULTI_DATE_SEGMENT_NUM[BI.DateTrigger.MULTI_DATE_DAY_TODAY] = BI.i18nText("BI-Multi_Date_Today"); - -BI.DateTrigger.EVENT_FOCUS = "EVENT_FOCUS"; -BI.DateTrigger.EVENT_START = "EVENT_START"; -BI.DateTrigger.EVENT_STOP = "EVENT_STOP"; -BI.DateTrigger.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.DateTrigger.EVENT_CHANGE = "EVENT_CHANGE"; -BI.DateTrigger.EVENT_VALID = "EVENT_VALID"; -BI.DateTrigger.EVENT_ERROR = "EVENT_ERROR"; -BI.DateTrigger.EVENT_TRIGGER_CLICK = "EVENT_TRIGGER_CLICK"; -BI.DateTrigger.EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; -BI.shortcut("bi.date_trigger", BI.DateTrigger); \ No newline at end of file diff --git a/src/widget/datepane/datepane.js b/src/widget/datepane/datepane.js deleted file mode 100644 index 6639556768..0000000000 --- a/src/widget/datepane/datepane.js +++ /dev/null @@ -1,122 +0,0 @@ -/** - * Created by zcf on 2017/2/20. - */ -BI.DatePaneWidget = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.DatePaneWidget.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-date-pane", - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - selectedTime: null - }) - }, - _init: function () { - BI.DatePaneWidget.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.today = new Date(); - this._year = this.today.getFullYear(); - this._month = this.today.getMonth(); - - this.selectedTime = o.selectedTime || { - year: this._year, - month: this._month - }; - - this.datePicker = BI.createWidget({ - type: "bi.date_picker", - min: o.min, - max: o.max - }); - this.datePicker.on(BI.DatePicker.EVENT_CHANGE, function () { - self.selectedTime = self.datePicker.getValue(); - // self.selectedTime.day = 1; - self.calendar.setSelect(BI.Calendar.getPageByDateJSON(self.selectedTime)); - }); - - this.calendar = BI.createWidget({ - direction: "top", - element: this, - logic: { - dynamic: false - }, - type: "bi.navigation", - tab: this.datePicker, - cardCreator: BI.bind(this._createNav, this) - - // afterCardCreated: function () { - // - // }, - // - // afterCardShow: function () { - // // this.setValue(self.selectedTime); - // } - }); - this.calendar.on(BI.Navigation.EVENT_CHANGE, function () { - self.selectedTime = self.calendar.getValue(); - self.calendar.empty(); - self.setValue(self.selectedTime); - self.fireEvent(BI.DateCalendarPopup.EVENT_CHANGE); - }); - - }, - - _createNav: function (v) { - var date = BI.Calendar.getDateJSONByPage(v); - var calendar = BI.createWidget({ - type: "bi.calendar", - logic: { - dynamic: false - }, - min: this.options.min, - max: this.options.max, - year: date.year, - month: date.month, - day: this.selectedTime.day - }); - return calendar; - }, - - _getNewCurrentDate: function () { - var today = new Date(); - return { - year: today.getFullYear(), - month: today.getMonth() - } - }, - - _setCalenderValue: function (date) { - this.calendar.setSelect(BI.Calendar.getPageByDateJSON(date)); - this.calendar.setValue(date); - this.selectedTime = date; - }, - - _setDatePicker: function (timeOb) { - if (BI.isNull(timeOb) || BI.isNull(timeOb.year) || BI.isNull(timeOb.month)) { - this.datePicker.setValue(this._getNewCurrentDate()); - } else { - this.datePicker.setValue(timeOb); - } - }, - - _setCalendar: function (timeOb) { - if (BI.isNull(timeOb) || BI.isNull(timeOb.day)) { - this.calendar.empty(); - this._setCalenderValue(this._getNewCurrentDate()); - } else { - this._setCalenderValue(timeOb) - } - }, - - setValue: function (timeOb) { - this._setDatePicker(timeOb); - this._setCalendar(timeOb); - }, - - getValue: function () { - return this.selectedTime; - } - -}); -BI.shortcut("bi.date_pane", BI.DatePaneWidget); \ No newline at end of file diff --git a/src/widget/datetime/datetime.combo.js b/src/widget/datetime/datetime.combo.js deleted file mode 100644 index dd74c7d553..0000000000 --- a/src/widget/datetime/datetime.combo.js +++ /dev/null @@ -1,131 +0,0 @@ -/** - * Created by Urthur on 2017/7/14. - */ -BI.DateTimeCombo = BI.inherit(BI.Single, { - constants: { - popupHeight: 290, - popupWidth: 270, - comboAdjustHeight: 1, - border: 1, - DATE_MIN_VALUE: "1900-01-01", - DATE_MAX_VALUE: "2099-12-31" - }, - _defaultConfig: function () { - return BI.extend(BI.DateTimeCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-date-time-combo bi-border', - width: 200, - height: 24 - }); - }, - _init: function () { - BI.DateTimeCombo.superclass._init.apply(this, arguments); - var self = this, opts = this.options; - var date = new Date(); - this.storeValue = { - year: date.getFullYear(), - month: date.getMonth(), - day: date.getDate(), - hour: date.getHours(), - minute: date.getMinutes(), - second: date.getSeconds() - }; - this.trigger = BI.createWidget({ - type: 'bi.date_time_trigger', - min: this.constants.DATE_MIN_VALUE, - max: this.constants.DATE_MAX_VALUE - }); - - this.popup = BI.createWidget({ - type: "bi.date_time_popup", - min: this.constants.DATE_MIN_VALUE, - max: this.constants.DATE_MAX_VALUE - }); - self.setValue(this.storeValue); - - this.popup.on(BI.DateTimePopup.BUTTON_CANCEL_EVENT_CHANGE, function () { - self.setValue(self.storeValue); - self.hidePopupView(); - self.fireEvent(BI.DateTimeCombo.EVENT_CANCEL); - }); - this.popup.on(BI.DateTimePopup.BUTTON_OK_EVENT_CHANGE, function () { - self.storeValue = self.popup.getValue(); - self.setValue(self.storeValue); - self.hidePopupView(); - self.fireEvent(BI.DateTimeCombo.EVENT_CONFIRM); - }); - this.popup.on(BI.DateTimePopup.CALENDAR_EVENT_CHANGE, function () { - self.trigger.setValue(self.popup.getValue()); - self.fireEvent(BI.DateTimeCombo.EVENT_CHANGE); - }); - this.combo = BI.createWidget({ - type: 'bi.combo', - toggle: false, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - adjustLength: this.constants.comboAdjustHeight, - popup: { - el: this.popup, - maxHeight: this.constants.popupHeight, - width: this.constants.popupWidth, - stopPropagation: false - } - }); - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - self.popup.setValue(self.storeValue); - self.fireEvent(BI.DateTimeCombo.EVENT_BEFORE_POPUPVIEW); - }); - - var triggerBtn = BI.createWidget({ - type: "bi.icon_button", - cls: "bi-trigger-icon-button date-font bi-border-right", - width: 24, - height: 24 - }); - triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE, function () { - if (self.combo.isViewVisible()) { - self.combo.hideView(); - } else { - self.combo.showView(); - } - }); - - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - type: "bi.absolute", - items: [{ - el: this.combo, - top: 0, - left: 0, - right: 0, - bottom: 0 - }, { - el: triggerBtn, - top: 0, - left: 0 - }] - }] - }) - }, - - setValue: function (v) { - this.storeValue = v; - this.popup.setValue(v); - this.trigger.setValue(v); - }, - getValue: function () { - return this.storeValue; - }, - - hidePopupView: function () { - this.combo.hideView(); - } -}); - -BI.DateTimeCombo.EVENT_CANCEL = "EVENT_CANCEL"; -BI.DateTimeCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.DateTimeCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.DateTimeCombo.EVENT_BEFORE_POPUPVIEW = "BI.DateTimeCombo.EVENT_BEFORE_POPUPVIEW"; -BI.shortcut('bi.date_time_combo', BI.DateTimeCombo); diff --git a/src/widget/datetime/datetime.popup.js b/src/widget/datetime/datetime.popup.js deleted file mode 100644 index b6241721ca..0000000000 --- a/src/widget/datetime/datetime.popup.js +++ /dev/null @@ -1,176 +0,0 @@ -/** - * Created by Urthur on 2017/7/14. - */ -BI.DateTimePopup = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.DateTimePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-date-time-popup', - width: 268, - height: 290 - }); - }, - _init: function () { - BI.DateTimePopup.superclass._init.apply(this, arguments); - var self = this, opts = this.options; - this.cancelButton = BI.createWidget({ - type: 'bi.text_button', - forceCenter: true, - cls: 'multidate-popup-button bi-border-top bi-border-right', - shadow: true, - text: BI.i18nText("BI-Basic_Cancel") - }); - this.cancelButton.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.DateTimePopup.BUTTON_CANCEL_EVENT_CHANGE); - }); - - this.okButton = BI.createWidget({ - type: "bi.text_button", - forceCenter: true, - cls: 'multidate-popup-button bi-border-top', - shadow: true, - text: BI.i18nText("BI-Basic_OK") - }); - this.okButton.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.DateTimePopup.BUTTON_OK_EVENT_CHANGE); - }); - - this.dateCombo = BI.createWidget({ - type: "bi.date_calendar_popup", - min: self.options.min, - max: self.options.max - }); - self.dateCombo.on(BI.DateCalendarPopup.EVENT_CHANGE, function () { - self.fireEvent(BI.DateTimePopup.CALENDAR_EVENT_CHANGE); - }); - - this.dateSelect = BI.createWidget({ - type: "bi.vertical_adapt", - cls: "bi-border-top", - items: [{ - type: "bi.label", - text: BI.i18nText("BI-Basic_Time"), - width: 45 - }, { - type: "bi.date_time_select", - max: 23, - min: 0, - width: 60, - height: 30, - listeners: [{ - eventName: BI.DateTimeSelect.EVENT_CONFIRM, - action: function () { - self.fireEvent(BI.DateTimePopup.CALENDAR_EVENT_CHANGE); - } - }], - ref: function (_ref) { - self.hour = _ref; - } - }, { - type: "bi.label", - text: ":", - width: 15 - }, { - type: "bi.date_time_select", - max: 59, - min: 0, - width: 60, - height: 30, - listeners: [{ - eventName: BI.DateTimeSelect.EVENT_CONFIRM, - action: function () { - self.fireEvent(BI.DateTimePopup.CALENDAR_EVENT_CHANGE); - } - }], - ref: function (_ref) { - self.minute = _ref; - } - }, { - type: "bi.label", - text: ":", - width: 15 - }, { - type: "bi.date_time_select", - max: 59, - min: 0, - width: 60, - height: 30, - listeners: [{ - eventName: BI.DateTimeSelect.EVENT_CONFIRM, - action: function () { - self.fireEvent(BI.DateTimePopup.CALENDAR_EVENT_CHANGE); - } - }], - ref: function (_ref) { - self.second = _ref; - } - }] - }); - - var date = new Date(); - this.dateCombo.setValue({ - year: date.getFullYear(), - month: date.getMonth(), - day: date.getDate() - }); - this.hour.setValue(date.getHours()); - this.minute.setValue(date.getMinutes()); - this.second.setValue(date.getSeconds()); - - this.dateButton = BI.createWidget({ - type: "bi.grid", - items: [[this.cancelButton, this.okButton]] - }); - BI.createWidget({ - element: this, - type: "bi.vtape", - items: [{ - el: this.dateCombo - }, { - el: this.dateSelect, - height: 50 - }, { - el: this.dateButton, - height: 30 - }] - }); - }, - - setValue: function (v) { - var value = v, date; - if (BI.isNull(value)) { - date = new Date(); - this.dateCombo.setValue({ - year: date.getFullYear(), - month: date.getMonth(), - day: date.getDate() - }); - this.hour.setValue(date.getHours()); - this.minute.setValue(date.getMinutes()); - this.second.setValue(date.getSeconds()); - } else { - this.dateCombo.setValue({ - year: value.year, - month: value.month, - day: value.day - }); - this.hour.setValue(value.hour); - this.minute.setValue(value.minute); - this.second.setValue(value.second); - } - }, - - getValue: function () { - return { - year: this.dateCombo.getValue().year, - month: this.dateCombo.getValue().month, - day: this.dateCombo.getValue().day, - hour: this.hour.getValue(), - minute: this.minute.getValue(), - second: this.second.getValue() - } - } -}); -BI.DateTimePopup.BUTTON_OK_EVENT_CHANGE = "BUTTON_OK_EVENT_CHANGE"; -BI.DateTimePopup.BUTTON_CANCEL_EVENT_CHANGE = "BUTTON_CANCEL_EVENT_CHANGE"; -BI.DateTimePopup.CALENDAR_EVENT_CHANGE = "CALENDAR_EVENT_CHANGE"; -BI.shortcut('bi.date_time_popup', BI.DateTimePopup); diff --git a/src/widget/datetime/datetime.select.js b/src/widget/datetime/datetime.select.js deleted file mode 100644 index 4972c35e12..0000000000 --- a/src/widget/datetime/datetime.select.js +++ /dev/null @@ -1,107 +0,0 @@ -/** - * Created by Urthur on 2017/7/14. - */ -BI.DateTimeSelect = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.DateTimeSelect.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-date-time-select bi-border", - max: 23, - min: 0 - }) - }, - - _init: function () { - BI.DateTimeSelect.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: "bi.sign_editor", - value: this._alertInEditorValue(o.min), - allowBlank: false, - errorText: BI.i18nText("BI-Please_Input_Natural_Number"), - validationChecker: function(v){ - return BI.isNaturalNumber(v); - } - }); - this.editor.on(BI.TextEditor.EVENT_CONFIRM, function(){ - self._finetuning(0); - self.fireEvent(BI.DateTimeSelect.EVENT_CONFIRM); - }); - this.topBtn = BI.createWidget({ - type: "bi.icon_button", - cls: "column-pre-page-h-font top-button bi-border-left bi-border-bottom" - }); - this.topBtn.on(BI.IconButton.EVENT_CHANGE, function(){ - self._finetuning(1); - self.fireEvent(BI.DateTimeSelect.EVENT_CONFIRM); - }); - this.bottomBtn = BI.createWidget({ - type: "bi.icon_button", - cls: "column-next-page-h-font bottom-button bi-border-left" - }); - this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function(){ - self._finetuning(-1); - self.fireEvent(BI.DateTimeSelect.EVENT_CONFIRM); - }); - this._finetuning(0); - BI.createWidget({ - type: "bi.htape", - element: this, - items: [this.editor, { - el: { - type: "bi.grid", - columns: 1, - rows: 2, - items: [{ - column: 0, - row: 0, - el: this.topBtn - }, { - column: 0, - row: 1, - el: this.bottomBtn - }] - }, - width: 30 - }] - }); - }, - - _alertOutEditorValue: function(v){ - if (v > this.options.max){ - v = this.options.min; - } - if (v < this.options.min){ - v = this.options.max - } - return BI.parseInt(v); - }, - - _alertInEditorValue: function(v){ - if (v > this.options.max){ - v = this.options.min; - } - if (v < this.options.min){ - v = this.options.max; - } - v = v < 10 ? "0" + v : v; - return v; - }, - - _finetuning: function(add){ - var v = BI.parseInt(this._alertOutEditorValue(this.editor.getValue())); - this.editor.setValue(this._alertInEditorValue(v + add)); - }, - - getValue: function () { - var v = this.editor.getValue(); - return this._alertOutEditorValue(v); - }, - - setValue: function (v) { - this.editor.setValue(this._alertInEditorValue(v)); - this._finetuning(0); - } - -}); -BI.DateTimeSelect.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.shortcut("bi.date_time_select", BI.DateTimeSelect); \ No newline at end of file diff --git a/src/widget/datetime/datetime.trigger.js b/src/widget/datetime/datetime.trigger.js deleted file mode 100644 index d0a1978fbb..0000000000 --- a/src/widget/datetime/datetime.trigger.js +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Created by Urthur on 2017/7/14. - */ -BI.DateTimeTrigger = BI.inherit(BI.Trigger, { - _const: { - hgap: 4, - }, - - _defaultConfig: function () { - return BI.extend(BI.DateTimeTrigger.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-date-time-trigger", - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - height: 24, - width: 200 - }); - }, - _init: function () { - BI.DateTimeTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - height: o.height, - width: o.width, - hgap: c.hgap - }); - - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - el: BI.createWidget(), - width: o.height - }, { - el: this.text - }] - }) - }, - - _printTime: function (v) { - return v < 10 ? "0" + v : v; - }, - - setValue: function (v) { - var self = this; - var value = v, dateStr; - if(BI.isNull(value)){ - value = new Date(); - dateStr = value.print("%Y-%X-%d %H:%M:%S"); - } else { - var date = new Date(value.year,value.month,value.day,value.hour,value.minute,value.second); - dateStr = date.print("%Y-%X-%d %H:%M:%S"); - - } - this.text.setText(dateStr); - this.text.setTitle(dateStr); - } - -}); -BI.shortcut("bi.date_time_trigger", BI.DateTimeTrigger); \ No newline at end of file diff --git a/src/widget/directionpathchooser/directionpathchooser.js b/src/widget/directionpathchooser/directionpathchooser.js deleted file mode 100644 index 64a1aa330a..0000000000 --- a/src/widget/directionpathchooser/directionpathchooser.js +++ /dev/null @@ -1,243 +0,0 @@ -/** - * 带有方向的pathchooser - * - * Created by GUY on 2016/4/21. - * @class BI.DirectionPathChooser - * @extends BI.Widget - */ -BI.DirectionPathChooser = BI.inherit(BI.Widget, { - - _const: { - lineColor: "#808080", - selectLineColor: "#009de3" - }, - - _defaultConfig: function () { - return BI.extend(BI.DirectionPathChooser.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-excel-table", - items: [] - }); - }, - - _init: function () { - BI.DirectionPathChooser.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.pathChooser = BI.createWidget({ - type: "bi.path_chooser", - element: this, - items: o.items - }); - this.pathChooser.on(BI.PathChooser.EVENT_CHANGE, function (start, index) { - //self._unselectAllArrows(); - self._setValue(start, index); - self.fireEvent(BI.DirectionPathChooser.EVENT_CHANGE); - }); - this._drawArrows(); - - }, - - _unselectAllArrows: function () { - var self = this, lineColor = this._const.lineColor; - BI.each(this.arrows, function (region, rs) { - BI.each(rs, function (idx, arrows) { - BI.each(arrows, function (i, arrow) { - arrow.attr({fill: lineColor, stroke: lineColor}); - }); - }); - }); - }, - - _drawOneArrow: function (dot, direction) { - //0,1,2,3 上右下左 - var lineColor = this._const.lineColor; - var selectLineColor = this._const.selectLineColor; - var svg = this.pathChooser.svg; - var path = ""; - switch (direction) { - case 0: - path = "M" + dot.x + "," + dot.y - + "L" + (dot.x - 3) + "," + (dot.y + 5) - + "L" + (dot.x + 3) + "," + (dot.y + 5) - + "L" + dot.x + "," + dot.y; - break; - case 1: - path = "M" + dot.x + "," + dot.y - + "L" + (dot.x - 5) + "," + (dot.y - 3) - + "L" + (dot.x - 5) + "," + (dot.y + 3) - + "L" + dot.x + "," + dot.y; - break; - case 2: - path = "M" + dot.x + "," + dot.y - + "L" + (dot.x - 3) + "," + (dot.y - 5) - + "L" + (dot.x + 3) + "," + (dot.y - 5) - + "L" + dot.x + "," + dot.y; - break; - case 3: - path = "M" + dot.x + "," + dot.y - + "L" + (dot.x + 5) + "," + (dot.y - 3) - + "L" + (dot.x + 5) + "," + (dot.y + 3) - + "L" + dot.x + "," + dot.y; - break; - } - return svg.path(path).attr({fill: lineColor, stroke: lineColor}); - }, - - _drawArrows: function () { - var self = this, o = this.options; - var routes = this.pathChooser.routes; - var pathes = this.pathChooser.pathes; - var cache = this.pathChooser.cache; - this.arrows = {}; - BI.each(routes, function (region, ps) { - self.arrows[region] = []; - BI.each(ps, function (idx, path) { - self.arrows[region][idx] = []; - var dots = pathes[region][idx]; - BI.each(dots, function (i, dot) { - if (i > 0 && i < dots.length - 1) { - var arrow; - if (dot.y === dots[i - 1].y) { - if (dots[i + 1].y != dot.y) { - if (cache[path[path.length - 2]].direction === -1) { - if (i - 1 > 0) { - arrow = self._drawOneArrow(dots[i - 1], 3); - } - } else { - arrow = self._drawOneArrow(dots[i], 1); - } - } - } else if (dot.x === dots[i - 1].x) { - if (dot.y > dots[i - 1].y) { - if (cache[BI.first(path)].direction === -1) { - arrow = self._drawOneArrow(dots[i - 1], 0); - } else { - arrow = self._drawOneArrow(dot, 2); - } - } else { - if (cache[path[path.length - 2]].direction === -1) { - arrow = self._drawOneArrow(dots[i - 1], 2); - } else { - arrow = self._drawOneArrow(dot, 0); - } - } - } - if (arrow) { - self.arrows[region][idx].push(arrow); - } - } - }); - BI.each(path, function (i, node) { - if (i !== 0) { - var arrow; - var from = path[i - 1]; - if (cache[from].direction === -1) { - var regionIndex = self.pathChooser.getRegionIndexById(from); - var x = getXoffsetByRegionIndex(regionIndex, -1); - var y = getYByXoffset(dots, x); - arrow = self._drawOneArrow({x: x, y: y}, 3); - } else { - var regionIndex = self.pathChooser.getRegionIndexById(node); - var x = getXoffsetByRegionIndex(regionIndex); - var y = getYByXoffset(dots, x); - arrow = self._drawOneArrow({x: x, y: y}, 1); - } - if (arrow) { - self.arrows[region][idx].push(arrow); - } - } - }); - }) - }); - - function getXoffsetByRegionIndex(regionIndex, diregion) { - if (diregion === -1) { - return 100 * (regionIndex + 1) - 20; - } - return 100 * regionIndex + 20; - } - - function getYByXoffset(dots, xoffset) { - var finded = BI.find(dots, function (i, dot) { - if (i > 0) { - if (dots[i - 1].x < xoffset && dots[i].x > xoffset) { - return true; - } - } - }); - return finded.y; - } - }, - - _setValue: function (start, index) { - var self = this; - var lineColor = this._const.lineColor; - var selectLineColor = this._const.selectLineColor; - var routes = this.pathChooser.routes; - var starts = this.pathChooser.start; - var each = [start]; - if (starts.contains(start)) { - each = starts; - } - BI.each(each, function (i, s) { - BI.each(self.arrows[s], function (j, arrows) { - BI.each(arrows, function (k, arrow) { - arrow.attr({fill: lineColor, stroke: lineColor}).toFront(); - }); - }); - }); - BI.each(this.arrows[start][index], function (i, arrow) { - arrow.attr({fill: selectLineColor, stroke: selectLineColor}).toFront(); - }); - var current = BI.last(routes[start][index]); - while (current && routes[current] && routes[current].length === 1) { - BI.each(self.arrows[current][0], function (i, arrow) { - arrow.attr({fill: selectLineColor, stroke: selectLineColor}).toFront(); - }); - current = BI.last(routes[current][0]); - } - }, - - setValue: function (v) { - this.pathChooser.setValue(v); - this._unselectAllArrows(); - var routes = this.pathChooser.routes; - var nodes = BI.keys(routes), self = this; - var result = [], array = []; - BI.each(v, function (i, val) { - if (BI.contains(nodes, val)) { - if (array.length > 0) { - array.push(val); - result.push(array); - array = []; - } - } - array.push(val); - }); - if (array.length > 0) { - result.push(array); - } - //画这n条路径 - BI.each(result, function (idx, path) { - var start = path[0]; - var index = BI.findIndex(routes[start], function (idx, p) { - if (BI.isEqual(path, p)) { - return true; - } - }); - if (index >= 0) { - self._setValue(start, index); - } - }); - }, - - getValue: function () { - return this.pathChooser.getValue(); - }, - - populate: function (items) { - this.pathChooser.populate(items); - this._drawArrows(); - } -}); -BI.DirectionPathChooser.EVENT_CHANGE = "DirectionPathChooser.EVENT_CHANGE"; -BI.shortcut('bi.direction_path_chooser', BI.DirectionPathChooser); \ No newline at end of file diff --git a/src/widget/downlist/combo.downlist.js b/src/widget/downlist/combo.downlist.js deleted file mode 100644 index 6b27576e82..0000000000 --- a/src/widget/downlist/combo.downlist.js +++ /dev/null @@ -1,88 +0,0 @@ -/** - * Created by roy on 15/8/14. - */ -BI.DownListCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.DownListCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-down-list-combo", - invalid: false, - height: 25, - items: [], - adjustLength: 0, - direction: "bottom", - trigger: "click", - container: null, - el: {} - }) - }, - - _init: function () { - BI.DownListCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.popupview = BI.createWidget({ - type: "bi.down_list_popup", - items: o.items, - chooseType: o.chooseType - }); - - this.popupview.on(BI.DownListPopup.EVENT_CHANGE, function (value) { - self.fireEvent(BI.DownListCombo.EVENT_CHANGE, value); - self.downlistcombo.hideView(); - }); - - this.popupview.on(BI.DownListPopup.EVENT_SON_VALUE_CHANGE, function (value, fatherValue) { - self.fireEvent(BI.DownListCombo.EVENT_SON_VALUE_CHANGE, value, fatherValue); - self.downlistcombo.hideView(); - }); - - - this.downlistcombo = BI.createWidget({ - element: this, - type: 'bi.combo', - trigger: o.trigger, - isNeedAdjustWidth: false, - container: o.container, - adjustLength: o.adjustLength, - direction: o.direction, - el: BI.createWidget(o.el, { - type: "bi.icon_trigger", - extraCls: o.iconCls ? o.iconCls : "pull-down-font", - width: o.width, - height: o.height - }), - popup: { - el: this.popupview, - stopPropagation: true, - maxHeight: 1000 - } - }); - - this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.DownListCombo.EVENT_BEFORE_POPUPVIEW); - }); - }, - - hideView: function () { - this.downlistcombo.hideView(); - }, - - showView: function () { - this.downlistcombo.showView(); - }, - - populate: function (items) { - this.popupview.populate(items); - }, - - setValue: function (v) { - this.popupview.setValue(v); - }, - getValue: function () { - return this.popupview.getValue() - } -}); -BI.DownListCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.DownListCombo.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE"; -BI.DownListCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; - -BI.shortcut("bi.down_list_combo", BI.DownListCombo); \ No newline at end of file diff --git a/src/widget/downlist/group.downlist.js b/src/widget/downlist/group.downlist.js deleted file mode 100644 index 9aa122d149..0000000000 --- a/src/widget/downlist/group.downlist.js +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Created by roy on 15/9/6. - */ -BI.DownListGroup = BI.inherit(BI.Widget, { - constants: { - iconCls: "check-mark-ha-font" - }, - _defaultConfig: function () { - return BI.extend(BI.DownListGroup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-down-list-group", - items: [ - { - el: {} - } - ] - }) - }, - _init: function () { - BI.DownListGroup.superclass._init.apply(this, arguments); - var o = this.options, self = this; - - this.downlistgroup = BI.createWidget({ - element: this, - type: "bi.button_tree", - items: o.items, - chooseType: 0,//0单选,1多选 - layouts: [{ - type: "bi.vertical", - hgap: 0, - vgap: 0 - }] - }); - this.downlistgroup.on(BI.Controller.EVENT_CHANGE, function (type) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if(type === BI.Events.CLICK) { - self.fireEvent(BI.DownListGroup.EVENT_CHANGE, arguments); - } - }) - }, - getValue:function(){ - return this.downlistgroup.getValue(); - }, - setValue:function(v){ - this.downlistgroup.setValue(v); - } - - -}) -BI.DownListGroup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.down_list_group", BI.DownListGroup); \ No newline at end of file diff --git a/src/widget/downlist/item.downlist.js b/src/widget/downlist/item.downlist.js deleted file mode 100644 index 5f8ffeaffe..0000000000 --- a/src/widget/downlist/item.downlist.js +++ /dev/null @@ -1,79 +0,0 @@ -BI.DownListItem = BI.inherit(BI.Single, { - _defaultConfig: function () { - var conf = BI.DownListItem.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-down-list-item bi-list-item-active", - cls: "", - height: 25, - logic: { - dynamic: true - }, - selected: false, - iconHeight: null, - iconWidth: null, - textHgap: 0, - textVgap: 0, - textLgap: 0, - textRgap: 0 - }) - }, - _init: function () { - BI.DownListItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.text = BI.createWidget({ - type: "bi.icon_text_item", - element: this, - height: o.height, - text: o.text, - value: o.value, - logic: o.logic, - selected: o.selected, - disabled: o.disabled, - iconHeight: o.iconHeight, - iconWidth: o.iconWidth, - textHgap: o.textHgap, - textVgap: o.textVgap, - textLgap: o.textLgap, - textRgap: o.textRgap, - father: o.father - }); - this.text.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.text.on(BI.IconTextItem.EVENT_CHANGE, function () { - self.fireEvent(BI.DownListItem.EVENT_CHANGE); - }); - // this.setSelected(o.selected); - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - isSelected: function () { - return this.text.isSelected(); - }, - - setSelected: function (b) { - this.text.setSelected(b); - // if (b === true) { - // this.element.addClass("dot-e-font"); - // } else { - // this.element.removeClass("dot-e-font"); - // } - }, - - setValue: function (v) { - this.text.setValue(v); - }, - - getValue: function () { - return this.text.getValue(); - } -}); -BI.DownListItem.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.down_list_item", BI.DownListItem); \ No newline at end of file diff --git a/src/widget/downlist/item.downlistgroup.js b/src/widget/downlist/item.downlistgroup.js deleted file mode 100644 index 8d55da9f46..0000000000 --- a/src/widget/downlist/item.downlistgroup.js +++ /dev/null @@ -1,115 +0,0 @@ -BI.DownListGroupItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - var conf = BI.DownListGroupItem.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-down-list-group-item", - logic: { - dynamic: false - }, - // invalid: true, - iconCls1: "dot-e-font", - iconCls2: "pull-right-e-font" - }) - }, - _init: function () { - BI.DownListGroupItem.superclass._init.apply(this, arguments); - var o = this.options; - var self = this; - this.text = BI.createWidget({ - type: "bi.label", - cls: "list-group-item-text", - textAlign: "left", - text: o.text, - value: o.value, - height: o.height - }); - - this.icon1 = BI.createWidget({ - type: "bi.icon_button", - cls: o.iconCls1, - width: 25, - forceNotSelected: true - }); - - this.icon2 = BI.createWidget({ - type: "bi.icon_button", - cls: o.iconCls2, - width: 25, - forceNotSelected: true - }); - - var blank = BI.createWidget({ - type: "bi.layout", - width: 25 - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.icon2, - top: 0, - bottom: 0, - right: 0 - }] - }); - - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic("horizontal", BI.extend(o.logic, { - items: BI.LogicFactory.createLogicItemsByDirection("left", this.icon1, this.text, blank) - })))); - - this.element.hover(function () { - if (self.isEnabled()) { - self.hover(); - } - }, function () { - if (self.isEnabled()) { - self.dishover() - } - }); - }, - - hover: function () { - BI.DownListGroupItem.superclass.hover.apply(this, arguments); - this.icon1.element.addClass("hover"); - this.icon2.element.addClass("hover"); - - }, - - dishover: function () { - BI.DownListGroupItem.superclass.dishover.apply(this, arguments); - this.icon1.element.removeClass("hover"); - this.icon2.element.removeClass("hover"); - }, - - doClick: function () { - BI.DownListGroupItem.superclass.doClick.apply(this, arguments); - if (this.isValid()) { - this.fireEvent(BI.DownListGroupItem.EVENT_CHANGE, this.getValue()); - } - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - setValue: function (v) { - var self = this, o = this.options; - v = BI.isArray(v) ? v : [v]; - BI.find(v, function (idx, value) { - if (BI.contains(o.childValues, value)) { - self.icon1.setSelected(true); - return true; - } else { - self.icon1.setSelected(false); - } - }) - } -}); -BI.DownListGroupItem.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.down_list_group_item", BI.DownListGroupItem); \ No newline at end of file diff --git a/src/widget/downlist/popup.downlist.js b/src/widget/downlist/popup.downlist.js deleted file mode 100644 index adba7a1d8f..0000000000 --- a/src/widget/downlist/popup.downlist.js +++ /dev/null @@ -1,232 +0,0 @@ -/** - * Created by roy on 15/9/8. - * 处理popup中的item分组样式 - * 一个item分组中的成员大于一时,该分组设置为单选,并且默认状态第一个成员设置为已选择项 - */ -BI.DownListPopup = BI.inherit(BI.Pane, { - constants: { - nextIcon: "pull-right-e-font", - height: 25, - iconHeight: 12, - iconWidth: 12, - hgap: 0, - vgap: 0, - border: 1 - }, - _defaultConfig: function () { - var conf = BI.DownListPopup.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-down-list-popup", - items: [], - chooseType: BI.Selection.Multi - }) - }, - _init: function () { - BI.DownListPopup.superclass._init.apply(this, arguments); - this.singleValues = []; - this.childValueMap = {}; - this.fatherValueMap = {}; - var self = this, o = this.options, children = this._createChildren(o.items); - this.popup = BI.createWidget({ - type: "bi.button_tree", - items: BI.createItems(children, - {}, { - adjustLength: -2 - } - ), - layouts: [{ - type: "bi.vertical", - hgap: this.constants.hgap, - vgap: this.constants.vgap - }], - chooseType: o.chooseType - }); - - this.popup.on(BI.ButtonTree.EVENT_CHANGE, function (value, object) { - var changedValue = value; - if (BI.isNotNull(self.childValueMap[value])) { - changedValue = self.childValueMap[value]; - self.fireEvent(BI.DownListPopup.EVENT_SON_VALUE_CHANGE, changedValue, self.fatherValueMap[value]) - } else { - self.fireEvent(BI.DownListPopup.EVENT_CHANGE, changedValue, object); - } - - - if (!self.singleValues.contains(changedValue)) { - var item = self.getValue(); - var result = []; - BI.each(item, function (i, valueObject) { - if (valueObject.value != changedValue) { - result.push(valueObject); - } - }); - self.setValue(result); - } - - }); - - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [this.popup] - }); - - }, - _createChildren: function (items) { - var self = this, result = []; - BI.each(items, function (i, it) { - var item_done = { - type: "bi.down_list_group", - items: [] - }; - - BI.each(it, function (i, item) { - if (BI.isNotEmptyArray(item.children) && !BI.isEmpty(item.el)) { - item.type = "bi.combo_group"; - item.cls = "down-list-group"; - item.trigger = "hover"; - item.isNeedAdjustWidth = false; - item.el.title = item.el.title || item.el.text; - item.el.type = "bi.down_list_group_item"; - item.el.logic = { - dynamic: true - }; - item.el.height = self.constants.height; - item.el.iconCls2 = self.constants.nextIcon; - item.popup = { - lgap: 4, - el: { - type: "bi.button_tree", - chooseType: 0, - layouts: [{ - type: "bi.vertical" - }] - - } - }; - item.el.childValues = []; - BI.each(item.children, function (i, child) { - var fatherValue = BI.deepClone(item.el.value); - var childValue = BI.deepClone(child.value); - self.singleValues.push(child.value); - child.type = "bi.down_list_item"; - child.extraCls = " child-down-list-item"; - child.title = child.title || child.text; - child.textRgap = 10; - child.isNeedAdjustWidth = false; - child.logic = { - dynamic: true - }; - child.father = fatherValue; - self.fatherValueMap[self._createChildValue(fatherValue, childValue)] = fatherValue; - self.childValueMap[self._createChildValue(fatherValue, childValue)] = childValue; - child.value = self._createChildValue(fatherValue, childValue); - item.el.childValues.push(child.value); - }) - } else { - item.type = "bi.down_list_item"; - item.title = item.title || item.text; - item.textRgap = 10; - item.isNeedAdjustWidth = false; - item.logic = { - dynamic: true - } - } - var el_done = {}; - el_done.el = item; - item_done.items.push(el_done); - }); - if (self._isGroup(item_done.items)) { - BI.each(item_done.items, function (i, item) { - self.singleValues.push(item.el.value); - }) - } - - result.push(item_done); - if (self._needSpliter(i, items.length)) { - var spliter_container = BI.createWidget({ - type: "bi.vertical", - items: [{ - el: { - type: "bi.layout", - cls: "bi-down-list-spliter bi-border-top cursor-pointer", - height: 0 - } - - }], - cls: "bi-down-list-spliter-container cursor-pointer", - lgap: 10, - rgap: 10 - }); - result.push(spliter_container); - } - }); - return result; - }, - - _isGroup: function (i) { - return i.length > 1; - }, - - _needSpliter: function (i, itemLength) { - return i < itemLength - 1; - }, - - _createChildValue: function (fatherValue, childValue) { - return fatherValue + "_" + childValue - }, - - populate: function (items) { - BI.DownListPopup.superclass.populate.apply(this, arguments); - var self = this; - self.childValueMap = {}; - self.fatherValueMap = {}; - self.singleValues = []; - var children = self._createChildren(items); - var popupItem = BI.createItems(children, - {}, { - adjustLength: -2 - } - ); - self.popup.populate(popupItem); - }, - - setValue: function (valueItem) { - var self = this; - var valueArray = []; - BI.each(valueItem, function (i, item) { - var value; - if (BI.isNotNull(item.childValue)) { - value = self._createChildValue(item.value, item.childValue); - } else { - value = item.value; - } - valueArray.push(value); - } - ); - this.popup.setValue(valueArray); - }, - - getValue: function () { - var self = this, result = []; - var values = this.popup.getValue(); - BI.each(values, function (i, value) { - var valueItem = {}; - if (BI.isNotNull(self.childValueMap[value])) { - var fartherValue = self.fatherValueMap[value]; - valueItem.childValue = self.childValueMap[value]; - valueItem.value = fartherValue; - } else { - valueItem.value = value; - } - result.push(valueItem); - }); - return result; - } - - -}); - -BI.DownListPopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.DownListPopup.EVENT_SON_VALUE_CHANGE = "EVENT_SON_VALUE_CHANGE"; -BI.shortcut("bi.down_list_popup", BI.DownListPopup); \ No newline at end of file diff --git a/src/widget/editor/editor.search.js b/src/widget/editor/editor.search.js deleted file mode 100644 index b7f2cbaf4a..0000000000 --- a/src/widget/editor/editor.search.js +++ /dev/null @@ -1,188 +0,0 @@ -/** - * Created by roy on 15/9/14. - */ -BI.SearchEditor = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.SearchEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: "bi-search-editor bi-border", - height: 24, - errorText: "", - watermark: BI.i18nText("BI-Basic_Search"), - validationChecker: BI.emptyFn, - quitChecker: BI.emptyFn - }); - }, - _init: function () { - this.options.height -= 2; - BI.SearchEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: "bi.editor", - height: o.height, - watermark: o.watermark, - allowBlank: true, - errorText: o.errorText, - validationChecker: o.validationChecker, - quitChecker: o.quitChecker - }); - this.clear = BI.createWidget({ - type: "bi.icon_button", - stopEvent: true, - cls: "search-close-h-font" - }); - this.clear.on(BI.IconButton.EVENT_CHANGE, function () { - self.setValue(""); - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.STOPEDIT); - self.fireEvent(BI.SearchEditor.EVENT_CLEAR); - }); - BI.createWidget({ - element: this, - type: "bi.htape", - items: [ - { - el: { - type: "bi.center_adapt", - cls: "search-font", - items: [{ - el: { - type: "bi.icon" - } - }] - }, - width: 25 - }, - { - el: self.editor - }, - { - el: this.clear, - width: 25 - } - ] - }); - this.editor.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.editor.on(BI.Editor.EVENT_FOCUS, function () { - self.fireEvent(BI.SearchEditor.EVENT_FOCUS); - }); - this.editor.on(BI.Editor.EVENT_BLUR, function () { - self.fireEvent(BI.SearchEditor.EVENT_BLUR); - }); - this.editor.on(BI.Editor.EVENT_CLICK, function () { - self.fireEvent(BI.SearchEditor.EVENT_CLICK); - }); - this.editor.on(BI.Editor.EVENT_CHANGE, function () { - self._checkClear(); - self.fireEvent(BI.SearchEditor.EVENT_CHANGE); - }); - this.editor.on(BI.Editor.EVENT_KEY_DOWN, function (v) { - self.fireEvent(BI.SearchEditor.EVENT_KEY_DOWN, v); - }); - this.editor.on(BI.Editor.EVENT_SPACE, function () { - self.fireEvent(BI.SearchEditor.EVENT_SPACE) - }); - this.editor.on(BI.Editor.EVENT_BACKSPACE, function () { - self.fireEvent(BI.SearchEditor.EVENT_BACKSPACE) - }); - - - this.editor.on(BI.Editor.EVENT_VALID, function () { - self.fireEvent(BI.SearchEditor.EVENT_VALID) - }); - this.editor.on(BI.Editor.EVENT_ERROR, function () { - self.fireEvent(BI.SearchEditor.EVENT_ERROR) - }); - this.editor.on(BI.Editor.EVENT_ENTER, function () { - self.fireEvent(BI.SearchEditor.EVENT_ENTER); - }); - this.editor.on(BI.Editor.EVENT_RESTRICT, function () { - self.fireEvent(BI.SearchEditor.EVENT_RESTRICT) - }); - this.editor.on(BI.Editor.EVENT_EMPTY, function () { - self._checkClear(); - self.fireEvent(BI.SearchEditor.EVENT_EMPTY) - }); - this.editor.on(BI.Editor.EVENT_REMOVE, function () { - self.fireEvent(BI.SearchEditor.EVENT_REMOVE) - }); - this.editor.on(BI.Editor.EVENT_CONFIRM, function () { - self.fireEvent(BI.SearchEditor.EVENT_CONFIRM) - }); - this.editor.on(BI.Editor.EVENT_START, function () { - self.fireEvent(BI.SearchEditor.EVENT_START); - }); - this.editor.on(BI.Editor.EVENT_PAUSE, function () { - self.fireEvent(BI.SearchEditor.EVENT_PAUSE); - }); - this.editor.on(BI.Editor.EVENT_STOP, function () { - self.fireEvent(BI.SearchEditor.EVENT_STOP); - }); - - this.clear.invisible(); - }, - - _checkClear: function () { - if (!this.getValue()) { - this.clear.invisible(); - } else { - this.clear.visible(); - } - }, - - focus: function () { - this.editor.focus(); - }, - - blur: function () { - this.editor.blur(); - }, - - getValue: function () { - if (this.isValid()) { - var res = this.editor.getValue().match(/[\S]+/g); - return BI.isNull(res) ? "" : res[res.length - 1]; - } - }, - - getLastValidValue: function () { - return this.editor.getLastValidValue(); - }, - - setValue: function (v) { - this.editor.setValue(v); - if (BI.isKey(v)) { - this.clear.visible(); - } - }, - - isEditing: function () { - return this.editor.isEditing(); - }, - - isValid: function () { - return this.editor.isValid(); - } -}); -BI.SearchEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.SearchEditor.EVENT_FOCUS = "EVENT_FOCUS"; -BI.SearchEditor.EVENT_BLUR = "EVENT_BLUR"; -BI.SearchEditor.EVENT_CLICK = "EVENT_CLICK"; -BI.SearchEditor.EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; -BI.SearchEditor.EVENT_SPACE = "EVENT_SPACE"; -BI.SearchEditor.EVENT_BACKSPACE = "EVENT_BACKSPACE"; -BI.SearchEditor.EVENT_CLEAR = "EVENT_CLEAR"; - -BI.SearchEditor.EVENT_START = "EVENT_START"; -BI.SearchEditor.EVENT_PAUSE = "EVENT_PAUSE"; -BI.SearchEditor.EVENT_STOP = "EVENT_STOP"; -BI.SearchEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.SearchEditor.EVENT_VALID = "EVENT_VALID"; -BI.SearchEditor.EVENT_ERROR = "EVENT_ERROR"; -BI.SearchEditor.EVENT_ENTER = "EVENT_ENTER"; -BI.SearchEditor.EVENT_RESTRICT = "EVENT_RESTRICT"; -BI.SearchEditor.EVENT_REMOVE = "EVENT_REMOVE"; -BI.SearchEditor.EVENT_EMPTY = "EVENT_EMPTY"; -BI.shortcut("bi.search_editor", BI.SearchEditor); \ No newline at end of file diff --git a/src/widget/editor/editor.search.small.js b/src/widget/editor/editor.search.small.js deleted file mode 100644 index b8635072d3..0000000000 --- a/src/widget/editor/editor.search.small.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * 小号搜索框 - * Created by GUY on 2015/9/29. - * @class BI.SmallSearchEditor - * @extends BI.SearchEditor - */ -BI.SmallSearchEditor = BI.inherit(BI.SearchEditor, { - _defaultConfig: function () { - var conf = BI.SmallSearchEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-small-search-editor", - height: 24 - }); - }, - - _init: function () { - BI.SmallSearchEditor.superclass._init.apply(this, arguments); - } -}); -BI.shortcut("bi.small_search_editor", BI.SmallSearchEditor); \ No newline at end of file diff --git a/src/widget/editor/editor.text.js b/src/widget/editor/editor.text.js deleted file mode 100644 index 47d1f949ce..0000000000 --- a/src/widget/editor/editor.text.js +++ /dev/null @@ -1,165 +0,0 @@ -/** - * guy - * @class BI.TextEditor - * @extends BI.Single - */ -BI.TextEditor = BI.inherit(BI.Widget, { - _defaultConfig: function () { - var conf = BI.TextEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-text-editor bi-border", - hgap: 4, - vgap: 2, - lgap: 0, - rgap: 0, - tgap: 0, - bgap: 0, - validationChecker: BI.emptyFn, - quitChecker: BI.emptyFn, - allowBlank: false, - watermark: "", - errorText: "", - height: 24 - }) - }, - - _init: function () { - BI.TextEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - if (BI.isNumber(o.height)) { - this.element.css({height: o.height - 2}); - } - if (BI.isNumber(o.width)) { - this.element.css({width: o.width - 2}); - } - this.editor = BI.createWidget({ - type: "bi.editor", - height: o.height - 2, - hgap: o.hgap, - vgap: o.vgap, - lgap: o.lgap, - rgap: o.rgap, - tgap: o.tgap, - bgap: o.bgap, - value: o.value, - title: o.title, - tipType: o.tipType, - validationChecker: o.validationChecker, - quitChecker: o.quitChecker, - allowBlank: o.allowBlank, - watermark: o.watermark, - errorText: o.errorText - }); - this.editor.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.editor.on(BI.Editor.EVENT_FOCUS, function () { - self.fireEvent(BI.TextEditor.EVENT_FOCUS); - }); - this.editor.on(BI.Editor.EVENT_BLUR, function () { - self.fireEvent(BI.TextEditor.EVENT_BLUR); - }); - this.editor.on(BI.Editor.EVENT_CLICK, function () { - self.fireEvent(BI.TextEditor.EVENT_CLICK); - }); - this.editor.on(BI.Editor.EVENT_CHANGE, function () { - self.fireEvent(BI.TextEditor.EVENT_CHANGE); - }); - this.editor.on(BI.Editor.EVENT_KEY_DOWN, function (v) { - self.fireEvent(BI.TextEditor.EVENT_KEY_DOWN); - }); - this.editor.on(BI.Editor.EVENT_SPACE, function (v) { - self.fireEvent(BI.TextEditor.EVENT_SPACE); - }); - this.editor.on(BI.Editor.EVENT_BACKSPACE, function (v) { - self.fireEvent(BI.TextEditor.EVENT_BACKSPACE); - }); - - - this.editor.on(BI.Editor.EVENT_VALID, function () { - self.fireEvent(BI.TextEditor.EVENT_VALID); - }); - this.editor.on(BI.Editor.EVENT_CONFIRM, function () { - self.fireEvent(BI.TextEditor.EVENT_CONFIRM); - }); - this.editor.on(BI.Editor.EVENT_REMOVE, function (v) { - self.fireEvent(BI.TextEditor.EVENT_REMOVE); - }); - this.editor.on(BI.Editor.EVENT_START, function () { - self.fireEvent(BI.TextEditor.EVENT_START); - }); - this.editor.on(BI.Editor.EVENT_PAUSE, function () { - self.fireEvent(BI.TextEditor.EVENT_PAUSE); - }); - this.editor.on(BI.Editor.EVENT_STOP, function () { - self.fireEvent(BI.TextEditor.EVENT_STOP); - }); - this.editor.on(BI.Editor.EVENT_ERROR, function () { - self.fireEvent(BI.TextEditor.EVENT_ERROR, arguments); - }); - this.editor.on(BI.Editor.EVENT_ENTER, function () { - self.fireEvent(BI.TextEditor.EVENT_ENTER); - }); - this.editor.on(BI.Editor.EVENT_RESTRICT, function () { - self.fireEvent(BI.TextEditor.EVENT_RESTRICT); - }); - this.editor.on(BI.Editor.EVENT_EMPTY, function () { - self.fireEvent(BI.TextEditor.EVENT_EMPTY); - }); - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - element: this, - items: [this.editor] - }); - }, - - focus: function () { - this.editor.focus(); - }, - - blur: function () { - this.editor.blur(); - }, - - setErrorText: function (text) { - this.editor.setErrorText(text); - }, - - getErrorText: function () { - return this.editor.getErrorText(); - }, - - isValid: function () { - return this.editor.isValid(); - }, - - setValue: function (v) { - this.editor.setValue(v); - }, - - getValue: function () { - return this.editor.getValue(); - } -}); -BI.TextEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.TextEditor.EVENT_FOCUS = "EVENT_FOCUS"; -BI.TextEditor.EVENT_BLUR = "EVENT_BLUR"; -BI.TextEditor.EVENT_CLICK = "EVENT_CLICK"; -BI.TextEditor.EVENT_KEY_DOWN = "EVENT_KEY_DOWN"; -BI.TextEditor.EVENT_SPACE = "EVENT_SPACE"; -BI.TextEditor.EVENT_BACKSPACE = "EVENT_BACKSPACE"; - -BI.TextEditor.EVENT_START = "EVENT_START"; -BI.TextEditor.EVENT_PAUSE = "EVENT_PAUSE"; -BI.TextEditor.EVENT_STOP = "EVENT_STOP"; -BI.TextEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.TextEditor.EVENT_VALID = "EVENT_VALID"; -BI.TextEditor.EVENT_ERROR = "EVENT_ERROR"; -BI.TextEditor.EVENT_ENTER = "EVENT_ENTER"; -BI.TextEditor.EVENT_RESTRICT = "EVENT_RESTRICT"; -BI.TextEditor.EVENT_REMOVE = "EVENT_REMOVE"; -BI.TextEditor.EVENT_EMPTY = "EVENT_EMPTY"; - -BI.shortcut("bi.text_editor", BI.TextEditor); \ No newline at end of file diff --git a/src/widget/editor/editor.text.small.js b/src/widget/editor/editor.text.small.js deleted file mode 100644 index 81fee1d7dc..0000000000 --- a/src/widget/editor/editor.text.small.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * 小号搜索框 - * Created by GUY on 2015/9/29. - * @class BI.SmallTextEditor - * @extends BI.SearchEditor - */ -BI.SmallTextEditor = BI.inherit(BI.TextEditor, { - _defaultConfig: function () { - var conf = BI.SmallTextEditor.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-small-text-editor", - height: 25 - }); - }, - - _init: function () { - BI.SmallTextEditor.superclass._init.apply(this, arguments); - } -}); -BI.shortcut("bi.small_text_editor", BI.SmallTextEditor); \ No newline at end of file diff --git a/src/widget/filemanager/buttongroup.filemanager.js b/src/widget/filemanager/buttongroup.filemanager.js deleted file mode 100644 index 831dd1bda2..0000000000 --- a/src/widget/filemanager/buttongroup.filemanager.js +++ /dev/null @@ -1,79 +0,0 @@ -/** - * 文件管理控件组 - * - * Created by GUY on 2015/12/11. - * @class BI.FileManagerButtonGroup - * @extends BI.Widget - */ -BI.FileManagerButtonGroup = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.FileManagerButtonGroup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-file-manager-button_group", - items: [] - }) - }, - - _init: function () { - BI.FileManagerButtonGroup.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.button_group = BI.createWidget({ - type: "bi.button_tree", - element: this, - chooseType: BI.Selection.Multi, - items: this._formatItems(o.items), - layouts: [{ - type: "bi.vertical" - }] - }); - this.button_group.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - }, - - _formatItems: function (items) { - var self = this, o = this.options; - BI.each(items, function (i, item) { - if (item.children && item.children.length > 0) { - item.type = "bi.file_manager_folder_item"; - } else { - item.type = "bi.file_manager_file_item"; - } - }); - return items; - }, - - setValue: function (v) { - this.button_group.setValue(v); - }, - - getValue: function () { - return this.button_group.getValue(); - }, - - getNotSelectedValue: function () { - return this.button_group.getNotSelectedValue(); - }, - - getAllLeaves: function () { - return this.button_group.getAllLeaves(); - }, - - getAllButtons: function () { - return this.button_group.getAllButtons(); - }, - - getSelectedButtons: function () { - return this.button_group.getSelectedButtons(); - }, - - getNotSelectedButtons: function () { - return this.button_group.getNotSelectedButtons(); - }, - - populate: function (items) { - this.button_group.populate(this._formatItems(items)); - } -}); -BI.FileManagerButtonGroup.EVENT_CHANGE = "FileManagerButtonGroup.EVENT_CHANGE"; -BI.shortcut("bi.file_manager_button_group", BI.FileManagerButtonGroup); \ No newline at end of file diff --git a/src/widget/filemanager/filemanager.js b/src/widget/filemanager/filemanager.js deleted file mode 100644 index ae5d2ade51..0000000000 --- a/src/widget/filemanager/filemanager.js +++ /dev/null @@ -1,115 +0,0 @@ -/** - * 文件管理控件 - * - * Created by GUY on 2015/12/11. - * @class BI.FileManager - * @extends BI.Widget - */ -BI.FileManager = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.FileManager.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-file-manager", - el: {}, - items: [] - }) - }, - - _init: function () { - BI.FileManager.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.tree = new BI.Tree(); - var items = BI.Tree.transformToTreeFormat(o.items); - this.tree.initTree(items); - this.selectedValues = []; - this.nav = BI.createWidget({ - type: "bi.file_manager_nav", - items: BI.deepClone(items) - }); - this.nav.on(BI.FileManagerNav.EVENT_CHANGE, function (value, obj) { - if (value == "-1") {//根节点 - self.populate({children: self.tree.toJSON()}); - } else { - var node = self.tree.search(obj.attr("id")); - self.populate(BI.extend({id: node.id}, node.get("data"), {children: self.tree.toJSON(node)})); - } - self.setValue(self.selectedValues); - }); - this.list = BI.createWidget(o.el, { - type: "bi.file_manager_list", - items: items - }); - this.list.on(BI.Controller.EVENT_CHANGE, function (type, selected, obj) { - if (type === BI.Events.CHANGE) { - var node = self.tree.search(obj.attr("id")); - self.populate(BI.extend({id: node.id}, node.get("data"), {children: self.tree.toJSON(node)})); - } else if (type === BI.Events.CLICK) { - var values = []; - if (obj instanceof BI.MultiSelectBar) { - var t = self.list.getValue(); - selected = t.type === BI.Selection.All; - values = BI.concat(t.assist, t.value); - } else { - values = obj.getAllLeaves(); - } - BI.each(values, function (i, v) { - if (selected === true) { - self.selectedValues.pushDistinct(v); - } else { - self.selectedValues.remove(v); - } - }); - } - self.setValue(self.selectedValues); - }); - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.list, - left: 0, - right: 0, - top: 0, - bottom: 10 - }, { - el: this.nav, - left: 40, - right: 100, - top: 0 - }] - }); - }, - - setValue: function (value) { - this.selectedValues = value || []; - this.list.setValue(this.selectedValues); - }, - - getValue: function () { - var obj = this.list.getValue(); - var res = obj.type === BI.Selection.All ? obj.assist : obj.value; - res.pushDistinctArray(this.selectedValues); - return res; - }, - - _populate: function (items) { - this.list.populate(items); - }, - - getSelectedValue: function () { - return this.nav.getValue()[0]; - }, - - getSelectedId: function () { - return this.nav.getId()[0]; - }, - - populate: function (node) { - var clone = BI.deepClone(node); - this._populate(node.children); - this.nav.populate(clone); - } -}); -BI.FileManager.EVENT_CHANGE = "FileManager.EVENT_CHANGE"; -BI.shortcut("bi.file_manager", BI.FileManager); \ No newline at end of file diff --git a/src/widget/filemanager/items/item.file.filemanager.js b/src/widget/filemanager/items/item.file.filemanager.js deleted file mode 100644 index 989dae523e..0000000000 --- a/src/widget/filemanager/items/item.file.filemanager.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 文件管理控件 - * - * Created by GUY on 2015/12/11. - * @class BI.FileManagerFileItem - * @extends BI.Single - */ -BI.FileManagerFileItem = BI.inherit(BI.Single, { - - _defaultConfig: function () { - return BI.extend(BI.FileManagerFileItem.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-file-manager-file-item bi-list-item bi-border-bottom", - height: 30 - }) - }, - - _init: function () { - BI.FileManagerFileItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checked = BI.createWidget({ - type: "bi.multi_select_bar", - text: "", - width: 36, - height: o.height - }); - this.checked.on(BI.Controller.EVENT_CHANGE, function () { - arguments[2] = self; - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - el: this.checked, - width: 36 - }, { - el: { - type: "bi.icon_button", - cls: "create-by-me-file-font" - }, - width: 20 - }, { - el: { - type: "bi.label", - textAlign: "left", - height: o.height, - text: o.text, - value: o.value - } - }] - }) - }, - - getAllLeaves: function(){ - return [this.options.value]; - }, - - isSelected: function () { - return this.checked.isSelected(); - }, - - setSelected: function (v) { - this.checked.setSelected(v); - } -}); -BI.FileManagerFileItem.EVENT_CHANGE = "FileManagerFileItem.EVENT_CHANGE"; -BI.shortcut("bi.file_manager_file_item", BI.FileManagerFileItem); \ No newline at end of file diff --git a/src/widget/filemanager/items/item.folder.filemanager.js b/src/widget/filemanager/items/item.folder.filemanager.js deleted file mode 100644 index c993f4eddc..0000000000 --- a/src/widget/filemanager/items/item.folder.filemanager.js +++ /dev/null @@ -1,153 +0,0 @@ -/** - * 文件管理控件 - * - * Created by GUY on 2015/12/11. - * @class BI.FileManagerFolderItem - * @extends BI.Single - */ -BI.FileManagerFolderItem = BI.inherit(BI.Single, { - - _defaultConfig: function () { - return BI.extend(BI.FileManagerFolderItem.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-file-manager-folder-item bi-list-item bi-border-bottom", - height: 30 - }) - }, - - _init: function () { - BI.FileManagerFolderItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checked = BI.createWidget({ - type: "bi.multi_select_bar", - text: "", - width: 36, - height: o.height - }); - this.checked.on(BI.Controller.EVENT_CHANGE, function () { - arguments[2] = self; - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.button = BI.createWidget({ - type: "bi.text_button", - textAlign: "left", - height: o.height, - text: o.text, - value: o.value - }); - this.button.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, BI.Events.CHANGE, o.value, self); - }); - - this.tree = new BI.Tree(); - this.tree.initTree([{ - id: o.id, - children: o.children - }]); - this.selectValue = []; - - BI.createWidget({ - type: "bi.htape", - element: this, - items: [{ - el: this.checked, - width: 36 - }, { - el: { - type: "bi.icon_button", - cls: "create-by-me-folder-font" - }, - width: 20 - }, { - el: this.button - }] - }) - }, - - setAllSelected: function (v) { - this.checked.setSelected(v); - this.selectValue = []; - }, - - setHalfSelected: function (v) { - this.checked.setHalfSelected(v); - if(!v){ - this.selectValue = []; - } - }, - - setValue: function (v) { - var self = this, o = this.options; - var isHalf = false; - var selectValue = []; - this.tree.traverse(function (node) { - if (node.isLeaf()) { - if (BI.contains(v, node.get("data").value)) { - selectValue.push(node.get("data").value); - } else { - isHalf = true; - } - } - }); - this.setAllSelected(selectValue.length > 0 && !isHalf); - this.setHalfSelected(selectValue.length > 0 && isHalf); - if (this.checked.isHalfSelected()) { - this.selectValue = selectValue; - } - }, - - getAllButtons: function () { - return [this]; - }, - - getAllLeaves: function () { - var o = this.options; - var res = []; - this.tree.traverse(function (node) { - if (node.isLeaf()) { - res.push(node.get("data").value) - } - }); - return res; - }, - - getNotSelectedValue: function () { - var self = this, o = this.options; - var res = []; - var isAllSelected = this.checked.isSelected(); - if (isAllSelected === true) { - return res; - } - var isHalfSelected = this.checked.isHalfSelected(); - this.tree.traverse(function (node) { - if (node.isLeaf()) { - var v = node.get("data").value; - if (isHalfSelected === true) { - if (!BI.contains(self.selectValue, node.get("data").value)) { - res.push(v); - } - } else { - res.push(v); - } - } - }); - return res; - }, - - getValue: function () { - var res = []; - if (this.checked.isSelected()) { - this.tree.traverse(function (node) { - if (node.isLeaf()) { - res.push(node.get("data").value); - } - }); - return res; - } - if (this.checked.isHalfSelected()) { - return this.selectValue; - } - return []; - } -}); -BI.FileManagerFolderItem.EVENT_CHANGE = "FileManagerFolderItem.EVENT_CHANGE"; -BI.shortcut("bi.file_manager_folder_item", BI.FileManagerFolderItem); \ No newline at end of file diff --git a/src/widget/filemanager/list.filemanager.js b/src/widget/filemanager/list.filemanager.js deleted file mode 100644 index 681c2b14d1..0000000000 --- a/src/widget/filemanager/list.filemanager.js +++ /dev/null @@ -1,58 +0,0 @@ -/** - * 文件管理控件列表 - * - * Created by GUY on 2015/12/11. - * @class BI.FileManagerList - * @extends BI.Widget - */ -BI.FileManagerList = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.FileManagerList.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-file-manager-list", - el: {}, - items: [] - }) - }, - - _init: function () { - BI.FileManagerList.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.list = BI.createWidget({ - type: "bi.select_list", - element: this, - items: o.items, - toolbar: { - type: "bi.multi_select_bar", - height: 40, - text: "" - }, - el: { - type: "bi.list_pane", - el: BI.isWidget(o.el) ? o.el : BI.extend({ - type: "bi.file_manager_button_group" - }, o.el) - } - }); - this.list.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - }, - - setValue: function (v) { - this.list.setValue({ - value: v - }); - }, - - getValue: function () { - return this.list.getValue(); - }, - - populate: function (items) { - this.list.populate(items); - this.list.setToolBarVisible(true); - } -}); -BI.FileManagerList.EVENT_CHANGE = "FileManagerList.EVENT_CHANGE"; -BI.shortcut("bi.file_manager_list", BI.FileManagerList); \ No newline at end of file diff --git a/src/widget/filemanager/nav/button/button.nav.filemanager.js b/src/widget/filemanager/nav/button/button.nav.filemanager.js deleted file mode 100644 index 09eaa7d1aa..0000000000 --- a/src/widget/filemanager/nav/button/button.nav.filemanager.js +++ /dev/null @@ -1,92 +0,0 @@ -/** - * 文件管理导航按钮 - * - * Created by GUY on 2015/12/11. - * @class BI.FileManagerNavButton - * @extends BI.Widget - */ -BI.FileManagerNavButton = BI.inherit(BI.Widget, { - - _const: { - normal_color: "#ffffff", - select_color: "#eff1f4" - }, - _defaultConfig: function () { - return BI.extend(BI.FileManagerNavButton.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-file-manager-nav-button", - selected: false, - height: 40 - }) - }, - - _init: function () { - BI.FileManagerNavButton.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.button = BI.createWidget({ - type: "bi.text_button", - cls: "file-manager-nav-button-text bi-card", - once: true, - selected: o.selected, - text: o.text, - title: o.text, - value: o.value, - height: o.height, - lgap: 20, - rgap: 10 - }); - this.button.on(BI.Controller.EVENT_CHANGE, function () { - arguments[2] = self; - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - var svg = BI.createWidget({ - type: "bi.svg", - cls: "file-manager-nav-button-triangle", - width: 15, - height: o.height - }); - var path = svg.path("M0,0L15,20L0,40").attr({ - "stroke": c.select_color, - "fill": o.selected ? c.select_color : c.normal_color - }); - this.button.on(BI.TextButton.EVENT_CHANGE, function () { - if (this.isSelected()) { - path.attr("fill", c.select_color); - } else { - path.attr("fill", c.normal_color); - } - }); - BI.createWidget({ - type: "bi.default", - element: this, - items: [this.button] - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: svg, - right: -15, - top: 0, - bottom: 0 - }] - }) - }, - - isSelected: function () { - return this.button.isSelected(); - }, - - setValue: function (v) { - this.button.setValue(v); - }, - - getValue: function () { - return this.button.getValue(); - }, - - populate: function (items) { - - } -}); -BI.FileManagerNavButton.EVENT_CHANGE = "FileManagerNavButton.EVENT_CHANGE"; -BI.shortcut("bi.file_manager_nav_button", BI.FileManagerNavButton); \ No newline at end of file diff --git a/src/widget/filemanager/nav/nav.filemanager.js b/src/widget/filemanager/nav/nav.filemanager.js deleted file mode 100644 index 2c7a43f1ed..0000000000 --- a/src/widget/filemanager/nav/nav.filemanager.js +++ /dev/null @@ -1,107 +0,0 @@ -/** - * 文件管理导航 - * - * Created by GUY on 2015/12/11. - * @class BI.FileManagerNav - * @extends BI.Widget - */ -BI.FileManagerNav = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.FileManagerNav.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-file-manager-nav bi-border-left", - height: 40, - items: [] - }) - }, - - _init: function () { - BI.FileManagerNav.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.tree = new BI.Tree(); - this.refreshTreeData(o.items); - this.tree.getRoot().set("data", { - text: BI.i18nText("BI-Created_By_Me"), - value: BI.FileManagerNav.ROOT_CREATE_BY_ME, - id: BI.FileManagerNav.ROOT_CREATE_BY_ME - }); - this.button_group = BI.createWidget({ - type: "bi.button_group", - element: this, - items: [{ - type: "bi.file_manager_nav_button", - text: BI.i18nText("BI-Created_By_Me"), - selected: true, - id: BI.FileManagerNav.ROOT_CREATE_BY_ME, - value: BI.FileManagerNav.ROOT_CREATE_BY_ME - }], - layouts: [{ - type: "bi.horizontal" - }] - }); - this.button_group.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.button_group.on(BI.ButtonGroup.EVENT_CHANGE, function (value, obj) { - self.fireEvent(BI.FileManagerNav.EVENT_CHANGE, arguments); - }); - }, - - _getAllParents: function (id) { - var node, res = []; - if (!id) { - node = this.tree.getRoot(); - } else { - node = this.tree.search(id); - } - while (node.parent) { - res.push(node); - node = node.parent; - } - res.push(node); - return res.reverse(); - }, - - _formatNodes: function (nodes) { - var res = []; - BI.each(nodes, function (i, node) { - res.push(BI.extend({ - type: "bi.file_manager_nav_button", - id: node.id - }, node.get("data"))); - }); - BI.last(res).selected = true; - return res; - }, - - getValue: function () { - return this.button_group.getValue(); - }, - - getId: function () { - var ids = []; - BI.each(this.button_group.getSelectedButtons(), function (i, btn) { - ids.push(btn.attr("id")); - }); - return ids; - }, - - refreshTreeData: function(items){ - this.tree.initTree(BI.Tree.transformToTreeFormat(items)); - this.tree.getRoot().set("data", { - text: BI.i18nText("BI-Created_By_Me"), - value: BI.FileManagerNav.ROOT_CREATE_BY_ME, - id: BI.FileManagerNav.ROOT_CREATE_BY_ME - }); - }, - - populate: function (node) { - var parents = BI.isNull(node) ? [this.tree.getRoot()] : this._getAllParents(node.id); - this.button_group.populate(this._formatNodes(parents)); - } -}); -BI.extend(BI.FileManagerNav, { - ROOT_CREATE_BY_ME: "-1" -}); -BI.FileManagerNav.EVENT_CHANGE = "FileManagerNav.EVENT_CHANGE"; -BI.shortcut("bi.file_manager_nav", BI.FileManagerNav); \ No newline at end of file diff --git a/src/widget/interactivearrangement/interactivearrangement.js b/src/widget/interactivearrangement/interactivearrangement.js deleted file mode 100644 index 2e9a43504a..0000000000 --- a/src/widget/interactivearrangement/interactivearrangement.js +++ /dev/null @@ -1,552 +0,0 @@ -/** - * 交互行为布局 - * - * - * Created by GUY on 2016/7/23. - * @class BI.InteractiveArrangement - * @extends BI.Widget - */ -BI.InteractiveArrangement = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.InteractiveArrangement.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-interactive-arrangement", - resizable: true, - layoutType: BI.Arrangement.LAYOUT_TYPE.GRID, - items: [] - }); - }, - - _init: function () { - BI.InteractiveArrangement.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.arrangement = BI.createWidget({ - type: "bi.adaptive_arrangement", - element: this, - resizable: o.resizable, - layoutType: o.layoutType, - items: o.items - }); - this.arrangement.on(BI.AdaptiveArrangement.EVENT_SCROLL, function () { - self.fireEvent(BI.InteractiveArrangement.EVENT_SCROLL, arguments); - }); - this.arrangement.on(BI.AdaptiveArrangement.EVENT_RESIZE, function () { - self.fireEvent(BI.InteractiveArrangement.EVENT_RESIZE, arguments); - }); - - this.arrangement.on(BI.AdaptiveArrangement.EVENT_ELEMENT_RESIZE, function (id, size) { - var p = self._getRegionClientPosition(id); - self.draw({ - left: p.left, - top: p.top - }, size, id); - }); - this.arrangement.on(BI.AdaptiveArrangement.EVENT_ELEMENT_STOP_RESIZE, function (id, size) { - self.stopDraw(); - self.setRegionSize(id, size); - }); - - this.tags = []; - - }, - - _isEqual: function (num1, num2) { - return this.arrangement._isEqual(num1, num2); - }, - - _getScrollOffset: function () { - return this.arrangement._getScrollOffset(); - }, - - _positionAt: function (position, regions) { - var self = this; - regions = regions || this.getAllRegions(); - var left = [], center = [], right = [], top = [], middle = [], bottom = []; - BI.each(regions, function (i, region) { - var client = self._getRegionClientPosition(region.id); - if (Math.abs(client.left - position.left) <= 3) { - left.push(region); - } - if (Math.abs(client.left + client.width / 2 - position.left) <= 3) { - center.push(region); - } - if (Math.abs(client.left + client.width - position.left) <= 3) { - right.push(region); - } - if (Math.abs(client.top - position.top) <= 3) { - top.push(region); - } - if (Math.abs(client.top + client.height / 2 - position.top) <= 3) { - middle.push(region); - } - if (Math.abs(client.top + client.height - position.top) <= 3) { - bottom.push(region); - } - }); - return { - left: left, - center: center, - right: right, - top: top, - middle: middle, - bottom: bottom - } - }, - - _getRegionClientPosition: function (name) { - var region = this.getRegionByName(name); - var offset = this.arrangement._getScrollOffset(); - return { - top: region.top - offset.top, - left: region.left - offset.left, - width: region.width, - height: region.height, - id: region.id - } - }, - - _vAlign: function (position, regions) { - var self = this; - var vs = this._positionAt(position, regions); - var positions = []; - var l; - if (vs.left.length > 0) { - l = this._getRegionClientPosition(vs.left[0].id).left; - } else if (vs.right.length > 0) { - var temp = this._getRegionClientPosition(vs.right[0].id); - l = temp.left + temp.width; - } else if (vs.center.length > 0) { - var temp = this._getRegionClientPosition(vs.center[0].id); - l = temp.left + temp.width / 2; - } - var rs = vs.left.concat(vs.right).concat(vs.center); - BI.each(rs, function (i, region) { - var p = self._getRegionClientPosition(region.id); - if (self._isEqual(p.left, l) || self._isEqual(p.left + p.width, l) || self._isEqual(p.left + p.width / 2, l)) { - var topPoint = { - top: p.top + p.height / 2, - left: l - }; - positions.push({ - id: region.id, - start: topPoint, - end: { - left: l, - top: position.top - } - }); - } - }); - return positions; - }, - - _leftAlign: function (position, size, regions) { - var self = this; - return this._vAlign({ - left: position.left, - top: position.top + size.height / 2 - }, regions); - }, - - _rightAlign: function (position, size, regions) { - var self = this; - return this._vAlign({ - left: position.left + size.width, - top: position.top + size.height / 2 - }, regions); - }, - - _hAlign: function (position, regions) { - var self = this; - var hs = this._positionAt(position, regions); - var positions = []; - var t; - if (hs.top.length > 0) { - var temp = this._getRegionClientPosition(hs.top[0].id); - t = temp.top; - } else if (hs.bottom.length > 0) { - var temp = this._getRegionClientPosition(hs.bottom[0].id); - t = temp.top + temp.height; - } else if (hs.middle.length > 0) { - var temp = this._getRegionClientPosition(hs.middle[0].id); - t = temp.top + temp.height / 2; - } - var rs = hs.top.concat(hs.bottom).concat(hs.middle); - BI.each(rs, function (i, region) { - var p = self._getRegionClientPosition(region.id); - if (self._isEqual(p.top, t) || self._isEqual(p.top + p.height, t) || self._isEqual(p.top + p.height / 2, t)) { - var leftPoint = { - top: t, - left: p.left + p.width / 2 - }; - positions.push({ - id: p.id, - start: leftPoint, - end: { - left: position.left, - top: t - } - }); - } - }); - return positions; - }, - - _topAlign: function (position, size, regions) { - var self = this; - return this._hAlign({ - left: position.left + size.width / 2, - top: position.top - }, regions); - }, - - _bottomAlign: function (position, size, regions) { - var self = this; - return this._hAlign({ - left: position.left + size.width / 2, - top: position.top + size.height - }, regions); - }, - - _centerAlign: function (position, size, regions) { - var self = this; - return this._vAlign({ - left: position.left + size.width / 2, - top: position.top + size.height / 2 - }, regions); - }, - - _middleAlign: function (position, size, regions) { - var self = this; - return this._hAlign({ - left: position.left + size.width / 2, - top: position.top + size.height / 2 - }, regions); - }, - - - _drawOneTag: function (start, end) { - var s = BI.createWidget({ - type: "bi.icon_button", - //invisible: true, - width: 13, - height: 13, - cls: "drag-tag-font interactive-arrangement-dragtag-icon" - }); - var e = BI.createWidget({ - type: "bi.icon_button", - //invisible: true, - width: 13, - height: 13, - cls: "drag-tag-font interactive-arrangement-dragtag-icon" - }); - if (this._isEqual(start.left, end.left)) { - var line = BI.createWidget({ - type: "bi.layout", - //invisible: true, - cls: "interactive-arrangement-dragtag-line", - width: 1, - height: Math.abs(start.top - end.top) - }); - } else { - var line = BI.createWidget({ - type: "bi.layout", - //invisible: true, - cls: "interactive-arrangement-dragtag-line", - height: 1, - width: Math.abs(start.left - end.left) - }); - } - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: s, - left: start.left - 6, - top: start.top - 7 - }, { - el: e, - left: end.left - 6, - top: end.top - 7 - }, { - el: line, - left: Math.min(start.left, end.left), - top: Math.min(start.top, end.top) - }] - }); - this.tags.push(s); - this.tags.push(e); - this.tags.push(line); - }, - - stopDraw: function () { - BI.each(this.tags, function (i, w) { - w.destroy(); - }); - this.tags = []; - }, - - _getRegionExcept: function (name, regions) { - var other = []; - BI.each(regions || this.getAllRegions(), function (i, region) { - if (!(name && region.id === name)) { - other.push(region); - } - }); - return other; - }, - - getClientWidth: function () { - return this.arrangement.getClientWidth(); - }, - - getClientHeight: function () { - return this.arrangement.getClientHeight(); - }, - - getPosition: function (name, position, size) { - var regions = this.getAllRegions(); - var me; - if (name) { - me = this._getRegionClientPosition(name); - } - var other = this._getRegionExcept(name, regions); - position = position || { - left: me.left, - top: me.top - }; - size = size || { - width: me.width, - height: me.height - }; - var left = this._leftAlign(position, size, other); - var right = this._rightAlign(position, size, other); - var top = this._topAlign(position, size, other, other); - var bottom = this._bottomAlign(position, size, other); - var center = this._centerAlign(position, size, other); - var middle = this._middleAlign(position, size, other); - - BI.each(center, function (i, pos) { - position.left = pos.end.left - size.width / 2; - }); - BI.each(right, function (i, pos) { - position.left = pos.end.left - size.width; - }); - BI.each(left, function (i, pos) { - position.left = pos.end.left; - }); - BI.each(middle, function (i, pos) { - position.top = pos.end.top - size.height / 2; - }); - BI.each(bottom, function (i, pos) { - position.top = pos.end.top - size.height; - }); - BI.each(top, function (i, pos) { - position.top = pos.end.top; - }); - return position; - }, - - //position不动 变size - getSize: function (name, position, size) { - var regions = this.getAllRegions(); - var me; - if (name) { - me = this._getRegionClientPosition(name); - } - var other = this._getRegionExcept(name, regions); - position = position || { - left: me.left, - top: me.top - }; - size = size || { - width: me.width, - height: me.height - }; - var left = this._leftAlign(position, size, other); - var right = this._rightAlign(position, size, other); - var top = this._topAlign(position, size, other, other); - var bottom = this._bottomAlign(position, size, other); - var center = this._centerAlign(position, size, other); - var middle = this._middleAlign(position, size, other); - - BI.each(center, function (i, pos) { - size.width = (pos.end.left - position.left) * 2; - }); - BI.each(right, function (i, pos) { - size.width = pos.end.left - position.left; - }); - BI.each(left, function (i, pos) { - }); - BI.each(middle, function (i, pos) { - size.height = (pos.end.top - position.top) * 2; - }); - BI.each(bottom, function (i, pos) { - size.height = pos.end.top - position.top; - }); - BI.each(top, function (i, pos) { - }); - return size; - }, - - draw: function (position, size, name) { - var self = this; - this.stopDraw(); - switch (this.getLayoutType()) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - var other = this._getRegionExcept(name); - var left = this._leftAlign(position, size, other); - var right = this._rightAlign(position, size, other); - var top = this._topAlign(position, size, other); - var bottom = this._bottomAlign(position, size, other); - var center = this._centerAlign(position, size, other); - var middle = this._middleAlign(position, size, other); - - BI.each(center, function (i, pos) { - self._drawOneTag(pos.start, pos.end); - }); - BI.each(right, function (i, pos) { - self._drawOneTag(pos.start, pos.end); - }); - BI.each(left, function (i, pos) { - self._drawOneTag(pos.start, pos.end); - }); - BI.each(middle, function (i, pos) { - self._drawOneTag(pos.start, pos.end); - }); - BI.each(bottom, function (i, pos) { - self._drawOneTag(pos.start, pos.end); - }); - BI.each(top, function (i, pos) { - self._drawOneTag(pos.start, pos.end); - }); - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - break; - } - }, - - addRegion: function (region, position) { - this.stopDraw(); - return this.arrangement.addRegion(region, position); - }, - - deleteRegion: function (name) { - return this.arrangement.deleteRegion(name); - }, - - setRegionSize: function (name, size) { - size = this.getSize(name, null, size); - return this.arrangement.setRegionSize(name, size); - }, - - setPosition: function (position, size) { - var self = this; - this.stopDraw(); - if (position.left > 0 && position.top > 0) { - switch (this.getLayoutType()) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - position = this.getPosition(null, position, size); - this.draw(position, size); - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - break; - } - } - var at = this.arrangement.setPosition(position, size); - return at; - }, - - setRegionPosition: function (name, position) { - if (position.left > 0 && position.top > 0) { - switch (this.getLayoutType()) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - position = this.getPosition(name, position); - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - break; - } - } - return this.arrangement.setRegionPosition(name, position); - }, - - setDropPosition: function (position, size) { - var self = this; - this.stopDraw(); - if (position.left > 0 && position.top > 0) { - switch (this.getLayoutType()) { - case BI.Arrangement.LAYOUT_TYPE.FREE: - position = this.getPosition(null, position, size); - this.draw(position, size); - break; - case BI.Arrangement.LAYOUT_TYPE.GRID: - break; - } - } - var callback = self.arrangement.setDropPosition(position, size); - return function () { - callback(); - self.stopDraw(); - } - }, - - scrollInterval: function () { - this.arrangement.scrollInterval.apply(this.arrangement, arguments); - }, - - scrollEnd: function () { - this.arrangement.scrollEnd.apply(this.arrangement, arguments); - }, - - scrollTo: function (scroll) { - this.arrangement.scrollTo(scroll); - }, - - zoom: function (ratio) { - this.arrangement.zoom(ratio); - }, - - resize: function () { - return this.arrangement.resize(); - }, - - relayout: function () { - return this.arrangement.relayout(); - }, - - setLayoutType: function (type) { - this.arrangement.setLayoutType(type); - }, - - getLayoutType: function () { - return this.arrangement.getLayoutType(); - }, - - getLayoutRatio: function () { - return this.arrangement.getLayoutRatio(); - }, - - getHelper: function () { - return this.arrangement.getHelper(); - }, - - getRegionByName: function (name) { - return this.arrangement.getRegionByName(name); - }, - - getAllRegions: function () { - return this.arrangement.getAllRegions(); - }, - - revoke: function () { - return this.arrangement.revoke(); - }, - - populate: function (items) { - var self = this; - this.arrangement.populate(items); - } -}); -BI.InteractiveArrangement.EVENT_RESIZE = "InteractiveArrangement.EVENT_RESIZE"; -BI.InteractiveArrangement.EVENT_SCROLL = "InteractiveArrangement.EVENT_SCROLL"; -BI.shortcut('bi.interactive_arrangement', BI.InteractiveArrangement); \ No newline at end of file diff --git a/src/widget/intervalslider/intervalslider.js b/src/widget/intervalslider/intervalslider.js deleted file mode 100644 index 22a86df3ca..0000000000 --- a/src/widget/intervalslider/intervalslider.js +++ /dev/null @@ -1,499 +0,0 @@ -/** - * Created by zcf on 2016/9/26. - */ -BI.IntervalSlider = BI.inherit(BI.Widget, { - _constant: { - EDITOR_WIDTH: 58, - EDITOR_R_GAP: 60, - EDITOR_HEIGHT: 30, - SLIDER_WIDTH_HALF: 15, - SLIDER_WIDTH: 30, - SLIDER_HEIGHT: 30, - TRACK_HEIGHT: 24 - }, - - _defaultConfig: function () { - return BI.extend(BI.IntervalSlider.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-interval-slider bi-slider-track" - }) - }, - - _init: function () { - BI.IntervalSlider.superclass._init.apply(this, arguments); - - var self = this; - var c = this._constant; - this.enable = false; - this.valueOne = ""; - this.valueTwo = ""; - this.calculation = new BI.AccurateCalculationModel(); - - // this.backgroundTrack = BI.createWidget({ - // type: "bi.layout", - // cls: "background-track", - // height: c.TRACK_HEIGHT - // }); - this.grayTrack = BI.createWidget({ - type: "bi.layout", - cls: "gray-track", - height: 6 - }); - this.blueTrack = BI.createWidget({ - type: "bi.layout", - cls: "blue-track bi-high-light-background", - height: 6 - }); - this.track = this._createTrackWrapper(); - - this.labelOne = BI.createWidget({ - type: "bi.sign_editor", - cls: "slider-editor-button", - errorText: "", - allowBlank: false, - width: c.EDITOR_WIDTH, - validationChecker: function (v) { - return self._checkValidation(v); - } - }); - this.labelOne.element.hover(function () { - self.labelOne.element.removeClass("bi-border").addClass("bi-border"); - }, function () { - self.labelOne.element.removeClass("bi-border"); - }); - this.labelOne.on(BI.Editor.EVENT_CONFIRM, function () { - var v = BI.parseFloat(this.getValue()); - self.valueOne = v; - var percent = self._getPercentByValue(v); - var significantPercent = BI.parseFloat(percent.toFixed(1));//分成1000份 - self._setLabelOnePosition(significantPercent); - self._setSliderOnePosition(significantPercent); - self._setBlueTrack(); - self.fireEvent(BI.IntervalSlider.EVENT_CHANGE); - }); - - this.labelTwo = BI.createWidget({ - type: "bi.sign_editor", - cls: "slider-editor-button", - errorText: "", - allowBlank: false, - width: c.EDITOR_WIDTH, - validationChecker: function (v) { - return self._checkValidation(v); - } - }); - this.labelTwo.element.hover(function () { - self.labelTwo.element.removeClass("bi-border").addClass("bi-border"); - }, function () { - self.labelTwo.element.removeClass("bi-border"); - }); - this.labelTwo.on(BI.Editor.EVENT_CONFIRM, function () { - var v = BI.parseFloat(this.getValue()); - self.valueTwo = v; - var percent = self._getPercentByValue(v); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setLabelTwoPosition(significantPercent); - self._setSliderTwoPosition(significantPercent); - self._setBlueTrack(); - self.fireEvent(BI.IntervalSlider.EVENT_CHANGE); - }); - - this.sliderOne = BI.createWidget({ - type: "bi.single_slider_button" - }); - this.sliderTwo = BI.createWidget({ - type: "bi.single_slider_button" - }); - this._draggable(this.sliderOne, true); - this._draggable(this.sliderTwo, false); - this._setVisible(false); - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.track, - width: "100%", - height: c.TRACK_HEIGHT - }] - }], - hgap: 7, - height: c.TRACK_HEIGHT - }, - top: 23, - left: 0, - width: "100%" - }, - this._createLabelWrapper(), - this._createSliderWrapper() - ] - }) - }, - - _rePosBySizeAfterMove: function (size, isLeft) { - var percent = size * 100 / (this._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - var v = this._getValueByPercent(significantPercent); - v = this._assertValue(v); - if(isLeft){ - this._setLabelOnePosition(significantPercent); - this._setSliderOnePosition(significantPercent); - this.labelOne.setValue(v); - this.valueOne = v; - }else{ - this._setLabelTwoPosition(significantPercent); - this._setSliderTwoPosition(significantPercent); - this.labelTwo.setValue(v); - this.valueTwo = v; - } - this._setBlueTrack(); - }, - - _rePosBySizeAfterStop: function (size, isLeft) { - var percent = size * 100 / (this._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - isLeft ? this._setSliderOnePosition(significantPercent) : this._setSliderTwoPosition(significantPercent); - }, - - _draggable: function (widget, isLeft) { - var self = this, o = this.options; - var startDrag = false; - var size = 0, offset = 0, defaultSize = 0; - var mouseMoveTracker = new BI.MouseMoveTracker(function (deltaX) { - if (mouseMoveTracker.isDragging()) { - startDrag = true; - offset += deltaX; - size = optimizeSize(defaultSize + offset); - widget.element.addClass("dragging"); - self._rePosBySizeAfterMove(size, isLeft); - } - }, function () { - if (startDrag === true) { - size = optimizeSize(size); - self._rePosBySizeAfterStop(size, isLeft); - size = 0; - offset = 0; - defaultSize = size; - startDrag = false; - } - widget.element.removeClass("dragging"); - mouseMoveTracker.releaseMouseMoves(); - self.fireEvent(BI.IntervalSlider.EVENT_CHANGE); - }, document); - widget.element.on("mousedown", function (event) { - if(!widget.isEnabled()){ - return; - } - defaultSize = this.offsetLeft; - optimizeSize(defaultSize); - mouseMoveTracker.captureMouseMoves(event); - }); - - function optimizeSize(s) { - return BI.clamp(s, 0, o.width); - } - }, - - _createLabelWrapper: function () { - var c = this._constant; - return { - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.labelOne, - top: 0, - left: "0%" - }] - }, { - type: "bi.absolute", - items: [{ - el: this.labelTwo, - top: 0, - left: "100%" - }] - }], - rgap: c.EDITOR_R_GAP, - height: 70 - }, - top: 0, - left: 0, - width: "100%" - } - }, - - _createSliderWrapper: function () { - var c = this._constant; - return { - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.sliderOne, - top: 0, - left: "0%" - }] - }, { - type: "bi.absolute", - items: [{ - el: this.sliderTwo, - top: 0, - left: "100%" - }] - }], - hgap: c.SLIDER_WIDTH_HALF, - height: c.SLIDER_HEIGHT - }, - top: 20, - left: 0, - width: "100%" - } - }, - - _createTrackWrapper: function () { - return BI.createWidget({ - type: "bi.absolute", - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.grayTrack, - top: 0, - left: 0, - width: "100%" - }, { - el: this.blueTrack, - top: 0, - left: 0, - width: "0%" - }] - }], - hgap: 8, - height: 8 - }, - top: 8, - left: 0, - width: "100%" - }] - }) - }, - - _checkValidation: function (v) { - return BI.isNumeric(v) && !(BI.isNull(v) || v < this.min || v > this.max) - }, - - _checkOverlap: function () { - var labelOneLeft = this.labelOne.element[0].offsetLeft; - var labelTwoLeft = this.labelTwo.element[0].offsetLeft; - if (labelOneLeft <= labelTwoLeft) { - if ((labelTwoLeft - labelOneLeft) < 90) { - this.labelTwo.element.css({"top": 40}); - } else { - this.labelTwo.element.css({"top": 0}); - } - } else { - if ((labelOneLeft - labelTwoLeft) < 90) { - this.labelTwo.element.css({"top": 40}); - } else { - this.labelTwo.element.css({"top": 0}); - } - } - }, - - _setLabelOnePosition: function (percent) { - this.labelOne.element.css({"left": percent + "%"}); - this._checkOverlap(); - }, - - _setLabelTwoPosition: function (percent) { - this.labelTwo.element.css({"left": percent + "%"}); - this._checkOverlap(); - }, - - _setSliderOnePosition: function (percent) { - this.sliderOne.element.css({"left": percent + "%"}); - }, - - _setSliderTwoPosition: function (percent) { - this.sliderTwo.element.css({"left": percent + "%"}); - }, - - _setBlueTrackLeft: function (percent) { - this.blueTrack.element.css({"left": percent + "%"}); - }, - - _setBlueTrackWidth: function (percent) { - this.blueTrack.element.css({"width": percent + "%"}); - }, - - _setBlueTrack: function () { - var percentOne = this._getPercentByValue(this.labelOne.getValue()); - var percentTwo = this._getPercentByValue(this.labelTwo.getValue()); - if (percentOne <= percentTwo) { - this._setBlueTrackLeft(percentOne); - this._setBlueTrackWidth(percentTwo - percentOne); - } else { - this._setBlueTrackLeft(percentTwo); - this._setBlueTrackWidth(percentOne - percentTwo); - } - }, - - _setAllPosition: function (one, two) { - this._setSliderOnePosition(one); - this._setLabelOnePosition(one); - this._setSliderTwoPosition(two); - this._setLabelTwoPosition(two); - this._setBlueTrack(); - }, - - _setVisible: function (visible) { - this.sliderOne.setVisible(visible); - this.sliderTwo.setVisible(visible); - this.labelOne.setVisible(visible); - this.labelTwo.setVisible(visible); - }, - - _setErrorText: function () { - var errorText = BI.i18nText("BI-Please_Enter") + this.min + "-" + this.max + BI.i18nText("BI-Basic_De") + BI.i18nText("BI-Basic_Number"); - this.labelOne.setErrorText(errorText); - this.labelTwo.setErrorText(errorText); - }, - - _getGrayTrackLength: function () { - return this.grayTrack.element[0].scrollWidth - }, - - //其中取max-min后保留4为有效数字后的值的小数位数为最终value的精度 - _getValueByPercent: function (percent) {//return (((max-min)*percent)/100+min) - var sub = this.calculation.accurateSubtraction(this.max, this.min); - var mul = this.calculation.accurateMultiplication(sub, percent); - var div = this.calculation.accurateDivisionTenExponent(mul, 2); - if(this.precision < 0){ - var value = BI.parseFloat(this.calculation.accurateAddition(div, this.min)); - var reduceValue = Math.round(this.calculation.accurateDivisionTenExponent(value, -this.precision)); - return this.calculation.accurateMultiplication(reduceValue, Math.pow(10, -this.precision)); - }else{ - return BI.parseFloat(this.calculation.accurateAddition(div, this.min).toFixed(this.precision)); - } - }, - - _getPercentByValue: function (v) { - return (v - this.min) * 100 / (this.max - this.min); - }, - - _setDraggableEnable: function (enable) { - this.sliderOne.setEnable(enable); - this.sliderTwo.setEnable(enable); - }, - - _getPrecision: function () { - //计算每一份值的精度(最大值和最小值的差值保留4为有效数字后的精度) - //如果差值的整数位数大于4,toPrecision(4)得到的是科学计数法123456 => 1.235e+5 - //返回非负值: 保留的小数位数 - //返回负值: 保留的10^n精度中的n - var sub = this.calculation.accurateSubtraction(this.max, this.min); - var pre = sub.toPrecision(4); - //科学计数法 - var eIndex = pre.indexOf("e"); - var arr = []; - if(eIndex > -1){ - arr = pre.split("e"); - var decimalPartLength = BI.size(arr[0].split(".")[1]); - var sciencePartLength = BI.parseInt(arr[1].substring(1)); - return decimalPartLength - sciencePartLength; - }else{ - arr = pre.split("."); - return arr.length > 1 ? arr[1].length : 0; - } - }, - - _assertValue: function (value) { - if(value <= this.min){ - return this.min - } - if(value >= this.max){ - return this.max; - } - return value; - }, - - getValue: function () { - if (this.valueOne <= this.valueTwo) { - return {min: this.valueOne, max: this.valueTwo} - } else { - return {min: this.valueTwo, max: this.valueOne} - } - }, - - setMinAndMax: function (v) { - var minNumber = BI.parseFloat(v.min); - var maxNumber = BI.parseFloat(v.max); - if ((!isNaN(minNumber)) && (!isNaN(maxNumber)) && (maxNumber >= minNumber )) { - this.min = minNumber; - this.max = maxNumber; - this.valueOne = minNumber; - this.valueTwo = maxNumber; - this.precision = this._getPrecision(); - this._setDraggableEnable(true); - } - if (maxNumber === minNumber) { - this._setDraggableEnable(false); - } - }, - - setValue: function (v) { - var valueOne = BI.parseFloat(v.min); - var valueTwo = BI.parseFloat(v.max); - if (!isNaN(valueOne) && !isNaN(valueTwo)) { - if (this._checkValidation(valueOne)) { - this.valueOne = valueOne; - } - if (this._checkValidation(valueTwo)) { - this.valueTwo = valueTwo; - } - if (valueOne < this.min) { - this.valueOne = this.min; - } - if (valueTwo > this.max) { - this.valueTwo = this.max; - } - } - }, - - reset: function () { - this._setVisible(false); - this.enable = false; - this.valueOne = ""; - this.valueTwo = ""; - this.min = NaN; - this.max = NaN; - this._setBlueTrackWidth(0); - }, - - populate: function () { - if (!isNaN(this.min) && !isNaN(this.max)) { - this.enable = true; - this._setVisible(true); - this._setErrorText(); - if ((BI.isNumeric(this.valueOne) || BI.isNotEmptyString(this.valueOne)) && (BI.isNumeric(this.valueTwo) || BI.isNotEmptyString(this.valueTwo))) { - this.labelOne.setValue(this.valueOne); - this.labelTwo.setValue(this.valueTwo); - this._setAllPosition(this._getPercentByValue(this.valueOne), this._getPercentByValue(this.valueTwo)); - } else { - this.labelOne.setValue(this.min); - this.labelTwo.setValue(this.max); - this._setAllPosition(0, 100) - } - } - } -}); -BI.IntervalSlider.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.interval_slider", BI.IntervalSlider); \ No newline at end of file diff --git a/src/widget/intervalslider/intervalslider.label.js b/src/widget/intervalslider/intervalslider.label.js deleted file mode 100644 index bcabd72aa4..0000000000 --- a/src/widget/intervalslider/intervalslider.label.js +++ /dev/null @@ -1,458 +0,0 @@ -/** - * Created by zcf on 2016/9/26. - */ -BI.IntervalSliderLabel = BI.inherit(BI.Widget, { - _constant: { - EDITOR_WIDTH: 58, - EDITOR_R_GAP: 60, - EDITOR_HEIGHT: 20, - HEIGHT: 20, - SLIDER_WIDTH_HALF: 15, - SLIDER_WIDTH: 30, - SLIDER_HEIGHT: 30, - TRACK_HEIGHT: 24 - }, - - _defaultConfig: function () { - return BI.extend(BI.IntervalSliderLabel.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-interval-slider-label bi-slider-track", - digit: false, - unit: "" - }) - }, - - _init: function () { - BI.IntervalSliderLabel.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - var c = this._constant; - this.enable = false; - this.valueOne = ""; - this.valueTwo = ""; - this.calculation = new BI.AccurateCalculationModel(); - - this.grayTrack = BI.createWidget({ - type: "bi.layout", - cls: "gray-track", - height: 6 - }); - this.blueTrack = BI.createWidget({ - type: "bi.layout", - cls: "blue-track bi-high-light-background", - height: 6 - }); - this.track = this._createTrackWrapper(); - - this.labelOne = BI.createWidget({ - type: "bi.label", - height: c.HEIGHT, - width: c.EDITOR_WIDTH - }); - - this.labelTwo = BI.createWidget({ - type: "bi.label", - height: c.HEIGHT, - width: c.EDITOR_WIDTH - }); - - this.sliderOne = BI.createWidget({ - type: "bi.single_slider_button" - }); - - this.sliderTwo = BI.createWidget({ - type: "bi.single_slider_button" - }); - this._draggable(this.sliderOne, true); - this._draggable(this.sliderTwo, false); - this._setVisible(false); - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.track, - width: "100%", - height: c.TRACK_HEIGHT - }] - }], - hgap: 7, - height: c.TRACK_HEIGHT - }, - top: 13, - left: 0, - width: "100%" - }, - this._createLabelWrapper(), - this._createSliderWrapper() - ] - }) - }, - - _rePosBySizeAfterMove: function (size, isLeft) { - var percent = size * 100 / (this._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - var v = this._getValueByPercent(significantPercent); - v = this._assertValue(v); - if(isLeft){ - this._setLabelOnePosition(significantPercent); - this._setSliderOnePosition(significantPercent); - this.labelOne.setValue(v); - this.valueOne = v; - }else{ - this._setLabelTwoPosition(significantPercent); - this._setSliderTwoPosition(significantPercent); - this.labelTwo.setValue(v); - this.valueTwo = v; - } - this._setBlueTrack(); - }, - - _rePosBySizeAfterStop: function (size, isLeft) { - var percent = size * 100 / (this._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - isLeft ? this._setSliderOnePosition(significantPercent) : this._setSliderTwoPosition(significantPercent); - }, - - _draggable: function (widget, isLeft) { - var self = this, o = this.options; - var startDrag = false; - var size = 0, offset = 0, defaultSize = 0; - var mouseMoveTracker = new BI.MouseMoveTracker(function (deltaX) { - if (mouseMoveTracker.isDragging()) { - startDrag = true; - offset += deltaX; - size = optimizeSize(defaultSize + offset); - widget.element.addClass("dragging"); - self._rePosBySizeAfterMove(size, isLeft); - } - }, function () { - if (startDrag === true) { - size = optimizeSize(size); - self._rePosBySizeAfterStop(size, isLeft); - size = 0; - offset = 0; - defaultSize = size; - startDrag = false; - } - widget.element.removeClass("dragging"); - mouseMoveTracker.releaseMouseMoves(); - self.fireEvent(BI.IntervalSliderLabel.EVENT_CHANGE); - }, document); - widget.element.on("mousedown", function (event) { - if(!widget.isEnabled()){ - return; - } - defaultSize = this.offsetLeft; - optimizeSize(defaultSize); - mouseMoveTracker.captureMouseMoves(event); - }); - - function optimizeSize(s) { - return BI.clamp(s, 0, o.width); - } - }, - - _createLabelWrapper: function () { - var c = this._constant; - return { - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.labelOne, - top: 0, - left: "0%" - }] - }, { - type: "bi.absolute", - items: [{ - el: this.labelTwo, - top: 0, - left: "100%" - }] - }], - rgap: c.EDITOR_R_GAP, - height: 50 - }, - top: 0, - left: 0, - width: "100%" - } - }, - - _createSliderWrapper: function () { - var c = this._constant; - return { - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.sliderOne, - top: 0, - left: "0%" - }] - }, { - type: "bi.absolute", - items: [{ - el: this.sliderTwo, - top: 0, - left: "100%" - }] - }], - hgap: c.SLIDER_WIDTH_HALF, - height: c.SLIDER_HEIGHT - }, - top: 10, - left: 0, - width: "100%" - } - }, - - _createTrackWrapper: function () { - return BI.createWidget({ - type: "bi.absolute", - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.grayTrack, - top: 0, - left: 0, - width: "100%" - }, { - el: this.blueTrack, - top: 0, - left: 0, - width: "0%" - }] - }], - hgap: 8, - height: 8 - }, - top: 8, - left: 0, - width: "100%" - }] - }) - }, - - _checkValidation: function (v) { - return BI.isNumeric(v) && !(BI.isNull(v) || v < this.min || v > this.max) - }, - - _checkOverlap: function () { - var labelOneLeft = this.labelOne.element[0].offsetLeft; - var labelTwoLeft = this.labelTwo.element[0].offsetLeft; - if (labelOneLeft <= labelTwoLeft) { - if ((labelTwoLeft - labelOneLeft) < 90) { - this.labelTwo.element.css({"top": 30}); - } else { - this.labelTwo.element.css({"top": 0}); - } - } else { - if ((labelOneLeft - labelTwoLeft) < 90) { - this.labelTwo.element.css({"top": 30}); - } else { - this.labelTwo.element.css({"top": 0}); - } - } - }, - - _setLabelOnePosition: function (percent) { - this.labelOne.element.css({"left": percent + "%"}); - this._checkOverlap(); - }, - - _setLabelTwoPosition: function (percent) { - this.labelTwo.element.css({"left": percent + "%"}); - this._checkOverlap(); - }, - - _setSliderOnePosition: function (percent) { - this.sliderOne.element.css({"left": percent + "%"}); - }, - - _setSliderTwoPosition: function (percent) { - this.sliderTwo.element.css({"left": percent + "%"}); - }, - - _setBlueTrackLeft: function (percent) { - this.blueTrack.element.css({"left": percent + "%"}); - }, - - _setBlueTrackWidth: function (percent) { - this.blueTrack.element.css({"width": percent + "%"}); - }, - - _setBlueTrack: function () { - var percentOne = this._getPercentByValue(this.labelOne.getValue()); - var percentTwo = this._getPercentByValue(this.labelTwo.getValue()); - if (percentOne <= percentTwo) { - this._setBlueTrackLeft(percentOne); - this._setBlueTrackWidth(percentTwo - percentOne); - } else { - this._setBlueTrackLeft(percentTwo); - this._setBlueTrackWidth(percentOne - percentTwo); - } - }, - - _setAllPosition: function (one, two) { - this._setSliderOnePosition(one); - this._setLabelOnePosition(one); - this._setSliderTwoPosition(two); - this._setLabelTwoPosition(two); - this._setBlueTrack(); - }, - - _setVisible: function (visible) { - this.sliderOne.setVisible(visible); - this.sliderTwo.setVisible(visible); - this.labelOne.setVisible(visible); - this.labelTwo.setVisible(visible); - }, - - _getGrayTrackLength: function () { - return this.grayTrack.element[0].scrollWidth - }, - - //其中取max-min后保留4为有效数字后的值的小数位数为最终value的精度 - _getValueByPercent: function (percent) {//return (((max-min)*percent)/100+min) - var sub = this.calculation.accurateSubtraction(this.max, this.min); - var mul = this.calculation.accurateMultiplication(sub, percent); - var div = this.calculation.accurateDivisionTenExponent(mul, 2); - if (this.precision < 0) { - var value = BI.parseFloat(this.calculation.accurateAddition(div, this.min)); - var reduceValue = Math.round(this.calculation.accurateDivisionTenExponent(value, -this.precision)); - return this.calculation.accurateMultiplication(reduceValue, Math.pow(10, -this.precision)); - } else { - return BI.parseFloat(this.calculation.accurateAddition(div, this.min).toFixed(this.precision)); - } - }, - - _getPercentByValue: function (v) { - return (v - this.min) * 100 / (this.max - this.min); - }, - - _setDraggableEnable: function (enable) { - this.sliderOne.setEnable(enable); - this.sliderTwo.setEnable(enable); - }, - - _getPrecision: function () { - //计算每一份值的精度(最大值和最小值的差值保留4为有效数字后的精度) - //如果差值的整数位数大于4,toPrecision(4)得到的是科学计数法123456 => 1.235e+5 - //返回非负值: 保留的小数位数 - //返回负值: 保留的10^n精度中的n - var sub = this.calculation.accurateSubtraction(this.max, this.min); - var pre = sub.toPrecision(4); - //科学计数法 - var eIndex = pre.indexOf("e"); - var arr = []; - if (eIndex > -1) { - arr = pre.split("e"); - var decimalPartLength = BI.size(arr[0].split(".")[1]); - var sciencePartLength = BI.parseInt(arr[1].substring(1)); - return decimalPartLength - sciencePartLength; - } else { - arr = pre.split("."); - return arr.length > 1 ? arr[1].length : 0; - } - }, - - _assertValue: function (value) { - if (value <= this.min) { - return this.min - } - if (value >= this.max) { - return this.max; - } - return value; - }, - - getValue: function () { - if (this.valueOne <= this.valueTwo) { - return {min: this.valueOne, max: this.valueTwo} - } else { - return {min: this.valueTwo, max: this.valueOne} - } - }, - - setMinAndMax: function (v) { - var minNumber = BI.parseFloat(v.min); - var maxNumber = BI.parseFloat(v.max); - if ((!isNaN(minNumber)) && (!isNaN(maxNumber)) && (maxNumber >= minNumber )) { - this.min = minNumber; - this.max = maxNumber; - this.valueOne = minNumber; - this.valueTwo = maxNumber; - this.precision = this._getPrecision(); - this._setDraggableEnable(true); - } - if (maxNumber === minNumber) { - this._setDraggableEnable(false); - } - }, - - setValue: function (v) { - var o = this.options; - var valueOne = BI.parseFloat(v.min); - var valueTwo = BI.parseFloat(v.max); - valueOne = o.digit === false ? valueOne : valueOne.toFixed(o.digit); - if (!isNaN(valueOne) && !isNaN(valueTwo)) { - if (this._checkValidation(valueOne)) { - this.valueOne = valueOne; - } - if (this._checkValidation(valueTwo)) { - this.valueTwo = valueTwo; - } - if (valueOne < this.min) { - this.valueOne = this.min; - } - if (valueTwo > this.max) { - this.valueTwo = this.max; - } - } - }, - - reset: function () { - this._setVisible(false); - this.enable = false; - this.valueOne = ""; - this.valueTwo = ""; - this.min = NaN; - this.max = NaN; - this._setBlueTrackWidth(0); - }, - - populate: function () { - var o = this.options; - if (!isNaN(this.min) && !isNaN(this.max)) { - this.enable = true; - this._setVisible(true); - if ((BI.isNumeric(this.valueOne) || BI.isNotEmptyString(this.valueOne)) && (BI.isNumeric(this.valueTwo) || BI.isNotEmptyString(this.valueTwo))) { - this.labelOne.setValue(this.valueOne); - this.labelTwo.setValue(this.valueTwo); - this.labelOne.setText(this.valueOne + o.unit); - this.labelTwo.setText(this.valueTwo + o.unit); - this._setAllPosition(this._getPercentByValue(this.valueOne), this._getPercentByValue(this.valueTwo)); - } else { - this.labelOne.setValue(this.min); - this.labelTwo.setValue(this.max); - this.labelOne.setText(this.min + o.unit); - this.labelTwo.setText(this.max + o.unit); - this._setAllPosition(0, 100) - } - } - } -}); -BI.IntervalSliderLabel.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.interval_slider_label", BI.IntervalSliderLabel); \ No newline at end of file diff --git a/src/widget/intervalslider/model.accuratecalculation.js b/src/widget/intervalslider/model.accuratecalculation.js deleted file mode 100644 index 6d50ad5f3f..0000000000 --- a/src/widget/intervalslider/model.accuratecalculation.js +++ /dev/null @@ -1,222 +0,0 @@ -/** - * Created by zcf on 2017/3/1. - * 万恶的IEEE-754 - * 使用字符串精确计算含小数加法、减法、乘法和10的指数倍除法,支持负数 - */ -BI.AccurateCalculationModel = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.AccurateCalculationModel.superclass._defaultConfig.apply(this, arguments), { - baseCls: "" - }) - }, - - _init: function () { - BI.AccurateCalculationModel.superclass._init.apply(this, arguments); - }, - - _getMagnitude: function (n) { - var magnitude = "1"; - for (var i = 0; i < n; i++) { - magnitude += "0"; - } - return BI.parseInt(magnitude); - }, - - _formatDecimal: function (stringNumber1, stringNumber2) { - if (stringNumber1.numDecimalLength === stringNumber2.numDecimalLength) { - return; - } - var magnitudeDiff = stringNumber1.numDecimalLength - stringNumber2.numDecimalLength; - if (magnitudeDiff > 0) { - var needAddZero = stringNumber2 - } else { - var needAddZero = stringNumber1; - magnitudeDiff = (0 - magnitudeDiff); - } - for (var i = 0; i < magnitudeDiff; i++) { - if (needAddZero.numDecimal === "0" && i === 0) { - continue - } - needAddZero.numDecimal += "0" - } - }, - - _stringNumberFactory: function (num) { - var strNum = num.toString(); - var numStrArray = strNum.split("."); - var numInteger = numStrArray[0]; - if (numStrArray.length === 1) { - var numDecimal = "0"; - var numDecimalLength = 0; - } else { - var numDecimal = numStrArray[1]; - var numDecimalLength = numStrArray[1].length; - } - return { - "numInteger": numInteger, - "numDecimal": numDecimal, - "numDecimalLength": numDecimalLength - } - }, - - _accurateSubtraction: function (num1, num2) {//num1-num2 && num1>num2 - var stringNumber1 = this._stringNumberFactory(num1); - var stringNumber2 = this._stringNumberFactory(num2); - //整数部分计算 - var integerResult = BI.parseInt(stringNumber1.numInteger) - BI.parseInt(stringNumber2.numInteger); - //小数部分 - this._formatDecimal(stringNumber1, stringNumber2); - var decimalMaxLength = getDecimalMaxLength(stringNumber1, stringNumber2); - - if (BI.parseInt(stringNumber1.numDecimal) >= BI.parseInt(stringNumber2.numDecimal)) { - var decimalResultTemp = (BI.parseInt(stringNumber1.numDecimal) - BI.parseInt(stringNumber2.numDecimal)).toString(); - var decimalResult = addZero(decimalResultTemp, decimalMaxLength); - } else {//否则借位 - integerResult--; - var borrow = this._getMagnitude(decimalMaxLength); - var decimalResultTemp = (borrow + BI.parseInt(stringNumber1.numDecimal) - BI.parseInt(stringNumber2.numDecimal)).toString(); - var decimalResult = addZero(decimalResultTemp, decimalMaxLength); - } - var result = integerResult + "." + decimalResult; - return BI.parseFloat(result); - - function getDecimalMaxLength(num1, num2) { - if (num1.numDecimal.length >= num2.numDecimal.length) { - return num1.numDecimal.length - } - return num2.numDecimal.length - } - - function addZero(resultTemp, length) { - var diff = length - resultTemp.length; - for (var i = 0; i < diff; i++) { - resultTemp = "0" + resultTemp; - } - return resultTemp - } - }, - - _accurateAddition: function (num1, num2) {//加法结合律 - var stringNumber1 = this._stringNumberFactory(num1); - var stringNumber2 = this._stringNumberFactory(num2); - //整数部分计算 - var integerResult = BI.parseInt(stringNumber1.numInteger) + BI.parseInt(stringNumber2.numInteger); - //小数部分 - this._formatDecimal(stringNumber1, stringNumber2); - - var decimalResult = (BI.parseInt(stringNumber1.numDecimal) + BI.parseInt(stringNumber2.numDecimal)).toString(); - - if (decimalResult !== "0") { - if (decimalResult.length <= stringNumber1.numDecimal.length) { - decimalResult = addZero(decimalResult, stringNumber1.numDecimal.length) - } else { - integerResult++;//进一 - decimalResult = decimalResult.slice(1); - } - } - var result = integerResult + "." + decimalResult; - return BI.parseFloat(result); - - function addZero(resultTemp, length) { - var diff = length - resultTemp.length; - for (var i = 0; i < diff; i++) { - resultTemp = "0" + resultTemp; - } - return resultTemp - } - }, - - _accurateMultiplication: function (num1, num2) {//乘法分配律 - var stringNumber1 = this._stringNumberFactory(num1); - var stringNumber2 = this._stringNumberFactory(num2); - //整数部分计算 - var integerResult = BI.parseInt(stringNumber1.numInteger) * BI.parseInt(stringNumber2.numInteger); - //num1的小数和num2的整数 - var dec1Int2 = this._accurateDivisionTenExponent(BI.parseInt(stringNumber1.numDecimal) * BI.parseInt(stringNumber2.numInteger), stringNumber1.numDecimalLength); - //num1的整数和num2的小数 - var int1dec2 = this._accurateDivisionTenExponent(BI.parseInt(stringNumber1.numInteger) * BI.parseInt(stringNumber2.numDecimal), stringNumber2.numDecimalLength); - //小数*小数 - var dec1dec2 = this._accurateDivisionTenExponent(BI.parseInt(stringNumber1.numDecimal) * BI.parseInt(stringNumber2.numDecimal), (stringNumber1.numDecimalLength + stringNumber2.numDecimalLength)); - - return this._accurateAddition(this._accurateAddition(this._accurateAddition(integerResult, dec1Int2), int1dec2), dec1dec2); - }, - - _accurateDivisionTenExponent: function (num, n) {// num/10^n && n>0 - var stringNumber = this._stringNumberFactory(num); - if (stringNumber.numInteger.length > n) { - var integerResult = stringNumber.numInteger.slice(0, (stringNumber.numInteger.length - n)); - var partDecimalResult = stringNumber.numInteger.slice(-n); - } else { - var integerResult = "0"; - var partDecimalResult = addZero(stringNumber.numInteger, n); - } - var result = integerResult + "." + partDecimalResult + stringNumber.numDecimal; - return BI.parseFloat(result); - - function addZero(resultTemp, length) { - var diff = length - resultTemp.length; - for (var i = 0; i < diff; i++) { - resultTemp = "0" + resultTemp; - } - return resultTemp - } - }, - - accurateSubtraction: function (num1, num2) { - if (num1 >= 0 && num2 >= 0) { - if (num1 >= num2) { - return this._accurateSubtraction(num1, num2) - } - return -this._accurateSubtraction(num2, num1) - } - if (num1 >= 0 && num2 < 0) { - return this._accurateAddition(num1, -num2) - } - if (num1 < 0 && num2 >= 0) { - return -this._accurateAddition(-num1, num2) - } - if (num1 < 0 && num2 < 0) { - if (num1 >= num2) { - return this._accurateSubtraction(-num2, -num1) - } - return this._accurateSubtraction(-num1, -num2) - } - }, - - accurateAddition: function (num1, num2) { - if (num1 >= 0 && num2 >= 0) { - return this._accurateAddition(num1, num2) - } - if (num1 >= 0 && num2 < 0) { - return this.accurateSubtraction(num1, -num2) - } - if (num1 < 0 && num2 >= 0) { - return this.accurateSubtraction(num2, -num1) - } - if (num1 < 0 && num2 < 0) { - return -this._accurateAddition(-num1, -num2) - } - }, - - accurateMultiplication: function (num1, num2) { - if (num1 >= 0 && num2 >= 0) { - return this._accurateMultiplication(num1, num2) - } - if (num1 >= 0 && num2 < 0) { - return -this._accurateMultiplication(num1, -num2) - } - if (num1 < 0 && num2 >= 0) { - return -this._accurateMultiplication(-num1, num2) - } - if (num1 < 0 && num2 < 0) { - return this._accurateMultiplication(-num1, -num2) - } - }, - - accurateDivisionTenExponent: function (num1, n) { - if (num1 >= 0) { - return this._accurateDivisionTenExponent(num1, n); - } - return -this._accurateDivisionTenExponent(-num1, n); - } -}); \ No newline at end of file diff --git a/src/widget/month/combo.month.js b/src/widget/month/combo.month.js deleted file mode 100644 index 54fed691f6..0000000000 --- a/src/widget/month/combo.month.js +++ /dev/null @@ -1,85 +0,0 @@ -/** - * 月份下拉框 - * - * Created by GUY on 2015/8/28. - * @class BI.MonthCombo - * @extends BI.Trigger - */ -BI.MonthCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.MonthCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-month-combo", - behaviors: {}, - height: 25 - }); - }, - _init: function () { - BI.MonthCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.month_trigger" - }); - - this.trigger.on(BI.MonthTrigger.EVENT_CONFIRM, function (v) { - if (self.combo.isViewVisible()) { - return; - } - if (this.getKey() && this.getKey() !== self.storeValue) { - self.setValue(this.getValue()); - } else if (!this.getKey()) { - self.setValue(); - } - self.fireEvent(BI.MonthCombo.EVENT_CONFIRM); - }); - this.trigger.on(BI.MonthTrigger.EVENT_FOCUS, function () { - self.storeValue = this.getKey(); - }); - this.trigger.on(BI.MonthTrigger.EVENT_START, function () { - self.combo.hideView(); - }); - this.trigger.on(BI.MonthTrigger.EVENT_STOP, function () { - if (!self.combo.isViewVisible()) { - self.combo.showView(); - } - }); - - this.popup = BI.createWidget({ - type: "bi.month_popup", - behaviors: o.behaviors - }); - this.popup.on(BI.MonthPopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.MonthCombo.EVENT_CONFIRM); - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - popup: { - minWidth: 85, - el: this.popup - } - }); - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.MonthCombo.EVENT_BEFORE_POPUPVIEW); - }); - }, - - setValue: function (v) { - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function () { - return this.popup.getValue(); - } -}); - -BI.MonthCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.MonthCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.shortcut('bi.month_combo', BI.MonthCombo); \ No newline at end of file diff --git a/src/widget/month/popup.month.js b/src/widget/month/popup.month.js deleted file mode 100644 index 16373e1132..0000000000 --- a/src/widget/month/popup.month.js +++ /dev/null @@ -1,83 +0,0 @@ -/** - * 月份展示面板 - * - * Created by GUY on 2015/9/2. - * @class BI.MonthPopup - * @extends BI.Trigger - */ -BI.MonthPopup = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MonthPopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-month-popup", - behaviors: {} - }); - }, - - _init: function () { - BI.MonthPopup.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - //纵向排列月 - var month = [0, 6, 1, 7, 2, 8, 3, 9, 4, 10, 5, 11]; - var items = []; - items.push(month.slice(0, 2)); - items.push(month.slice(2, 4)); - items.push(month.slice(4, 6)); - items.push(month.slice(6, 8)); - items.push(month.slice(8, 10)); - items.push(month.slice(10, 12)); - items = BI.map(items, function (i, item) { - return BI.map(item, function (j, td) { - return { - type: "bi.text_item", - cls: "bi-list-item-active", - textAlign: "center", - whiteSpace: "nowrap", - once: false, - forceSelected: true, - height: 23, - width: 38, - value: td, - text: td + 1 - }; - }); - }); - - this.month = BI.createWidget({ - type: "bi.button_group", - element: this, - behaviors: o.behaviors, - items: BI.createItems(items, {}), - layouts: [BI.LogicFactory.createLogic("table", BI.extend({ - dynamic: true - }, { - columns: 2, - rows: 6, - columnSize: [1 / 2, 1 / 2], - rowSize: 25 - })), { - type: "bi.center_adapt", - vgap: 1, - hgap: 2 - }] - }); - - this.month.on(BI.Controller.EVENT_CHANGE, function (type) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.MonthPopup.EVENT_CHANGE); - } - }) - }, - - getValue: function () { - return this.month.getValue()[0]; - }, - - setValue: function (v) { - this.month.setValue([v]); - } -}); -BI.MonthPopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.month_popup", BI.MonthPopup); \ No newline at end of file diff --git a/src/widget/month/trigger.month.js b/src/widget/month/trigger.month.js deleted file mode 100644 index 8d0bb4c69a..0000000000 --- a/src/widget/month/trigger.month.js +++ /dev/null @@ -1,110 +0,0 @@ -/** - * 月份trigger - * - * Created by GUY on 2015/8/21. - * @class BI.MonthTrigger - * @extends BI.Trigger - */ -BI.MonthTrigger = BI.inherit(BI.Trigger, { - _const: { - hgap: 4, - vgap: 2, - errorText: BI.i18nText("BI-Month_Trigger_Error_Text") - }, - - _defaultConfig: function () { - return BI.extend(BI.MonthTrigger.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-month-trigger bi-border", - height: 24 - }); - }, - _init: function () { - BI.MonthTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.editor = BI.createWidget({ - type: "bi.sign_editor", - height: o.height, - validationChecker: function (v) { - return v === "" || (BI.isPositiveInteger(v) && v >= 1 && v <= 12); - }, - quitChecker: function (v) { - return false; - }, - hgap: c.hgap, - vgap: c.vgap, - allowBlank: true, - errorText: c.errorText - }); - this.editor.on(BI.SignEditor.EVENT_FOCUS, function () { - self.fireEvent(BI.MonthTrigger.EVENT_FOCUS); - }); - this.editor.on(BI.SignEditor.EVENT_CHANGE, function () { - self.fireEvent(BI.MonthTrigger.EVENT_CHANGE); - }); - this.editor.on(BI.SignEditor.EVENT_CONFIRM, function () { - var value = self.editor.getValue(); - if (BI.isNotNull(value)) { - self.editor.setValue(value); - self.editor.setTitle(value); - } - self.fireEvent(BI.MonthTrigger.EVENT_CONFIRM); - }); - this.editor.on(BI.SignEditor.EVENT_SPACE, function () { - if (self.editor.isValid()) { - self.editor.blur(); - } - }); - this.editor.on(BI.SignEditor.EVENT_START, function () { - self.fireEvent(BI.MonthTrigger.EVENT_START); - }); - this.editor.on(BI.SignEditor.EVENT_STOP, function () { - self.fireEvent(BI.MonthTrigger.EVENT_STOP); - }); - BI.createWidget({ - element: this, - type: 'bi.htape', - items: [ - { - el: this.editor - }, { - el: { - type: "bi.text_button", - text: BI.i18nText("BI-Multi_Date_Month"), - baseCls: "bi-trigger-month-text", - width: o.height - }, - width: o.height - }, { - el: { - type: "bi.trigger_icon_button", - width: o.height - }, - width: o.height - } - ] - }); - }, - setValue: function (v) { - if(BI.isNotNull(v)){ - this.editor.setState(v + 1); - this.editor.setValue(v + 1); - this.editor.setTitle(v + 1); - return; - } - this.editor.setState(""); - this.editor.setValue(""); - this.editor.setTitle(""); - }, - getKey: function () { - return this.editor.getValue() | 0; - }, - getValue: function () { - return this.editor.getValue() - 1; - } -}); -BI.MonthTrigger.EVENT_FOCUS = "EVENT_FOCUS"; -BI.MonthTrigger.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.MonthTrigger.EVENT_START = "EVENT_START"; -BI.MonthTrigger.EVENT_STOP = "EVENT_STOP"; -BI.MonthTrigger.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.month_trigger", BI.MonthTrigger); \ No newline at end of file diff --git a/src/widget/multidate/abstract.multidate.datepane.js b/src/widget/multidate/abstract.multidate.datepane.js deleted file mode 100644 index 226a847a9b..0000000000 --- a/src/widget/multidate/abstract.multidate.datepane.js +++ /dev/null @@ -1,151 +0,0 @@ -/** - * 普通控件 - * - * @class BI.MultiDateCard - * @extends BI.Widget - * @abstract - */ -BI.MultiDateCard = BI.inherit(BI.Widget, { - - constants: { - lgap: 80, - itemHeight: 35, - defaultEditorValue: "1" - }, - - _defaultConfig: function () { - return $.extend(BI.MultiDateCard.superclass._defaultConfig.apply(this, arguments), {}); - }, - - dateConfig: function () { - - }, - - defaultSelectedItem: function () { - - }, - - _init: function () { - BI.MultiDateCard.superclass._init.apply(this, arguments); - var self = this, opts = this.options; - - this.label = BI.createWidget({ - type: 'bi.label', - height: this.constants.itemHeight, - textAlign: "left", - text: BI.i18nText("BI-Multi_Date_Relative_Current_Time"), - cls: 'bi-multidate-inner-label bi-tips' - }); - this.radioGroup = BI.createWidget({ - type: "bi.button_group", - chooseType: 0, - items: BI.createItems(this.dateConfig(), { - type: 'bi.multidate_segment', - height: this.constants.itemHeight - }), - layouts: [{ - type: "bi.vertical" - }] - }); - - this.radioGroup.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CONFIRM) { - self.fireEvent(BI.MultiDateCard.EVENT_CHANGE); - } - }); - this.radioGroup.on(BI.ButtonGroup.EVENT_CHANGE, function () { - self.setValue(self.getValue()); - self.fireEvent(BI.MultiDateCard.EVENT_CHANGE); - }); - BI.createWidget({ - element: this, - type: 'bi.center_adapt', - lgap: this.constants.lgap, - items: [{ - type: 'bi.vertical', - items: [this.label, this.radioGroup] - }] - }); - }, - - getValue: function () { - var button = this.radioGroup.getSelectedButtons()[0]; - var type = button.getValue(), value = button.getInputValue(); - return { - type: type, - value: value - } - }, - - _isTypeAvaliable: function (type) { - var res = false; - BI.find(this.dateConfig(), function (i, item) { - if (item.value === type) { - res = true; - return true; - } - }); - return res; - }, - - setValue: function (v) { - var self = this; - if (BI.isNotNull(v) && this._isTypeAvaliable(v.type)) { - this.radioGroup.setValue(v.type); - BI.each(this.radioGroup.getAllButtons(), function (i, button) { - if (button.isEditorExist() === true && button.isSelected()) { - button.setInputValue(v.value); - } else { - button.setInputValue(self.constants.defaultEditorValue); - } - }); - } else { - this.radioGroup.setValue(this.defaultSelectedItem()); - BI.each(this.radioGroup.getAllButtons(), function (i, button) { - button.setInputValue(self.constants.defaultEditorValue); - }); - } - }, - - getCalculationValue: function () { - var valueObject = this.getValue(); - var type = valueObject.type, value = valueObject.value; - switch (type) { - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_PREV: - return new Date().getOffsetDate(-1 * value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_AFTER: - return new Date().getOffsetDate(value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_TODAY: - return new Date(); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_PREV: - return new Date().getBeforeMultiMonth(value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_AFTER: - return new Date().getAfterMultiMonth(value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_BEGIN: - return new Date(new Date().getFullYear(), new Date().getMonth(), 1); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_END: - return new Date(new Date().getFullYear(), new Date().getMonth(), (new Date().getLastDateOfMonth()).getDate()); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_PREV: - return new Date().getBeforeMulQuarter(value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_AFTER: - return new Date().getAfterMulQuarter(value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_BEGIN: - return new Date().getQuarterStartDate(); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_END: - return new Date().getQuarterEndDate(); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_PREV: - return new Date().getOffsetDate(-7 * value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_AFTER: - return new Date().getOffsetDate(7 * value); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_PREV: - return new Date((new Date().getFullYear() - 1 * value), new Date().getMonth(), new Date().getDate()); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_AFTER: - return new Date((new Date().getFullYear() + 1 * value), new Date().getMonth(), new Date().getDate()); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_BEGIN: - return new Date(new Date().getFullYear(), 0, 1); - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_END: - return new Date(new Date().getFullYear(), 11, 31); - } - } -}); -BI.MultiDateCard.EVENT_CHANGE = "EVENT_CHANGE"; diff --git a/src/widget/multidate/multidate.combo.js b/src/widget/multidate/multidate.combo.js deleted file mode 100644 index 145183d254..0000000000 --- a/src/widget/multidate/multidate.combo.js +++ /dev/null @@ -1,280 +0,0 @@ -/** - * 日期控件 - * @class BI.MultiDateCombo - * @extends BI.Widget - */ -BI.MultiDateCombo = BI.inherit(BI.Single, { - constants: { - popupHeight: 259, - popupWidth: 270, - comboAdjustHeight: 1, - border: 1, - DATE_MIN_VALUE: "1900-01-01", - DATE_MAX_VALUE: "2099-12-31" - }, - _defaultConfig: function () { - return BI.extend(BI.MultiDateCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-combo bi-border', - height: 24 - }); - }, - _init: function () { - BI.MultiDateCombo.superclass._init.apply(this, arguments); - var self = this, opts = this.options; - this.storeTriggerValue = ""; - var date = new Date(); - this.storeValue = null; - this.trigger = BI.createWidget({ - type: 'bi.date_trigger', - min: this.constants.DATE_MIN_VALUE, - max: this.constants.DATE_MAX_VALUE - }); - this.trigger.on(BI.DateTrigger.EVENT_KEY_DOWN, function () { - if (self.combo.isViewVisible()) { - self.combo.hideView(); - } - }); - this.trigger.on(BI.DateTrigger.EVENT_STOP, function () { - if (!self.combo.isViewVisible()) { - self.combo.showView(); - } - }); - this.trigger.on(BI.DateTrigger.EVENT_TRIGGER_CLICK, function () { - self.combo.toggle(); - }); - this.trigger.on(BI.DateTrigger.EVENT_FOCUS, function () { - self.storeTriggerValue = self.trigger.getKey(); - if (!self.combo.isViewVisible()) { - self.combo.showView(); - } - self.fireEvent(BI.MultiDateCombo.EVENT_FOCUS); - }); - this.trigger.on(BI.DateTrigger.EVENT_ERROR, function () { - self.storeValue = { - year: date.getFullYear(), - month: date.getMonth() - }; - self.popup.setValue(); - self.fireEvent(BI.MultiDateCombo.EVENT_ERROR); - }); - this.trigger.on(BI.DateTrigger.EVENT_VALID, function () { - self.fireEvent(BI.MultiDateCombo.EVENT_VALID); - }); - this.trigger.on(BI.DateTrigger.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiDateCombo.EVENT_CHANGE); - }); - this.trigger.on(BI.DateTrigger.EVENT_CONFIRM, function () { - if (self.combo.isViewVisible()) { - return; - } - var dateStore = self.storeTriggerValue; - var dateObj = self.trigger.getKey(); - if (BI.isNotEmptyString(dateObj) && !BI.isEqual(dateObj, dateStore)) { - self.storeValue = self.trigger.getValue(); - self.setValue(self.trigger.getValue()); - } else if (BI.isEmptyString(dateObj)) { - self.storeValue = null; - self.trigger.setValue(); - } - self.fireEvent(BI.MultiDateCombo.EVENT_CONFIRM); - }); - this.popup = BI.createWidget({ - type: "bi.multidate_popup", - min: this.constants.DATE_MIN_VALUE, - max: this.constants.DATE_MAX_VALUE - }); - this.popup.on(BI.MultiDatePopup.BUTTON_CLEAR_EVENT_CHANGE, function () { - self.setValue(); - self.combo.hideView(); - self.fireEvent(BI.MultiDateCombo.EVENT_CONFIRM); - }); - this.popup.on(BI.MultiDatePopup.BUTTON_lABEL_EVENT_CHANGE, function () { - var date = new Date(); - self.setValue({ - year: date.getFullYear(), - month: date.getMonth(), - day: date.getDate() - }); - self.combo.hideView(); - self.fireEvent(BI.MultiDateCombo.EVENT_CONFIRM); - }); - this.popup.on(BI.MultiDatePopup.BUTTON_OK_EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.MultiDateCombo.EVENT_CONFIRM); - }); - this.popup.on(BI.MultiDatePopup.CALENDAR_EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - //self.fireEvent(BI.MultiDateCombo.EVENT_CHANGE); - self.fireEvent(BI.MultiDateCombo.EVENT_CONFIRM); - }); - this.combo = BI.createWidget({ - type: 'bi.combo', - toggle: false, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - adjustLength: this.constants.comboAdjustHeight, - popup: { - el: this.popup, - maxHeight: this.constants.popupHeight, - width: this.constants.popupWidth, - stopPropagation: false - } - }); - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - self.popup.setValue(self.storeValue); - self.fireEvent(BI.MultiDateCombo.EVENT_BEFORE_POPUPVIEW); - }); - - var triggerBtn = BI.createWidget({ - type: "bi.icon_button", - cls: "bi-trigger-icon-button date-font", - width: 24, - height: 24 - }); - triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE, function () { - if (self.combo.isViewVisible()) { - self.combo.hideView(); - } else { - self.combo.showView(); - } - }); - this.changeIcon = BI.createWidget({ - type: "bi.icon_button", - cls: "bi-trigger-icon-button date-change-h-font", - width: 24, - height: 24 - }); - - - var leftPart = BI.createWidget({ - type: "bi.absolute", - items: [{ - el: this.combo, - top: 0, - left: 0, - right: 0, - bottom: 0 - }, { - el: triggerBtn, - top: 0, - left: 0 - }] - }); - - BI.createWidget({ - type: "bi.htape", - element: this, - items: [leftPart, { - el: this.changeIcon, - width: 30 - }], - ref: function (_ref) { - self.comboWrapper = _ref; - } - }) - }, - - _checkDynamicValue: function (v) { - var type = null; - if (BI.isNotNull(v)) { - type = v.type - } - switch (type) { - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_BEGIN: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_END: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_BEGIN: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_END: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_BEGIN: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_END: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_TODAY: - this.changeIcon.setVisible(true); - this.comboWrapper.attr("items")[1].width = 30; - this.comboWrapper.resize(); - break; - default: - this.comboWrapper.attr("items")[1].width = 0; - this.comboWrapper.resize(); - this.changeIcon.setVisible(false); - break; - } - }, - - setValue: function (v) { - this.storeValue = v; - this.popup.setValue(v); - this.trigger.setValue(v); - this._checkDynamicValue(v) - }, - getValue: function () { - return this.storeValue; - }, - getKey: function () { - return this.trigger.getKey(); - }, - hidePopupView: function () { - this.combo.hideView(); - } -}); -BI.shortcut('bi.multidate_combo', BI.MultiDateCombo); - -BI.MultiDateCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.MultiDateCombo.EVENT_FOCUS = "EVENT_FOCUS"; -BI.MultiDateCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.MultiDateCombo.EVENT_VALID = "EVENT_VALID"; -BI.MultiDateCombo.EVENT_ERROR = "EVENT_ERROR"; -BI.MultiDateCombo.EVENT_BEFORE_POPUPVIEW = "BI.MultiDateCombo.EVENT_BEFORE_POPUPVIEW"; - -BI.extend(BI.MultiDateCombo, { - MULTI_DATE_YMD_CARD: 1, - MULTI_DATE_YEAR_CARD: 2, - MULTI_DATE_QUARTER_CARD: 3, - MULTI_DATE_MONTH_CARD: 4, - MULTI_DATE_WEEK_CARD: 5, - MULTI_DATE_DAY_CARD: 6 -}); - -BI.extend(BI.MultiDateCombo, { - DATE_TYPE: { - MULTI_DATE_YEAR_PREV: 1, - MULTI_DATE_YEAR_AFTER: 2, - MULTI_DATE_YEAR_BEGIN: 3, - MULTI_DATE_YEAR_END: 4, - MULTI_DATE_MONTH_PREV: 5, - MULTI_DATE_MONTH_AFTER: 6, - MULTI_DATE_MONTH_BEGIN: 7, - MULTI_DATE_MONTH_END: 8, - MULTI_DATE_QUARTER_PREV: 9, - MULTI_DATE_QUARTER_AFTER: 10, - MULTI_DATE_QUARTER_BEGIN: 11, - MULTI_DATE_QUARTER_END: 12, - MULTI_DATE_WEEK_PREV: 13, - MULTI_DATE_WEEK_AFTER: 14, - MULTI_DATE_DAY_PREV: 15, - MULTI_DATE_DAY_AFTER: 16, - MULTI_DATE_DAY_TODAY: 17, - MULTI_DATE_PARAM: 18, - MULTI_DATE_CALENDAR: 19, - YEAR_QUARTER: 20, - YEAR_MONTH: 21, - YEAR_WEEK: 22, - YEAR_DAY: 23, - MONTH_WEEK: 24, - MONTH_DAY: 25, - YEAR: 26, - SAME_PERIOD: 27, - LAST_SAME_PERIOD: 28 - } -}); diff --git a/src/widget/multidate/multidate.day.js b/src/widget/multidate/multidate.day.js deleted file mode 100644 index 8ca22055e6..0000000000 --- a/src/widget/multidate/multidate.day.js +++ /dev/null @@ -1,43 +0,0 @@ -/** - * 普通控件 - * - * @class BI.DayCard - * @extends BI.MultiDateCard - */ -BI.DayCard = BI.inherit(BI.MultiDateCard, { - - _defaultConfig: function () { - return $.extend(BI.DayCard.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-daycard' - }); - }, - - _init: function () { - BI.DayCard.superclass._init.apply(this, arguments); - }, - - dateConfig: function () { - return [{ - isEditorExist: true, - selected: true, - text: BI.i18nText("BI-Multi_Date_Day_Prev"), - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_PREV - }, - { - isEditorExist: true, - text: BI.i18nText("BI-Multi_Date_Day_Next"), - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_AFTER - }, - { - isEditorExist: false, - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_TODAY, - text: BI.i18nText("BI-Multi_Date_Today") - }]; - }, - - defaultSelectedItem: function () { - return BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_PREV - } -}); -BI.DayCard.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.daycard', BI.DayCard); diff --git a/src/widget/multidate/multidate.month.js b/src/widget/multidate/multidate.month.js deleted file mode 100644 index c4428fde2d..0000000000 --- a/src/widget/multidate/multidate.month.js +++ /dev/null @@ -1,47 +0,0 @@ -/** - * 普通控件 - * - * @class BI.MonthCard - * @extends BI.MultiDateCard - */ -BI.MonthCard = BI.inherit(BI.MultiDateCard, { - _defaultConfig: function () { - return $.extend(BI.MonthCard.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-monthcard' - }); - }, - - _init: function () { - BI.MonthCard.superclass._init.apply(this, arguments); - }, - - dateConfig: function () { - return [{ - selected: true, - isEditorExist: true, - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_PREV, - text: BI.i18nText("BI-Multi_Date_Month_Prev") - }, - { - isEditorExist: true, - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_AFTER, - text: BI.i18nText("BI-Multi_Date_Month_Next") - }, - { - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_BEGIN, - isEditorExist: false, - text: BI.i18nText("BI-Multi_Date_Month_Begin") - }, - { - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_END, - isEditorExist: false, - text: BI.i18nText("BI-Multi_Date_Month_End") - }]; - }, - - defaultSelectedItem: function () { - return BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_PREV; - } -}); -BI.MonthCard.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.monthcard', BI.MonthCard); diff --git a/src/widget/multidate/multidate.popup.js b/src/widget/multidate/multidate.popup.js deleted file mode 100644 index cbdae7fcc5..0000000000 --- a/src/widget/multidate/multidate.popup.js +++ /dev/null @@ -1,312 +0,0 @@ -/** - * 日期控件 - * @class BI.MultiDatePopup - * @extends BI.Widget - */ -BI.MultiDatePopup = BI.inherit(BI.Widget, { - constants: { - tabHeight: 30, - tabWidth: 42, - titleHeight: 27, - itemHeight: 30, - triggerHeight: 24, - buttonWidth: 90, - buttonHeight: 25, - cardHeight: 229, - cardWidth: 270, - popupHeight: 259, - popupWidth: 270, - comboAdjustHeight: 1, - ymdWidth: 58, - lgap: 2, - border: 1 - }, - _defaultConfig: function () { - return BI.extend(BI.MultiDatePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-popup', - width: 268, - height: 260 - }); - }, - _init: function () { - BI.MultiDatePopup.superclass._init.apply(this, arguments); - var self = this, opts = this.options; - this.storeValue = ""; - this.textButton = BI.createWidget({ - type: 'bi.text_button', - forceCenter: true, - cls: 'bi-multidate-popup-label bi-border-left bi-border-right bi-border-top', - shadow: true, - text: BI.i18nText("BI-Multi_Date_Today") - }); - this.textButton.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiDatePopup.BUTTON_lABEL_EVENT_CHANGE); - }); - this.clearButton = BI.createWidget({ - type: "bi.text_button", - forceCenter: true, - cls: 'bi-multidate-popup-button bi-border-top', - shadow: true, - text: BI.i18nText("BI-Basic_Clear") - }); - this.clearButton.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiDatePopup.BUTTON_CLEAR_EVENT_CHANGE); - }); - this.okButton = BI.createWidget({ - type: "bi.text_button", - forceCenter: true, - cls: 'bi-multidate-popup-button bi-border-top', - shadow: true, - text: BI.i18nText("BI-Basic_OK") - }); - this.okButton.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiDatePopup.BUTTON_OK_EVENT_CHANGE); - }); - this.dateTab = BI.createWidget({ - type: 'bi.tab', - tab: { - cls: "bi-multidate-popup-tab bi-border-bottom", - height: this.constants.tabHeight, - items: BI.createItems([{ - text: BI.i18nText("BI-Multi_Date_YMD"), - value: BI.MultiDateCombo.MULTI_DATE_YMD_CARD, - width: this.constants.ymdWidth - }, { - text: BI.i18nText("BI-Multi_Date_Year"), - value: BI.MultiDateCombo.MULTI_DATE_YEAR_CARD - }, { - text: BI.i18nText("BI-Multi_Date_Quarter"), - value: BI.MultiDateCombo.MULTI_DATE_QUARTER_CARD - }, { - text: BI.i18nText("BI-Multi_Date_Month"), - value: BI.MultiDateCombo.MULTI_DATE_MONTH_CARD - }, { - text: BI.i18nText("BI-Multi_Date_Week"), - value: BI.MultiDateCombo.MULTI_DATE_WEEK_CARD - }, { - text: BI.i18nText("BI-Multi_Date_Day"), - value: BI.MultiDateCombo.MULTI_DATE_DAY_CARD - }], { - width: this.constants.tabWidth, - textAlign: "center", - height: this.constants.itemHeight, - cls: 'bi-multidate-popup-item bi-list-item-active' - }), - layouts: [{ - type: 'bi.left' - }] - }, - cardCreator: function (v) { - switch (v) { - case BI.MultiDateCombo.MULTI_DATE_YMD_CARD: - self.ymd = BI.createWidget({ - type: "bi.date_calendar_popup", - min: self.options.min, - max: self.options.max - }); - self.ymd.on(BI.DateCalendarPopup.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiDatePopup.CALENDAR_EVENT_CHANGE); - }); - return self.ymd; - case BI.MultiDateCombo.MULTI_DATE_YEAR_CARD: - self.year = BI.createWidget({ - type: "bi.yearcard" - }); - self.year.on(BI.MultiDateCard.EVENT_CHANGE, function (v) { - self._setInnerValue(self.year, v); - }); - return self.year; - case BI.MultiDateCombo.MULTI_DATE_QUARTER_CARD: - self.quarter = BI.createWidget({ - type: 'bi.quartercard' - }); - self.quarter.on(BI.MultiDateCard.EVENT_CHANGE, function (v) { - self._setInnerValue(self.quarter, v); - }); - return self.quarter; - case BI.MultiDateCombo.MULTI_DATE_MONTH_CARD: - self.month = BI.createWidget({ - type: 'bi.monthcard' - }); - self.month.on(BI.MultiDateCard.EVENT_CHANGE, function (v) { - self._setInnerValue(self.month, v); - }); - return self.month; - case BI.MultiDateCombo.MULTI_DATE_WEEK_CARD: - self.week = BI.createWidget({ - type: 'bi.weekcard' - }); - self.week.on(BI.MultiDateCard.EVENT_CHANGE, function (v) { - self._setInnerValue(self.week, v); - }); - return self.week; - case BI.MultiDateCombo.MULTI_DATE_DAY_CARD: - self.day = BI.createWidget({ - type: 'bi.daycard' - }); - self.day.on(BI.MultiDateCard.EVENT_CHANGE, function (v) { - self._setInnerValue(self.day, v); - }); - return self.day; - } - } - }); - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_YMD_CARD); - this.cur = BI.MultiDateCombo.MULTI_DATE_YMD_CARD; - this.dateTab.on(BI.Tab.EVENT_CHANGE, function () { - var v = self.dateTab.getSelect(); - switch (v) { - case BI.MultiDateCombo.MULTI_DATE_YMD_CARD: - var date = this.getTab(self.cur).getCalculationValue(); - self.ymd.setValue({ - year: date.getFullYear(), - month: date.getMonth(), - day: date.getDate() - }); - self._setInnerValue(self.ymd); - break; - case BI.MultiDateCombo.MULTI_DATE_YEAR_CARD: - self.year.setValue(self.storeValue); - self._setInnerValue(self.year); - break; - case BI.MultiDateCombo.MULTI_DATE_QUARTER_CARD: - self.quarter.setValue(self.storeValue); - self._setInnerValue(self.quarter); - break; - case BI.MultiDateCombo.MULTI_DATE_MONTH_CARD: - self.month.setValue(self.storeValue); - self._setInnerValue(self.month); - break; - case BI.MultiDateCombo.MULTI_DATE_WEEK_CARD: - self.week.setValue(self.storeValue); - self._setInnerValue(self.week); - break; - case BI.MultiDateCombo.MULTI_DATE_DAY_CARD: - self.day.setValue(self.storeValue); - self._setInnerValue(self.day); - break; - } - self.cur = v; - }); - this.dateButton = BI.createWidget({ - type: "bi.grid", - items: [[this.clearButton, this.textButton, this.okButton]] - }); - BI.createWidget({ - element: this, - type: "bi.vtape", - items: [{ - el: this.dateTab - }, { - el: this.dateButton, - height: 30 - }] - }); - }, - _setInnerValue: function (obj) { - if (this.dateTab.getSelect() === BI.MultiDateCombo.MULTI_DATE_YMD_CARD) { - this.textButton.setValue(BI.i18nText("BI-Multi_Date_Today")); - this.textButton.setEnable(true); - } else { - var date = obj.getCalculationValue(); - date = date.print("%Y-%x-%e"); - this.textButton.setValue(date); - this.textButton.setEnable(false); - } - }, - setValue: function (v) { - this.storeValue = v; - var self = this, date; - var type, value; - if (BI.isNotNull(v)) { - type = v.type || BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_CALENDAR; - value = v.value; - if (BI.isNull(value)) { - value = v; - } - } - switch (type) { - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_BEGIN: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_END: - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_YEAR_CARD); - this.year.setValue({type: type, value: value}); - this.cur = BI.MultiDateCombo.MULTI_DATE_YEAR_CARD; - self._setInnerValue(this.year); - break; - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_BEGIN: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_END: - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_QUARTER_CARD); - this.cur = BI.MultiDateCombo.MULTI_DATE_QUARTER_CARD; - this.quarter.setValue({type: type, value: value}); - self._setInnerValue(this.quarter); - break; - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_BEGIN: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_MONTH_END: - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_MONTH_CARD); - this.cur = BI.MultiDateCombo.MULTI_DATE_MONTH_CARD; - this.month.setValue({type: type, value: value}); - self._setInnerValue(this.month); - break; - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_AFTER: - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_WEEK_CARD); - this.cur = BI.MultiDateCombo.MULTI_DATE_WEEK_CARD; - this.week.setValue({type: type, value: value}); - self._setInnerValue(this.week); - break; - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_PREV: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_AFTER: - case BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_DAY_TODAY: - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_DAY_CARD); - this.cur = BI.MultiDateCombo.MULTI_DATE_DAY_CARD; - this.day.setValue({type: type, value: value}); - self._setInnerValue(this.day); - break; - default: - if (BI.isNull(value) || BI.isEmptyObject(value)) { - var date = new Date(); - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_YMD_CARD); - this.ymd.setValue({ - year: date.getFullYear(), - month: date.getMonth(), - day: date.getDate() - }); - this.textButton.setValue(BI.i18nText("BI-Multi_Date_Today")); - } else { - this.dateTab.setSelect(BI.MultiDateCombo.MULTI_DATE_YMD_CARD); - this.ymd.setValue(value); - this.textButton.setValue(BI.i18nText("BI-Multi_Date_Today")); - } - this.textButton.setEnable(true); - break; - } - }, - getValue: function () { - var tab = this.dateTab.getSelect(); - switch (tab) { - case BI.MultiDateCombo.MULTI_DATE_YMD_CARD: - return this.ymd.getValue(); - case BI.MultiDateCombo.MULTI_DATE_YEAR_CARD: - return this.year.getValue(); - case BI.MultiDateCombo.MULTI_DATE_QUARTER_CARD: - return this.quarter.getValue(); - case BI.MultiDateCombo.MULTI_DATE_MONTH_CARD: - return this.month.getValue(); - case BI.MultiDateCombo.MULTI_DATE_WEEK_CARD: - return this.week.getValue(); - case BI.MultiDateCombo.MULTI_DATE_DAY_CARD: - return this.day.getValue(); - } - } -}); -BI.MultiDatePopup.BUTTON_OK_EVENT_CHANGE = "BUTTON_OK_EVENT_CHANGE"; -BI.MultiDatePopup.BUTTON_lABEL_EVENT_CHANGE = "BUTTON_lABEL_EVENT_CHANGE"; -BI.MultiDatePopup.BUTTON_CLEAR_EVENT_CHANGE = "BUTTON_CLEAR_EVENT_CHANGE"; -BI.MultiDatePopup.CALENDAR_EVENT_CHANGE = "CALENDAR_EVENT_CHANGE"; -BI.shortcut('bi.multidate_popup', BI.MultiDatePopup); diff --git a/src/widget/multidate/multidate.quarter.js b/src/widget/multidate/multidate.quarter.js deleted file mode 100644 index 7a8a1fa2f3..0000000000 --- a/src/widget/multidate/multidate.quarter.js +++ /dev/null @@ -1,48 +0,0 @@ -/** - * 普通控件 - * - * @class BI.QuarterCard - * @extends BI.MultiDateCard - */ -BI.QuarterCard = BI.inherit(BI.MultiDateCard, { - - _defaultConfig: function () { - return $.extend(BI.QuarterCard.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-quartercard' - }); - }, - - _init: function () { - BI.QuarterCard.superclass._init.apply(this, arguments); - }, - - dateConfig: function () { - return [{ - selected: true, - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_PREV, - isEditorExist: true, - text: BI.i18nText("BI-Multi_Date_Quarter_Prev") - }, - { - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_AFTER, - isEditorExist: true, - text: BI.i18nText("BI-Multi_Date_Quarter_Next") - }, - { - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_BEGIN, - isEditorExist: false, - text: BI.i18nText("BI-Multi_Date_Quarter_Begin") - }, - { - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_END, - isEditorExist: false, - text: BI.i18nText("BI-Multi_Date_Quarter_End") - }] - }, - - defaultSelectedItem: function () { - return BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_QUARTER_PREV; - } -}); -BI.QuarterCard.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.quartercard', BI.QuarterCard); diff --git a/src/widget/multidate/multidate.segment.js b/src/widget/multidate/multidate.segment.js deleted file mode 100644 index f949c0f956..0000000000 --- a/src/widget/multidate/multidate.segment.js +++ /dev/null @@ -1,128 +0,0 @@ -/** - * 普通控件 - * - * @class BI.MultiDateSegment - * @extends BI.Single - */ -BI.MultiDateSegment = BI.inherit(BI.Single, { - constants: { - itemHeight: 24, - maxGap: 15, - minGap: 10, - textWidth: 30, - defaultEditorValue: "1" - }, - - _defaultConfig: function () { - return $.extend(BI.MultiDateSegment.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-segment', - text: "", - width: 130, - height: 30, - isEditorExist: true, - selected: false, - defaultEditorValue: "1" - }); - }, - - _init: function () { - BI.MultiDateSegment.superclass._init.apply(this, arguments); - var self = this, opts = this.options; - this.radio = BI.createWidget({ - type: "bi.radio", - selected: opts.selected - }); - this.radio.on(BI.Controller.EVENT_CHANGE, function (v) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.textEditor = BI.createWidget({ - type: 'bi.text_editor', - value: this.constants.defaultEditorValue, - title: function () { - return self.textEditor.getValue(); - }, - tipType: "success", - cls: 'bi-multidate-editor', - width: this.constants.textWidth, - height: this.constants.itemHeight - }); - this.textEditor.on(BI.Controller.EVENT_CHANGE, function (v) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - cls: 'bi-multidate-normal-label', - text: opts.text, - height: this.constants.itemHeight - }); - this._createSegment(); - }, - _createSegment: function () { - if (this.options.isEditorExist === true) { - return BI.createWidget({ - element: this, - type: 'bi.left', - items: [{ - el: { - type: "bi.center_adapt", - items: [this.radio], - height: this.constants.itemHeight - }, - lgap: 0 - }, - { - el: { - type: "bi.center_adapt", - items: [this.textEditor], - widgetName: 'textEditor' - }, - lgap: this.constants.maxGap - }, - { - el: this.text, - lgap: this.constants.minGap - }] - }); - } - return BI.createWidget({ - element: this, - type: 'bi.left', - items: [{ - el: { - type: "bi.center_adapt", - items: [this.radio], - height: this.constants.itemHeight - }, - lgap: 0 - }, - { - el: this.text, - lgap: this.constants.maxGap - }] - }) - }, - setSelected: function (v) { - if (BI.isNotNull(this.radio)) { - this.radio.setSelected(v); - this.textEditor.setEnable(v); - } - }, - isSelected: function () { - return this.radio.isSelected(); - }, - getValue: function () { - return this.options.value; - }, - getInputValue: function () { - return this.textEditor.getValue() | 0; - }, - setInputValue: function (v) { - this.textEditor.setValue(v); - }, - isEditorExist: function () { - return this.options.isEditorExist; - } -}); -BI.MultiDateSegment.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.multidate_segment', BI.MultiDateSegment); \ No newline at end of file diff --git a/src/widget/multidate/multidate.week.js b/src/widget/multidate/multidate.week.js deleted file mode 100644 index 0a52654796..0000000000 --- a/src/widget/multidate/multidate.week.js +++ /dev/null @@ -1,37 +0,0 @@ -/** - * 普通控件 - * - * @class BI.WeekCard - * @extends BI.MultiDateCard - */ -BI.WeekCard = BI.inherit(BI.MultiDateCard, { - _defaultConfig: function () { - return $.extend(BI.WeekCard.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-weekcard' - }); - }, - - _init: function () { - BI.WeekCard.superclass._init.apply(this, arguments); - }, - - dateConfig: function () { - return [{ - selected: true, - isEditorExist: true, - text: BI.i18nText("BI-Multi_Date_Week_Prev"), - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_PREV - }, - { - isEditorExist: true, - text: BI.i18nText("BI-Multi_Date_Week_Next"), - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_AFTER - }]; - }, - - defaultSelectedItem: function () { - return BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_WEEK_PREV; - } -}); -BI.WeekCard.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.weekcard', BI.WeekCard); diff --git a/src/widget/multidate/multidate.year.js b/src/widget/multidate/multidate.year.js deleted file mode 100644 index b1af65adde..0000000000 --- a/src/widget/multidate/multidate.year.js +++ /dev/null @@ -1,47 +0,0 @@ -/** - * 普通控件 - * - * @class BI.YearCard - * @extends BI.MultiDateCard - */ -BI.YearCard = BI.inherit(BI.MultiDateCard, { - _defaultConfig: function () { - return $.extend(BI.YearCard.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multidate-yearcard' - }); - }, - - _init: function () { - BI.YearCard.superclass._init.apply(this, arguments); - }, - - dateConfig: function () { - return [{ - selected: true, - isEditorExist: true, - text: BI.i18nText("BI-Multi_Date_Year_Prev"), - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_PREV - }, - { - isEditorExist: true, - text: BI.i18nText("BI-Multi_Date_Year_Next"), - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_AFTER - }, - { - isEditorExist: false, - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_BEGIN, - text: BI.i18nText("BI-Multi_Date_Year_Begin") - }, - { - isEditorExist: false, - value: BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_END, - text: BI.i18nText("BI-Multi_Date_Year_End") - }] - }, - - defaultSelectedItem: function () { - return BI.MultiDateCombo.DATE_TYPE.MULTI_DATE_YEAR_PREV; - } -}); -BI.YearCard.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.yearcard', BI.YearCard); diff --git a/src/widget/multilayerselecttree/multilayerselecttree.combo.js b/src/widget/multilayerselecttree/multilayerselecttree.combo.js deleted file mode 100644 index 9cc8ed9083..0000000000 --- a/src/widget/multilayerselecttree/multilayerselecttree.combo.js +++ /dev/null @@ -1,70 +0,0 @@ -/** - * @class BI.MultiLayerSelectTreeCombo - * @extends BI.Widget - */ -BI.MultiLayerSelectTreeCombo = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSelectTreeCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multilayer_select_tree-combo", - isDefaultInit: false, - height: 30, - text: "", - items: [] - }); - }, - - _init: function () { - BI.MultiLayerSelectTreeCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.single_tree_trigger", - text: o.text, - height: o.height, - items: o.items - }); - - this.popup = BI.createWidget({ - type: "bi.multilayer_select_tree_popup", - isDefaultInit: o.isDefaultInit, - items: o.items - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 2, - el: this.trigger, - popup: { - el: this.popup - } - }); - - this.combo.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.popup.on(BI.MultiLayerSelectTreePopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.MultiLayerSelectTreeCombo.EVENT_CHANGE); - }); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function () { - return this.popup.getValue(); - }, - - populate: function (items) { - this.combo.populate(items); - } -}); -BI.MultiLayerSelectTreeCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.multilayer_select_tree_combo", BI.MultiLayerSelectTreeCombo); \ No newline at end of file diff --git a/src/widget/multilayerselecttree/multilayerselecttree.leveltree.js b/src/widget/multilayerselecttree/multilayerselecttree.leveltree.js deleted file mode 100644 index 30a5ec2de7..0000000000 --- a/src/widget/multilayerselecttree/multilayerselecttree.leveltree.js +++ /dev/null @@ -1,128 +0,0 @@ -/** - * guy - * 二级树 - * @class BI.MultiLayerSelectLevelTree - * @extends BI.Select - */ -BI.MultiLayerSelectLevelTree = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSelectLevelTree.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multilayer-select-level-tree", - isDefaultInit: false, - items: [], - itemsCreator: BI.emptyFn - }) - }, - - _init: function () { - BI.MultiLayerSelectLevelTree.superclass._init.apply(this, arguments); - - this.initTree(this.options.items); - }, - - _formatItems: function (nodes, layer) { - var self = this; - BI.each(nodes, function (i, node) { - var extend = {}; - node.layer = layer; - if (!BI.isKey(node.id)) { - node.id = BI.UUID(); - } - if (node.isParent === true || BI.isNotEmptyArray(node.children)) { - switch (i) { - case 0 : - extend.type = "bi.multilayer_select_tree_first_plus_group_node"; - break; - case nodes.length - 1 : - extend.type = "bi.multilayer_select_tree_last_plus_group_node"; - break; - default : - extend.type = "bi.multilayer_select_tree_mid_plus_group_node"; - break; - } - BI.defaults(node, extend); - - self._formatItems(node.children, layer + 1); - } else { - switch (i) { - case nodes.length - 1: - extend.type = "bi.multilayer_single_tree_last_tree_leaf_item"; - break; - default : - extend.type = "bi.multilayer_single_tree_mid_tree_leaf_item"; - } - BI.defaults(node, extend); - } - }); - return nodes; - }, - - _assertId: function (sNodes) { - BI.each(sNodes, function (i, node) { - node.id = node.id || BI.UUID(); - }); - }, - - //构造树结构, - initTree: function (nodes) { - var self = this, o = this.options; - this.empty(); - this._assertId(nodes); - this.tree = BI.createWidget({ - type: "bi.custom_tree", - element: this, - expander: { - type: "bi.select_tree_expander", - isDefaultInit: o.isDefaultInit, - el: {}, - popup: { - type: "bi.custom_tree" - } - }, - - items: this._formatItems(BI.Tree.transformToTreeFormat(nodes), 0), - itemsCreator: o.itemsCreator, - - el: { - type: "bi.button_tree", - chooseType: BI.Selection.Single, - layouts: [{ - type: "bi.vertical" - }] - } - }); - this.tree.on(BI.Controller.EVENT_CHANGE, function (type) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.MultiLayerSelectLevelTree.EVENT_CHANGE, arguments); - } - }) - }, - - populate: function (nodes) { - this.tree.populate(this._formatItems(BI.Tree.transformToTreeFormat(nodes), 0)); - }, - - setValue: function (v) { - this.tree.setValue(v); - }, - - getValue: function () { - return this.tree.getValue(); - }, - - getAllLeaves: function () { - return this.tree.getAllLeaves(); - }, - - getNodeById: function (id) { - return this.tree.getNodeById(id); - }, - - getNodeByValue: function (id) { - return this.tree.getNodeByValue(id); - } -}); -BI.MultiLayerSelectLevelTree.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.multilayer_select_level_tree", BI.MultiLayerSelectLevelTree); \ No newline at end of file diff --git a/src/widget/multilayerselecttree/multilayerselecttree.popup.js b/src/widget/multilayerselecttree/multilayerselecttree.popup.js deleted file mode 100644 index 6bc234843a..0000000000 --- a/src/widget/multilayerselecttree/multilayerselecttree.popup.js +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Created by GUY on 2016/1/26. - * - * @class BI.MultiLayerSelectTreePopup - * @extends BI.Pane - */ - -BI.MultiLayerSelectTreePopup = BI.inherit(BI.Pane, { - - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSelectTreePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multilayer-select-tree-popup", - tipText: BI.i18nText("BI-No_Selected_Item"), - isDefaultInit: false, - itemsCreator: BI.emptyFn, - items: [] - }); - }, - - _init: function () { - BI.MultiLayerSelectTreePopup.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - - this.tree = BI.createWidget({ - type: 'bi.multilayer_select_level_tree', - isDefaultInit: o.isDefaultInit, - items: o.items, - itemsCreator: o.itemsCreator - }); - - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - scrollable: true, - element: this, - items: [this.tree] - }); - - this.tree.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.tree.on(BI.MultiLayerSelectLevelTree.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiLayerSelectTreePopup.EVENT_CHANGE); - }); - - this.check(); - }, - - getValue: function () { - return this.tree.getValue(); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.tree.setValue(v); - }, - - populate: function (items) { - BI.MultiLayerSelectTreePopup.superclass.populate.apply(this, arguments); - this.tree.populate(items); - } -}); - -BI.MultiLayerSelectTreePopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.multilayer_select_tree_popup", BI.MultiLayerSelectTreePopup); \ No newline at end of file diff --git a/src/widget/multilayerselecttree/node/node.first.plus.js b/src/widget/multilayerselecttree/node/node.first.plus.js deleted file mode 100644 index 467290106f..0000000000 --- a/src/widget/multilayerselecttree/node/node.first.plus.js +++ /dev/null @@ -1,95 +0,0 @@ -/** - * 加号表示的组节点 - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSelectTreeFirstPlusGroupNode - * @extends BI.NodeButton - */ -BI.MultiLayerSelectTreeFirstPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.MultiLayerSelectTreeFirstPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-multilayer-select-tree-first-plus-group-node bi-list-item-active", - layer: 0,//第几层级 - id: "", - pId: "", - readonly: true, - open: false, - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSelectTreeFirstPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.node = BI.createWidget({ - type: "bi.select_tree_first_plus_group_node", - cls: "bi-list-item-none", - stopPropagation: true, - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - open: o.open, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.node.on(BI.Controller.EVENT_CHANGE, function (type) { - self.setSelected(self.isSelected()); - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.node); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - isOnce: function () { - return true; - }, - - doRedMark: function () { - this.node.doRedMark.apply(this.node, arguments); - }, - - unRedMark: function () { - this.node.unRedMark.apply(this.node, arguments); - }, - - isSelected: function () { - return this.node.isSelected(); - }, - - setSelected: function (b) { - BI.MultiLayerSelectTreeFirstPlusGroupNode.superclass.setSelected.apply(this, arguments); - this.node.setSelected(b); - }, - - doClick: function () { - BI.NodeButton.superclass.doClick.apply(this, arguments); - this.node.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.MultiLayerSelectTreeFirstPlusGroupNode.superclass.setOpened.apply(this, arguments); - this.node.setOpened(v); - } -}); - -BI.shortcut("bi.multilayer_select_tree_first_plus_group_node", BI.MultiLayerSelectTreeFirstPlusGroupNode); \ No newline at end of file diff --git a/src/widget/multilayerselecttree/node/node.last.plus.js b/src/widget/multilayerselecttree/node/node.last.plus.js deleted file mode 100644 index 035ddd5e42..0000000000 --- a/src/widget/multilayerselecttree/node/node.last.plus.js +++ /dev/null @@ -1,91 +0,0 @@ -/** - * 加号表示的组节点 - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSelectTreeLastPlusGroupNode - * @extends BI.NodeButton - */ -BI.MultiLayerSelectTreeLastPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.MultiLayerSelectTreeLastPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-multilayer-select-tree-last-plus-group-node bi-list-item-active", - layer: 0,//第几层级 - id: "", - pId: "", - readonly: true, - open: false, - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSelectTreeLastPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.node = BI.createWidget({ - type: "bi.select_tree_last_plus_group_node", - cls: "bi-list-item-none", - stopPropagation: true, - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - open: o.open, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.node.on(BI.Controller.EVENT_CHANGE, function (type) { - self.setSelected(self.isSelected()); - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.node); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.node.doRedMark.apply(this.node, arguments); - }, - - unRedMark: function () { - this.node.unRedMark.apply(this.node, arguments); - }, - - isSelected: function () { - return this.node.isSelected(); - }, - - setSelected: function (b) { - BI.MultiLayerSelectTreeLastPlusGroupNode.superclass.setSelected.apply(this, arguments); - this.node.setSelected(b); - }, - - doClick: function () { - BI.MultiLayerSelectTreeLastPlusGroupNode.superclass.doClick.apply(this, arguments); - this.node.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.MultiLayerSelectTreeLastPlusGroupNode.superclass.setOpened.apply(this, arguments); - this.node.setOpened(v); - } -}); - -BI.shortcut("bi.multilayer_select_tree_last_plus_group_node", BI.MultiLayerSelectTreeLastPlusGroupNode); \ No newline at end of file diff --git a/src/widget/multilayerselecttree/node/node.mid.plus.js b/src/widget/multilayerselecttree/node/node.mid.plus.js deleted file mode 100644 index 2dcde51423..0000000000 --- a/src/widget/multilayerselecttree/node/node.mid.plus.js +++ /dev/null @@ -1,91 +0,0 @@ -/** - * 加号表示的组节点 - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSelectTreeMidPlusGroupNode - * @extends BI.NodeButton - */ -BI.MultiLayerSelectTreeMidPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.MultiLayerSelectTreeMidPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-multilayer-select-tree-mid-plus-group-node bi-list-item-active", - layer: 0,//第几层级 - id: "", - pId: "", - readonly: true, - open: false, - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSelectTreeMidPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.node = BI.createWidget({ - type: "bi.select_tree_mid_plus_group_node", - cls: "bi-list-item-none", - stopPropagation: true, - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - open: o.open, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.node.on(BI.Controller.EVENT_CHANGE, function (type) { - self.setSelected(self.isSelected()); - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.node); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.node.doRedMark.apply(this.node, arguments); - }, - - unRedMark: function () { - this.node.unRedMark.apply(this.node, arguments); - }, - - isSelected: function () { - return this.node.isSelected(); - }, - - setSelected: function (b) { - BI.MultiLayerSelectTreeMidPlusGroupNode.superclass.setSelected.apply(this, arguments); - this.node.setSelected(b); - }, - - doClick: function () { - BI.MultiLayerSelectTreeMidPlusGroupNode.superclass.doClick.apply(this, arguments); - this.node.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.MultiLayerSelectTreeMidPlusGroupNode.superclass.setOpened.apply(this, arguments); - this.node.setOpened(v); - } -}); - -BI.shortcut("bi.multilayer_select_tree_mid_plus_group_node", BI.MultiLayerSelectTreeMidPlusGroupNode); \ No newline at end of file diff --git a/src/widget/multilayersingletree/multilayersingletree.combo.js b/src/widget/multilayersingletree/multilayersingletree.combo.js deleted file mode 100644 index 3763ea9a7b..0000000000 --- a/src/widget/multilayersingletree/multilayersingletree.combo.js +++ /dev/null @@ -1,75 +0,0 @@ -/** - * 多层级下拉单选树 - * Created by GUY on 2016/1/26. - * - * @class BI.MultiLayerSingleTreeCombo - * @extends BI.Widget - */ -BI.MultiLayerSingleTreeCombo = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSingleTreeCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multilayer-singletree-combo", - isDefaultInit: false, - height: 30, - text: "", - itemsCreator: BI.emptyFn, - items: [] - }); - }, - - _init: function () { - BI.MultiLayerSingleTreeCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.single_tree_trigger", - text: o.text, - height: o.height, - items: o.items - }); - - this.popup = BI.createWidget({ - type: "bi.multilayer_single_tree_popup", - isDefaultInit: o.isDefaultInit, - items: o.items - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 2, - el: this.trigger, - popup: { - el: this.popup - } - }); - - this.combo.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.popup.on(BI.MultiLayerSingleTreePopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.MultiLayerSingleTreeCombo.EVENT_CHANGE); - }); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function () { - return this.popup.getValue(); - }, - - populate: function (items) { - this.combo.populate(items); - } -}); - -BI.MultiLayerSingleTreeCombo.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.multilayer_single_tree_combo", BI.MultiLayerSingleTreeCombo); \ No newline at end of file diff --git a/src/widget/multilayersingletree/multilayersingletree.leveltree.js b/src/widget/multilayersingletree/multilayersingletree.leveltree.js deleted file mode 100644 index 057b41d2ff..0000000000 --- a/src/widget/multilayersingletree/multilayersingletree.leveltree.js +++ /dev/null @@ -1,131 +0,0 @@ -/** - * guy - * 二级树 - * @class BI.MultiLayerSingleLevelTree - * @extends BI.Single - */ -BI.MultiLayerSingleLevelTree = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSingleLevelTree.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multilayer-single-level-tree", - isDefaultInit: false, - items: [], - itemsCreator: BI.emptyFn - }) - }, - - _init: function () { - BI.MultiLayerSingleLevelTree.superclass._init.apply(this, arguments); - - this.initTree(this.options.items); - }, - - _formatItems: function (nodes, layer) { - var self = this; - BI.each(nodes, function (i, node) { - var extend = {}; - node.layer = layer; - if (!BI.isKey(node.id)) { - node.id = BI.UUID(); - } - if (node.isParent === true || BI.isNotEmptyArray(node.children)) { - switch (i) { - case 0 : - extend.type = "bi.multilayer_single_tree_first_plus_group_node"; - break; - case nodes.length - 1 : - extend.type = "bi.multilayer_single_tree_last_plus_group_node"; - break; - default : - extend.type = "bi.multilayer_single_tree_mid_plus_group_node"; - break; - } - BI.defaults(node, extend); - - self._formatItems(node.children, layer + 1); - } else { - switch (i) { - case nodes.length - 1: - extend.type = "bi.multilayer_single_tree_last_tree_leaf_item"; - break; - default : - extend.type = "bi.multilayer_single_tree_mid_tree_leaf_item"; - } - BI.defaults(node, extend); - } - }); - return nodes; - }, - - _assertId: function (sNodes) { - BI.each(sNodes, function (i, node) { - node.id = node.id || BI.UUID(); - }); - }, - - //构造树结构, - initTree: function (nodes) { - var self = this, o = this.options; - this.empty(); - this._assertId(nodes); - this.tree = BI.createWidget({ - type: "bi.custom_tree", - element: this, - expander: { - isDefaultInit: o.isDefaultInit, - el: {}, - popup: { - type: "bi.custom_tree" - } - }, - - items: this._formatItems(BI.Tree.transformToTreeFormat(nodes), 0), - itemsCreator: function (op, callback) { - o.itemsCreator(op, function (items) { - callback(BI.Tree.transformToTreeFormat(items), 0) - }) - }, - - el: { - type: "bi.button_tree", - chooseType: BI.Selection.Single, - layouts: [{ - type: "bi.vertical" - }] - } - }); - this.tree.on(BI.Controller.EVENT_CHANGE, function (type, v) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.MultiLayerSingleLevelTree.EVENT_CHANGE, v); - } - }) - }, - - populate: function (nodes) { - this.tree.populate(this._formatItems(BI.Tree.transformToTreeFormat(nodes), 0)); - }, - - setValue: function (v) { - this.tree.setValue(v); - }, - - getValue: function () { - return this.tree.getValue(); - }, - - getAllLeaves: function () { - return this.tree.getAllLeaves(); - }, - - getNodeById: function (id) { - return this.tree.getNodeById(id); - }, - - getNodeByValue: function (id) { - return this.tree.getNodeByValue(id); - } -}); -BI.MultiLayerSingleLevelTree.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.multilayer_single_level_tree", BI.MultiLayerSingleLevelTree); diff --git a/src/widget/multilayersingletree/multilayersingletree.popup.js b/src/widget/multilayersingletree/multilayersingletree.popup.js deleted file mode 100644 index e1d6a4748c..0000000000 --- a/src/widget/multilayersingletree/multilayersingletree.popup.js +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Created by GUY on 2016/1/26. - * - * @class BI.MultiLayerSingleTreePopup - * @extends BI.Pane - */ - -BI.MultiLayerSingleTreePopup = BI.inherit(BI.Pane, { - - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSingleTreePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multilayer-singletree-popup", - tipText: BI.i18nText("BI-No_Selected_Item"), - isDefaultInit: false, - itemsCreator: BI.emptyFn, - items: [] - }); - }, - - _init: function () { - BI.MultiLayerSingleTreePopup.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - - this.tree = BI.createWidget({ - type: 'bi.multilayer_single_level_tree', - isDefaultInit: o.isDefaultInit, - items: o.items, - itemsCreator: o.itemsCreator - }); - - BI.createWidget({ - type: "bi.vertical", - scrolly: false, - scrollable: true, - element: this, - items: [this.tree] - }); - - this.tree.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.tree.on(BI.MultiLayerSingleLevelTree.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiLayerSingleTreePopup.EVENT_CHANGE); - }); - - this.check(); - }, - - getValue: function () { - return this.tree.getValue(); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.tree.setValue(v); - }, - - populate: function (items) { - BI.MultiLayerSingleTreePopup.superclass.populate.apply(this, arguments); - this.tree.populate(items); - } -}); - -BI.MultiLayerSingleTreePopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.multilayer_single_tree_popup", BI.MultiLayerSingleTreePopup); \ No newline at end of file diff --git a/src/widget/multilayersingletree/node/node.first.plus.js b/src/widget/multilayersingletree/node/node.first.plus.js deleted file mode 100644 index 4e6255a506..0000000000 --- a/src/widget/multilayersingletree/node/node.first.plus.js +++ /dev/null @@ -1,84 +0,0 @@ -/** - * 加号表示的组节点 - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSingleTreeFirstPlusGroupNode - * @extends BI.NodeButton - */ -BI.MultiLayerSingleTreeFirstPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.MultiLayerSingleTreeFirstPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-multilayer-single-tree-first-plus-group-node bi-list-item", - layer: 0,//第几层级 - id: "", - pId: "", - open: false, - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSingleTreeFirstPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.node = BI.createWidget({ - type: "bi.first_plus_group_node", - cls: "bi-list-item-none", - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - open: o.open, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.node.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) {//本身实现click功能 - return; - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.node); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.node.doRedMark.apply(this.node, arguments); - }, - - unRedMark: function () { - this.node.unRedMark.apply(this.node, arguments); - }, - - doClick: function () { - BI.MultiLayerSingleTreeFirstPlusGroupNode.superclass.doClick.apply(this, arguments); - this.node.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.MultiLayerSingleTreeFirstPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.node)) { - this.node.setOpened(v); - } - } -}); - -BI.shortcut("bi.multilayer_single_tree_first_plus_group_node", BI.MultiLayerSingleTreeFirstPlusGroupNode); \ No newline at end of file diff --git a/src/widget/multilayersingletree/node/node.last.plus.js b/src/widget/multilayersingletree/node/node.last.plus.js deleted file mode 100644 index 085254a61b..0000000000 --- a/src/widget/multilayersingletree/node/node.last.plus.js +++ /dev/null @@ -1,84 +0,0 @@ -/** - * 加号表示的组节点 - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSingleTreeLastPlusGroupNode - * @extends BI.NodeButton - */ -BI.MultiLayerSingleTreeLastPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.MultiLayerSingleTreeLastPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-multilayer-single-tree-last-plus-group-node bi-list-item", - layer: 0,//第几层级 - id: "", - pId: "", - open: false, - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSingleTreeLastPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.node = BI.createWidget({ - type: "bi.last_plus_group_node", - cls: "bi-list-item-none", - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - open: o.open, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.node.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) {//本身实现click功能 - return; - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.node); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.node.doRedMark.apply(this.node, arguments); - }, - - unRedMark: function () { - this.node.unRedMark.apply(this.node, arguments); - }, - - doClick: function () { - BI.MultiLayerSingleTreeLastPlusGroupNode.superclass.doClick.apply(this, arguments); - this.node.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.MultiLayerSingleTreeLastPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.node)) { - this.node.setOpened(v); - } - } -}); - -BI.shortcut("bi.multilayer_single_tree_last_plus_group_node", BI.MultiLayerSingleTreeLastPlusGroupNode); \ No newline at end of file diff --git a/src/widget/multilayersingletree/node/node.mid.plus.js b/src/widget/multilayersingletree/node/node.mid.plus.js deleted file mode 100644 index a540a0e267..0000000000 --- a/src/widget/multilayersingletree/node/node.mid.plus.js +++ /dev/null @@ -1,84 +0,0 @@ -/** - * 加号表示的组节点 - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSingleTreeMidPlusGroupNode - * @extends BI.NodeButton - */ -BI.MultiLayerSingleTreeMidPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.MultiLayerSingleTreeMidPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-multilayer-single-tree-mid-plus-group-node bi-list-item", - layer: 0,//第几层级 - id: "", - pId: "", - open: false, - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSingleTreeMidPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.node = BI.createWidget({ - type: "bi.mid_plus_group_node", - cls: "bi-list-item-none", - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - open: o.open, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.node.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) {//本身实现click功能 - return; - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.node); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.node.doRedMark.apply(this.node, arguments); - }, - - unRedMark: function () { - this.node.unRedMark.apply(this.node, arguments); - }, - - doClick: function () { - BI.MultiLayerSingleTreeMidPlusGroupNode.superclass.doClick.apply(this, arguments); - this.node.setSelected(this.isSelected()); - }, - - setOpened: function (v) { - BI.MultiLayerSingleTreeMidPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.node)) { - this.node.setOpened(v); - } - } -}); - -BI.shortcut("bi.multilayer_single_tree_mid_plus_group_node", BI.MultiLayerSingleTreeMidPlusGroupNode); \ No newline at end of file diff --git a/src/widget/multilayersingletree/treeitem/item.first.treeleaf.js b/src/widget/multilayersingletree/treeitem/item.first.treeleaf.js deleted file mode 100644 index 82c6915d42..0000000000 --- a/src/widget/multilayersingletree/treeitem/item.first.treeleaf.js +++ /dev/null @@ -1,97 +0,0 @@ -/** - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSingleTreeFirstTreeLeafItem - * @extends BI.BasicButton - */ -BI.MultiLayerSingleTreeFirstTreeLeafItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSingleTreeFirstTreeLeafItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-multilayer-single-tree-first-tree-leaf-item bi-list-item-active", - logic: { - dynamic: false - }, - layer: 0, - id: "", - pId: "", - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSingleTreeFirstTreeLeafItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.item = BI.createWidget({ - type: "bi.first_tree_leaf_item", - cls: "bi-list-item-none", - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.item.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) {//本身实现click功能 - return; - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.item); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.item.doRedMark.apply(this.item, arguments); - }, - - unRedMark: function () { - this.item.unRedMark.apply(this.item, arguments); - }, - - doHighLight: function () { - this.item.doHighLight.apply(this.item, arguments); - }, - - unHighLight: function () { - this.item.unHighLight.apply(this.item, arguments); - }, - - getId: function () { - return this.options.id; - }, - - getPId: function () { - return this.options.pId; - }, - - doClick: function () { - BI.MultiLayerSingleTreeFirstTreeLeafItem.superclass.doClick.apply(this, arguments); - this.item.setSelected(this.isSelected()); - }, - - setSelected: function (v) { - BI.MultiLayerSingleTreeFirstTreeLeafItem.superclass.setSelected.apply(this, arguments); - this.item.setSelected(v); - } -}); - -BI.shortcut("bi.multilayer_single_tree_first_tree_leaf_item", BI.MultiLayerSingleTreeFirstTreeLeafItem); \ No newline at end of file diff --git a/src/widget/multilayersingletree/treeitem/item.last.treeleaf.js b/src/widget/multilayersingletree/treeitem/item.last.treeleaf.js deleted file mode 100644 index bece33468f..0000000000 --- a/src/widget/multilayersingletree/treeitem/item.last.treeleaf.js +++ /dev/null @@ -1,97 +0,0 @@ -/** - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSingleTreeLastTreeLeafItem - * @extends BI.BasicButton - */ -BI.MultiLayerSingleTreeLastTreeLeafItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSingleTreeLastTreeLeafItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-multilayer-single-tree-last-tree-leaf-item bi-list-item-active", - logic: { - dynamic: false - }, - layer: 0, - id: "", - pId: "", - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSingleTreeLastTreeLeafItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.item = BI.createWidget({ - type: "bi.last_tree_leaf_item", - cls: "bi-list-item-none", - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.item.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) {//本身实现click功能 - return; - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.item); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.item.doRedMark.apply(this.item, arguments); - }, - - unRedMark: function () { - this.item.unRedMark.apply(this.item, arguments); - }, - - doHighLight: function () { - this.item.doHighLight.apply(this.item, arguments); - }, - - unHighLight: function () { - this.item.unHighLight.apply(this.item, arguments); - }, - - getId: function () { - return this.options.id; - }, - - getPId: function () { - return this.options.pId; - }, - - doClick: function () { - BI.MultiLayerSingleTreeLastTreeLeafItem.superclass.doClick.apply(this, arguments); - this.item.setSelected(this.isSelected()); - }, - - setSelected: function (v) { - BI.MultiLayerSingleTreeLastTreeLeafItem.superclass.setSelected.apply(this, arguments); - this.item.setSelected(v); - } -}); - -BI.shortcut("bi.multilayer_single_tree_last_tree_leaf_item", BI.MultiLayerSingleTreeLastTreeLeafItem); \ No newline at end of file diff --git a/src/widget/multilayersingletree/treeitem/item.mid.treeleaf.js b/src/widget/multilayersingletree/treeitem/item.mid.treeleaf.js deleted file mode 100644 index b6ec9bf9ba..0000000000 --- a/src/widget/multilayersingletree/treeitem/item.mid.treeleaf.js +++ /dev/null @@ -1,97 +0,0 @@ -/** - * - * Created by GUY on 2016/1/27. - * @class BI.MultiLayerSingleTreeMidTreeLeafItem - * @extends BI.BasicButton - */ -BI.MultiLayerSingleTreeMidTreeLeafItem = BI.inherit(BI.BasicButton, { - _defaultConfig: function () { - return BI.extend(BI.MultiLayerSingleTreeMidTreeLeafItem.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-multilayer-single-tree-mid-tree-leaf-item bi-list-item-active", - logic: { - dynamic: false - }, - layer: 0, - id: "", - pId: "", - height: 25 - }) - }, - _init: function () { - BI.MultiLayerSingleTreeMidTreeLeafItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.item = BI.createWidget({ - type: "bi.mid_tree_leaf_item", - cls: "bi-list-item-none", - logic: { - dynamic: true - }, - id: o.id, - pId: o.pId, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.item.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) {//本身实现click功能 - return; - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - var items = []; - BI.count(0, o.layer, function () { - items.push({ - type: "bi.layout", - cls: "base-line-conn-background", - width: 13, - height: o.height - }) - }); - items.push(this.item); - BI.createWidget({ - type: "bi.td", - element: this, - columnSize: BI.makeArray(o.layer, 13), - items: [items] - }) - }, - - doRedMark: function () { - this.item.doRedMark.apply(this.item, arguments); - }, - - unRedMark: function () { - this.item.unRedMark.apply(this.item, arguments); - }, - - doHighLight: function () { - this.item.doHighLight.apply(this.item, arguments); - }, - - unHighLight: function () { - this.item.unHighLight.apply(this.item, arguments); - }, - - getId: function () { - return this.options.id; - }, - - getPId: function () { - return this.options.pId; - }, - - doClick: function () { - BI.MultiLayerSingleTreeMidTreeLeafItem.superclass.doClick.apply(this, arguments); - this.item.setSelected(this.isSelected()); - }, - - setSelected: function (v) { - BI.MultiLayerSingleTreeMidTreeLeafItem.superclass.setSelected.apply(this, arguments); - this.item.setSelected(v); - } -}); - -BI.shortcut("bi.multilayer_single_tree_mid_tree_leaf_item", BI.MultiLayerSingleTreeMidTreeLeafItem); \ No newline at end of file diff --git a/src/widget/multiselect/check/multiselect.check.pane.js b/src/widget/multiselect/check/multiselect.check.pane.js deleted file mode 100644 index 582f8a844f..0000000000 --- a/src/widget/multiselect/check/multiselect.check.pane.js +++ /dev/null @@ -1,107 +0,0 @@ -/** - * - * @class BI.MultiSelectCheckPane - * @extends BI.Widget - */ -BI.MultiSelectCheckPane = BI.inherit(BI.Widget, { - - constants: { - height: 25, - lgap: 10, - tgap: 5 - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectCheckPane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multi-select-check-pane bi-background", - items: [], - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn, - onClickContinueSelect: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiSelectCheckPane.superclass._init.apply(this, arguments); - - var self = this, opts = this.options; - - this.storeValue = {}; - this.display = BI.createWidget({ - type: 'bi.display_selected_list', - items: opts.items, - itemsCreator: function (op, callback) { - op = BI.extend(op || {}, { - selectedValues: self.storeValue.value - }); - if (self.storeValue.type === BI.Selection.Multi) { - callback({ - items: BI.map(self.storeValue.value, function (i, v) { - var txt = opts.valueFormatter(v) || v; - return { - text: txt, - value: v, - title: txt - } - }) - }); - return; - } - opts.itemsCreator(op, callback); - } - }); - - this.continueSelect = BI.createWidget({ - type: 'bi.text_button', - text: BI.i18nText('BI-Continue_Select'), - cls: 'multi-select-check-selected bi-high-light' - }); - - this.continueSelect.on(BI.TextButton.EVENT_CHANGE, function () { - opts.onClickContinueSelect(); - }); - - BI.createWidget({ - type: 'bi.vtape', - element: this, - items: [{ - height: this.constants.height, - el: { - type: 'bi.left', - cls: 'multi-select-continue-select', - items: [ - { - el: { - type: "bi.label", - text: BI.i18nText('BI-Selected_Data') - }, - lgap: this.constants.lgap, - tgap: this.constants.tgap - }, - { - el: this.continueSelect, - lgap: this.constants.lgap, - tgap: this.constants.tgap - }] - } - }, { - height: 'fill', - el: this.display - }] - }); - }, - - setValue: function (v) { - this.storeValue = v || {}; - }, - - empty: function () { - this.display.empty(); - }, - - populate: function () { - this.display.populate.apply(this.display, arguments); - } -}); - -BI.shortcut("bi.multi_select_check_pane", BI.MultiSelectCheckPane); \ No newline at end of file diff --git a/src/widget/multiselect/check/multiselect.display.js b/src/widget/multiselect/check/multiselect.display.js deleted file mode 100644 index 5f00924af0..0000000000 --- a/src/widget/multiselect/check/multiselect.display.js +++ /dev/null @@ -1,87 +0,0 @@ -/** - * - * - * 查看已选弹出层的展示面板 - * @class BI.DisplaySelectedList - * @extends BI.Widget - */ -BI.DisplaySelectedList = BI.inherit(BI.Pane, { - - constants: { - height: 25, - lgap: 10 - }, - - _defaultConfig: function () { - return BI.extend(BI.DisplaySelectedList.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-display-list", - itemsCreator: BI.emptyFn, - items: [] - }); - }, - - _init: function () { - BI.DisplaySelectedList.superclass._init.apply(this, arguments); - - var self = this, opts = this.options; - - this.hasNext = false; - - this.button_group = BI.createWidget({ - type: "bi.list_pane", - element: this, - el: { - type: "bi.loader", - isDefaultInit: false, - logic: { - dynamic: true, - scrolly: true - }, - items: this._createItems(opts.items), - chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI, - layouts: [{ - type: "bi.vertical", - lgap: 10 - }] - }, - itemsCreator: function (options, callback) { - - opts.itemsCreator(options, function (ob) { - self.hasNext = !!ob.hasNext; - callback(self._createItems(ob.items)); - }) - }, - hasNext: function () { - return self.hasNext; - } - }); - }, - - _createItems: function (items) { - return BI.createItems(items, { - type: 'bi.icon_text_item', - cls: 'cursor-default check-font display-list-item bi-tips', - once: true, - invalid: true, - selected: true, - height: this.constants.height, - logic: { - dynamic: true - } - }); - }, - - empty: function () { - this.button_group.empty(); - }, - - populate: function (items) { - if (arguments.length === 0) { - this.button_group.populate(); - } else { - this.button_group.populate(this._createItems(items)); - } - } -}); - -BI.shortcut('bi.display_selected_list', BI.DisplaySelectedList); \ No newline at end of file diff --git a/src/widget/multiselect/multiselect..insert.combo.js b/src/widget/multiselect/multiselect..insert.combo.js deleted file mode 100644 index 23f3258c06..0000000000 --- a/src/widget/multiselect/multiselect..insert.combo.js +++ /dev/null @@ -1,357 +0,0 @@ -/** - * - * @class BI.MultiSelectInsertCombo - * @extends BI.Single - */ -BI.MultiSelectInsertCombo = BI.inherit(BI.Single, { - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectInsertCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-insert-combo', - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn, - height: 28 - }); - }, - - _init: function () { - BI.MultiSelectInsertCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - var assertShowValue = function () { - BI.isKey(self._startValue) && self.storeValue.value[self.storeValue.type === BI.Selection.All ? "remove" : "pushDistinct"](self._startValue); - self.trigger.getSearcher().setState(self.storeValue); - self.trigger.getCounter().setButtonChecked(self.storeValue); - }; - this.storeValue = {}; - //标记正在请求数据 - this.requesting = false; - - this.trigger = BI.createWidget({ - type: "bi.multi_select_trigger", - height: o.height, - // adapter: this.popup, - masker: { - offset: { - left: 1, - top: 1, - right: 2, - bottom: 33 - } - }, - valueFormatter: o.valueFormatter, - itemsCreator: function (op, callback) { - o.itemsCreator(op, function (res) { - if (op.times === 1 && BI.isNotNull(op.keywords)) { - //预防trigger内部把当前的storeValue改掉 - self.trigger.setValue(BI.deepClone(self.getValue())); - } - callback.apply(self, arguments); - }); - } - }); - - this.trigger.on(BI.MultiSelectTrigger.EVENT_START, function () { - self._setStartValue(""); - this.getSearcher().setValue(self.storeValue); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_STOP, function () { - self._setStartValue(""); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_PAUSE, function () { - // if (this.getSearcher().hasMatched()) { - var keyword = this.getSearcher().getKeyword(); - self._join({ - type: BI.Selection.Multi, - value: [keyword] - }, function () { - //如果在不选的状态下直接把该值添加进来 - if (self.storeValue.type === BI.Selection.Multi) { - self.storeValue.value.pushDistinct(keyword); - } - self.combo.setValue(self.storeValue); - self._setStartValue(keyword); - assertShowValue(); - self.populate(); - self._setStartValue(""); - }) - // } - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_SEARCHING, function (keywords) { - var last = BI.last(keywords); - keywords = BI.initial(keywords || []); - if (keywords.length > 0) { - self._joinKeywords(keywords, function () { - if (BI.isEndWithBlank(last)) { - self.combo.setValue(self.storeValue); - assertShowValue(); - self.combo.populate(); - self._setStartValue(""); - } else { - self.combo.setValue(self.storeValue); - assertShowValue(); - } - }); - } - }); - - this.trigger.on(BI.MultiSelectTrigger.EVENT_CHANGE, function (value, obj) { - if (obj instanceof BI.MultiSelectBar) { - self._joinAll(this.getValue(), function () { - assertShowValue(); - }); - } else { - self._join(this.getValue(), function () { - assertShowValue(); - }); - } - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW, function () { - this.getCounter().setValue(self.storeValue); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_COUNTER_CLICK, function () { - if (!self.combo.isViewVisible()) { - self.combo.showView(); - } - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - toggle: false, - el: this.trigger, - adjustLength: 1, - popup: { - type: 'bi.multi_select_popup_view', - ref: function () { - self.popup = this; - self.trigger.setAdapter(this); - }, - listeners: [{ - eventName: BI.MultiSelectPopupView.EVENT_CHANGE, - action: function () { - self.storeValue = this.getValue(); - self._adjust(function () { - assertShowValue(); - }); - } - }, { - eventName: BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM, - action: function () { - self._defaultState(); - } - }, { - eventName: BI.MultiSelectPopupView.EVENT_CLICK_CLEAR, - action: function () { - self.setValue(); - self._defaultState(); - } - }], - itemsCreator: o.itemsCreator, - valueFormatter: o.valueFormatter, - onLoaded: function () { - BI.nextTick(function () { - self.combo.adjustWidth(); - self.combo.adjustHeight(); - self.trigger.getCounter().adjustView(); - self.trigger.getSearcher().adjustView(); - }); - } - }, - hideChecker: function (e) { - return triggerBtn.element.find(e.target).length === 0; - } - }); - - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - this.setValue(self.storeValue); - BI.nextTick(function () { - self.populate(); - }); - }); - //当退出的时候如果还在处理请求,则等请求结束后再对外发确定事件 - this.wants2Quit = false; - this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW, function () { - //important:关闭弹出时又可能没有退出编辑状态 - self.trigger.stopEditing(); - if (self.requesting === true) { - self.wants2Quit = true; - } else { - self.fireEvent(BI.MultiSelectInsertCombo.EVENT_CONFIRM); - } - }); - - var triggerBtn = BI.createWidget({ - type: "bi.trigger_icon_button", - width: o.height, - height: o.height, - cls: "multi-select-trigger-icon-button bi-border-left" - }); - triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE, function () { - self.trigger.getCounter().hideView(); - if (self.combo.isViewVisible()) { - self.combo.hideView(); - } else { - self.combo.showView(); - } - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.combo, - left: 0, - right: 0, - top: 0, - bottom: 0 - }, { - el: triggerBtn, - right: 0, - top: 0, - bottom: 0 - }] - }) - }, - - _defaultState: function () { - this.trigger.stopEditing(); - this.combo.hideView(); - }, - - _assertValue: function (val) { - val || (val = {}); - val.type || (val.type = BI.Selection.Multi); - val.value || (val.value = []); - }, - - _makeMap: function (values) { - return BI.makeObject(values || []); - }, - - _joinKeywords: function (keywords, callback) { - var self = this, o = this.options; - this._assertValue(this.storeValue); - this.requesting = true; - o.itemsCreator({ - type: BI.MultiSelectInsertCombo.REQ_GET_ALL_DATA, - keywords: keywords - }, function (ob) { - var values = BI.pluck(ob.items, "value"); - digest(values); - }); - - function digest(items) { - var selectedMap = self._makeMap(items); - BI.each(keywords, function (i, val) { - if (BI.isNotNull(selectedMap[val])) { - self.storeValue.value[self.storeValue.type === BI.Selection.Multi ? "pushDistinct" : "remove"](val); - } - }); - self._adjust(callback); - } - }, - - _joinAll: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - this.requesting = true; - o.itemsCreator({ - type: BI.MultiSelectInsertCombo.REQ_GET_ALL_DATA, - keywords: [this.trigger.getKey()] - }, function (ob) { - var items = BI.pluck(ob.items, "value"); - if (self.storeValue.type === res.type) { - var change = false; - var map = self._makeMap(self.storeValue.value); - BI.each(items, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (self.storeValue.value = BI.values(map)); - self._adjust(callback); - return; - } - var selectedMap = self._makeMap(self.storeValue.value); - var notSelectedMap = self._makeMap(res.value); - var newItems = []; - BI.each(items, function (i, item) { - if (BI.isNotNull(selectedMap[items[i]])) { - delete selectedMap[items[i]]; - } - if (BI.isNull(notSelectedMap[items[i]])) { - newItems.push(item); - } - }); - self.storeValue.value = newItems.concat(BI.values(selectedMap)); - self._adjust(callback); - }) - }, - - _adjust: function (callback) { - var self = this, o = this.options; - adjust(); - callback(); - function adjust() { - if (self.wants2Quit === true) { - self.fireEvent(BI.MultiSelectInsertCombo.EVENT_CONFIRM); - self.wants2Quit = false; - } - self.requesting = false; - } - }, - - _join: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - this._assertValue(this.storeValue); - if (this.storeValue.type === res.type) { - var map = this._makeMap(this.storeValue.value); - BI.each(res.value, function (i, v) { - if (!map[v]) { - self.storeValue.value.push(v); - map[v] = v; - } - }); - var change = false; - BI.each(res.assist, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (this.storeValue.value = BI.values(map)); - self._adjust(callback); - return; - } - this._joinAll(res, callback); - }, - - _setStartValue: function (value) { - this._startValue = value; - this.popup.setStartValue(value); - }, - - setValue: function (v) { - this.storeValue = v || {}; - this._assertValue(this.storeValue); - this.combo.setValue(this.storeValue); - }, - - getValue: function () { - return BI.deepClone(this.storeValue); - }, - - populate: function () { - this.combo.populate.apply(this.combo, arguments); - } -}); - -BI.extend(BI.MultiSelectInsertCombo, { - REQ_GET_DATA_LENGTH: 0, - REQ_GET_ALL_DATA: -1 -}); - -BI.MultiSelectInsertCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; - -BI.shortcut('bi.multi_select_insert_combo', BI.MultiSelectInsertCombo); \ No newline at end of file diff --git a/src/widget/multiselect/multiselect.combo.js b/src/widget/multiselect/multiselect.combo.js deleted file mode 100644 index 9f410c4cd2..0000000000 --- a/src/widget/multiselect/multiselect.combo.js +++ /dev/null @@ -1,377 +0,0 @@ -/** - * - * @class BI.MultiSelectCombo - * @extends BI.Single - */ -BI.MultiSelectCombo = BI.inherit(BI.Single, { - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-combo', - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn, - height: 28 - }); - }, - - _init: function () { - BI.MultiSelectCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - var assertShowValue = function () { - BI.isKey(self._startValue) && self.storeValue.value[self.storeValue.type === BI.Selection.All ? "remove" : "pushDistinct"](self._startValue); - self.trigger.getSearcher().setState(self.storeValue); - self.trigger.getCounter().setButtonChecked(self.storeValue); - }; - this.storeValue = {}; - //标记正在请求数据 - this.requesting = false; - - this.trigger = BI.createWidget({ - type: "bi.multi_select_trigger", - height: o.height, - // adapter: this.popup, - masker: { - offset: { - left: 1, - top: 1, - right: 2, - bottom: 33 - } - }, - valueFormatter: o.valueFormatter, - itemsCreator: function (op, callback) { - o.itemsCreator(op, function (res) { - if (op.times === 1 && BI.isNotNull(op.keywords)) { - //预防trigger内部把当前的storeValue改掉 - self.trigger.setValue(BI.deepClone(self.getValue())); - } - callback.apply(self, arguments); - }); - } - }); - - this.trigger.on(BI.MultiSelectTrigger.EVENT_START, function () { - self._setStartValue(""); - this.getSearcher().setValue(self.storeValue); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_STOP, function () { - self._setStartValue(""); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_PAUSE, function () { - if (this.getSearcher().hasMatched()) { - var keyword = this.getSearcher().getKeyword(); - self._join({ - type: BI.Selection.Multi, - value: [keyword] - }, function () { - self.combo.setValue(self.storeValue); - self._setStartValue(keyword); - assertShowValue(); - self.populate(); - self._setStartValue(""); - }) - } - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_SEARCHING, function (keywords) { - var last = BI.last(keywords); - keywords = BI.initial(keywords || []); - if (keywords.length > 0) { - self._joinKeywords(keywords, function () { - if (BI.isEndWithBlank(last)) { - self.combo.setValue(self.storeValue); - assertShowValue(); - self.combo.populate(); - self._setStartValue(""); - } else { - self.combo.setValue(self.storeValue); - assertShowValue(); - } - }); - } - }); - - this.trigger.on(BI.MultiSelectTrigger.EVENT_CHANGE, function (value, obj) { - if (obj instanceof BI.MultiSelectBar) { - self._joinAll(this.getValue(), function () { - assertShowValue(); - }); - } else { - self._join(this.getValue(), function () { - assertShowValue(); - }); - } - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW, function () { - this.getCounter().setValue(self.storeValue); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_COUNTER_CLICK, function () { - if (!self.combo.isViewVisible()) { - self.combo.showView(); - } - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - toggle: false, - el: this.trigger, - adjustLength: 1, - popup: { - type: 'bi.multi_select_popup_view', - ref: function () { - self.popup = this; - self.trigger.setAdapter(this); - }, - listeners: [{ - eventName: BI.MultiSelectPopupView.EVENT_CHANGE, - action: function () { - self.storeValue = this.getValue(); - self._adjust(function () { - assertShowValue(); - }); - } - }, { - eventName: BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM, - action: function () { - self._defaultState(); - } - }, { - eventName: BI.MultiSelectPopupView.EVENT_CLICK_CLEAR, - action: function () { - self.setValue(); - self._defaultState(); - } - }], - itemsCreator: o.itemsCreator, - valueFormatter: o.valueFormatter, - onLoaded: function () { - BI.nextTick(function () { - self.combo.adjustWidth(); - self.combo.adjustHeight(); - self.trigger.getCounter().adjustView(); - self.trigger.getSearcher().adjustView(); - }); - } - }, - hideChecker: function (e) { - return triggerBtn.element.find(e.target).length === 0; - } - }); - - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - this.setValue(self.storeValue); - BI.nextTick(function () { - self.populate(); - }); - }); - //当退出的时候如果还在处理请求,则等请求结束后再对外发确定事件 - this.wants2Quit = false; - this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW, function () { - //important:关闭弹出时又可能没有退出编辑状态 - self.trigger.stopEditing(); - if (self.requesting === true) { - self.wants2Quit = true; - } else { - self.fireEvent(BI.MultiSelectCombo.EVENT_CONFIRM); - } - }); - - var triggerBtn = BI.createWidget({ - type: "bi.trigger_icon_button", - width: o.height, - height: o.height, - cls: "multi-select-trigger-icon-button bi-border-left" - }); - triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE, function () { - self.trigger.getCounter().hideView(); - if (self.combo.isViewVisible()) { - self.combo.hideView(); - } else { - self.combo.showView(); - } - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.combo, - left: 0, - right: 0, - top: 0, - bottom: 0 - }, { - el: triggerBtn, - right: 0, - top: 0, - bottom: 0 - }] - }) - }, - - _defaultState: function () { - this.trigger.stopEditing(); - this.combo.hideView(); - }, - - _assertValue: function (val) { - val || (val = {}); - val.type || (val.type = BI.Selection.Multi); - val.value || (val.value = []); - }, - - _makeMap: function (values) { - return BI.makeObject(values || []); - }, - - _joinKeywords: function (keywords, callback) { - var self = this, o = this.options; - this._assertValue(this.storeValue); - this.requesting = true; - o.itemsCreator({ - type: BI.MultiSelectCombo.REQ_GET_ALL_DATA, - keywords: keywords - }, function (ob) { - var values = BI.pluck(ob.items, "value"); - digest(values); - }); - - function digest(items) { - var selectedMap = self._makeMap(items); - BI.each(keywords, function (i, val) { - if (BI.isNotNull(selectedMap[val])) { - self.storeValue.value[self.storeValue.type === BI.Selection.Multi ? "pushDistinct" : "remove"](val); - } - }); - self._adjust(callback); - } - }, - - _joinAll: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - this.requesting = true; - o.itemsCreator({ - type: BI.MultiSelectCombo.REQ_GET_ALL_DATA, - keywords: [this.trigger.getKey()] - }, function (ob) { - var items = BI.pluck(ob.items, "value"); - if (self.storeValue.type === res.type) { - var change = false; - var map = self._makeMap(self.storeValue.value); - BI.each(items, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (self.storeValue.value = BI.values(map)); - self._adjust(callback); - return; - } - var selectedMap = self._makeMap(self.storeValue.value); - var notSelectedMap = self._makeMap(res.value); - var newItems = []; - BI.each(items, function (i, item) { - if (BI.isNotNull(selectedMap[items[i]])) { - delete selectedMap[items[i]]; - } - if (BI.isNull(notSelectedMap[items[i]])) { - newItems.push(item); - } - }); - self.storeValue.value = newItems.concat(BI.values(selectedMap)); - self._adjust(callback); - }) - }, - - _adjust: function (callback) { - var self = this, o = this.options; - if (!this._count) { - o.itemsCreator({ - type: BI.MultiSelectCombo.REQ_GET_DATA_LENGTH - }, function (res) { - self._count = res.count; - adjust(); - callback(); - }); - } else { - adjust(); - callback(); - - } - - function adjust() { - if (self.storeValue.type === BI.Selection.All && self.storeValue.value.length >= self._count) { - self.storeValue = { - type: BI.Selection.Multi, - value: [] - } - } else if (self.storeValue.type === BI.Selection.Multi && self.storeValue.value.length >= self._count) { - self.storeValue = { - type: BI.Selection.All, - value: [] - } - } - if (self.wants2Quit === true) { - self.fireEvent(BI.MultiSelectCombo.EVENT_CONFIRM); - self.wants2Quit = false; - } - self.requesting = false; - } - }, - - _join: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - this._assertValue(this.storeValue); - if (this.storeValue.type === res.type) { - var map = this._makeMap(this.storeValue.value); - BI.each(res.value, function (i, v) { - if (!map[v]) { - self.storeValue.value.push(v); - map[v] = v; - } - }); - var change = false; - BI.each(res.assist, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (this.storeValue.value = BI.values(map)); - self._adjust(callback); - return; - } - this._joinAll(res, callback); - }, - - _setStartValue: function (value) { - this._startValue = value; - this.popup.setStartValue(value); - }, - - setValue: function (v) { - this.storeValue = v || {}; - this._assertValue(this.storeValue); - this.combo.setValue(this.storeValue); - }, - - getValue: function () { - return BI.deepClone(this.storeValue); - }, - - populate: function () { - this._count = null; - this.combo.populate.apply(this.combo, arguments); - } -}); - -BI.extend(BI.MultiSelectCombo, { - REQ_GET_DATA_LENGTH: 0, - REQ_GET_ALL_DATA: -1 -}); - -BI.MultiSelectCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; - -BI.shortcut('bi.multi_select_combo', BI.MultiSelectCombo); \ No newline at end of file diff --git a/src/widget/multiselect/multiselect.loader.js b/src/widget/multiselect/multiselect.loader.js deleted file mode 100644 index febe158009..0000000000 --- a/src/widget/multiselect/multiselect.loader.js +++ /dev/null @@ -1,168 +0,0 @@ -/** - * 多选加载数据面板 - * Created by guy on 15/11/2. - * @class BI.MultiSelectLoader - * @extends Widget - */ -BI.MultiSelectLoader = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectLoader.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-loader', - logic: { - dynamic: true - }, - el: { - height: 400 - }, - valueFormatter: BI.emptyFn, - itemsCreator: BI.emptyFn, - onLoaded: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiSelectLoader.superclass._init.apply(this, arguments); - - var self = this, opts = this.options; - var hasNext = false; - - this.button_group = BI.createWidget({ - type: "bi.select_list", - element: this, - logic: opts.logic, - el: BI.extend({ - onLoaded: opts.onLoaded, - el: { - type: "bi.loader", - isDefaultInit: false, - logic: { - dynamic: true, - scrolly: true - }, - el: { - chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI, - behaviors: { - redmark: function () { - return true; - } - }, - layouts: [{ - type: "bi.vertical" - }] - } - } - }, opts.el), - itemsCreator: function (op, callback) { - var startValue = self._startValue; - self.storeValue && (op = BI.extend(op || {}, { - selectedValues: BI.isKey(startValue) && self.storeValue.type === BI.Selection.Multi - ? self.storeValue.value.concat(startValue) : self.storeValue.value - })); - opts.itemsCreator(op, function (ob) { - hasNext = ob.hasNext; - var firstItems = []; - if (op.times === 1 && self.storeValue) { - var json = BI.map(self.storeValue.value, function (i, v) { - var txt = opts.valueFormatter(v) || v; - return { - text: txt, - value: v, - title: txt, - selected: self.storeValue.type === BI.Selection.Multi - } - }); - if (BI.isKey(self._startValue) && !self.storeValue.value.contains(self._startValue)) { - var txt = opts.valueFormatter(startValue) || startValue; - json.unshift({ - text: txt, - value: startValue, - title: txt, - selected: true - }) - } - firstItems = self._createItems(json); - } - callback(firstItems.concat(self._createItems(ob.items)), ob.keyword || ""); - if (op.times === 1 && self.storeValue) { - BI.isKey(startValue) && self.storeValue.value[self.storeValue.type === BI.Selection.All ? "remove" : "pushDistinct"](startValue); - self.setValue(self.storeValue); - } - (op.times === 1) && self._scrollToTop(); - }); - }, - hasNext: function () { - return hasNext; - } - }); - this.button_group.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.button_group.on(BI.SelectList.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectLoader.EVENT_CHANGE, arguments); - }); - }, - - _createItems: function (items) { - return BI.createItems(items, { - type: "bi.multi_select_item", - logic: this.options.logic, - height: 25, - selected: this.isAllSelected() - }) - }, - - _scrollToTop: function () { - var self = this; - BI.delay(function () { - self.button_group.element.scrollTop(0); - }, 30); - }, - - isAllSelected: function () { - return this.button_group.isAllSelected(); - }, - - _assertValue: function (val) { - val || (val = {}); - val.type || (val.type = BI.Selection.Multi); - val.value || (val.value = []); - }, - - setStartValue: function (v) { - this._startValue = v; - }, - - setValue: function (v) { - this.storeValue = v || {}; - this._assertValue(this.storeValue); - this.button_group.setValue(this.storeValue); - }, - - getValue: function () { - return this.button_group.getValue(); - }, - - getAllButtons: function () { - return this.button_group.getAllButtons(); - }, - - empty: function () { - this.button_group.empty(); - }, - - populate: function (items) { - this.button_group.populate.apply(this.button_group, arguments); - }, - - resetHeight: function (h) { - this.button_group.resetHeight(h); - }, - - resetWidth: function (w) { - this.button_group.resetWidth(w); - } -}); - -BI.MultiSelectLoader.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.multi_select_loader', BI.MultiSelectLoader); \ No newline at end of file diff --git a/src/widget/multiselect/multiselect.popup.view.js b/src/widget/multiselect/multiselect.popup.view.js deleted file mode 100644 index cfbd6aca15..0000000000 --- a/src/widget/multiselect/multiselect.popup.view.js +++ /dev/null @@ -1,91 +0,0 @@ -/** - * 带加载的多选下拉面板 - * @class BI.MultiSelectPopupView - * @extends Widget - */ -BI.MultiSelectPopupView = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectPopupView.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-popup-view', - maxWidth: 'auto', - minWidth: 135, - maxHeight: 400, - valueFormatter: BI.emptyFn, - itemsCreator: BI.emptyFn, - onLoaded: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiSelectPopupView.superclass._init.apply(this, arguments); - var self = this, opts = this.options; - - this.loader = BI.createWidget({ - type: "bi.multi_select_loader", - itemsCreator: opts.itemsCreator, - valueFormatter: opts.valueFormatter, - onLoaded: opts.onLoaded - }); - - this.popupView = BI.createWidget({ - type: "bi.multi_popup_view", - stopPropagation: false, - maxWidth: opts.maxWidth, - minWidth: opts.minWidth, - maxHeight: opts.maxHeight, - element: this, - buttons: [BI.i18nText('BI-Basic_Clears'), BI.i18nText('BI-Basic_Sure')], - el: this.loader - }); - - this.popupView.on(BI.MultiPopupView.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectPopupView.EVENT_CHANGE); - }); - this.popupView.on(BI.MultiPopupView.EVENT_CLICK_TOOLBAR_BUTTON, function (index) { - switch (index) { - case 0: - self.fireEvent(BI.MultiSelectPopupView.EVENT_CLICK_CLEAR); - break; - case 1: - self.fireEvent(BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM); - break; - } - }); - }, - - isAllSelected: function () { - return this.loader.isAllSelected(); - }, - - setStartValue: function (v) { - this.loader.setStartValue(v); - }, - - setValue: function (v) { - this.popupView.setValue(v); - }, - - getValue: function () { - return this.popupView.getValue(); - }, - - populate: function (items) { - this.popupView.populate.apply(this.popupView, arguments); - }, - - resetHeight: function (h) { - this.popupView.resetHeight(h); - }, - - resetWidth: function (w) { - this.popupView.resetWidth(w); - } -}); - -BI.MultiSelectPopupView.EVENT_CHANGE = "EVENT_CHANGE"; -BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM = "EVENT_CLICK_CONFIRM"; -BI.MultiSelectPopupView.EVENT_CLICK_CLEAR = "EVENT_CLICK_CLEAR"; - - -BI.shortcut('bi.multi_select_popup_view', BI.MultiSelectPopupView); \ No newline at end of file diff --git a/src/widget/multiselect/multiselect.trigger.js b/src/widget/multiselect/multiselect.trigger.js deleted file mode 100644 index 0da496a64e..0000000000 --- a/src/widget/multiselect/multiselect.trigger.js +++ /dev/null @@ -1,154 +0,0 @@ -/** - * - * 复选下拉框 - * @class BI.MultiSelectTrigger - * @extends BI.Trigger - */ - -BI.MultiSelectTrigger = BI.inherit(BI.Trigger, { - - constants: { - height: 14, - rgap: 4, - lgap: 4 - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectTrigger.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multi-select-trigger bi-border", - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn, - searcher: {}, - switcher: {}, - - adapter: null, - masker: {} - }); - }, - - _init: function () { - BI.MultiSelectTrigger.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - if (o.height) { - this.setHeight(o.height - 2); - } - - this.searcher = BI.createWidget(o.searcher, { - type: "bi.multi_select_searcher", - height: o.height, - itemsCreator: o.itemsCreator, - valueFormatter: o.valueFormatter, - popup: {}, - adapter: o.adapter, - masker: o.masker - }); - this.searcher.on(BI.MultiSelectSearcher.EVENT_START, function () { - self.fireEvent(BI.MultiSelectTrigger.EVENT_START); - }); - this.searcher.on(BI.MultiSelectSearcher.EVENT_PAUSE, function () { - self.fireEvent(BI.MultiSelectTrigger.EVENT_PAUSE); - }); - this.searcher.on(BI.MultiSelectSearcher.EVENT_SEARCHING, function () { - self.fireEvent(BI.MultiSelectTrigger.EVENT_SEARCHING, arguments); - }); - this.searcher.on(BI.MultiSelectSearcher.EVENT_STOP, function () { - self.fireEvent(BI.MultiSelectTrigger.EVENT_STOP); - }); - this.searcher.on(BI.MultiSelectSearcher.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectTrigger.EVENT_CHANGE, arguments); - }); - this.numberCounter = BI.createWidget(o.switcher, { - type: 'bi.multi_select_check_selected_switcher', - valueFormatter: o.valueFormatter, - itemsCreator: o.itemsCreator, - adapter: o.adapter, - masker: o.masker - }); - this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE, function () { - self.fireEvent(BI.MultiSelectTrigger.EVENT_COUNTER_CLICK); - }); - this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW); - }); - - var wrapNumberCounter = BI.createWidget({ - type: 'bi.right_vertical_adapt', - hgap: 4, - items: [{ - el: this.numberCounter - }] - }); - - var wrapper = BI.createWidget({ - type: 'bi.htape', - element: this, - items: [ - { - el: this.searcher, - width: 'fill' - }, { - el: wrapNumberCounter, - width: 0 - }, { - el: BI.createWidget(), - width: 30 - }] - }); - - this.numberCounter.on(BI.Events.VIEW, function (b) { - BI.nextTick(function () {//自动调整宽度 - wrapper.attr("items")[1].width = (b === true ? self.numberCounter.element.outerWidth() + 8 : 0); - wrapper.resize(); - }); - }); - - this.element.click(function (e) { - if (self.element.__isMouseInBounds__(e) && !self.numberCounter.element.__isMouseInBounds__(e)) { - self.numberCounter.hideView(); - } - }); - }, - - getCounter: function () { - return this.numberCounter; - }, - - getSearcher: function () { - return this.searcher; - }, - - stopEditing: function () { - this.searcher.stopSearch(); - this.numberCounter.hideView(); - }, - - setAdapter: function (adapter) { - this.searcher.setAdapter(adapter); - this.numberCounter.setAdapter(adapter); - }, - - setValue: function (ob) { - this.searcher.setValue(ob); - this.numberCounter.setValue(ob); - }, - - getKey: function () { - return this.searcher.getKey(); - }, - - getValue: function () { - return this.searcher.getValue(); - } -}); - -BI.MultiSelectTrigger.EVENT_TRIGGER_CLICK = "EVENT_TRIGGER_CLICK"; -BI.MultiSelectTrigger.EVENT_COUNTER_CLICK = "EVENT_COUNTER_CLICK"; -BI.MultiSelectTrigger.EVENT_CHANGE = "EVENT_CHANGE"; -BI.MultiSelectTrigger.EVENT_START = "EVENT_START"; -BI.MultiSelectTrigger.EVENT_STOP = "EVENT_STOP"; -BI.MultiSelectTrigger.EVENT_PAUSE = "EVENT_PAUSE"; -BI.MultiSelectTrigger.EVENT_SEARCHING = "EVENT_SEARCHING"; -BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW = "EVENT_BEFORE_COUNTER_POPUPVIEW"; - -BI.shortcut('bi.multi_select_trigger', BI.MultiSelectTrigger); \ No newline at end of file diff --git a/src/widget/multiselect/search/multiselect.search.loader.js b/src/widget/multiselect/search/multiselect.search.loader.js deleted file mode 100644 index bdb10bef24..0000000000 --- a/src/widget/multiselect/search/multiselect.search.loader.js +++ /dev/null @@ -1,153 +0,0 @@ -/** - * 多选加载数据搜索loader面板 - * Created by guy on 15/11/4. - * @class BI.MultiSelectSearchLoader - * @extends Widget - */ -BI.MultiSelectSearchLoader = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectSearchLoader.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-search-loader', - itemsCreator: BI.emptyFn, - keywordGetter: BI.emptyFn, - valueFormatter: BI.emptyFn, - }); - }, - - _init: function () { - BI.MultiSelectSearchLoader.superclass._init.apply(this, arguments); - - var self = this, opts = this.options; - var hasNext = false; - - this.button_group = BI.createWidget({ - type: "bi.select_list", - element: this, - logic: { - dynamic: false - }, - el: { - tipText: BI.i18nText("BI-No_Select"), - el: { - type: "bi.loader", - isDefaultInit: false, - logic: { - dynamic: true, - scrolly: true - }, - el: { - chooseType: BI.ButtonGroup.CHOOSE_TYPE_MULTI, - behaviors: { - redmark: function () { - return true; - } - }, - layouts: [{ - type: "bi.vertical" - }] - } - } - }, - itemsCreator: function (op, callback) { - self.storeValue && (op = BI.extend(op || {}, { - selectedValues: self.storeValue.value - })); - opts.itemsCreator(op, function (ob) { - var keyword = ob.keyword = opts.keywordGetter(); - hasNext = ob.hasNext; - var firstItems = []; - if (op.times === 1 && self.storeValue) { - var json = self._filterValues(self.storeValue); - firstItems = self._createItems(json); - } - callback(firstItems.concat(self._createItems(ob.items)), keyword); - if (op.times === 1 && self.storeValue) { - self.setValue(self.storeValue); - } - }); - }, - hasNext: function () { - return hasNext; - } - }); - this.button_group.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.button_group.on(BI.SelectList.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectSearchLoader.EVENT_CHANGE, arguments); - }); - }, - - _createItems: function (items) { - return BI.createItems(items, { - type: "bi.multi_select_item", - logic: { - dynamic: false - }, - height: 25, - selected: this.isAllSelected() - }) - }, - - isAllSelected: function () { - return this.button_group.isAllSelected(); - }, - - _filterValues: function (src) { - var o = this.options; - var keyword = o.keywordGetter(); - var values = BI.deepClone(src.value) || []; - var newValues = BI.map(values, function (i, v) { - return { - text: o.valueFormatter(v) || v, - value: v - }; - }); - if (BI.isKey(keyword)) { - var search = BI.Func.getSearchResult(newValues, keyword); - values = search.matched.concat(search.finded); - } - return BI.map(values, function (i, v) { - return { - text: v.text, - title: v.text, - value: v.value, - selected: src.type === BI.Selection.All - } - }) - }, - - setValue: function (v) { - //暂存的值一定是新的值,不然v改掉后,storeValue也跟着改了 - this.storeValue = BI.deepClone(v); - this.button_group.setValue(v); - }, - - getValue: function () { - return this.button_group.getValue(); - }, - - getAllButtons: function () { - return this.button_group.getAllButtons(); - }, - - empty: function () { - this.button_group.empty(); - }, - - populate: function (items) { - this.button_group.populate.apply(this.button_group, arguments); - }, - - resetHeight: function (h) { - this.button_group.resetHeight(h); - }, - - resetWidth: function (w) { - this.button_group.resetWidth(w); - } -}); - -BI.MultiSelectSearchLoader.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.multi_select_search_loader', BI.MultiSelectSearchLoader); \ No newline at end of file diff --git a/src/widget/multiselect/search/multiselect.search.pane.js b/src/widget/multiselect/search/multiselect.search.pane.js deleted file mode 100644 index 7acca06003..0000000000 --- a/src/widget/multiselect/search/multiselect.search.pane.js +++ /dev/null @@ -1,102 +0,0 @@ -/** - * - * 在搜索框中输入文本弹出的面板 - * @class BI.MultiSelectSearchPane - * @extends Widget - */ - -BI.MultiSelectSearchPane = BI.inherit(BI.Widget, { - - constants: { - height: 25, - lgap: 10, - tgap: 5 - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectSearchPane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multi-select-search-pane bi-card", - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn, - keywordGetter: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiSelectSearchPane.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.tooltipClick = BI.createWidget({ - type: "bi.label", - invisible: true, - text: BI.i18nText('BI-Click_Blank_To_Select'), - cls: 'multi-select-toolbar', - height: this.constants.height - }); - - this.loader = BI.createWidget({ - type: "bi.multi_select_search_loader", - keywordGetter: o.keywordGetter, - valueFormatter: o.valueFormatter, - itemsCreator: function (op, callback) { - o.itemsCreator.apply(self, [op, function (res) { - callback(res); - self.setKeyword(o.keywordGetter()); - }]); - } - }); - this.loader.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.resizer = BI.createWidget({ - type: "bi.vtape", - element: this, - items: [{ - el: this.tooltipClick, - height: 0 - }, { - el: this.loader - }] - }); - this.tooltipClick.setVisible(false); - }, - - setKeyword: function (keyword) { - var btn; - var isVisible = this.loader.getAllButtons().length > 0 && (btn = this.loader.getAllButtons()[0]) && (keyword === btn.getValue()); - if (isVisible !== this.tooltipClick.isVisible()) { - this.tooltipClick.setVisible(isVisible); - this.resizer.attr("items")[0].height = (isVisible ? this.constants.height : 0); - this.resizer.resize(); - } - }, - - isAllSelected: function () { - return this.loader.isAllSelected(); - }, - - hasMatched: function () { - return this.tooltipClick.isVisible(); - }, - - setValue: function (v) { - this.loader.setValue(v); - }, - - getValue: function () { - return this.loader.getValue(); - }, - - empty: function () { - this.loader.empty(); - }, - - populate: function (items) { - this.loader.populate.apply(this.loader, arguments); - } -}); - -BI.MultiSelectSearchPane.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.shortcut("bi.multi_select_search_pane", BI.MultiSelectSearchPane); \ No newline at end of file diff --git a/src/widget/multiselect/trigger/button.checkselected.js b/src/widget/multiselect/trigger/button.checkselected.js deleted file mode 100644 index 718f75c466..0000000000 --- a/src/widget/multiselect/trigger/button.checkselected.js +++ /dev/null @@ -1,77 +0,0 @@ -/** - * 查看已选按钮 - * Created by guy on 15/11/3. - * @class BI.MultiSelectCheckSelectedButton - * @extends BI.Single - */ -BI.MultiSelectCheckSelectedButton = BI.inherit(BI.Single, { - - _const: { - checkSelected: BI.i18nText('BI-Check_Selected') - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectCheckSelectedButton.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-check-selected-button bi-high-light', - itemsCreator: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiSelectCheckSelectedButton.superclass._init.apply(this, arguments); - var self = this; - this.numberCounter = BI.createWidget({ - type: 'bi.text_button', - element: this, - hgap: 4, - text: "0", - textAlign: 'center', - textHeight: 15 - }); - this.numberCounter.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.numberCounter.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectCheckSelectedButton.EVENT_CHANGE, arguments); - }); - - this.numberCounter.element.hover(function () { - self.numberCounter.setTag(self.numberCounter.getText()); - self.numberCounter.setText(self._const.checkSelected); - }, function () { - self.numberCounter.setText(self.numberCounter.getTag()); - }); - this.setVisible(false); - }, - - setValue: function (ob) { - var self = this, o = this.options; - ob || (ob = {}); - ob.type || (ob.type = BI.Selection.Multi); - ob.value || (ob.value = []); - if (ob.type === BI.Selection.All) { - o.itemsCreator({ - type: BI.MultiSelectCombo.REQ_GET_DATA_LENGTH - }, function (res) { - var length = res.count - ob.value.length; - BI.nextTick(function(){ - self.numberCounter.setText(length); - self.setVisible(length > 0); - }); - }); - return; - } - BI.nextTick(function(){ - self.numberCounter.setText(ob.value.length); - self.setVisible(ob.value.length > 0); - }) - }, - - getValue: function () { - - } -}); - -BI.MultiSelectCheckSelectedButton.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.multi_select_check_selected_button', BI.MultiSelectCheckSelectedButton); \ No newline at end of file diff --git a/src/widget/multiselect/trigger/editor.multiselect.js b/src/widget/multiselect/trigger/editor.multiselect.js deleted file mode 100644 index 368509fa4a..0000000000 --- a/src/widget/multiselect/trigger/editor.multiselect.js +++ /dev/null @@ -1,82 +0,0 @@ -/** - * 多选输入框 - * Created by guy on 15/11/3. - * @class BI.MultiSelectEditor - * @extends Widget - */ -BI.MultiSelectEditor = BI.inherit(BI.Widget, { - - _const: { - checkSelected: BI.i18nText('BI-Check_Selected') - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectEditor.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-editor', - el: {} - }); - }, - - _init: function () { - BI.MultiSelectEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget(o.el, { - type: 'bi.state_editor', - element: this, - height: o.height, - watermark: BI.i18nText('BI-Basic_Search'), - allowBlank: true - }); - - this.editor.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.editor.on(BI.StateEditor.EVENT_PAUSE, function () { - self.fireEvent(BI.MultiSelectEditor.EVENT_PAUSE); - }); - this.editor.on(BI.StateEditor.EVENT_CLICK_LABEL, function () { - - }); - }, - - focus: function () { - this.editor.focus(); - }, - - blur: function () { - this.editor.blur(); - }, - - setState: function (state) { - this.editor.setState(state); - }, - - setValue: function (v) { - this.editor.setValue(v); - }, - - getValue: function () { - var v = this.editor.getState(); - if (BI.isArray(v) && v.length > 0) { - return v[v.length - 1]; - } else { - return ""; - } - }, - - getKeywords: function () { - var val = this.editor.getLastValidValue(); - var keywords = val.match(/[\S]+/g); - if (BI.isEndWithBlank(val)) { - return keywords.concat([' ']); - } - return keywords; - }, - - populate: function (items) { - - } -}); -BI.MultiSelectEditor.EVENT_PAUSE = "MultiSelectEditor.EVENT_PAUSE"; -BI.shortcut('bi.multi_select_editor', BI.MultiSelectEditor); \ No newline at end of file diff --git a/src/widget/multiselect/trigger/searcher.multiselect.js b/src/widget/multiselect/trigger/searcher.multiselect.js deleted file mode 100644 index 166b79117c..0000000000 --- a/src/widget/multiselect/trigger/searcher.multiselect.js +++ /dev/null @@ -1,148 +0,0 @@ -/** - * searcher - * Created by guy on 15/11/3. - * @class BI.MultiSelectSearcher - * @extends Widget - */ -BI.MultiSelectSearcher = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectSearcher.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-searcher', - itemsCreator: BI.emptyFn, - el: {}, - popup: {}, - valueFormatter: BI.emptyFn, - adapter: null, - masker: {} - }); - }, - - _init: function () { - BI.MultiSelectSearcher.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget(o.el, { - type: 'bi.multi_select_editor', - height: o.height - }); - - this.searcher = BI.createWidget({ - type: "bi.searcher", - element: this, - height: o.height, - isAutoSearch: false, - isAutoSync: false, - onSearch: function (op, callback) { - callback(); - }, - el: this.editor, - - popup: BI.extend({ - type: "bi.multi_select_search_pane", - valueFormatter: o.valueFormatter, - keywordGetter: function () { - return self.editor.getValue(); - }, - itemsCreator: function (op, callback) { - op.keyword = self.editor.getValue(); - this.setKeyword(op.keyword); - o.itemsCreator(op, callback); - } - }, o.popup), - - adapter: o.adapter, - masker: o.masker - }); - this.searcher.on(BI.Searcher.EVENT_START, function () { - self.fireEvent(BI.MultiSelectSearcher.EVENT_START); - }); - this.searcher.on(BI.Searcher.EVENT_PAUSE, function () { - if (this.hasMatched()) { - - } - self.fireEvent(BI.MultiSelectSearcher.EVENT_PAUSE); - }); - this.searcher.on(BI.Searcher.EVENT_STOP, function () { - self.fireEvent(BI.MultiSelectSearcher.EVENT_STOP); - }); - this.searcher.on(BI.Searcher.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectSearcher.EVENT_CHANGE, arguments); - }); - this.searcher.on(BI.Searcher.EVENT_SEARCHING, function () { - var keywords = this.getKeywords(); - self.fireEvent(BI.MultiSelectSearcher.EVENT_SEARCHING, keywords); - }); - }, - - adjustView: function () { - this.searcher.adjustView(); - }, - - isSearching: function () { - return this.searcher.isSearching(); - }, - - stopSearch: function () { - this.searcher.stopSearch(); - }, - - getKeyword: function () { - return this.editor.getValue(); - }, - - hasMatched: function () { - return this.searcher.hasMatched(); - }, - - hasChecked: function () { - return this.searcher.getView() && this.searcher.getView().hasChecked(); - }, - - setAdapter: function (adapter) { - this.searcher.setAdapter(adapter); - }, - - setState: function (ob) { - var o = this.options; - ob || (ob = {}); - ob.value || (ob.value = []); - if (ob.type === BI.Selection.All) { - if (BI.size(ob.assist) === 1) { - this.editor.setState(o.valueFormatter(ob.assist[0] + "") || (ob.assist[0] + "")); - } else { - this.editor.setState(BI.size(ob.value) > 0 ? BI.Selection.Multi : BI.Selection.All); - } - } else { - if (BI.size(ob.value) === 1) { - this.editor.setState(o.valueFormatter(ob.value[0] + "") || (ob.value[0] + "")); - } else { - this.editor.setState(BI.size(ob.value) > 0 ? BI.Selection.Multi : BI.Selection.None); - } - } - }, - - setValue: function (ob) { - this.setState(ob); - this.searcher.setValue(ob); - }, - - getKey: function () { - return this.editor.getValue(); - }, - - getValue: function () { - return this.searcher.getValue(); - }, - - populate: function (items) { - this.searcher.populate.apply(this.searcher, arguments); - } -}); - -BI.MultiSelectSearcher.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.MultiSelectSearcher.EVENT_CHANGE = "EVENT_CHANGE"; -BI.MultiSelectSearcher.EVENT_START = "EVENT_START"; -BI.MultiSelectSearcher.EVENT_STOP = "EVENT_STOP"; -BI.MultiSelectSearcher.EVENT_PAUSE = "EVENT_PAUSE"; -BI.MultiSelectSearcher.EVENT_SEARCHING = "EVENT_SEARCHING"; -BI.shortcut('bi.multi_select_searcher', BI.MultiSelectSearcher); \ No newline at end of file diff --git a/src/widget/multiselect/trigger/switcher.checkselected.js b/src/widget/multiselect/trigger/switcher.checkselected.js deleted file mode 100644 index 011cd3794b..0000000000 --- a/src/widget/multiselect/trigger/switcher.checkselected.js +++ /dev/null @@ -1,98 +0,0 @@ -/** - * 查看已选switcher - * Created by guy on 15/11/3. - * @class BI.MultiSelectCheckSelectedSwitcher - * @extends Widget - */ -BI.MultiSelectCheckSelectedSwitcher = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiSelectCheckSelectedSwitcher.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-check-selected-switcher', - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn, - el: {}, - popup: {}, - adapter: null, - masker: {} - }); - }, - - _init: function () { - BI.MultiSelectCheckSelectedSwitcher.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.button = BI.createWidget(o.el, { - type: "bi.multi_select_check_selected_button", - itemsCreator: o.itemsCreator - }); - this.button.on(BI.Events.VIEW, function () { - self.fireEvent(BI.Events.VIEW, arguments); - }); - this.switcher = BI.createWidget({ - type: "bi.switcher", - toggle: false, - element: this, - el: this.button, - popup: BI.extend({ - type: "bi.multi_select_check_pane", - valueFormatter: o.valueFormatter, - itemsCreator: o.itemsCreator, - onClickContinueSelect: function () { - self.switcher.hideView(); - } - }, o.popup), - adapter: o.adapter, - masker: o.masker - }); - this.switcher.on(BI.Switcher.EVENT_TRIGGER_CHANGE, function () { - self.fireEvent(BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE); - }); - this.switcher.on(BI.Switcher.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW); - }); - this.switcher.on(BI.Switcher.EVENT_AFTER_POPUPVIEW, function () { - var me = this; - BI.nextTick(function () { - me.populate(); - }); - }); - - this.switcher.element.click(function (e) { - e.stopPropagation(); - }); - }, - - adjustView: function () { - this.switcher.adjustView(); - }, - - hideView: function () { - this.switcher.empty(); - this.switcher.hideView(); - }, - - setAdapter: function (adapter) { - this.switcher.setAdapter(adapter); - }, - - setValue: function (v) { - this.switcher.setValue(v); - }, - - setButtonChecked: function (v) { - this.button.setValue(v) - }, - - getValue: function () { - - }, - - populate: function (items) { - this.switcher.populate.apply(this.switcher, arguments); - } -}); - -BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE = "MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE"; -BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW = "MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW"; -BI.shortcut('bi.multi_select_check_selected_switcher', BI.MultiSelectCheckSelectedSwitcher); \ No newline at end of file diff --git a/src/widget/multiselectlist/multiselectlist.insert.js b/src/widget/multiselectlist/multiselectlist.insert.js deleted file mode 100644 index 6371502a8a..0000000000 --- a/src/widget/multiselectlist/multiselectlist.insert.js +++ /dev/null @@ -1,326 +0,0 @@ -/** - * Created by zcf_1 on 2017/5/2. - */ -BI.MultiSelectInsertList = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.MultiSelectInsertList.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-insert-list', - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn - }) - }, - _init: function () { - BI.MultiSelectInsertList.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - this.storeValue = {}; - - var assertShowValue = function () { - BI.isKey(self._startValue) && self.storeValue.value[self.storeValue.type === BI.Selection.All ? "remove" : "pushDistinct"](self._startValue); - // self.trigger.setValue(self.storeValue); - }; - - this.adapter = BI.createWidget({ - type: "bi.multi_select_loader", - cls: "popup-multi-select-list bi-border-left bi-border-right bi-border-bottom", - itemsCreator: o.itemsCreator, - valueFormatter: o.valueFormatter, - logic: { - dynamic: false - }, - // onLoaded: o.onLoaded, - el: {} - }); - this.adapter.on(BI.MultiSelectLoader.EVENT_CHANGE, function () { - self.storeValue = this.getValue(); - assertShowValue(); - self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE); - }); - - this.searcherPane = BI.createWidget({ - type: "bi.multi_select_search_pane", - cls: "bi-border-left bi-border-right bi-border-bottom", - valueFormatter: o.valueFormatter, - keywordGetter: function () { - return self.trigger.getKeyword(); - }, - itemsCreator: function (op, callback) { - op.keyword = self.trigger.getKeyword(); - this.setKeyword(op.keyword); - o.itemsCreator(op, callback); - } - }); - this.searcherPane.setVisible(false); - - this.trigger = BI.createWidget({ - type: "bi.searcher", - isAutoSearch: false, - isAutoSync: false, - onSearch: function (op, callback) { - callback(); - }, - adapter: this.adapter, - popup: this.searcherPane, - height: 200, - masker: false, - listeners: [{ - eventName: BI.Searcher.EVENT_START, - action: function () { - self._showSearcherPane(); - self._setStartValue(""); - this.setValue(BI.deepClone(self.storeValue)); - } - }, { - eventName: BI.Searcher.EVENT_STOP, - action: function () { - self._showAdapter(); - self._setStartValue(""); - self.adapter.setValue(self.storeValue); - //需要刷新回到初始界面,否则搜索的结果不能放在最前面 - self.adapter.populate(); - } - }, { - eventName: BI.Searcher.EVENT_PAUSE, - action: function () { - var keyword = this.getKeyword(); - if (this.hasMatched()) { - self._join({ - type: BI.Selection.Multi, - value: [keyword] - }, function () { - if (self.storeValue.type === BI.Selection.Multi) { - self.storeValue.value.pushDistinct(keyword) - } - self._showAdapter(); - self.adapter.setValue(self.storeValue); - self._setStartValue(keyword); - assertShowValue(); - self.adapter.populate(); - self._setStartValue(""); - self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE); - }) - } else { - if (self.storeValue.type === BI.Selection.Multi) { - self.storeValue.value.pushDistinct(keyword) - } - self._showAdapter(); - self.adapter.setValue(self.storeValue); - self.adapter.populate(); - if (self.storeValue.type === BI.Selection.Multi) { - self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE); - } - } - } - }, { - eventName: BI.Searcher.EVENT_SEARCHING, - action: function () { - var keywords = this.getKeyword(); - var last = BI.last(keywords); - keywords = BI.initial(keywords || []); - if (keywords.length > 0) { - self._joinKeywords(keywords, function () { - if (BI.isEndWithBlank(last)) { - self.adapter.setValue(self.storeValue); - assertShowValue(); - self.adapter.populate(); - self._setStartValue(""); - } else { - self.adapter.setValue(self.storeValue); - assertShowValue(); - } - }); - } - } - }, { - eventName: BI.Searcher.EVENT_CHANGE, - action: function (value, obj) { - if (obj instanceof BI.MultiSelectBar) { - self._joinAll(this.getValue(), function () { - assertShowValue(); - self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE); - }); - } else { - self._join(this.getValue(), function () { - assertShowValue(); - self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE); - }); - } - } - }] - }); - - BI.createWidget({ - type: "bi.vtape", - element: this, - items: [{ - el: this.trigger, - height: 30 - }, { - el: this.adapter, - height: "fill" - }] - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.searcherPane, - top: 30, - bottom: 0, - left: 0, - right: 0 - }] - }) - }, - - _showAdapter: function () { - this.adapter.setVisible(true); - this.searcherPane.setVisible(false); - }, - - _showSearcherPane: function () { - this.searcherPane.setVisible(true); - this.adapter.setVisible(false); - }, - - _defaultState: function () { - this.trigger.stopEditing(); - }, - - _assertValue: function (val) { - val || (val = {}); - val.type || (val.type = BI.Selection.Multi); - val.value || (val.value = []); - }, - - _makeMap: function (values) { - return BI.makeObject(values || []); - }, - - _joinKeywords: function (keywords, callback) { - var self = this, o = this.options; - this._assertValue(this.storeValue); - if (!this._allData) { - o.itemsCreator({ - type: BI.MultiSelectInsertList.REQ_GET_ALL_DATA - }, function (ob) { - self._allData = BI.pluck(ob.items, "value"); - digest(self._allData); - }) - } else { - digest(this._allData) - } - - function digest(items) { - var selectedMap = self._makeMap(items); - BI.each(keywords, function (i, val) { - if (BI.isNotNull(selectedMap[val])) { - self.storeValue.value[self.storeValue.type === BI.Selection.Multi ? "pushDistinct" : "remove"](val); - } - }); - callback(); - } - }, - - _joinAll: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - o.itemsCreator({ - type: BI.MultiSelectInsertList.REQ_GET_ALL_DATA, - keyword: self.trigger.getKeyword() - }, function (ob) { - var items = BI.pluck(ob.items, "value"); - if (self.storeValue.type === res.type) { - var change = false; - var map = self._makeMap(self.storeValue.value); - BI.each(items, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (self.storeValue.value = BI.values(map)); - callback(); - return; - } - var selectedMap = self._makeMap(self.storeValue.value); - var notSelectedMap = self._makeMap(res.value); - var newItems = []; - BI.each(items, function (i, item) { - if (BI.isNotNull(selectedMap[items[i]])) { - delete selectedMap[items[i]]; - } - if (BI.isNull(notSelectedMap[items[i]])) { - newItems.push(item); - } - }); - self.storeValue.value = newItems.concat(BI.values(selectedMap)); - callback(); - }) - }, - - _join: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - this._assertValue(this.storeValue); - if (this.storeValue.type === res.type) { - var map = this._makeMap(this.storeValue.value); - BI.each(res.value, function (i, v) { - if (!map[v]) { - self.storeValue.value.push(v); - map[v] = v; - } - }); - var change = false; - BI.each(res.assist, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (this.storeValue.value = BI.values(map)); - callback(); - return; - } - this._joinAll(res, callback); - }, - - _setStartValue: function (value) { - this._startValue = value; - this.adapter.setStartValue(value); - }, - - isAllSelected: function () { - return this.adapter.isAllSelected(); - }, - - resize: function () { - // this.trigger.getCounter().adjustView(); - // this.trigger.adjustView(); - }, - setValue: function (v) { - this.storeValue = v || {}; - this._assertValue(this.storeValue); - this.adapter.setValue(this.storeValue); - this.trigger.setValue(this.storeValue); - }, - - getValue: function () { - return BI.deepClone(this.storeValue); - }, - - populate: function () { - this._count = null; - this._allData = null; - this.adapter.populate.apply(this.adapter, arguments); - this.trigger.populate.apply(this.trigger, arguments); - } -}); - -BI.extend(BI.MultiSelectInsertList, { - REQ_GET_DATA_LENGTH: 0, - REQ_GET_ALL_DATA: -1 -}); - -BI.MultiSelectInsertList.EVENT_CHANGE = "BI.MultiSelectInsertList.EVENT_CHANGE"; -BI.shortcut("bi.multi_select_insert_list", BI.MultiSelectInsertList); \ No newline at end of file diff --git a/src/widget/multiselectlist/multiselectlist.js b/src/widget/multiselectlist/multiselectlist.js deleted file mode 100644 index b273f10e88..0000000000 --- a/src/widget/multiselectlist/multiselectlist.js +++ /dev/null @@ -1,345 +0,0 @@ -/** - * Created by zcf_1 on 2017/5/2. - */ -BI.MultiSelectList = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.MultiSelectList.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-list', - itemsCreator: BI.emptyFn, - valueFormatter: BI.emptyFn - }) - }, - _init: function () { - BI.MultiSelectList.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - this.storeValue = {}; - - var assertShowValue = function () { - BI.isKey(self._startValue) && self.storeValue.value[self.storeValue.type === BI.Selection.All ? "remove" : "pushDistinct"](self._startValue); - // self.trigger.setValue(self.storeValue); - }; - - this.adapter = BI.createWidget({ - type: "bi.multi_select_loader", - cls: "popup-multi-select-list bi-border-left bi-border-right bi-border-bottom", - itemsCreator: o.itemsCreator, - valueFormatter: o.valueFormatter, - logic: { - dynamic: false - }, - // onLoaded: o.onLoaded, - el: {} - }); - this.adapter.on(BI.MultiSelectLoader.EVENT_CHANGE, function () { - self.storeValue = this.getValue(); - self._adjust(function () { - assertShowValue(); - self.fireEvent(BI.MultiSelectList.EVENT_CHANGE); - }); - }); - - this.searcherPane = BI.createWidget({ - type: "bi.multi_select_search_pane", - cls: "bi-border-left bi-border-right bi-border-bottom", - valueFormatter: o.valueFormatter, - keywordGetter: function () { - return self.trigger.getKeyword(); - }, - itemsCreator: function (op, callback) { - op.keyword = self.trigger.getKeyword(); - this.setKeyword(op.keyword); - o.itemsCreator(op, callback); - } - }); - this.searcherPane.setVisible(false); - - this.trigger = BI.createWidget({ - type: "bi.searcher", - isAutoSearch: false, - isAutoSync: false, - onSearch: function (op, callback) { - callback(); - }, - adapter: this.adapter, - popup: this.searcherPane, - height: 200, - masker: false, - listeners: [{ - eventName: BI.Searcher.EVENT_START, - action: function () { - self._showSearcherPane(); - self._setStartValue(""); - this.setValue(BI.deepClone(self.storeValue)); - } - }, { - eventName: BI.Searcher.EVENT_STOP, - action: function () { - self._showAdapter(); - self._setStartValue(""); - self.adapter.setValue(self.storeValue); - //需要刷新回到初始界面,否则搜索的结果不能放在最前面 - self.adapter.populate(); - } - }, { - eventName: BI.Searcher.EVENT_PAUSE, - action: function () { - var keyword = this.getKeyword(); - if (this.hasMatched()) { - self._join({ - type: BI.Selection.Multi, - value: [keyword] - }, function () { - self._showAdapter(); - self.adapter.setValue(self.storeValue); - self._setStartValue(keyword); - assertShowValue(); - self.adapter.populate(); - self._setStartValue(""); - self.fireEvent(BI.MultiSelectList.EVENT_CHANGE); - }) - } - } - }, { - eventName: BI.Searcher.EVENT_SEARCHING, - action: function () { - var keywords = this.getKeyword(); - var last = BI.last(keywords); - keywords = BI.initial(keywords || []); - if (keywords.length > 0) { - self._joinKeywords(keywords, function () { - if (BI.isEndWithBlank(last)) { - self.adapter.setValue(self.storeValue); - assertShowValue(); - self.adapter.populate(); - self._setStartValue(""); - } else { - self.adapter.setValue(self.storeValue); - assertShowValue(); - } - }); - } - } - }, { - eventName: BI.Searcher.EVENT_CHANGE, - action: function (value, obj) { - if (obj instanceof BI.MultiSelectBar) { - self._joinAll(this.getValue(), function () { - assertShowValue(); - self.fireEvent(BI.MultiSelectList.EVENT_CHANGE); - }); - } else { - self._join(this.getValue(), function () { - assertShowValue(); - self.fireEvent(BI.MultiSelectList.EVENT_CHANGE); - }); - } - } - }] - }); - - BI.createWidget({ - type: "bi.vtape", - element: this, - items: [{ - el: this.trigger, - height: 30 - }, { - el: this.adapter, - height: "fill" - }] - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.searcherPane, - top: 30, - bottom: 0, - left: 0, - right: 0 - }] - }) - }, - - _showAdapter: function () { - this.adapter.setVisible(true); - this.searcherPane.setVisible(false); - }, - - _showSearcherPane: function () { - this.searcherPane.setVisible(true); - this.adapter.setVisible(false); - }, - - _defaultState: function () { - this.trigger.stopEditing(); - }, - - _assertValue: function (val) { - val || (val = {}); - val.type || (val.type = BI.Selection.Multi); - val.value || (val.value = []); - }, - - _makeMap: function (values) { - return BI.makeObject(values || []); - }, - - _joinKeywords: function (keywords, callback) { - var self = this, o = this.options; - this._assertValue(this.storeValue); - if (!this._allData) { - o.itemsCreator({ - type: BI.MultiSelectList.REQ_GET_ALL_DATA - }, function (ob) { - self._allData = BI.pluck(ob.items, "value"); - digest(self._allData); - }) - } else { - digest(this._allData) - } - - function digest(items) { - var selectedMap = self._makeMap(items); - BI.each(keywords, function (i, val) { - if (BI.isNotNull(selectedMap[val])) { - self.storeValue.value[self.storeValue.type === BI.Selection.Multi ? "pushDistinct" : "remove"](val); - } - }); - self._adjust(callback); - } - }, - - _joinAll: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - o.itemsCreator({ - type: BI.MultiSelectList.REQ_GET_ALL_DATA, - keyword: self.trigger.getKeyword() - }, function (ob) { - var items = BI.pluck(ob.items, "value"); - if (self.storeValue.type === res.type) { - var change = false; - var map = self._makeMap(self.storeValue.value); - BI.each(items, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (self.storeValue.value = BI.values(map)); - self._adjust(callback); - return; - } - var selectedMap = self._makeMap(self.storeValue.value); - var notSelectedMap = self._makeMap(res.value); - var newItems = []; - BI.each(items, function (i, item) { - if (BI.isNotNull(selectedMap[items[i]])) { - delete selectedMap[items[i]]; - } - if (BI.isNull(notSelectedMap[items[i]])) { - newItems.push(item); - } - }); - self.storeValue.value = newItems.concat(BI.values(selectedMap)); - self._adjust(callback); - }) - }, - - _adjust: function (callback) { - var self = this, o = this.options; - if (!this._count) { - o.itemsCreator({ - type: BI.MultiSelectList.REQ_GET_DATA_LENGTH - }, function (res) { - self._count = res.count; - adjust(); - callback(); - }); - } else { - adjust(); - callback(); - } - - function adjust() { - if (self.storeValue.type === BI.Selection.All && self.storeValue.value.length >= self._count) { - self.storeValue = { - type: BI.Selection.Multi, - value: [] - } - } else if (self.storeValue.type === BI.Selection.Multi && self.storeValue.value.length >= self._count) { - self.storeValue = { - type: BI.Selection.All, - value: [] - } - } - } - }, - - _join: function (res, callback) { - var self = this, o = this.options; - this._assertValue(res); - this._assertValue(this.storeValue); - if (this.storeValue.type === res.type) { - var map = this._makeMap(this.storeValue.value); - BI.each(res.value, function (i, v) { - if (!map[v]) { - self.storeValue.value.push(v); - map[v] = v; - } - }); - var change = false; - BI.each(res.assist, function (i, v) { - if (BI.isNotNull(map[v])) { - change = true; - delete map[v]; - } - }); - change && (this.storeValue.value = BI.values(map)); - self._adjust(callback); - return; - } - this._joinAll(res, callback); - }, - - _setStartValue: function (value) { - this._startValue = value; - this.adapter.setStartValue(value); - }, - - isAllSelected: function () { - return this.adapter.isAllSelected(); - }, - - resize: function () { - // this.trigger.getCounter().adjustView(); - // this.trigger.adjustView(); - }, - setValue: function (v) { - this.storeValue = v || {}; - this._assertValue(this.storeValue); - this.adapter.setValue(this.storeValue); - this.trigger.setValue(this.storeValue); - }, - - getValue: function () { - return BI.deepClone(this.storeValue); - }, - - populate: function () { - this._count = null; - this._allData = null; - this.adapter.populate.apply(this.adapter, arguments); - this.trigger.populate.apply(this.trigger, arguments); - } -}); - -BI.extend(BI.MultiSelectList, { - REQ_GET_DATA_LENGTH: 0, - REQ_GET_ALL_DATA: -1 -}); - -BI.MultiSelectList.EVENT_CHANGE = "BI.MultiSelectList.EVENT_CHANGE"; -BI.shortcut("bi.multi_select_list", BI.MultiSelectList); \ No newline at end of file diff --git a/src/widget/multiselecttree/multiselecttree.js b/src/widget/multiselecttree/multiselecttree.js deleted file mode 100644 index 54653c10ff..0000000000 --- a/src/widget/multiselecttree/multiselecttree.js +++ /dev/null @@ -1,163 +0,0 @@ -/** - * Created by zcf_1 on 2017/5/11. - */ -BI.MultiSelectTree = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.MultiSelectTree.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-select-tree', - itemsCreator: BI.emptyFn - }) - }, - - _init: function () { - BI.MultiSelectTree.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.storeValue = {value: {}}; - - this.adapter = BI.createWidget({ - type: "bi.multi_select_tree_popup", - itemsCreator: o.itemsCreator - }); - this.adapter.on(BI.MultiSelectTreePopup.EVENT_CHANGE, function () { - if (self.searcher.isSearching()) { - self.storeValue = {value: self.searcherPane.getValue()}; - } else { - self.storeValue = {value: self.adapter.getValue()}; - } - self.setSelectedValue(self.storeValue.value); - self.fireEvent(BI.MultiSelectTree.EVENT_CHANGE); - }); - - //搜索中的时候用的是parttree,同adapter中的synctree不一样 - this.searcherPane = BI.createWidget({ - type: "bi.multi_tree_search_pane", - cls: "bi-border-left bi-border-right bi-border-bottom", - keywordGetter: function () { - return self.searcher.getKeyword(); - }, - itemsCreator: function (op, callback) { - op.keyword = self.searcher.getKeyword(); - o.itemsCreator(op, callback); - } - }); - this.searcherPane.setVisible(false); - - this.searcher = BI.createWidget({ - type: "bi.searcher", - isAutoSearch: false, - isAutoSync: false, - onSearch: function (op, callback) { - callback({ - keyword: self.searcher.getKeyword() - }); - }, - adapter: this.adapter, - popup: this.searcherPane, - masker: false, - listeners: [{ - eventName: BI.Searcher.EVENT_START, - action: function () { - self._showSearcherPane(); - // self.storeValue = {value: self.adapter.getValue()}; - // self.searcherPane.setSelectedValue(self.storeValue.value); - } - }, { - eventName: BI.Searcher.EVENT_STOP, - action: function () { - self._showAdapter(); - // self.storeValue = {value: self.searcherPane.getValue()}; - // self.adapter.setSelectedValue(self.storeValue.value); - BI.nextTick(function () { - self.adapter.populate(); - }); - } - }, { - eventName: BI.Searcher.EVENT_CHANGE, - action: function () { - if (self.searcher.isSearching()) { - self.storeValue = {value: self.searcherPane.getValue()}; - } else { - self.storeValue = {value: self.adapter.getValue()}; - } - self.setSelectedValue(self.storeValue.value); - self.fireEvent(BI.MultiSelectTree.EVENT_CHANGE); - } - }, { - eventName: BI.Searcher.EVENT_PAUSE, - action: function () { - self._showAdapter(); - } - }] - }); - - BI.createWidget({ - type: "bi.vtape", - element: this, - items: [{ - el: this.searcher, - height: 30 - }, { - el: this.adapter, - height: "fill" - }] - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.searcherPane, - top: 30, - bottom: 0, - left: 0, - right: 0 - }] - }) - - }, - - _showAdapter: function () { - this.adapter.setVisible(true); - this.searcherPane.setVisible(false); - }, - - _showSearcherPane: function () { - this.searcherPane.setVisible(true); - this.adapter.setVisible(false); - }, - - resize: function () { - - }, - - setSelectedValue: function (v) { - this.storeValue.value = v || {}; - this.adapter.setSelectedValue(v); - this.searcherPane.setSelectedValue(v); - this.searcher.setValue({ - value: v || {} - }); - }, - - setValue: function (v) { - this.adapter.setValue(v); - }, - - stopSearch: function () { - this.searcher.stopSearch(); - }, - - updateValue: function (v) { - this.adapter.updateValue(v); - }, - - getValue: function () { - return this.storeValue.value; - }, - - populate: function () { - this.searcher.populate.apply(this.searcher, arguments); - this.adapter.populate.apply(this.adapter, arguments); - } -}); -BI.MultiSelectTree.EVENT_CHANGE = "BI.MultiSelectTree.EVENT_CHANGE"; -BI.shortcut("bi.multi_select_tree", BI.MultiSelectTree); \ No newline at end of file diff --git a/src/widget/multiselecttree/multiselecttree.popup.js b/src/widget/multiselecttree/multiselecttree.popup.js deleted file mode 100644 index b6e3e55a26..0000000000 --- a/src/widget/multiselecttree/multiselecttree.popup.js +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Created by zcf on 2016/12/21. - */ -BI.MultiSelectTreePopup = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.MultiSelectTreePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multi-select-tree-popup bi-border-left bi-border-right bi-border-bottom", - itemsCreator: BI.emptyFn - }); - }, - _init: function () { - BI.MultiSelectTreePopup.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.popup = BI.createWidget({ - type: "bi.async_tree", - element: this, - itemsCreator: o.itemsCreator - }); - this.popup.on(BI.TreeView.EVENT_AFTERINIT, function () { - self.fireEvent(BI.MultiSelectTreePopup.EVENT_AFTER_INIT) - }); - this.popup.on(BI.TreeView.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectTreePopup.EVENT_CHANGE) - }); - }, - - hasChecked: function () { - return this.popup.hasChecked(); - }, - - getValue: function () { - return this.popup.getValue(); - }, - - setValue: function (v) { - v || (v = {}); - this.popup.setValue(v); - }, - - setSelectedValue: function (v) { - v || (v = {}); - this.popup.setSelectedValue(v); - }, - - updateValue: function (v) { - this.popup.updateValue(v); - this.popup.refresh(); - }, - - populate: function (config) { - this.popup.stroke(config); - } - -}); -BI.MultiSelectTreePopup.EVENT_AFTER_INIT = "BI.MultiSelectTreePopup.EVENT_AFTER_INIT"; -BI.MultiSelectTreePopup.EVENT_CHANGE = "BI.MultiSelectTreePopup.EVENT_CHANGE"; -BI.shortcut("bi.multi_select_tree_popup", BI.MultiSelectTreePopup); \ No newline at end of file diff --git a/src/widget/multitree/check/multi.tree.check.pane.js b/src/widget/multitree/check/multi.tree.check.pane.js deleted file mode 100644 index cd85c949c8..0000000000 --- a/src/widget/multitree/check/multi.tree.check.pane.js +++ /dev/null @@ -1,115 +0,0 @@ -/** - * - * @class BI.MultiTreeCheckPane - * @extends BI.Pane - */ -BI.MultiTreeCheckPane = BI.inherit(BI.Pane, { - - constants: { - height: 25, - lgap: 10, - tgap: 5 - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiTreeCheckPane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multi-tree-check-pane bi-background", - onClickContinueSelect: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiTreeCheckPane.superclass._init.apply(this, arguments); - - var self = this, opts = this.options; - - this.selectedValues = {}; - - var continueSelect = BI.createWidget({ - type: 'bi.text_button', - text: BI.i18nText('BI-Continue_Select'), - cls: 'multi-tree-check-selected' - }); - continueSelect.on(BI.TextButton.EVENT_CHANGE, function () { - opts.onClickContinueSelect(); - BI.nextTick(function () { - self.empty(); - }); - }); - - var backToPopup = BI.createWidget({ - type: 'bi.left', - cls: 'multi-tree-continue-select', - items: [ - { - el: { - type: "bi.label", - text: BI.i18nText('BI-Selected_Data') - }, - lgap: this.constants.lgap, - tgap: this.constants.tgap - }, - { - el: continueSelect, - lgap: this.constants.lgap, - tgap: this.constants.tgap - }] - }); - - this.display = BI.createWidget({ - type: "bi.display_tree", - cls: "bi-multi-tree-display", - itemsCreator: function (op, callback) { - op.type = BI.TreeView.REQ_TYPE_GET_SELECTED_DATA; - opts.itemsCreator(op, callback); - } - }); - - this.display.on(BI.Events.AFTERINIT, function () { - self.fireEvent(BI.Events.AFTERINIT); - }); - - this.display.on(BI.TreeView.EVENT_INIT, function () { - backToPopup.setVisible(false); - }); - - this.display.on(BI.TreeView.EVENT_AFTERINIT, function () { - backToPopup.setVisible(true); - }); - - BI.createWidget({ - type: 'bi.vtape', - element: this, - items: [{ - height: this.constants.height, - el: backToPopup - }, { - height: 'fill', - el: this.display - }] - }); - - }, - - empty: function () { - this.display.empty(); - }, - - populate: function (configs) { - this.display.stroke(configs); - }, - - setValue: function (v) { - v || (v = {}); - this.display.setSelectedValue(v.value); - }, - - getValue: function () { - - } -}); - -BI.MultiTreeCheckPane.EVENT_CONTINUE_CLICK = "EVENT_CONTINUE_CLICK"; - - -BI.shortcut("bi.multi_tree_check_pane", BI.MultiTreeCheckPane); \ No newline at end of file diff --git a/src/widget/multitree/multi.tree.combo.js b/src/widget/multitree/multi.tree.combo.js deleted file mode 100644 index 37d31c82d6..0000000000 --- a/src/widget/multitree/multi.tree.combo.js +++ /dev/null @@ -1,260 +0,0 @@ -/** - * - * @class BI.MultiTreeCombo - * @extends BI.Single - */ - -BI.MultiTreeCombo = BI.inherit(BI.Single, { - - constants: { - offset: { - top: 1, - left: 1, - right: 2, - bottom: 33 - } - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiTreeCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-tree-combo', - itemsCreator: BI.emptyFn, - height: 25 - }); - }, - - _init: function () { - BI.MultiTreeCombo.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - - var isInit = false; - var want2showCounter = false; - - this.trigger = BI.createWidget({ - type: "bi.multi_select_trigger", - height: o.height, - // adapter: this.popup, - masker: { - offset: this.constants.offset - }, - searcher: { - type: "bi.multi_tree_searcher", - itemsCreator: o.itemsCreator - }, - switcher: { - el: { - type: "bi.multi_tree_check_selected_button" - }, - popup: { - type: "bi.multi_tree_check_pane", - itemsCreator: o.itemsCreator - } - } - - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - toggle: false, - el: this.trigger, - adjustLength: 1, - popup: { - type: 'bi.multi_tree_popup_view', - ref: function () { - self.popup = this; - self.trigger.setAdapter(this); - }, - listeners: [{ - eventName: BI.MultiTreePopup.EVENT_AFTERINIT, - action: function () { - self.trigger.getCounter().adjustView(); - isInit = true; - if (want2showCounter === true) { - showCounter(); - } - } - }, { - eventName: BI.MultiTreePopup.EVENT_CHANGE, - action: function () { - change = true; - var val = { - type: BI.Selection.Multi, - value: this.hasChecked() ? {1: 1} : {} - }; - self.trigger.getSearcher().setState(val); - self.trigger.getCounter().setButtonChecked(val); - } - }, { - eventName: BI.MultiTreePopup.EVENT_CLICK_CONFIRM, - action: function () { - self.combo.hideView(); - } - }, { - eventName: BI.MultiTreePopup.EVENT_CLICK_CLEAR, - action: function () { - clear = true; - self.setValue(); - self._defaultState(); - } - }], - itemsCreator: o.itemsCreator, - onLoaded: function () { - BI.nextTick(function () { - self.trigger.getCounter().adjustView(); - self.trigger.getSearcher().adjustView(); - }); - } - }, - hideChecker: function (e) { - return triggerBtn.element.find(e.target).length === 0; - } - }); - - this.storeValue = {value: {}}; - var change = false; - var clear = false; //标识当前是否点击了清空 - - var isSearching = function () { - return self.trigger.getSearcher().isSearching(); - }; - - var isPopupView = function () { - return self.combo.isViewVisible(); - }; - - this.trigger.on(BI.MultiSelectTrigger.EVENT_START, function () { - self.storeValue = {value: self.combo.getValue()}; - this.setValue(self.storeValue); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_STOP, function () { - self.storeValue = {value: this.getValue()}; - self.combo.setValue(self.storeValue); - BI.nextTick(function () { - if (isPopupView()) { - self.combo.populate(); - } - }); - }); - function showCounter() { - if (isSearching()) { - self.storeValue = {value: self.trigger.getValue()}; - } else if (isPopupView()) { - self.storeValue = {value: self.combo.getValue()}; - } - self.trigger.setValue(self.storeValue); - } - - this.trigger.on(BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW, function () { - if (want2showCounter === false) { - want2showCounter = true; - } - if (isInit === true) { - want2showCounter = null; - showCounter(); - } - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_TRIGGER_CLICK, function () { - self.combo.toggle(); - }); - this.trigger.on(BI.MultiSelectTrigger.EVENT_COUNTER_CLICK, function () { - if (!self.combo.isViewVisible()) { - self.combo.showView(); - } - }); - - this.trigger.on(BI.MultiSelectTrigger.EVENT_CHANGE, function () { - var val = { - type: BI.Selection.Multi, - value: this.getSearcher().hasChecked() ? {1: 1} : {} - }; - this.getSearcher().setState(val); - this.getCounter().setButtonChecked(val); - }); - - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - if (isSearching()) { - return; - } - if (change === true) { - self.storeValue = {value: self.combo.getValue()}; - change = false; - } - self.combo.setValue(self.storeValue); - self.populate(); - - }); - this.combo.on(BI.Combo.EVENT_BEFORE_HIDEVIEW, function () { - if (isSearching()) { - self.trigger.stopEditing(); - self.fireEvent(BI.MultiTreeCombo.EVENT_CONFIRM); - }else{ - if (isPopupView()) { - self.trigger.stopEditing(); - self.storeValue = {value: self.combo.getValue()}; - if (clear === true) { - self.storeValue = {value: {}}; - } - self.fireEvent(BI.MultiTreeCombo.EVENT_CONFIRM); - } - } - clear = false; - change = false; - }); - - var triggerBtn = BI.createWidget({ - type: "bi.trigger_icon_button", - width: o.height, - height: o.height, - cls: "multi-select-trigger-icon-button bi-border-left" - }); - triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE, function () { - self.trigger.getCounter().hideView(); - if (self.combo.isViewVisible()) { - self.combo.hideView(); - } else { - self.combo.showView(); - } - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.combo, - left: 0, - right: 0, - top: 0, - bottom: 0 - }, { - el: triggerBtn, - right: 0, - top: 0, - bottom: 0 - }] - }) - }, - - _defaultState: function () { - this.trigger.stopEditing(); - this.combo.hideView(); - }, - - setValue: function (v) { - this.storeValue.value = v || {}; - this.combo.setValue({ - value: v || {} - }); - }, - - getValue: function () { - return this.storeValue.value; - }, - - populate: function () { - this.combo.populate.apply(this.combo, arguments); - } -}); - -BI.MultiTreeCombo.EVENT_CONFIRM = "MultiTreeCombo.EVENT_CONFIRM"; - -BI.shortcut('bi.multi_tree_combo', BI.MultiTreeCombo); \ No newline at end of file diff --git a/src/widget/multitree/multi.tree.popup.js b/src/widget/multitree/multi.tree.popup.js deleted file mode 100644 index 349779d23a..0000000000 --- a/src/widget/multitree/multi.tree.popup.js +++ /dev/null @@ -1,97 +0,0 @@ -/** - * 带加载的多选下拉面板 - * @class BI.MultiTreePopup - * @extends BI.Pane - */ -BI.MultiTreePopup = BI.inherit(BI.Pane, { - - _defaultConfig: function () { - return BI.extend(BI.MultiTreePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-tree-popup', - maxWidth: 'auto', - minWidth: 100, - maxHeight: 400, - onLoaded: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiTreePopup.superclass._init.apply(this, arguments); - - var self = this, opts = this.options; - - this.selectedValues = {}; - - this.tree = BI.createWidget({ - type: "bi.async_tree", - height: 400, - cls:"popup-view-tree", - itemsCreator: opts.itemsCreator, - onLoaded: opts.onLoaded - }); - - this.popupView = BI.createWidget({ - type: "bi.multi_popup_view", - element: this, - stopPropagation: false, - maxWidth: opts.maxWidth, - minWidth: opts.minWidth, - maxHeight: opts.maxHeight, - buttons: [BI.i18nText('BI-Basic_Clears'), BI.i18nText('BI-Basic_Sure')], - el: this.tree - }); - - this.popupView.on(BI.MultiPopupView.EVENT_CLICK_TOOLBAR_BUTTON, function (index) { - switch (index) { - case 0: - self.fireEvent(BI.MultiTreePopup.EVENT_CLICK_CLEAR); - break; - case 1: - self.fireEvent(BI.MultiTreePopup.EVENT_CLICK_CONFIRM); - break; - } - }); - - this.tree.on(BI.TreeView.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiTreePopup.EVENT_CHANGE); - }); - - this.tree.on(BI.TreeView.EVENT_AFTERINIT, function () { - self.fireEvent(BI.MultiTreePopup.EVENT_AFTERINIT); - }); - - }, - - getValue: function () { - return this.tree.getValue(); - }, - - setValue: function (v) { - v || (v = {}); - this.tree.setSelectedValue(v.value); - }, - - populate: function (config) { - this.tree.stroke(config); - }, - - hasChecked: function () { - return this.tree.hasChecked(); - }, - - resetHeight: function (h) { - this.popupView.resetHeight(h); - }, - - resetWidth: function (w) { - this.popupView.resetWidth(w); - } -}); - -BI.MultiTreePopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.MultiTreePopup.EVENT_CLICK_CONFIRM = "EVENT_CLICK_CONFIRM"; -BI.MultiTreePopup.EVENT_CLICK_CLEAR = "EVENT_CLICK_CLEAR"; -BI.MultiTreePopup.EVENT_AFTERINIT = "EVENT_AFTERINIT"; - - -BI.shortcut('bi.multi_tree_popup_view', BI.MultiTreePopup); \ No newline at end of file diff --git a/src/widget/multitree/multi.tree.search.pane.js b/src/widget/multitree/multi.tree.search.pane.js deleted file mode 100644 index b02dcb94a4..0000000000 --- a/src/widget/multitree/multi.tree.search.pane.js +++ /dev/null @@ -1,73 +0,0 @@ -/** - * - * 在搜索框中输入文本弹出的面板 - * @class BI.MultiTreeSearchPane - * @extends BI.Pane - */ - -BI.MultiTreeSearchPane = BI.inherit(BI.Pane, { - - _defaultConfig: function () { - return BI.extend(BI.MultiTreeSearchPane.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-multi-tree-search-pane bi-card", - itemsCreator: BI.emptyFn, - keywordGetter: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiTreeSearchPane.superclass._init.apply(this, arguments); - - var self = this, opts = this.options; - - this.partTree = BI.createWidget({ - type: "bi.part_tree", - element: this, - tipText: BI.i18nText("BI-No_Select"), - itemsCreator: function (op, callback) { - op.keyword = opts.keywordGetter(); - opts.itemsCreator(op, callback); - } - }); - - this.partTree.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.partTree.on(BI.TreeView.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiTreeSearchPane.EVENT_CHANGE); - }); - }, - - hasChecked: function () { - return this.partTree.hasChecked(); - }, - - setValue: function (v) { - this.setSelectedValue(v.value); - }, - - setSelectedValue: function (v) { - v || (v = {}); - this.partTree.setSelectedValue(v); - }, - - getValue: function () { - return this.partTree.getValue(); - }, - - empty: function () { - this.partTree.empty(); - }, - - populate: function (op) { - this.partTree.stroke.apply(this.partTree, arguments); - } -}); - -BI.MultiTreeSearchPane.EVENT_CHANGE = "EVENT_CHANGE"; - -BI.MultiTreeSearchPane.EVENT_CLICK_CONFIRM = "EVENT_CLICK_CONFIRM"; -BI.MultiTreeSearchPane.EVENT_CLICK_CLEAR = "EVENT_CLICK_CLEAR"; - -BI.shortcut("bi.multi_tree_search_pane", BI.MultiTreeSearchPane); \ No newline at end of file diff --git a/src/widget/multitree/trigger/multi.tree.button.checkselected.js b/src/widget/multitree/trigger/multi.tree.button.checkselected.js deleted file mode 100644 index 993d1602ee..0000000000 --- a/src/widget/multitree/trigger/multi.tree.button.checkselected.js +++ /dev/null @@ -1,71 +0,0 @@ -/** - * 查看已选按钮 - * Created by guy on 15/11/3. - * @class BI.MultiTreeCheckSelectedButton - * @extends BI.Single - */ -BI.MultiTreeCheckSelectedButton = BI.inherit(BI.Single, { - - _const: { - checkSelected: BI.i18nText('BI-Check_Selected') - }, - - _defaultConfig: function () { - return BI.extend(BI.MultiTreeCheckSelectedButton.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-tree-check-selected-button', - itemsCreator: BI.emptyFn - }); - }, - - _init: function () { - BI.MultiTreeCheckSelectedButton.superclass._init.apply(this, arguments); - var self = this; - this.indicator = BI.createWidget({ - type: 'bi.icon_button', - cls: 'check-font trigger-check-selected', - width: 15, - height: 15, - stopPropagation: true - }); - - this.checkSelected = BI.createWidget({ - type: 'bi.text_button', - cls: "trigger-check-selected", - invisible: true, - hgap: 4, - text: this._const.checkSelected, - textAlign: 'center', - textHeight: 15 - }); - this.checkSelected.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.checkSelected.on(BI.TextButton.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiSelectCheckSelectedButton.EVENT_CHANGE, arguments); - }); - - BI.createWidget({ - type: "bi.horizontal", - element: this, - items: [this.indicator, this.checkSelected] - }) - - this.element.hover(function () { - self.indicator.setVisible(false); - self.checkSelected.setVisible(true); - }, function () { - self.indicator.setVisible(true); - self.checkSelected.setVisible(false); - }); - this.setVisible(false); - }, - - setValue: function (v) { - v || (v = {}); - this.setVisible(BI.size(v.value) > 0); - } -}); - -BI.MultiTreeCheckSelectedButton.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut('bi.multi_tree_check_selected_button', BI.MultiTreeCheckSelectedButton); \ No newline at end of file diff --git a/src/widget/multitree/trigger/searcher.multi.tree.js b/src/widget/multitree/trigger/searcher.multi.tree.js deleted file mode 100644 index e63eed7cb0..0000000000 --- a/src/widget/multitree/trigger/searcher.multi.tree.js +++ /dev/null @@ -1,136 +0,0 @@ -/** - * searcher - * Created by guy on 15/11/3. - * @class BI.MultiTreeSearcher - * @extends Widget - */ -BI.MultiTreeSearcher = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.MultiTreeSearcher.superclass._defaultConfig.apply(this, arguments), { - baseCls: 'bi-multi-tree-searcher', - itemsCreator: BI.emptyFn, - popup: {}, - - adapter: null, - masker: {} - }); - }, - - _init: function () { - BI.MultiTreeSearcher.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: 'bi.multi_select_editor', - height: o.height, - el: { - type: "bi.simple_state_editor", - height: o.height - } - }); - - this.searcher = BI.createWidget({ - type: "bi.searcher", - element: this, - isAutoSearch: false, - isAutoSync: false, - onSearch: function (op, callback) { - callback({ - keyword: self.editor.getValue() - }); - }, - el: this.editor, - - popup: BI.extend({ - type: "bi.multi_tree_search_pane", - keywordGetter: function () { - return self.editor.getValue(); - }, - itemsCreator: function (op, callback) { - op.keyword = self.editor.getValue(); - o.itemsCreator(op, callback); - } - }, o.popup), - - adapter: o.adapter, - masker: o.masker - }); - this.searcher.on(BI.Searcher.EVENT_START, function () { - self.fireEvent(BI.MultiTreeSearcher.EVENT_START); - }); - this.searcher.on(BI.Searcher.EVENT_PAUSE, function () { - if (this.hasMatched()) { - - } - self.fireEvent(BI.MultiTreeSearcher.EVENT_PAUSE); - }); - this.searcher.on(BI.Searcher.EVENT_STOP, function () { - self.fireEvent(BI.MultiTreeSearcher.EVENT_STOP); - }); - this.searcher.on(BI.Searcher.EVENT_CHANGE, function () { - self.fireEvent(BI.MultiTreeSearcher.EVENT_CHANGE, arguments); - }); - }, - - adjustView: function () { - this.searcher.adjustView(); - }, - - setAdapter: function (adapter) { - this.searcher.setAdapter(adapter); - }, - - isSearching: function () { - return this.searcher.isSearching(); - }, - - stopSearch: function () { - this.searcher.stopSearch(); - }, - - getKeyword: function () { - return this.editor.getValue(); - }, - - hasMatched: function () { - return this.searcher.hasMatched(); - }, - - hasChecked: function () { - return this.searcher.getView() && this.searcher.getView().hasChecked(); - }, - - setState: function (ob) { - ob || (ob = {}); - ob.value || (ob.value = []); - if (ob.type === BI.Selection.All) { - this.editor.setState(BI.size(ob.value) > 0 ? BI.Selection.Multi : BI.Selection.All); - } else { - this.editor.setState(BI.size(ob.value) > 0 ? BI.Selection.Multi : BI.Selection.None); - } - }, - - setValue: function (ob) { - this.setState(ob); - this.searcher.setValue(ob); - }, - - getKey: function () { - return this.editor.getValue(); - }, - - getValue: function () { - return this.searcher.getValue(); - }, - - populate: function (items) { - this.searcher.populate.apply(this.searcher, arguments); - } -}); - -BI.MultiTreeSearcher.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.MultiTreeSearcher.EVENT_CHANGE = "EVENT_CHANGE"; -BI.MultiTreeSearcher.EVENT_START = "EVENT_START"; -BI.MultiTreeSearcher.EVENT_STOP = "EVENT_STOP"; -BI.MultiTreeSearcher.EVENT_PAUSE = "EVENT_PAUSE"; -BI.shortcut('bi.multi_tree_searcher', BI.MultiTreeSearcher); \ No newline at end of file diff --git a/src/widget/numbereditor/number.editor.js b/src/widget/numbereditor/number.editor.js deleted file mode 100644 index 6a10349529..0000000000 --- a/src/widget/numbereditor/number.editor.js +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Created by windy on 2017/3/13. - * 数值微调器 - */ -BI.NumberEditor = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.NumberEditor.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-number-editor bi-border", - validationChecker: function () { - return true; - }, - valueFormatter: function (v) { - return v; - }, - value: 0, - allowBlank: false, - errorText: "", - step: 1 - }) - }, - - _init: function () { - BI.NumberEditor.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.editor = BI.createWidget({ - type: "bi.sign_editor", - height: o.height, - allowBlank: o.allowBlank, - value: o.valueFormatter(o.value), - validationChecker: o.validationChecker, - errorText: o.errorText - }); - this.editor.on(BI.TextEditor.EVENT_CHANGE, function () { - o.value = this.getValue(); - self.fireEvent(BI.NumberEditor.EVENT_CHANGE); - }); - this.editor.on(BI.TextEditor.EVENT_CONFIRM, function () { - self.fireEvent(BI.NumberEditor.EVENT_CONFIRM); - }); - this.topBtn = BI.createWidget({ - type: "bi.icon_button", - trigger: "lclick,", - cls: "column-pre-page-h-font top-button bi-border-left bi-border-bottom" - }); - this.topBtn.on(BI.IconButton.EVENT_CHANGE, function () { - self._finetuning(o.step); - self.fireEvent(BI.NumberEditor.EVENT_CHANGE); - self.fireEvent(BI.NumberEditor.EVENT_CONFIRM); - }); - this.bottomBtn = BI.createWidget({ - type: "bi.icon_button", - trigger: "lclick,", - cls: "column-next-page-h-font bottom-button bi-border-left bi-border-top" - }); - this.bottomBtn.on(BI.IconButton.EVENT_CHANGE, function () { - self._finetuning(-o.step); - self.fireEvent(BI.NumberEditor.EVENT_CHANGE); - self.fireEvent(BI.NumberEditor.EVENT_CONFIRM); - }); - BI.createWidget({ - type: "bi.htape", - element: this, - items: [this.editor, { - el: { - type: "bi.grid", - columns: 1, - rows: 2, - items: [{ - column: 0, - row: 0, - el: this.topBtn - }, { - column: 0, - row: 1, - el: this.bottomBtn - }] - }, - width: 23 - }] - }); - }, - - //微调 - _finetuning: function (add) { - var v = BI.parseFloat(this.getValue()); - this.setValue(v.add(add)); - }, - - setUpEnable: function (v) { - this.topBtn.setEnable(!!v); - }, - - setDownEnable: function (v) { - this.bottomBtn.setEnable(!!v); - }, - - getValue: function () { - return this.options.value; - }, - - setValue: function (v) { - var o = this.options; - o.value = v; - this.editor.setValue(o.valueFormatter(v)); - } - -}); -BI.NumberEditor.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.NumberEditor.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.number_editor", BI.NumberEditor); \ No newline at end of file diff --git a/src/widget/numberinterval/numberinterval.js b/src/widget/numberinterval/numberinterval.js deleted file mode 100644 index dff3b594a3..0000000000 --- a/src/widget/numberinterval/numberinterval.js +++ /dev/null @@ -1,527 +0,0 @@ -//小于号的值为:0,小于等于号的值为:1 -//closeMIn:最小值的符号,closeMax:最大值的符号 -/** - * Created by roy on 15/9/17. - * - */ -BI.NumberInterval = BI.inherit(BI.Single, { - constants: { - typeError: "typeBubble", - numberError: "numberBubble", - signalError: "signalBubble", - editorWidth: 114, - columns: 5, - width: 30, - rows: 1, - numberErrorCls: "number-error", - border: 1, - less: 0, - less_equal: 1, - numTip: "" - }, - _defaultConfig: function () { - var conf = BI.NumberInterval.superclass._defaultConfig.apply(this, arguments) - return BI.extend(conf, { - extraCls: "bi-number-interval", - height: 25, - validation: "valid" - }) - }, - _init: function () { - var self = this, c = this.constants, o = this.options; - BI.NumberInterval.superclass._init.apply(this, arguments) - this.smallEditor = BI.createWidget({ - type: "bi.editor", - height: o.height - 2, - watermark: BI.i18nText("BI-Basic_Unrestricted"), - allowBlank: true, - value: o.min, - level: "warning", - tipType: "warning", - quitChecker: function () { - return false; - }, - validationChecker: function (v) { - if (!BI.isNumeric(v)) { - self.smallEditorBubbleType = c.typeError; - return false; - } - return true; - }, - cls: "number-interval-small-editor bi-border-top bi-border-bottom bi-border-left" - }); - - this.smallTip = BI.createWidget({ - type: "bi.label", - text: o.numTip, - height: o.height - 2, - invisible: true - }); - BI.createWidget({ - type: "bi.absolute", - element: this.smallEditor.element, - items: [{ - el: this.smallTip, - top: 0, - right: 5 - }] - }); - - this.bigEditor = BI.createWidget({ - type: "bi.editor", - height: o.height - 2, - watermark: BI.i18nText("BI-Basic_Unrestricted"), - allowBlank: true, - value: o.max, - level: "warning", - tipType: "warning", - quitChecker: function () { - return false; - }, - validationChecker: function (v) { - if (!BI.isNumeric(v)) { - self.bigEditorBubbleType = c.typeError; - return false; - } - return true; - }, - cls: "number-interval-big-editor bi-border-top bi-border-bottom bi-border-right" - }); - - this.bigTip = BI.createWidget({ - type: "bi.label", - text: o.numTip, - height: o.height - 2, - invisible: true - }); - BI.createWidget({ - type: "bi.absolute", - element: this.bigEditor.element, - items: [{ - el: this.bigTip, - top: 0, - right: 5 - }] - }); - - //this.smallCombo = BI.createWidget({ - // type: "bi.number_interval_combo", - // cls: "number-interval-small-combo", - // height: o.height, - // value: o.closemin ? 1 : 0, - // offsetStyle: "left" - //}); - // - //this.bigCombo = BI.createWidget({ - // type: "bi.number_interval_combo", - // cls: "number-interval-big-combo", - // height: o.height, - // value: o.closemax ? 1 : 0, - // offsetStyle: "left" - //}); - this.smallCombo = BI.createWidget({ - type: "bi.icon_combo", - cls: "number-interval-small-combo bi-border", - height: o.height - 2, - items: [{ - text: "(" + BI.i18nText("BI-Less_Than") + ")", - iconClass: "less-font", - value: 0 - }, { - text: "(" + BI.i18nText("BI-Less_And_Equal") + ")", - value: 1, - iconClass: "less-equal-font" - }] - }); - if (o.closemin === true) { - this.smallCombo.setValue(1); - } else { - this.smallCombo.setValue(0); - } - this.bigCombo = BI.createWidget({ - type: "bi.icon_combo", - cls: "number-interval-big-combo bi-border", - height: o.height - 2, - items: [{ - text: "(" + BI.i18nText("BI-Less_Than") + ")", - iconClass: "less-font", - value: 0 - }, { - text: "(" + BI.i18nText("BI-Less_And_Equal") + ")", - value: 1, - iconClass: "less-equal-font" - }] - }); - if (o.closemax === true) { - this.bigCombo.setValue(1); - } else { - this.bigCombo.setValue(0); - } - this.label = BI.createWidget({ - type: "bi.label", - text: BI.i18nText("BI-Basic_Value"), - textHeight: o.height - c.border * 2, - width: c.width - c.border * 2, - height: o.height - c.border * 2, - level: "warning", - tipType: "warning" - }); - this.left = BI.createWidget({ - type: "bi.htape", - items: [{ - el: self.smallEditor - }, { - el: self.smallCombo, - width: c.width - c.border * 2 - }] - - }); - this.right = BI.createWidget({ - type: "bi.htape", - items: [{ - el: self.bigCombo, - width: c.width - c.border * 2 - }, { - el: self.bigEditor - }] - }); - - - BI.createWidget({ - element: self, - type: "bi.center", - hgap: 15, - height: o.height, - items: [ - { - type: "bi.absolute", - items: [{ - el: self.left, - left: -15, - right: 0, - top: 0, - bottom: 0 - }] - }, { - type: "bi.absolute", - items: [{ - el: self.right, - left: 0, - right: -15, - top: 0, - bottom: 0 - }] - } - ] - }); - - BI.createWidget({ - element: self, - type: "bi.horizontal_auto", - items: [ - self.label - ] - }); - - - self._setValidEvent(self.bigEditor, c.bigEditor); - self._setValidEvent(self.smallEditor, c.smallEditor); - self._setErrorEvent(self.bigEditor, c.bigEditor); - self._setErrorEvent(self.smallEditor, c.smallEditor); - self._setBlurEvent(self.bigEditor); - self._setBlurEvent(self.smallEditor); - self._setFocusEvent(self.bigEditor); - self._setFocusEvent(self.smallEditor); - self._setComboValueChangedEvent(self.bigCombo); - self._setComboValueChangedEvent(self.smallCombo); - self._setEditorValueChangedEvent(self.bigEditor); - self._setEditorValueChangedEvent(self.smallEditor); - }, - - _checkValidation: function () { - var self = this, c = this.constants, o = this.options; - self._setTitle(""); - BI.Bubbles.hide(c.typeError); - BI.Bubbles.hide(c.numberError); - BI.Bubbles.hide(c.signalError); - if (!self.smallEditor.isValid() || !self.bigEditor.isValid()) { - self.element.removeClass("number-error"); - o.validation = "invalid"; - return c.typeError; - } else { - if (BI.isEmptyString(self.smallEditor.getValue()) || BI.isEmptyString(self.bigEditor.getValue())) { - self.element.removeClass("number-error"); - o.validation = "valid"; - return ""; - } else { - var smallValue = parseFloat(self.smallEditor.getValue()), bigValue = parseFloat(self.bigEditor.getValue()), - bigComboValue = self.bigCombo.getValue(), smallComboValue = self.smallCombo.getValue(); - if (bigComboValue[0] === c.less_equal && smallComboValue[0] === c.less_equal) { - if (smallValue > bigValue) { - self.element.addClass("number-error"); - o.validation = "invalid"; - return c.numberError; - } else { - self.element.removeClass("number-error"); - o.validation = "valid"; - return ""; - } - } else { - if (smallValue > bigValue) { - self.element.addClass("number-error"); - o.validation = "invalid"; - return c.numberError; - } else if (smallValue === bigValue) { - self.element.addClass("number-error"); - o.validation = "invalid"; - return c.signalError; - } else { - self.element.removeClass("number-error"); - o.validation = "valid"; - return ""; - } - } - } - - } - }, - - _setTitle: function (v) { - var self = this; - self.bigEditor.setTitle(v); - self.smallEditor.setTitle(v); - self.label.setTitle(v); - }, - - _setFocusEvent: function (w) { - var self = this, c = this.constants; - w.on(BI.Editor.EVENT_FOCUS, function () { - self._setTitle(""); - switch (self._checkValidation()) { - case c.typeError: - BI.Bubbles.show(c.typeError, BI.i18nText("BI-Numerical_Interval_Input_Data"), self, { - offsetStyle: "center" - }); - break; - case c.numberError: - BI.Bubbles.show(c.numberError, BI.i18nText("BI-Numerical_Interval_Number_Value"), self, { - offsetStyle: "center" - }); - break; - case c.signalError: - BI.Bubbles.show(c.signalError, BI.i18nText("BI-Numerical_Interval_Signal_Value"), self, { - offsetStyle: "center" - }); - break; - default : - return - } - - }) - }, - _setBlurEvent: function (w) { - var c = this.constants, self = this; - w.on(BI.Editor.EVENT_BLUR, function () { - BI.Bubbles.hide(c.typeError); - BI.Bubbles.hide(c.numberError); - BI.Bubbles.hide(c.signalError); - switch (self._checkValidation()) { - case c.typeError: - self._setTitle(BI.i18nText("BI-Numerical_Interval_Input_Data")); - break; - case c.numberError: - self._setTitle(BI.i18nText("BI-Numerical_Interval_Number_Value")); - break; - case c.signalError: - self._setTitle(BI.i18nText("BI-Numerical_Interval_Signal_Value")); - break; - default: - self._setTitle(""); - } - }) - }, - - _setErrorEvent: function (w) { - var c = this.constants, self = this - w.on(BI.Editor.EVENT_ERROR, function () { - self._checkValidation(); - BI.Bubbles.show(c.typeError, BI.i18nText("BI-Numerical_Interval_Input_Data"), self, { - offsetStyle: "center" - }); - self.fireEvent(BI.NumberInterval.EVENT_ERROR); - }) - }, - - - _setValidEvent: function (w) { - var self = this, c = this.constants; - w.on(BI.Editor.EVENT_VALID, function () { - switch (self._checkValidation()) { - case c.numberError: - BI.Bubbles.show(c.numberError, BI.i18nText("BI-Numerical_Interval_Number_Value"), self, { - offsetStyle: "center" - }); - self.fireEvent(BI.NumberInterval.EVENT_ERROR); - break; - case c.signalError: - BI.Bubbles.show(c.signalError, BI.i18nText("BI-Numerical_Interval_Signal_Value"), self, { - offsetStyle: "center" - }); - self.fireEvent(BI.NumberInterval.EVENT_ERROR); - break; - default: - self.fireEvent(BI.NumberInterval.EVENT_VALID); - } - }) - }, - - - _setEditorValueChangedEvent: function (w) { - var self = this, c = this.constants; - w.on(BI.Editor.EVENT_CHANGE, function () { - switch (self._checkValidation()) { - case c.typeError: - BI.Bubbles.show(c.typeError, BI.i18nText("BI-Numerical_Interval_Input_Data"), self, { - offsetStyle: "center" - }); - break; - case c.numberError: - BI.Bubbles.show(c.numberError, BI.i18nText("BI-Numerical_Interval_Number_Value"), self, { - offsetStyle: "center" - }); - break; - case c.signalError: - BI.Bubbles.show(c.signalError, BI.i18nText("BI-Numerical_Interval_Signal_Value"), self, { - offsetStyle: "center" - }); - break; - default : - break; - } - self.fireEvent(BI.NumberInterval.EVENT_CHANGE); - }); - }, - - _setComboValueChangedEvent: function (w) { - var self = this, c = this.constants; - w.on(BI.IconCombo.EVENT_CHANGE, function () { - switch (self._checkValidation()) { - case c.typeError: - self._setTitle(BI.i18nText("BI-Numerical_Interval_Input_Data")); - self.fireEvent(BI.NumberInterval.EVENT_ERROR); - break; - case c.numberError: - self._setTitle(BI.i18nText("BI-Numerical_Interval_Number_Value")); - self.fireEvent(BI.NumberInterval.EVENT_ERROR); - break; - case c.signalError: - self._setTitle(BI.i18nText("BI-Numerical_Interval_Signal_Value")); - self.fireEvent(BI.NumberInterval.EVENT_ERROR); - break; - default : - self.fireEvent(BI.NumberInterval.EVENT_CHANGE); - self.fireEvent(BI.NumberInterval.EVENT_VALID); - } - }) - }, - - isStateValid: function () { - return this.options.validation === "valid"; - }, - - setMinEnable: function (b) { - this.smallEditor.setEnable(b); - }, - - setCloseMinEnable: function (b) { - this.smallCombo.setEnable(b); - }, - - setMaxEnable: function (b) { - this.bigEditor.setEnable(b); - }, - - setCloseMaxEnable: function (b) { - this.bigCombo.setEnable(b); - }, - - showNumTip: function () { - this.smallTip.setVisible(true); - this.bigTip.setVisible(true); - }, - - hideNumTip: function () { - this.smallTip.setVisible(false); - this.bigTip.setVisible(false); - }, - - setNumTip: function(numTip) { - this.smallTip.setText(numTip); - this.bigTip.setText(numTip); - }, - - getNumTip: function() { - return this.smallTip.getText(); - }, - - setValue: function (data) { - data = data || {}; - var self = this, combo_value; - if (BI.isNumeric(data.min) || BI.isEmptyString(data.min)) { - self.smallEditor.setValue(data.min); - } - - if (!BI.isNotNull(data.min)) { - self.smallEditor.setValue(""); - } - - if (BI.isNumeric(data.max) || BI.isEmptyString(data.max)) { - self.bigEditor.setValue(data.max); - } - - if (!BI.isNotNull(data.max)) { - self.bigEditor.setValue(""); - } - - if (!BI.isNull(data.closemin)) { - if (data.closemin === true) { - combo_value = 1 - } else { - combo_value = 0 - } - self.smallCombo.setValue(combo_value); - } - - if (!BI.isNull(data.closemax)) { - if (data.closemax === true) { - combo_value = 1 - } else { - combo_value = 0 - } - self.bigCombo.setValue(combo_value); - } - }, - - - getValue: function () { - var self = this, value = {}, minComboValue = self.smallCombo.getValue(), maxComboValue = self.bigCombo.getValue(); - value.min = self.smallEditor.getValue(); - value.max = self.bigEditor.getValue(); - if (minComboValue[0] === 0) { - value.closemin = false - } else { - value.closemin = true - } - - if (maxComboValue[0] === 0) { - value.closemax = false - } else { - value.closemax = true - } - return value; - } -}); -BI.NumberInterval.EVENT_CHANGE = "EVENT_CHANGE"; -BI.NumberInterval.EVENT_VALID = "EVENT_VALID"; -BI.NumberInterval.EVENT_ERROR = "EVENT_ERROR"; -BI.shortcut("bi.number_interval", BI.NumberInterval); \ No newline at end of file diff --git a/src/widget/pagetable/pagetable.cell.js b/src/widget/pagetable/pagetable.cell.js deleted file mode 100644 index c90c400ccd..0000000000 --- a/src/widget/pagetable/pagetable.cell.js +++ /dev/null @@ -1,39 +0,0 @@ -/** - * - * 表格 - * - * Created by GUY on 2015/9/22. - * @class BI.PageTableCell - * @extends BI.Single - */ -BI.PageTableCell = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.PageTableCell.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-page-table-cell", - text: "", - title: "" - }) - }, - - _init: function () { - BI.PageTableCell.superclass._init.apply(this, arguments); - var label = BI.createWidget({ - type: "bi.label", - element: this, - textAlign: "left", - whiteSpace: "nowrap", - height: this.options.height, - text: this.options.text, - title: this.options.title, - value: this.options.value, - lgap: 5, - rgap: 5 - }); - - if (BI.isNotNull(this.options.styles) && BI.isObject(this.options.styles)) { - this.element.css(this.options.styles); - } - } -}); - -BI.shortcut("bi.page_table_cell", BI.PageTableCell); \ No newline at end of file diff --git a/src/widget/pagetable/pagetable.js b/src/widget/pagetable/pagetable.js deleted file mode 100644 index a609728f57..0000000000 --- a/src/widget/pagetable/pagetable.js +++ /dev/null @@ -1,278 +0,0 @@ -/** - * 分页表格 - * - * Created by GUY on 2016/2/15. - * @class BI.PageTable - * @extends BI.Widget - */ -BI.PageTable = BI.inherit(BI.Widget, { - - _const: { - scrollWidth: 18, - minScrollWidth: 100 - }, - - _defaultConfig: function () { - return BI.extend(BI.PageTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-page-table", - el: { - type: "bi.sequence_table" - }, - pager: { - horizontal: { - pages: false, //总页数 - curr: 1, //初始化当前页, pages为数字时可用 - - hasPrev: BI.emptyFn, - hasNext: BI.emptyFn, - firstPage: 1, - lastPage: BI.emptyFn - }, - vertical: { - pages: false, //总页数 - curr: 1, //初始化当前页, pages为数字时可用 - - hasPrev: BI.emptyFn, - hasNext: BI.emptyFn, - firstPage: 1, - lastPage: BI.emptyFn - } - }, - - itemsCreator: BI.emptyFn, - - isNeedFreeze: false,//是否需要冻结单元格 - freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为true时生效 - - isNeedMerge: false,//是否需要合并单元格 - mergeCols: [], //合并的单元格列号 - mergeRule: BI.emptyFn, - - columnSize: [], - minColumnSize: [], - maxColumnSize: [], - headerRowSize: 25, - rowSize: 25, - - regionColumnSize: [], - - headerCellStyleGetter: BI.emptyFn, - summaryCellStyleGetter: BI.emptyFn, - sequenceCellStyleGetter: BI.emptyFn, - - header: [], - items: [], //二维数组 - - //交叉表头 - crossHeader: [], - crossItems: [] - }); - }, - - _init: function () { - BI.PageTable.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.hCurr = 1; - this.vCurr = 1; - - this.table = BI.createWidget(o.el, { - type: "bi.sequence_table", - width: o.width, - height: o.height && o.height - 30, - - isNeedResize: true, - isResizeAdapt: false, - - isNeedFreeze: o.isNeedFreeze, - freezeCols: o.freezeCols, - - isNeedMerge: o.isNeedMerge, - mergeCols: o.mergeCols, - mergeRule: o.mergeRule, - - columnSize: o.columnSize, - minColumnSize: o.minColumnSize, - maxColumnSize: o.maxColumnSize, - headerRowSize: o.headerRowSize, - rowSize: o.rowSize, - - regionColumnSize: o.regionColumnSize, - - headerCellStyleGetter: o.headerCellStyleGetter, - summaryCellStyleGetter: o.summaryCellStyleGetter, - sequenceCellStyleGetter: o.sequenceCellStyleGetter, - - header: o.header, - items: o.items, - //交叉表头 - crossHeader: o.crossHeader, - crossItems: o.crossItems - }); - - this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () { - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - o.columnSize = this.getColumnSize(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - o.columnSize = this.getColumnSize(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments); - }); - - this.pager = BI.createWidget(o.pager, { - type: "bi.direction_pager", - height: 30 - }); - this.pager.on(BI.Pager.EVENT_CHANGE, function () { - var vpage = this.getVPage && this.getVPage(); - if (BI.isNull(vpage)) { - vpage = this.getCurrentPage(); - } - var hpage = this.getHPage && this.getHPage(); - o.itemsCreator({ - vpage: vpage, - hpage: hpage - }, function (items, header, crossItems, crossHeader) { - self.table.setVPage ? self.table.setVPage(vpage) : self.table.setValue(vpage); - self.table.setHPage && self.table.setHPage(hpage); - self.populate.apply(self, arguments); - }); - }); - - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.table, - left: 0, - top: 0 - }, { - el: this.pager, - left: 0, - right: 0, - bottom: 0 - }] - }) - }, - - setHPage: function (v) { - this.hCurr = v; - this.pager.setHPage && this.pager.setHPage(v); - this.table.setHPage && this.table.setHPage(v); - }, - - setVPage: function (v) { - this.vCurr = v; - this.pager.setVPage && this.pager.setVPage(v); - this.table.setVPage && this.table.setVPage(v); - }, - - getHPage: function () { - var hpage = this.pager.getHPage && this.pager.getHPage(); - if (BI.isNotNull(hpage)) { - return hpage; - } - hpage = this.pager.getCurrentPage && this.pager.getCurrentPage(); - if (BI.isNotNull(hpage)) { - return hpage; - } - return this.hpage; - }, - - getVPage: function () { - var vpage = this.pager.getVPage && this.pager.getVPage(); - if (BI.isNotNull(vpage)) { - return vpage; - } - vpage = this.pager.getCurrentPage && this.pager.getCurrentPage(); - if (BI.isNotNull(vpage)) { - return vpage; - } - return this.vpage; - }, - - setWidth: function (width) { - BI.PageTable.superclass.setWidth.apply(this, arguments); - this.table.setWidth(width); - }, - - setHeight: function (height) { - BI.PageTable.superclass.setHeight.apply(this, arguments); - var showPager = false; - if (this.pager.alwaysShowPager) { - showPager = true; - } else if (this.pager.hasHNext && this.pager.hasHNext()) { - showPager = true; - } else if (this.pager.hasHPrev && this.pager.hasHPrev()) { - showPager = true; - } else if (this.pager.hasVNext && this.pager.hasVNext()) { - showPager = true; - } else if (this.pager.hasVPrev && this.pager.hasVPrev()) { - showPager = true; - } else if (this.pager.hasNext && this.pager.hasNext()) { - showPager = true; - } else if (this.pager.hasPrev && this.pager.hasPrev()) { - showPager = true; - } - this.table.setHeight(height - (showPager ? 30 : 0)); - }, - - setColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - this.table.setColumnSize(columnSize); - }, - - getColumnSize: function () { - return this.table.getColumnSize(); - }, - - setRegionColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - this.table.setRegionColumnSize(columnSize); - }, - - getRegionColumnSize: function () { - return this.table.getRegionColumnSize(); - }, - - getVerticalScroll: function () { - return this.table.getVerticalScroll(); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - this.table.setLeftHorizontalScroll(scrollLeft); - }, - - setRightHorizontalScroll: function (scrollLeft) { - this.table.setRightHorizontalScroll(scrollLeft); - }, - - setVerticalScroll: function (scrollTop) { - this.table.setVerticalScroll(scrollTop); - }, - - restore: function () { - this.table.restore(); - }, - - attr: function () { - BI.PageTable.superclass.attr.apply(this, arguments); - this.table.attr.apply(this.table, arguments); - }, - - populate: function () { - this.pager.populate(); - this.table.populate.apply(this.table, arguments); - }, - - destroy: function () { - this.table.destroy(); - this.pager && this.pager.destroy(); - BI.PageTable.superclass.destroy.apply(this, arguments); - } -}); -BI.shortcut('bi.page_table', BI.PageTable); \ No newline at end of file diff --git a/src/widget/pathchooser/pathchooser.js b/src/widget/pathchooser/pathchooser.js deleted file mode 100644 index 176c1cffa2..0000000000 --- a/src/widget/pathchooser/pathchooser.js +++ /dev/null @@ -1,491 +0,0 @@ -/** - * 路径选择 - * - * Created by GUY on 2015/12/4. - * @class BI.PathChooser - * @extends BI.Widget - */ -BI.PathChooser = BI.inherit(BI.Widget, { - - _const: { - lineColor: "#d4dadd", - selectLineColor: "#3f8ce8" - }, - - _defaultConfig: function () { - return BI.extend(BI.PathChooser.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-path-chooser", - items: [] - }) - }, - - _init: function () { - BI.PathChooser.superclass._init.apply(this, arguments); - this.populate(this.options.items); - }, - - _createRegions: function (regions) { - var self = this; - this.regions = BI.createWidgets(BI.map(regions, function (i, region) { - return { - type: "bi.path_region", - title: self.texts[region] || region - } - })); - this.regionMap = {}; - BI.each(regions, function (i, region) { - self.regionMap[region] = i; - }); - this.container = BI.createWidget({ - type: "bi.horizontal", - verticalAlign: "top", - scrollx: false, - scrolly: false, - hgap: 10, - items: this.regions - }); - BI.createWidget({ - type: "bi.vertical_adapt", - element: this, - scrollable: true, - hgap: 10, - items: [this.container] - }); - }, - - getRegionIndexById: function (id) { - var node = this.cache[id]; - var regionType = node.get("region"); - return this.regionMap[regionType]; - }, - - _drawPath: function (start, offset, index) { - var self = this; - var starts = []; - if (BI.contains(this.start, start)) { - starts = this.start; - } else { - starts = [start]; - } - - BI.each(starts, function (i, s) { - BI.each(self.radios[s], function (i, rad) { - rad.setSelected(false); - }); - BI.each(self.lines[s], function (i, line) { - line.attr("stroke", self._const.lineColor); - }); - BI.each(self.regionIndexes[s], function (i, idx) { - self.regions[idx].reset(); - }); - }); - - BI.each(this.routes[start][index], function (i, id) { - var regionIndex = self.getRegionIndexById(id); - self.regions[regionIndex].setSelect(offset + index, id); - }); - var current = BI.last(this.routes[start][index]); - - while (current && this.routes[current] && this.routes[current].length === 1) { - BI.each(this.routes[current][0], function (i, id) { - var regionIndex = self.getRegionIndexById(id); - self.regions[regionIndex].setSelect(0, id); - }); - this.lines[current][0].attr("stroke", self._const.selectLineColor).toFront(); - current = BI.last(this.routes[current][0]); - } - this.lines[start][index].attr("stroke", self._const.selectLineColor).toFront(); - this.radios[start] && this.radios[start][index] && this.radios[start][index].setSelected(true); - }, - - _drawRadio: function (start, offset, index, x, y) { - var self = this; - var radio = BI.createWidget({ - type: "bi.radio", - cls: "path-chooser-radio", - selected: offset + index === 0, - start: start, - index: index - }); - radio.on(BI.Radio.EVENT_CHANGE, function () { - self._drawPath(start, offset, index); - self.fireEvent(BI.PathChooser.EVENT_CHANGE, start, index); - }); - if (!this.radios[start]) { - this.radios[start] = []; - } - this.radios[start].push(radio); - BI.createWidget({ - type: "bi.absolute", - element: this.container, - items: [{ - el: radio, - left: x - 6.5, - top: y - 6.5 - }] - }) - }, - - _drawLine: function (start, lines) { - var self = this; - if (!this.lines[start]) { - this.lines[start] = []; - } - if (!this.pathes[start]) { - this.pathes[start] = []; - } - var startRegionIndex = this.getRegionIndexById(start); - //start所在的位置,然后接着往下画其他的路径 - var offset = this.regions[startRegionIndex].getIndexByValue(start); - BI.each(lines, function (i, line) { - self.pathes[start][i] = []; - var idx = i + offset; - var path = ""; - var stop = 47.5 + 29 * idx; - var sleft = 50 + 100 * startRegionIndex; - var radioStartX = sleft, radioStartY = stop; - var etop = stop; - var endRegionIndex = self.getRegionIndexById(BI.last(line)); - var endOffset = self.regions[endRegionIndex].getIndexByValue(BI.last(line)); - var eleft = 50 + 100 * endRegionIndex; - if (BI.contains(self.start, start)) { - radioStartX = sleft - 50; - path += "M" + (sleft - 50) + "," + stop; - self.pathes[start][i].push({ - x: sleft - 50, - y: stop - }) - } else if (idx === 0) { - radioStartX = sleft + 50; - path += "M" + sleft + "," + stop; - self.pathes[start][i].push({ - x: sleft, - y: stop - }) - } else { - radioStartX = sleft + 50; - path += "M" + sleft + "," + 47.5 + "L" + (sleft + 50) + "," + 47.5 + "L" + (sleft + 50) + "," + stop; - self.pathes[start][i].push({ - x: sleft, - y: 47.5 - }); - self.pathes[start][i].push({ - x: sleft + 50, - y: 47.5 - }); - self.pathes[start][i].push({ - x: sleft + 50, - y: stop - }); - } - if (idx > 0) { - var endY = endOffset * 29 + 47.5; - path += "L" + (eleft - 50) + "," + etop + "L" + (eleft - 50) + "," + endY + "L" + eleft + "," + endY; - self.pathes[start][i].push({ - x: eleft - 50, - y: etop - }); - self.pathes[start][i].push({ - x: eleft - 50, - y: endY - }); - self.pathes[start][i].push({ - x: eleft, - y: endY - }); - } else { - path += "L" + eleft + "," + etop; - self.pathes[start][i].push({ - x: eleft, - y: etop - }); - } - - var graph = self.svg.path(path) - .attr({ - stroke: idx === 0 ? self._const.selectLineColor : self._const.lineColor, - 'stroke-dasharray': '-' - }); - self.lines[start].push(graph); - if (lines.length > 1) { - self.lines[start][0].toFront(); - } - //第一个元素无论有多少个都要显示radio - if (BI.contains(self.start, start)) { - self.lines[self.regions[0].getValueByIndex(0)][0].toFront(); - } - if (lines.length > 1 || BI.contains(self.start, start)) { - self._drawRadio(start, offset, i, radioStartX, radioStartY); - } - }); - }, - - _drawLines: function (routes) { - var self = this; - this.lines = {}; - this.pathes = {}; - this.radios = {}; - this.regionIndexes = {}; - BI.each(routes, function (k, route) { - if (!self.regionIndexes[k]) { - self.regionIndexes[k] = []; - } - BI.each(route, function (i, rs) { - BI.each(rs, function (j, id) { - var regionIndex = self.getRegionIndexById(id); - if (!BI.contains(self.regionIndexes[k], regionIndex)) { - self.regionIndexes[k].push(regionIndex); - } - }); - }) - }); - BI.each(routes, function (k, route) { - self._drawLine(k, route); - }); - }, - - _pushNodes: function (nodes) { - var self = this; - var indexes = []; - for (var i = 0; i < nodes.length; i++) { - var id = nodes[i]; - var index = self.getRegionIndexById(id); - indexes.push(index); - var region = self.regions[index]; - if (i === nodes.length - 1) { - if (!region.hasItem(id)) { - region.addItem(id, self.texts[id]); - } - break; - } - if (i > 0 || BI.contains(self.start, id)) { - region.addItem(id, self.texts[id]); - } - } - for (var i = BI.first(indexes); i < BI.last(indexes); i++) { - if (!BI.contains(indexes, i)) { - self.regions[i].addItem(""); - } - } - }, - - _createNodes: function () { - var self = this, o = this.options; - this.cache = {}; - this.texts = {}; - this.start = []; - this.end = []; - BI.each(o.items, function (i, item) { - self.start.push(BI.first(item).value); - self.end.push(BI.last(item).value); - }); - this.start = BI.uniq(this.start); - this.end = BI.uniq(this.end); - var regions = []; - var tree = new BI.Tree(); - var branches = {}, max = 0; - BI.each(o.items, function (i, items) { - BI.each(items, function (j, item) { - if (!BI.has(branches, item.value)) { - branches[item.value] = 0; - } - branches[item.value]++; - max = Math.max(max, branches[item.value]); - var prev = {}; - if (j > 0) { - prev = items[j - 1]; - } - var parent = self.cache[prev.value || ""]; - var node = self.cache[item.value] || new BI.Node(item.value); - node.set(item); - self.cache[item.value] = node; - self.texts[item.value] = item.text; - self.texts[item.region] = item.regionText; - parent = BI.isNull(parent) ? tree.getRoot() : parent; - if (parent.getChildIndex(item.value) === -1) { - tree.addNode(parent, node); - } - }) - }); - - //算出区域列表 - tree.traverse(function (node) { - BI.each(node.getChildren(), function (i, child) { - if (BI.contains(regions, child.get("region"))) { - var index1 = BI.indexOf(regions, node.get("region")); - var index2 = BI.indexOf(regions, child.get("region")); - //交换区域 - if (index1 > index2) { - var t = regions[index2]; - for (var j = index2; j < index1; j++) { - regions[j] = regions[j + 1]; - } - regions[index1] = t; - } - } else { - regions.push(child.get("region")); - } - }); - }); - this._createRegions(regions); - - //算出节点 - BI.each(branches, function (k, branch) { - if (branch < max) { - delete branches[k]; - } - }); - - //过滤节点 - var nodes = []; - var n = tree.getRoot(); - while (n && n.getChildrenLength() === 1) { - if (BI.has(branches, n.getChildren()[0].id)) { - delete branches[n.getChildren()[0].id]; - n = n.getChildren()[0]; - } else { - n = null; - } - } - tree.traverse(function (node) { - if (BI.has(branches, node.id)) { - nodes.push(node.id); - delete branches[node.id]; - } - }); - - //填充节点 - var routes = {}; - var s, e; - for (var i = 0, len = nodes.length; i < len + 1; i++) { - if (len === 0) { - s = []; - BI.each(this.start, function (i, id) { - s.push(tree.search(id)); - }); - e = []; - BI.each(this.end, function (i, id) { - e.push(tree.search(id)); - }); - } else if (i === len) { - s = e; - e = []; - BI.each(this.end, function (i, id) { - e.push(tree.search(id)); - }); - } else if (i === 0) { - s = []; - BI.each(this.start, function (i, id) { - s.push(tree.search(id)); - }); - e = [tree.search(nodes[i])]; - } else { - s = [tree.search(e[0] || tree.getRoot(), nodes[i - 1])]; - e = [tree.search(s[0], nodes[i])]; - } - BI.each(s, function (i, n) { - tree._recursion(n, [n.id], function (node, route) { - if (BI.contains(e, node)) { - if (!routes[n.id]) { - routes[n.id] = []; - } - routes[n.id].push(route); - self._pushNodes(route); - if (e.length <= 1) { - return true; - } - } - }) - }); - } - this.routes = routes; - this._drawLines(routes); - }, - - _unselectAllPath: function () { - var self = this; - BI.each(this.radios, function (idx, rad) { - BI.each(rad, function (i, r) { - r.setSelected(false); - }); - }); - BI.each(this.lines, function (idx, line) { - BI.each(line, function (i, li) { - li.attr("stroke", self._const.lineColor); - }); - }); - BI.each(this.regions, function (idx, region) { - region.reset(); - }); - }, - - populate: function (items) { - this.options.items = items || []; - var self = this; - this.empty(); - if (this.options.items.length <= 0) { - return; - } - this.svg = BI.createWidget({ - type: "bi.svg" - }); - this._createNodes(); - BI.createWidget({ - type: "bi.absolute", - element: this.container, - items: [{ - el: this.svg, - top: 0, - left: 0, - right: 0, - bottom: 0 - }] - }); - }, - - setValue: function (v) { - this._unselectAllPath(); - var nodes = BI.keys(this.routes), self = this; - var result = [], array = []; - BI.each(v, function (i, val) { - if (BI.contains(nodes, val)) { - if (array.length > 0) { - array.push(val); - result.push(array); - array = []; - } - } - array.push(val); - }); - if (array.length > 0) { - result.push(array); - } - //画这n条路径 - BI.each(result, function (idx, path) { - var start = path[0]; - var index = BI.findIndex(self.routes[start], function (idx, p) { - if (BI.isEqual(path, p)) { - return true; - } - }); - if (index >= 0) { - var startRegionIndex = self.getRegionIndexById(start); - var offset = self.regions[startRegionIndex].getIndexByValue(start); - self._drawPath(start, offset, index); - } - }); - }, - - getValue: function () { - var path = []; - BI.each(this.regions, function (i, region) { - var val = region.getValue(); - if (BI.isKey(val)) { - path.push(val); - } - }); - return path; - } -}); -BI.PathChooser.EVENT_CHANGE = "PathChooser.EVENT_CHANGE"; -BI.shortcut("bi.path_chooser", BI.PathChooser); \ No newline at end of file diff --git a/src/widget/pathchooser/pathregion.js b/src/widget/pathchooser/pathregion.js deleted file mode 100644 index 0fa33978bd..0000000000 --- a/src/widget/pathchooser/pathregion.js +++ /dev/null @@ -1,115 +0,0 @@ -/** - * 路径选择区域 - * - * Created by GUY on 2015/12/4. - * @class BI.PathRegion - * @extends BI.Widget - */ -BI.PathRegion = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.PathRegion.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-path-region bi-background", - width: 80, - title: "" - }) - }, - - _init: function () { - BI.PathRegion.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.zIndex = 100; - var title = BI.createWidget({ - type: "bi.label", - text: o.title, - title: o.title, - height: 30 - }); - title.element.css("zIndex", this.zIndex--); - this.items = []; - this.vertical = BI.createWidget({ - type: "bi.vertical", - element: this, - bgap: 5, - hgap: 10, - items: [title] - }) - }, - - hasItem: function (val) { - return BI.any(this.items, function (i, item) { - return val === item.getValue(); - }); - }, - - addItem: function (value, text) { - if (BI.isKey(value)) { - var label = BI.createWidget({ - type: "bi.label", - cls: "path-region-label bi-card bi-border bi-list-item-select", - text: text, - value: value, - title: text || value, - height: 24 - }); - } else { - var label = BI.createWidget({ - type: "bi.layout", - height: 24 - }); - } - label.element.css("zIndex", this.zIndex--); - this.items.push(label); - this.vertical.addItem(label); - if (this.items.length === 1) { - this.setSelect(0, value); - } - }, - - reset: function () { - BI.each(this.items, function (i, item) { - item.element.removeClass("active"); - }); - }, - - setSelect: function (index, value) { - this.reset(); - if (this.items.length <= 0) { - return; - } - if (this.items.length === 1) { - this.items[0].element.addClass("active"); - return; - } - if (this.items[index].attr("value") === value) { - this.items[index].element.addClass("active"); - } - }, - - setValue: function (value) { - this.setSelect(this.getIndexByValue(value), value); - }, - - getValueByIndex: function (idx) { - return this.items[idx].attr("value"); - }, - - getIndexByValue: function (value) { - return BI.findIndex(this.items, function (i, item) { - return item.attr("value") === value; - }); - }, - - getValue: function () { - var res; - BI.any(this.items, function (i, item) { - if (item.element.hasClass("active")) { - res = item.getValue(); - return true; - } - }); - return res; - } -}); -BI.PathRegion.EVENT_CHANGE = "PathRegion.EVENT_CHANGE"; -BI.shortcut("bi.path_region", BI.PathRegion); \ No newline at end of file diff --git a/src/widget/previewtable/previewtable.cell.js b/src/widget/previewtable/previewtable.cell.js deleted file mode 100644 index cc906530dd..0000000000 --- a/src/widget/previewtable/previewtable.cell.js +++ /dev/null @@ -1,32 +0,0 @@ -/** - * 预览表列 - * - * Created by GUY on 2015/12/25. - * @class BI.PreviewTableCell - * @extends BI.Widget - */ -BI.PreviewTableCell = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.PreviewTableCell.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-preview-table-cell", - text: "" - }); - }, - - _init: function () { - BI.PreviewTableCell.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - BI.createWidget({ - type: "bi.label", - element: this, - textAlign: "left", - whiteSpace: "normal", - height: this.options.height, - text: this.options.text, - value: this.options.value - }) - } -}); -BI.shortcut('bi.preview_table_cell', BI.PreviewTableCell); \ No newline at end of file diff --git a/src/widget/previewtable/previewtable.header.cell.js b/src/widget/previewtable/previewtable.header.cell.js deleted file mode 100644 index 18c2570973..0000000000 --- a/src/widget/previewtable/previewtable.header.cell.js +++ /dev/null @@ -1,32 +0,0 @@ -/** - * 预览表 - * - * Created by GUY on 2015/12/25. - * @class BI.PreviewTableHeaderCell - * @extends BI.Widget - */ -BI.PreviewTableHeaderCell = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.PreviewTableHeaderCell.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-preview-table-header-cell", - text: "" - }); - }, - - _init: function () { - BI.PreviewTableHeaderCell.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - BI.createWidget({ - type: "bi.label", - element: this, - textAlign: "left", - whiteSpace: "normal", - height: this.options.height, - text: this.options.text, - value: this.options.value - }) - } -}); -BI.shortcut('bi.preview_table_header_cell', BI.PreviewTableHeaderCell); \ No newline at end of file diff --git a/src/widget/previewtable/previewtable.js b/src/widget/previewtable/previewtable.js deleted file mode 100644 index 8e8bf5ba0d..0000000000 --- a/src/widget/previewtable/previewtable.js +++ /dev/null @@ -1,204 +0,0 @@ -/** - * 预览表 - * - * Created by GUY on 2015/12/25. - * @class BI.PreviewTable - * @extends BI.Widget - */ -BI.PreviewTable = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.PreviewTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-preview-table", - isNeedFreeze: false, - freezeCols: [], - rowSize: null, - columnSize: [], - headerRowSize: 30, - header: [], - items: [] - }); - }, - - _init: function () { - BI.PreviewTable.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.table = BI.createWidget({ - type: "bi.table_view", - element: this, - isNeedResize: false, - - isResizeAdapt: false, - - isNeedFreeze: o.isNeedFreeze, - freezeCols: o.freezeCols, - - rowSize: o.rowSize, - columnSize: o.columnSize, - headerRowSize: o.headerRowSize, - - header: BI.map(o.header, function (i, items) { - return BI.map(items, function (j, item) { - return BI.extend({ - type: "bi.preview_table_header_cell" - }, item); - }); - }), - items: BI.map(o.items, function (i, items) { - return BI.map(items, function (j, item) { - return BI.extend({ - type: "bi.preview_table_cell" - }, item); - }); - }) - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_INIT, function () { - self._adjustColumns(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_INIT, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_RESIZE, function () { - self._adjustColumns(); - }); - }, - - //是否有自适应调节的列,即列宽为"" - _hasAdaptCol: function (columnSize) { - return BI.any(columnSize, function (i, size) { - return size === ""; - }) - }, - - _isPercentage: function (columnSize) { - return columnSize[0] <= 1; - }, - - _adjustColumns: function () { - var self = this, o = this.options; - if (o.isNeedFreeze === true) { - //如果存在百分比的情况 - if (this._isPercentage(o.columnSize)) { - if (this._hasAdaptCol(o.columnSize)) { - var findCols = [], remain = 0; - BI.each(o.columnSize, function (i, size) { - if (size === "") { - findCols.push(i); - } else { - remain += size; - } - }); - remain = 1 - remain; - var average = remain / findCols.length; - BI.each(findCols, function (i, col) { - o.columnSize[col] = average; - }); - } - var isRight = BI.first(o.freezeCols) !== 0; - var freezeSize = [], notFreezeSize = []; - BI.each(o.columnSize, function (i, size) { - if (o.freezeCols.contains(i)) { - freezeSize.push(size); - } else { - notFreezeSize.push(size); - } - }); - var sumFreezeSize = BI.sum(freezeSize), sumNotFreezeSize = BI.sum(notFreezeSize); - BI.each(freezeSize, function (i, size) { - freezeSize[i] = size / sumFreezeSize; - }); - BI.each(notFreezeSize, function (i, size) { - notFreezeSize[i] = size / sumNotFreezeSize; - }); - this.table.setRegionColumnSize(isRight ? ["fill", sumFreezeSize] : [sumFreezeSize, "fill"]); - this.table.setColumnSize(isRight ? (notFreezeSize.concat(freezeSize)) : (freezeSize.concat(notFreezeSize))); - } - } else { - //如果存在自适应宽度的列或者是百分比计算的列,需要将整个表宽设为100% - if (this._hasAdaptCol(o.columnSize) || this._isPercentage(o.columnSize)) { - this.table.setRegionColumnSize(["100%"]); - } - } - }, - - setColumnSize: function (columnSize) { - return this.table.setColumnSize(columnSize); - }, - - getColumnSize: function () { - return this.table.getColumnSize(); - }, - - getCalculateColumnSize: function () { - return this.table.getCalculateColumnSize(); - }, - - setHeaderColumnSize: function (columnSize) { - return this.table.setHeaderColumnSize(columnSize); - }, - - setRegionColumnSize: function (columnSize) { - return this.table.setRegionColumnSize(columnSize); - }, - - getRegionColumnSize: function () { - return this.table.getRegionColumnSize(); - }, - - getCalculateRegionColumnSize: function () { - return this.table.getCalculateRegionColumnSize(); - }, - - getCalculateRegionRowSize: function () { - return this.table.getCalculateRegionRowSize(); - }, - - getClientRegionColumnSize: function () { - return this.table.getClientRegionColumnSize(); - }, - - getScrollRegionColumnSize: function () { - return this.table.getScrollRegionColumnSize() - }, - - getScrollRegionRowSize: function () { - return this.table.getScrollRegionRowSize() - }, - - hasVerticalScroll: function () { - return this.table.hasVerticalScroll(); - }, - - setVerticalScroll: function (scrollTop) { - return this.table.setVerticalScroll(scrollTop); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - return this.table.setLeftHorizontalScroll(scrollLeft) - }, - - setRightHorizontalScroll: function (scrollLeft) { - return this.table.setRightHorizontalScroll(scrollLeft); - }, - - getVerticalScroll: function () { - return this.table.getVerticalScroll(); - }, - - getLeftHorizontalScroll: function () { - return this.table.getLeftHorizontalScroll(); - }, - - getRightHorizontalScroll: function () { - return this.table.getRightHorizontalScroll(); - }, - - getColumns: function () { - return this.table.getColumns(); - }, - - populate: function (items, header) { - this.table.populate(items, header); - } -}); -BI.PreviewTable.EVENT_CHANGE = "PreviewTable.EVENT_CHANGE"; -BI.shortcut('bi.preview_table', BI.PreviewTable); \ No newline at end of file diff --git a/src/widget/quarter/combo.quarter.js b/src/widget/quarter/combo.quarter.js deleted file mode 100644 index eec309f80f..0000000000 --- a/src/widget/quarter/combo.quarter.js +++ /dev/null @@ -1,85 +0,0 @@ -/** - * 季度下拉框 - * - * Created by GUY on 2015/8/28. - * @class BI.QuarterCombo - * @extends BI.Widget - */ -BI.QuarterCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.QuarterCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-quarter-combo", - behaviors: {}, - height: 25 - }); - }, - _init: function () { - BI.QuarterCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.storeValue = ""; - this.trigger = BI.createWidget({ - type: "bi.quarter_trigger" - }); - - this.trigger.on(BI.QuarterTrigger.EVENT_FOCUS, function () { - self.storeValue = this.getKey(); - }); - this.trigger.on(BI.QuarterTrigger.EVENT_START, function () { - self.combo.isViewVisible() && self.combo.hideView(); - }); - this.trigger.on(BI.QuarterTrigger.EVENT_STOP, function () { - if (!self.combo.isViewVisible()) { - self.combo.showView(); - } - }); - this.trigger.on(BI.QuarterTrigger.EVENT_CONFIRM, function () { - if (self.combo.isViewVisible()) { - return; - } - if (this.getKey() && this.getKey() !== self.storeValue) { - self.setValue(this.getKey()); - } else if (!this.getKey()) { - self.setValue(); - } - self.fireEvent(BI.QuarterCombo.EVENT_CONFIRM); - }); - this.popup = BI.createWidget({ - type: "bi.quarter_popup", - behaviors: o.behaviors - }); - - this.popup.on(BI.QuarterPopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.QuarterCombo.EVENT_CONFIRM); - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - popup: { - minWidth: 85, - el: this.popup - } - }); - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.QuarterCombo.EVENT_BEFORE_POPUPVIEW); - }); - }, - - setValue: function (v) { - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function () { - return this.popup.getValue() || ""; - } -}); - -BI.QuarterCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.QuarterCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.shortcut('bi.quarter_combo', BI.QuarterCombo); \ No newline at end of file diff --git a/src/widget/quarter/popup.quarter.js b/src/widget/quarter/popup.quarter.js deleted file mode 100644 index 4fedb4e6a5..0000000000 --- a/src/widget/quarter/popup.quarter.js +++ /dev/null @@ -1,73 +0,0 @@ -/** - * 季度展示面板 - * - * Created by GUY on 2015/9/2. - * @class BI.QuarterPopup - * @extends BI.Trigger - */ -BI.QuarterPopup = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.QuarterPopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-quarter-popup", - behaviors: {} - }); - }, - - _init: function () { - BI.QuarterPopup.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - var items = [{ - text: Date._QN[01], - value: 1 - }, { - text: Date._QN[2], - value: 2 - }, { - text: Date._QN[3], - value: 3 - }, { - text: Date._QN[4], - value: 4 - }]; - items = BI.map(items, function (j, item) { - return BI.extend(item, { - type: "bi.text_item", - cls: "bi-list-item-active", - textAlign: "left", - whiteSpace: "nowrap", - once: false, - forceSelected: true, - height: 25 - }); - }); - - this.quarter = BI.createWidget({ - type: "bi.button_group", - element: this, - behaviors: o.behaviors, - items: BI.createItems(items, {}), - layouts: [{ - type: "bi.vertical" - }] - }); - - this.quarter.on(BI.Controller.EVENT_CHANGE, function (type) { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - if (type === BI.Events.CLICK) { - self.fireEvent(BI.MonthPopup.EVENT_CHANGE); - } - }) - }, - - getValue: function () { - return this.quarter.getValue()[0]; - }, - - setValue: function (v) { - this.quarter.setValue([v]); - } -}); -BI.QuarterPopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.quarter_popup", BI.QuarterPopup); \ No newline at end of file diff --git a/src/widget/quarter/trigger.quarter.js b/src/widget/quarter/trigger.quarter.js deleted file mode 100644 index 1429f56f4a..0000000000 --- a/src/widget/quarter/trigger.quarter.js +++ /dev/null @@ -1,106 +0,0 @@ -/** - * 季度trigger - * - * Created by GUY on 2015/8/21. - * @class BI.QuarterTrigger - * @extends BI.Trigger - */ -BI.QuarterTrigger = BI.inherit(BI.Trigger, { - _const: { - hgap: 4, - vgap: 2, - textWidth: 40, - errorText: BI.i18nText("BI-Quarter_Trigger_Error_Text") - }, - - _defaultConfig: function () { - return BI.extend(BI.QuarterTrigger.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-quarter-trigger bi-border", - height: 24 - }); - }, - _init: function () { - BI.QuarterTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.editor = BI.createWidget({ - type: "bi.sign_editor", - height: o.height, - validationChecker: function (v) { - return v === "" || (BI.isPositiveInteger(v) && v >= 1 && v <= 4); - }, - quitChecker: function (v) { - return false; - }, - hgap: c.hgap, - vgap: c.vgap, - allowBlank: true, - errorText: c.errorText - }); - this.editor.on(BI.SignEditor.EVENT_FOCUS, function () { - self.fireEvent(BI.QuarterTrigger.EVENT_FOCUS); - }); - this.editor.on(BI.SignEditor.EVENT_CHANGE, function () { - self.fireEvent(BI.QuarterTrigger.EVENT_CHANGE); - }); - this.editor.on(BI.SignEditor.EVENT_CONFIRM, function () { - var value = self.editor.getValue(); - if (BI.isNotNull(value)) { - self.editor.setValue(value); - self.editor.setTitle(value); - } - self.fireEvent(BI.QuarterTrigger.EVENT_CONFIRM); - }); - this.editor.on(BI.SignEditor.EVENT_SPACE, function () { - if (self.editor.isValid()) { - self.editor.blur(); - } - }); - this.editor.on(BI.SignEditor.EVENT_START, function () { - self.fireEvent(BI.QuarterTrigger.EVENT_START); - }); - this.editor.on(BI.SignEditor.EVENT_STOP, function () { - self.fireEvent(BI.QuarterTrigger.EVENT_STOP); - }); - - BI.createWidget({ - element: this, - type: 'bi.htape', - items: [ - { - el: this.editor - }, { - el: { - type: "bi.text_button", - baseCls: "bi-trigger-quarter-text", - text: BI.i18nText("BI-Multi_Date_Quarter"), - width: c.textWidth - }, - width: c.textWidth - }, { - el: { - type: "bi.trigger_icon_button", - width: o.height - }, - width: o.height - } - ] - }); - }, - - setValue: function (v) { - v = v || ""; - this.editor.setState(v); - this.editor.setValue(v); - this.editor.setTitle(v); - }, - - getKey: function () { - return this.editor.getValue(); - } -}); -BI.QuarterTrigger.EVENT_FOCUS = "EVENT_FOCUS"; -BI.QuarterTrigger.EVENT_CHANGE = "EVENT_CHANGE"; -BI.QuarterTrigger.EVENT_START = "EVENT_START"; -BI.QuarterTrigger.EVENT_STOP = "EVENT_STOP"; -BI.QuarterTrigger.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.shortcut("bi.quarter_trigger", BI.QuarterTrigger); \ No newline at end of file diff --git a/src/widget/relationview/relationview.item.js b/src/widget/relationview/relationview.item.js deleted file mode 100644 index 88d4355361..0000000000 --- a/src/widget/relationview/relationview.item.js +++ /dev/null @@ -1,60 +0,0 @@ -/** - * 关联视图字段Item - * - * Created by GUY on 2015/12/23. - * @class BI.RelationViewItem - * @extends BI.Widget - */ -BI.RelationViewItem = BI.inherit(BI.BasicButton, { - - _defaultConfig: function () { - return BI.extend(BI.RelationViewItem.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-relation-view-item bi-list-item-active", - height: 25, - hoverIn: BI.emptyFn, - hoverOut: BI.emptyFn - }); - }, - - _init: function () { - BI.RelationViewItem.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.element.hover(o.hoverIn, o.hoverOut); - var items = []; - if (o.isPrimary) { - items.push({ - type: "bi.icon", - width: 16, - height: 16, - title: BI.i18nText("BI-Primary_Key") - }); - } - items.push({ - type: "bi.label", - text: o.text, - value: o.value, - height: o.height, - textAlign: "left", - width: o.isPrimary ? 70 : 90, - lgap: o.isPrimary ? 0 : 10 - }); - BI.createWidget({ - type: "bi.vertical_adapt", - element: this, - items: items, - cls: "primary-key-font", - lgap: 5 - }); - }, - - enableHover: function (opt) { - BI.RelationViewRegion.superclass.enableHover.apply(this, [{ - container: "body" - }]); - }, - - setSelected: function (b) { - this.element[b ? "addClass" : "removeClass"]("active"); - } -}); -BI.shortcut('bi.relation_view_item', BI.RelationViewItem); \ No newline at end of file diff --git a/src/widget/relationview/relationview.js b/src/widget/relationview/relationview.js deleted file mode 100644 index 1d30a4498d..0000000000 --- a/src/widget/relationview/relationview.js +++ /dev/null @@ -1,319 +0,0 @@ -/** - * 关联视图 - * - * Created by GUY on 2015/12/22. - * @class BI.RelationView - * @extends BI.Widget - */ -BI.RelationView = BI.inherit(BI.Widget, { - - _const: { - lineColor: "#c4c6c6", - selectLineColor: "#009de3" - }, - - _defaultConfig: function () { - return BI.extend(BI.RelationView.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-relation-view", - items: [] - }); - }, - - _init: function () { - BI.RelationView.superclass._init.apply(this, arguments); - this.populate(this.options.items); - }, - - _calculateWidths: function () { - var widths = []; - BI.each(this.views, function (i, items) { - BI.each(items, function (j, obj) { - if (!widths[j]) { - widths[j] = BI.MIN; - } - widths[j] = Math.max(widths[j], obj.getWidth()); - }) - }); - return widths; - }, - - _calculateHeights: function () { - var heights = BI.makeArray(BI.size(this.views), BI.MIN); - BI.each(this.views, function (i, items) { - BI.each(items, function (j, obj) { - heights[i] = Math.max(heights[i], obj.getHeight()); - }) - }); - return heights; - }, - - _hoverIn: function (target) { - var self = this, c = this._const; - BI.each(this.relations, function (start, rs) { - BI.each(rs, function (end, relation) { - if (relation[0].primary.value === target || relation[0].foreign.value === target) { - self.lines[start][end].attr("stroke", c.selectLineColor).toFront(); - self.storeViews[start].setValue(relation[0].primary.value); - self.storeViews[end].setValue(relation[0].foreign.value); - } - }); - }); - }, - - _hoverOut: function (target) { - var self = this, c = this._const; - BI.each(this.relations, function (start, rs) { - BI.each(rs, function (end, relation) { - if (relation[0].primary.value === target || relation[0].foreign.value === target) { - self.lines[start][end].attr("stroke", c.lineColor); - self.storeViews[start].setValue([]); - self.storeViews[end].setValue([]); - } - }); - }); - }, - - previewRelationTables: function(relationTables, show) { - if (!show) { - BI.each(this.storeViews, function (i, view) { - view.toggleRegion(true); - view.setPreviewSelected(false); - }); - BI.each(this.lines, function (i, lines) { - BI.each(lines, function (j, line) { - line.show(); - }); - }); - return; - } - BI.each(this.storeViews, function (id, view) { - if (!relationTables.contains(id)) { - view.toggleRegion(false); - } else { - view.setPreviewSelected(true); - } - }); - BI.each(this.lines, function (id, lines) { - BI.each(lines, function (cId, line) { - if (!relationTables.contains(id) || !relationTables.contains(cId)) { - line.hide(); - } - }); - }); - }, - - populate: function (items) { - var self = this, o = this.options, c = this._const; - o.items = items || []; - this.empty(); - this.svg = BI.createWidget({ - type: "bi.svg" - }); - - //算出所有的区域和关联 - var regions = this.regions = {}, relations = this.relations = {}; - BI.each(items, function (i, item) { - var pr = item.primary.region, fr = item.foreign && item.foreign.region; - if (pr && !relations[pr]) { - relations[pr] = {}; - } - if (pr && fr && !relations[pr][fr]) { - relations[pr][fr] = []; - } - if (pr && !regions[pr]) { - regions[pr] = []; - } - if (fr && !regions[fr]) { - regions[fr] = []; - } - if (pr && !BI.deepContains(regions[pr], item.primary)) { - regions[pr].push(item.primary); - } - if (fr && !BI.deepContains(regions[fr], item.foreign)) { - regions[fr].push(item.foreign); - } - pr && fr && relations[pr][fr].push(item); - }); - //求拓扑 - var topology = []; - var rs = BI.clone(regions), store = {}; - while (!BI.isEmpty(rs)) { - var clone = BI.clone(rs); - BI.each(o.items, function (i, item) { - if (!store[item.primary.region]) { - delete clone[item.foreign && item.foreign.region]; - } - }); - topology.push(BI.keys(clone)); - BI.extend(store, clone); - BI.each(clone, function (k, v) { - delete rs[k]; - }); - } - //构建视图 - var views = this.views = {}, storeViews = this.storeViews = {}, indexes = this.indexes = {}; - var verticals = []; - BI.each(topology, function (i, items) { - if (!views[i]) { - views[i] = {}; - } - var horizontal = []; - BI.each(items, function (j, region) { - var items = regions[region]; - views[i][j] = storeViews[region] = BI.createWidget({ - type: "bi.relation_view_region_container", - value: region, - header: items[0].regionTitle, - text: items.length > 0 ? items[0].regionText : "", - handler: items.length > 0 ? items[0].regionHandler : BI.emptyFn, - items: items, - belongPackage: items.length > 0 ? items[0].belongPackage : true - }); - if (BI.isNotNull(items[0]) && BI.isNotNull(items[0].keyword)) { - views[i][j].doRedMark(items[0].keyword); - } - views[i][j].on(BI.RelationViewRegionContainer.EVENT_HOVER_IN, function (v) { - self._hoverIn(v); - }); - views[i][j].on(BI.RelationViewRegionContainer.EVENT_HOVER_OUT, function (v) { - self._hoverOut(v); - }); - views[i][j].on(BI.RelationViewRegionContainer.EVENT_PREVIEW, function (v) { - self.fireEvent(BI.RelationView.EVENT_PREVIEW, region, v); - }); - indexes[region] = {i: i, j: j}; - horizontal.push(views[i][j]); - }); - verticals.push({ - type: "bi.horizontal", - items: horizontal - }) - }); - - //求每一行的高度 - var heights = this._calculateHeights(); - - //求每一列的宽度 - var widths = this._calculateWidths(); - - //求相对宽度和高度 - var offsetWidths = [0], offsetHeights = [0]; - BI.each(heights, function (i, h) { - if (i === 0) { - return; - } - offsetHeights[i] = offsetHeights[i - 1] + heights[i - 1]; - }); - BI.each(widths, function (i, w) { - if (i === 0) { - return; - } - offsetWidths[i] = offsetWidths[i - 1] + widths[i - 1]; - }); - - //画线 - var lines = this.lines = {};//缓存所有的线 - BI.each(relations, function (start, rs) { - BI.each(rs, function (end, relation) { - var startIndex = indexes[start], endIndex = indexes[end]; - var top = 0, right = 1, bottom = 2, left = 3; - var startDirection = bottom, endDirection = top; - // if (startIndex.j > endIndex.j) { - // startDirection = left; - // endDirection = right; - // } else if (startIndex.j < endIndex.j) { - // startDirection = right; - // endDirection = left; - // } else if (startIndex.i < endIndex.i) { - // startDirection = bottom; - // endDirection = top; - // } else if (startIndex.i > endIndex.i) { - // startDirection = top; - // endDirection = bottom; - // } - var draw = function (i, j, direction, isForeign) { - var x = offsetWidths[j] + (widths[j] - views[i][j].getWidth()) / 2; - var y = offsetHeights[i] + (heights[i] - views[i][j].getHeight()) / 2; - var path = "", position; - switch (direction) { - case top: - position = isForeign ? views[i][j].getTopRightPosition() : views[i][j].getTopLeftPosition(); - x += position.x; - y += position.y; - path = "M" + x + "," + y + "L" + x + "," + (y - 10); - y -= 10; - break; - case right: - position = views[i][j].getRightPosition(); - x += position.x; - y += position.y; - path = "M" + x + "," + y + "L" + (x + 10) + "," + y; - x += 10; - break; - case bottom: - position = views[i][j].getBottomPosition(); - x += position.x; - y += position.y; - path = "M" + x + "," + y + "L" + x + "," + (y + 10); - y += 10; - break; - case left: - position = views[i][j].getLeftPosition(); - x += position.x; - y += position.y; - path = "M" + x + "," + y + "L" + (x - 10) + "," + y; - x -= 10; - break; - } - return {x: x, y: y, path: path}; - }; - var path = ""; - var si = draw(startIndex.i, startIndex.j, startDirection); - var ei = draw(endIndex.i, endIndex.j, endDirection, true); - path += si.path + ei.path; - if (!lines[start]) { - lines[start] = {}; - } - path += "M" + si.x + "," + si.y + "L" + ei.x + "," + ei.y; - var line = lines[start][end] = self.svg.path(path) - .attr({"stroke": c.lineColor, "stroke-width": "2"}) - .hover(function () { - line.attr("stroke", c.selectLineColor).toFront(); - storeViews[start].setValue(relation[0].primary.value); - storeViews[end].setValue(relation[0].foreign.value); - }, function () { - line.attr("stroke", c.lineColor); - storeViews[start].setValue([]); - storeViews[end].setValue([]); - }); - }); - }); - var container = BI.createWidget(); - BI.createWidget({ - type: "bi.vertical", - element: container, - items: verticals - }); - BI.createWidget({ - type: "bi.absolute", - element: container, - items: [{ - el: this.svg, - left: 0, - right: 0, - top: 0, - bottom: 0 - }] - }); - - BI.createWidget({ - type: "bi.center_adapt", - scrollable: true, - element: this, - items: [container] - }); - } -}); -BI.RelationView.EVENT_CHANGE = "RelationView.EVENT_CHANGE"; -BI.RelationView.EVENT_PREVIEW = "EVENT_PREVIEW"; -BI.shortcut('bi.relation_view', BI.RelationView); \ No newline at end of file diff --git a/src/widget/relationview/relationview.region.container.js b/src/widget/relationview/relationview.region.container.js deleted file mode 100644 index a0d8c7dc5d..0000000000 --- a/src/widget/relationview/relationview.region.container.js +++ /dev/null @@ -1,94 +0,0 @@ -/** - * Created by Young's on 2017/3/10. - */ -BI.RelationViewRegionContainer = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.RelationViewRegionContainer.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-relation-view-region-container", - width: 150 - }); - }, - - _init: function () { - BI.RelationViewRegionContainer.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.region = BI.createWidget({ - type: "bi.relation_view_region", - value: o.value, - header: o.header, - text: o.text, - handler: o.handler, - items: o.items, - belongPackage: o.belongPackage - }); - this.region.on(BI.RelationViewRegion.EVENT_PREVIEW, function (v) { - self.fireEvent(BI.RelationViewRegionContainer.EVENT_PREVIEW, v); - }); - this.region.on(BI.RelationViewRegion.EVENT_HOVER_IN, function (v) { - self.fireEvent(BI.RelationViewRegionContainer.EVENT_HOVER_IN, v); - }); - this.region.on(BI.RelationViewRegion.EVENT_HOVER_OUT, function (v) { - self.fireEvent(BI.RelationViewRegionContainer.EVENT_HOVER_OUT, v); - }); - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [this.region], - width: this.region.getWidth(), - height: this.region.getHeight() - }); - }, - - doRedMark: function () { - this.region.doRedMark.apply(this.region, arguments); - }, - - unRedMark: function () { - this.region.unRedMark.apply(this.region, arguments); - }, - - getWidth: function () { - return this.region.getWidth(); - }, - - getHeight: function () { - return this.region.getHeight(); - }, - - //获取上方开始划线的位置 - getTopLeftPosition: function () { - return this.region.getTopLeftPosition(); - }, - - getTopRightPosition: function () { - return this.region.getTopRightPosition(); - }, - - getBottomPosition: function () { - return this.region.getBottomPosition(); - }, - - getLeftPosition: function () { - return this.region.getLeftPosition(); - }, - - getRightPosition: function () { - return this.region.getRightPosition(); - }, - - setValue: function (v) { - this.region.setValue(v); - }, - - toggleRegion: function (v) { - v === true ? this.region.element.fadeIn() : this.region.element.fadeOut(); - }, - - setPreviewSelected: function(v) { - this.region.setPreviewSelected(v); - } -}); -BI.RelationViewRegionContainer.EVENT_HOVER_IN = "RelationViewRegion.EVENT_HOVER_IN"; -BI.RelationViewRegionContainer.EVENT_HOVER_OUT = "RelationViewRegion.EVENT_HOVER_OUT"; -BI.RelationViewRegionContainer.EVENT_PREVIEW = "RelationViewRegion.EVENT_PREVIEW"; -BI.shortcut("bi.relation_view_region_container", BI.RelationViewRegionContainer); \ No newline at end of file diff --git a/src/widget/relationview/relationview.region.js b/src/widget/relationview/relationview.region.js deleted file mode 100644 index f84937a468..0000000000 --- a/src/widget/relationview/relationview.region.js +++ /dev/null @@ -1,157 +0,0 @@ -/** - * 关联视图 - * - * Created by GUY on 2015/12/23. - * @class BI.RelationViewRegion - * @extends BI.BasicButton - */ -BI.RelationViewRegion = BI.inherit(BI.BasicButton, { - - _defaultConfig: function () { - return BI.extend(BI.RelationViewRegion.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-relation-view-region cursor-pointer", - width: 150, - text: "", - value: "", - header: "", - items: [], - belongPackage: true - }); - }, - - _init: function () { - BI.RelationViewRegion.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.preview = BI.createWidget({ - type: "bi.icon_button", - cls: "relation-table-preview-font", - width: 25, - height: 25, - stopPropagation: true - }); - this.preview.on(BI.IconButton.EVENT_CHANGE, function () { - self.fireEvent(BI.RelationViewRegion.EVENT_PREVIEW, this.isSelected()); - }); - - this.title = BI.createWidget({ - type: "bi.label", - height: 25, - width: 70, - text: o.text, - value: o.value, - textAlign: "left" - }); - //title放body上 - if (BI.isKey(o.header)) { - this.title.setTitle(o.header, { - container: "body" - }) - } - - this.button_group = BI.createWidget({ - type: "bi.button_group", - items: this._createItems(o.items), - layouts: [{ - type: "bi.vertical" - }] - }); - - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [{ - type: "bi.vertical", - cls: "relation-view-region-container bi-card bi-border " + (o.belongPackage ? "" : "other-package"), - items: [{ - type: "bi.vertical_adapt", - cls: "relation-view-region-title bi-border-bottom", - items: [this.preview, this.title] - }, this.button_group] - }], - hgap: 25, - vgap: 20 - }) - }, - - _createItems: function (items) { - var self = this; - return BI.map(items, function (i, item) { - return BI.extend(item, { - type: "bi.relation_view_item", - hoverIn: function () { - self.setValue(item.value); - self.fireEvent(BI.RelationViewRegion.EVENT_HOVER_IN, item.value); - }, - hoverOut: function () { - self.setValue([]); - self.fireEvent(BI.RelationViewRegion.EVENT_HOVER_OUT, item.value); - } - }) - }); - }, - - doRedMark: function () { - this.title.doRedMark.apply(this.title, arguments); - }, - - unRedMark: function () { - this.title.unRedMark.apply(this.title, arguments); - }, - - getWidth: function () { - return this.options.width; - }, - - getHeight: function () { - return this.button_group.getAllButtons().length * 25 + 25 + 2 * 20 + 3; - }, - - //获取上方开始划线的位置 - getTopLeftPosition: function () { - return { - x: 25 + 10, - y: 20 - } - }, - - getTopRightPosition: function () { - return { - x: this.getWidth() - 25 - 10, - y: 20 - } - }, - - getBottomPosition: function () { - return { - x: 25 + 10, - y: this.getHeight() - 20 - } - }, - - getLeftPosition: function () { - return { - x: 25, - y: 20 + 10 - } - }, - - getRightPosition: function () { - return { - x: this.getWidth() - 25, - y: 20 + 10 - } - }, - - setValue: function (v) { - this.button_group.setValue(v); - }, - - setPreviewSelected: function(v) { - this.preview.setSelected(v); - } -}); -BI.RelationViewRegion.EVENT_HOVER_IN = "RelationViewRegion.EVENT_HOVER_IN"; -BI.RelationViewRegion.EVENT_HOVER_OUT = "RelationViewRegion.EVENT_HOVER_OUT"; -BI.RelationViewRegion.EVENT_PREVIEW = "RelationViewRegion.EVENT_PREVIEW"; -BI.shortcut('bi.relation_view_region', BI.RelationViewRegion); \ No newline at end of file diff --git a/src/widget/responsivetable/responsivetable.js b/src/widget/responsivetable/responsivetable.js deleted file mode 100644 index c6817113d1..0000000000 --- a/src/widget/responsivetable/responsivetable.js +++ /dev/null @@ -1,362 +0,0 @@ -/** - * 自适应宽度的表格 - * - * Created by GUY on 2016/2/3. - * @class BI.ResponisveTable - * @extends BI.Widget - */ -BI.ResponisveTable = BI.inherit(BI.Widget, { - - _const: { - perColumnSize: 100 - }, - - _defaultConfig: function () { - return BI.extend(BI.ResponisveTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-responsive-table", - isNeedFreeze: false,//是否需要冻结单元格 - freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为true时生效 - - isNeedMerge: false,//是否需要合并单元格 - mergeCols: [], //合并的单元格列号 - mergeRule: function (row1, row2) { //合并规则, 默认相等时合并 - return BI.isEqual(row1, row2); - }, - - columnSize: [], - headerRowSize: 25, - footerRowSize: 25, - rowSize: 25, - - regionColumnSize: false, - - header: [], - footer: false, - items: [], //二维数组 - - //交叉表头 - crossHeader: [], - crossItems: [] - }); - }, - - _init: function () { - BI.ResponisveTable.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.table = BI.createWidget({ - type: "bi.table_view", - element: this, - - isNeedFreeze: o.isNeedFreeze, - freezeCols: o.freezeCols, - - isNeedMerge: o.isNeedMerge, - mergeCols: o.mergeCols, - mergeRule: o.mergeRule, - - columnSize: o.columnSize, - headerRowSize: o.headerRowSize, - footerRowSize: o.footerRowSize, - rowSize: o.rowSize, - - regionColumnSize: o.regionColumnSize, - - header: o.header, - footer: o.footer, - items: o.items, - //交叉表头 - crossHeader: o.crossHeader, - crossItems: o.crossItems - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_INIT, function () { - self._initRegionSize(); - self.table.resize(); - self._resizeHeader(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_INIT, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_RESIZE, function () { - self._resizeRegion(); - self._resizeHeader(); - self.fireEvent(BI.Table.EVENT_TABLE_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_SCROLL, function () { - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_BEFORE_REGION_RESIZE, function () { - self.fireEvent(BI.Table.EVENT_TABLE_BEFORE_REGION_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_REGION_RESIZE, function () { - //important:在冻结并自适应列宽的情况下要随时变更表头宽度 - if (o.isNeedResize === true && self._isAdaptiveColumn()) { - self._resizeHeader(); - } - self.fireEvent(BI.Table.EVENT_TABLE_REGION_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () { - self._resizeHeader(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments); - }); - - this.table.on(BI.Table.EVENT_TABLE_BEFORE_COLUMN_RESIZE, function () { - self._resizeBody(); - self.fireEvent(BI.Table.EVENT_TABLE_BEFORE_COLUMN_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_COLUMN_RESIZE, function () { - self.fireEvent(BI.Table.EVENT_TABLE_COLUMN_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () { - self._resizeRegion(); - self._resizeHeader(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments); - }); - }, - - _initRegionSize: function () { - var o = this.options; - if (o.isNeedFreeze === true) { - var regionColumnSize = this.table.getRegionColumnSize(); - var maxWidth = this.table.element.width(); - if (!regionColumnSize[0] || (regionColumnSize[0] === 'fill') || regionColumnSize[0] > maxWidth || regionColumnSize[1] > maxWidth) { - var freezeCols = o.freezeCols; - if (freezeCols.length === 0) { - this.table.setRegionColumnSize([0, "fill"]); - } else if (freezeCols.length > 0 && freezeCols.length < o.columnSize.length) { - var size = maxWidth / 3; - if (freezeCols.length > o.columnSize.length / 2) { - size = maxWidth * 2 / 3; - } - this.table.setRegionColumnSize([size, "fill"]); - } else { - this.table.setRegionColumnSize(["fill", 0]); - } - } - } - }, - - _getBlockSize: function () { - var o = this.options; - var columnSize = this.table.getCalculateColumnSize(); - if (o.isNeedFreeze === true) { - var columnSizeLeft = [], columnSizeRight = []; - BI.each(columnSize, function (i, size) { - if (o.freezeCols.contains(i)) { - columnSizeLeft.push(size); - } else { - columnSizeRight.push(size); - } - }); - //因为有边框,所以加上数组长度的参数调整 - var sumLeft = BI.sum(columnSizeLeft) + columnSizeLeft.length, - sumRight = BI.sum(columnSizeRight) + columnSizeRight.length; - return { - sumLeft: sumLeft, - sumRight: sumRight, - left: columnSizeLeft, - right: columnSizeRight - } - } - return { - size: columnSize, - sum: BI.sum(columnSize) + columnSize.length - }; - }, - - _isAdaptiveColumn: function (columnSize) { - return !(BI.last(columnSize || this.table.getColumnSize()) > 1.05); - }, - - _resizeHeader: function () { - var self = this, o = this.options; - if (o.isNeedFreeze === true) { - //若是当前处于自适应调节阶段 - if (this._isAdaptiveColumn()) { - var columnSize = this.table.getCalculateColumnSize(); - this.table.setHeaderColumnSize(columnSize); - } else { - var regionColumnSize = this.table.getClientRegionColumnSize(); - var block = this._getBlockSize(); - var sumLeft = block.sumLeft, sumRight = block.sumRight; - var columnSizeLeft = block.left, columnSizeRight = block.right; - columnSizeLeft[columnSizeLeft.length - 1] += regionColumnSize[0] - sumLeft; - columnSizeRight[columnSizeRight.length - 1] += regionColumnSize[1] - sumRight; - - var newLeft = BI.clone(columnSizeLeft), newRight = BI.clone(columnSizeRight); - newLeft[newLeft.length - 1] = ""; - newRight[newRight.length - 1] = ""; - this.table.setColumnSize(newLeft.concat(newRight)); - - block = self._getBlockSize(); - if (columnSizeLeft[columnSizeLeft.length - 1] < block.left[block.left.length - 1]) { - columnSizeLeft[columnSizeLeft.length - 1] = block.left[block.left.length - 1] - } - if (columnSizeRight[columnSizeRight.length - 1] < block.right[block.right.length - 1]) { - columnSizeRight[columnSizeRight.length - 1] = block.right[block.right.length - 1] - } - - self.table.setColumnSize(columnSizeLeft.concat(columnSizeRight)); - } - } else { - if (!this._isAdaptiveColumn()) { - var regionColumnSize = this.table.getClientRegionColumnSize(); - var block = this._getBlockSize(); - var sum = block.sum; - var size = block.size; - - size[size.length - 1] += regionColumnSize[0] - sum; - - var newSize = BI.clone(size); - newSize[newSize.length - 1] = ""; - this.table.setColumnSize(newSize); - block = this._getBlockSize(); - - if (size[size.length - 1] < block.size[block.size.length - 1]) { - size[size.length - 1] = block.size[block.size.length - 1] - } - this.table.setColumnSize(size); - } - } - }, - - _resizeBody: function () { - if (this._isAdaptiveColumn()) { - var columnSize = this.table.getCalculateColumnSize(); - this.setColumnSize(columnSize); - } - }, - - _adjustRegion: function () { - var o = this.options; - var regionColumnSize = this.table.getCalculateRegionColumnSize(); - if (o.isNeedFreeze === true && o.freezeCols.length > 0 && o.freezeCols.length < o.columnSize.length) { - var block = this._getBlockSize(); - var sumLeft = block.sumLeft, sumRight = block.sumRight; - if (sumLeft < regionColumnSize[0] || regionColumnSize[0] >= (sumLeft + sumRight)) { - this.table.setRegionColumnSize([sumLeft, "fill"]); - } - this._resizeRegion(); - } - }, - - _resizeRegion: function () { - var o = this.options; - var regionColumnSize = this.table.getCalculateRegionColumnSize(); - if (o.isNeedFreeze === true && o.freezeCols.length > 0 && o.freezeCols.length < o.columnSize.length) { - var maxWidth = this.table.element.width(); - if (regionColumnSize[0] < 15 || regionColumnSize[1] < 15) { - var freezeCols = o.freezeCols; - var size = maxWidth / 3; - if (freezeCols.length > o.columnSize.length / 2) { - size = maxWidth * 2 / 3; - } - this.table.setRegionColumnSize([size, "fill"]); - } - } - }, - - - resize: function () { - this.table.resize(); - this._resizeRegion(); - this._resizeHeader(); - }, - - setColumnSize: function (columnSize) { - this.table.setColumnSize(columnSize); - this._adjustRegion(); - this._resizeHeader(); - }, - - getColumnSize: function () { - return this.table.getColumnSize(); - }, - - getCalculateColumnSize: function () { - return this.table.getCalculateColumnSize(); - }, - - setHeaderColumnSize: function (columnSize) { - this.table.setHeaderColumnSize(columnSize); - this._adjustRegion(); - this._resizeHeader(); - }, - - setRegionColumnSize: function (columnSize) { - this.table.setRegionColumnSize(columnSize); - this._resizeHeader(); - }, - - getRegionColumnSize: function () { - return this.table.getRegionColumnSize(); - }, - - getCalculateRegionColumnSize: function () { - return this.table.getCalculateRegionColumnSize(); - }, - - getCalculateRegionRowSize: function () { - return this.table.getCalculateRegionRowSize(); - }, - - getClientRegionColumnSize: function () { - return this.table.getClientRegionColumnSize(); - }, - - getScrollRegionColumnSize: function () { - return this.table.getScrollRegionColumnSize(); - }, - - getScrollRegionRowSize: function () { - return this.table.getScrollRegionRowSize(); - }, - - hasVerticalScroll: function () { - return this.table.hasVerticalScroll(); - }, - - setVerticalScroll: function (scrollTop) { - this.table.setVerticalScroll(scrollTop); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - this.table.setLeftHorizontalScroll(scrollLeft); - }, - - setRightHorizontalScroll: function (scrollLeft) { - this.table.setRightHorizontalScroll(scrollLeft); - }, - - getVerticalScroll: function () { - return this.table.getVerticalScroll(); - }, - - getLeftHorizontalScroll: function () { - return this.table.getLeftHorizontalScroll(); - }, - - getRightHorizontalScroll: function () { - return this.table.getRightHorizontalScroll(); - }, - - getColumns: function () { - return this.table.getColumns(); - }, - - attr: function () { - BI.ResponisveTable.superclass.attr.apply(this, arguments); - this.table.attr.apply(this.table, arguments); - }, - - populate: function (items) { - var self = this, o = this.options; - this.table.populate.apply(this.table, arguments); - if (o.isNeedFreeze === true) { - BI.nextTick(function () { - self._initRegionSize(); - self.table.resize(); - self._resizeHeader(); - }); - } - } -}); -BI.shortcut('bi.responsive_table', BI.ResponisveTable); \ No newline at end of file diff --git a/src/widget/selecttree/nodes/node.first.plus.js b/src/widget/selecttree/nodes/node.first.plus.js deleted file mode 100644 index bf230e04b6..0000000000 --- a/src/widget/selecttree/nodes/node.first.plus.js +++ /dev/null @@ -1,85 +0,0 @@ -/** - * 加号表示的组节点 - * Created by GUY on 2015/9/6. - * @class BI.SelectTreeFirstPlusGroupNode - * @extends BI.NodeButton - */ -BI.SelectTreeFirstPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.SelectTreeFirstPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-select-tree-first-plus-group-node bi-list-item-active", - logic: { - dynamic: false - }, - id: "", - pId: "", - readonly: true, - open: false, - height: 25 - }) - }, - _init: function () { - BI.SelectTreeFirstPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.first_tree_node_checkbox", - stopPropagation: true - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - if (this.isSelected()) { - self.triggerExpand(); - } else { - self.triggerCollapse(); - } - } - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, { - width: 25, - el: this.checkbox - }, this.text); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - isOnce: function () { - return true; - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.NodeButton.superclass.doClick.apply(this, arguments); - }, - - setOpened: function (v) { - BI.SelectTreeFirstPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.checkbox)) { - this.checkbox.setSelected(v); - } - } -}); - -BI.shortcut("bi.select_tree_first_plus_group_node", BI.SelectTreeFirstPlusGroupNode); \ No newline at end of file diff --git a/src/widget/selecttree/nodes/node.last.plus.js b/src/widget/selecttree/nodes/node.last.plus.js deleted file mode 100644 index 213b3f9f0b..0000000000 --- a/src/widget/selecttree/nodes/node.last.plus.js +++ /dev/null @@ -1,85 +0,0 @@ -/** - * 加号表示的组节点 - * Created by GUY on 2015/9/6. - * @class BI.SelectTreeLastPlusGroupNode - * @extends BI.NodeButton - */ -BI.SelectTreeLastPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.SelectTreeLastPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-select-tree-last-plus-group-node bi-list-item-active", - logic: { - dynamic: false - }, - id: "", - pId: "", - readonly: true, - open: false, - height: 25 - }) - }, - _init: function () { - BI.SelectTreeLastPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.last_tree_node_checkbox", - stopPropagation: true - }) - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - if (this.isSelected()) { - self.triggerExpand(); - } else { - self.triggerCollapse(); - } - } - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, { - width: 25, - el: this.checkbox - }, this.text); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - isOnce: function () { - return true; - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.NodeButton.superclass.doClick.apply(this, arguments); - }, - - setOpened: function (v) { - BI.SelectTreeLastPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.checkbox)) { - this.checkbox.setSelected(v); - } - } -}); - -BI.shortcut("bi.select_tree_last_plus_group_node", BI.SelectTreeLastPlusGroupNode); \ No newline at end of file diff --git a/src/widget/selecttree/nodes/node.mid.plus.js b/src/widget/selecttree/nodes/node.mid.plus.js deleted file mode 100644 index 0e0dbdd5b9..0000000000 --- a/src/widget/selecttree/nodes/node.mid.plus.js +++ /dev/null @@ -1,85 +0,0 @@ -/** - * 加号表示的组节点 - * Created by GUY on 2015/9/6. - * @class BI.SelectTreeMidPlusGroupNode - * @extends BI.NodeButton - */ -BI.SelectTreeMidPlusGroupNode = BI.inherit(BI.NodeButton, { - _defaultConfig: function () { - var conf = BI.SelectTreeMidPlusGroupNode.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - baseCls: (conf.baseCls || "") + " bi-select-tree-mid-plus-group-node bi-list-item-active", - logic: { - dynamic: false - }, - id: "", - pId: "", - readonly: true, - open: false, - height: 25 - }) - }, - _init: function () { - BI.SelectTreeMidPlusGroupNode.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.checkbox = BI.createWidget({ - type: "bi.mid_tree_node_checkbox", - stopPropagation: true - }); - this.text = BI.createWidget({ - type: "bi.label", - textAlign: "left", - whiteSpace: "nowrap", - textHeight: o.height, - height: o.height, - hgap: o.hgap, - text: o.text, - value: o.value, - py: o.py - }); - this.checkbox.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - if (this.isSelected()) { - self.triggerExpand(); - } else { - self.triggerCollapse(); - } - } - }); - var type = BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left); - var items = BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left, { - width: 25, - el: this.checkbox - }, this.text); - BI.createWidget(BI.extend({ - element: this - }, BI.LogicFactory.createLogic(type, BI.extend(o.logic, { - items: items - })))); - }, - - isOnce: function () { - return true; - }, - - doRedMark: function () { - this.text.doRedMark.apply(this.text, arguments); - }, - - unRedMark: function () { - this.text.unRedMark.apply(this.text, arguments); - }, - - doClick: function () { - BI.NodeButton.superclass.doClick.apply(this, arguments); - }, - - setOpened: function (v) { - BI.SelectTreeMidPlusGroupNode.superclass.setOpened.apply(this, arguments); - if (BI.isNotNull(this.checkbox)) { - this.checkbox.setSelected(v); - } - } -}); - -BI.shortcut("bi.select_tree_mid_plus_group_node", BI.SelectTreeMidPlusGroupNode); \ No newline at end of file diff --git a/src/widget/selecttree/selecttree.combo.js b/src/widget/selecttree/selecttree.combo.js deleted file mode 100644 index 77e7e1dc7f..0000000000 --- a/src/widget/selecttree/selecttree.combo.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * @class BI.SelectTreeCombo - * @extends BI.Widget - */ -BI.SelectTreeCombo = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SelectTreeCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-select-tree-combo", - height: 30, - text: "", - items: [] - }); - }, - - _init: function () { - BI.SelectTreeCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.single_tree_trigger", - text: o.text, - height: o.height, - items: o.items - }); - - this.popup = BI.createWidget({ - type: "bi.select_level_tree", - items: o.items - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 2, - el: this.trigger, - popup: { - el: this.popup - } - }); - - this.combo.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.popup.on(BI.SingleTreePopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - }); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function () { - return this.popup.getValue(); - }, - - populate: function (items) { - this.combo.populate(items); - } -}); - - -BI.shortcut("bi.select_tree_combo", BI.SelectTreeCombo); \ No newline at end of file diff --git a/src/widget/selecttree/selecttree.expander.js b/src/widget/selecttree/selecttree.expander.js deleted file mode 100644 index 6ce69d1fcb..0000000000 --- a/src/widget/selecttree/selecttree.expander.js +++ /dev/null @@ -1,73 +0,0 @@ -/** - * @class BI.SelectTreeExpander - * @extends BI.Widget - */ -BI.SelectTreeExpander = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SelectTreeExpander.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-select-tree-expander", - trigger: "click", - toggle: true, - direction: "bottom", - isDefaultInit: true, - el: {}, - popup: {} - }); - }, - - _init: function () { - BI.SelectTreeExpander.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget(BI.extend({stopPropagation: true}, o.el)); - this.trigger.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - if (this.isSelected()) { - self.expander.setValue([]); - } - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.expander = BI.createWidget({ - type: "bi.expander", - element: this, - trigger: o.trigger, - toggle: o.toggle, - direction: o.direction, - isDefaultInit: o.isDefaultInit, - el: this.trigger, - popup: o.popup - }); - this.expander.on(BI.Controller.EVENT_CHANGE, function (type) { - if (type === BI.Events.CLICK) { - self.trigger.setSelected(false); - } - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - }, - - setValue: function (v) { - if (BI.contains(v, this.trigger.getValue())) { - this.trigger.setSelected(true); - this.expander.setValue([]); - } else { - this.trigger.setSelected(false); - this.expander.setValue(v); - } - }, - - getValue: function () { - if (this.trigger.isSelected()) { - return [this.trigger.getValue()]; - } - return this.expander.getValue(); - }, - - populate: function (items) { - this.expander.populate(items); - } -}); - -BI.shortcut("bi.select_tree_expander", BI.SelectTreeExpander); \ No newline at end of file diff --git a/src/widget/selecttree/selecttree.popup.js b/src/widget/selecttree/selecttree.popup.js deleted file mode 100644 index 13a8b5926c..0000000000 --- a/src/widget/selecttree/selecttree.popup.js +++ /dev/null @@ -1,97 +0,0 @@ -/** - * @class BI.SelectTreePopup - * @extends BI.Pane - */ - -BI.SelectTreePopup = BI.inherit(BI.Pane, { - - _defaultConfig: function () { - return BI.extend(BI.SelectTreePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-select-level-tree", - tipText: BI.i18nText("BI-No_Selected_Item"), - items: [] - }); - }, - - _formatItems: function (nodes, layer) { - var self = this; - BI.each(nodes, function (i, node) { - var extend = {layer: layer}; - node.id = node.id || BI.UUID(); - if (node.isParent === true || BI.isNotEmptyArray(node.children)) { - switch (i) { - case 0 : - extend.type = "bi.select_tree_first_plus_group_node"; - break; - case nodes.length - 1 : - extend.type = "bi.select_tree_last_plus_group_node"; - break; - default : - extend.type = "bi.select_tree_mid_plus_group_node"; - break; - } - BI.defaults(node, extend); - self._formatItems(node.children); - } else { - switch (i) { - case nodes.length - 1: - extend.type = "bi.last_tree_leaf_item"; - break; - default : - extend.type = "bi.mid_tree_leaf_item"; - } - BI.defaults(node, extend); - } - }); - return nodes; - }, - - _init: function () { - BI.SelectTreePopup.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - - this.tree = BI.createWidget({ - type: 'bi.level_tree', - expander: { - type: "bi.select_tree_expander", - isDefaultInit: true - }, - items: this._formatItems(BI.Tree.transformToTreeFormat(o.items)), - chooseType: BI.Selection.Single - }); - - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [this.tree] - }); - - this.tree.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.tree.on(BI.LevelTree.EVENT_CHANGE, function () { - self.fireEvent(BI.SelectTreePopup.EVENT_CHANGE); - }); - - this.check(); - }, - - getValue: function () { - return this.tree.getValue(); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.tree.setValue(v); - }, - - populate: function (items) { - BI.SelectTreePopup.superclass.populate.apply(this, arguments); - this.tree.populate(items); - } -}); - -BI.SelectTreePopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.select_level_tree", BI.SelectTreePopup); \ No newline at end of file diff --git a/src/widget/sequencetable/dynamicnumber.sequencetable.js b/src/widget/sequencetable/dynamicnumber.sequencetable.js deleted file mode 100644 index b124eee5ec..0000000000 --- a/src/widget/sequencetable/dynamicnumber.sequencetable.js +++ /dev/null @@ -1,71 +0,0 @@ -/** - * - * Created by GUY on 2016/8/10. - * @class BI.SequenceTableDynamicNumber - * @extends BI.SequenceTableTreeNumber - */ -BI.SequenceTableDynamicNumber = BI.inherit(BI.SequenceTableTreeNumber, { - - _defaultConfig: function () { - return BI.extend(BI.SequenceTableDynamicNumber.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-sequence-table-dynamic-number" - }); - }, - - _init: function () { - BI.SequenceTableDynamicNumber.superclass._init.apply(this, arguments); - }, - - _formatNumber: function (nodes) { - var self = this, o = this.options; - var result = []; - var count = this._getStart(nodes); - - function getLeafCount(node) { - var cnt = 0; - if (BI.isNotEmptyArray(node.children)) { - BI.each(node.children, function (index, child) { - cnt += getLeafCount(child); - }); - if (node.children.length > 1 && BI.isNotEmptyArray(node.values)) { - cnt++; - } - } else { - cnt++; - } - return cnt; - } - - var start = 0, top = 0; - BI.each(nodes, function (i, node) { - if (BI.isArray(node.children)) { - BI.each(node.children, function (index, child) { - var cnt = getLeafCount(child); - result.push({ - text: count++, - start: start, - top: top, - cnt: cnt, - index: index, - height: cnt * o.rowSize - }); - start += cnt; - top += cnt * o.rowSize; - }); - if (BI.isNotEmptyArray(node.values)) { - result.push({ - text: BI.i18nText("BI-Summary_Values"), - start: start++, - top: top, - cnt: 1, - isSummary: true, - height: o.rowSize - }); - top += o.rowSize; - } - } - }); - return result; - } -}); -BI.shortcut('bi.sequence_table_dynamic_number', BI.SequenceTableDynamicNumber); \ No newline at end of file diff --git a/src/widget/sequencetable/listnumber.sequencetable.js b/src/widget/sequencetable/listnumber.sequencetable.js deleted file mode 100644 index 94e2882339..0000000000 --- a/src/widget/sequencetable/listnumber.sequencetable.js +++ /dev/null @@ -1,244 +0,0 @@ -/** - * - * Created by GUY on 2016/5/26. - * @class BI.SequenceTableListNumber - * @extends BI.Widget - */ -BI.SequenceTableListNumber = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SequenceTableListNumber.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-sequence-table-list-number", - isNeedFreeze: false, - scrollTop: 0, - startSequence: 1,//开始的序号 - headerRowSize: 25, - rowSize: 25, - - sequenceHeaderCreator: null, - - header: [], - items: [], //二维数组 - - //交叉表头 - crossHeader: [], - crossItems: [], - - pageSize: 20 - }); - }, - - _init: function () { - BI.SequenceTableListNumber.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.start = o.startSequence; - this.renderedCells = []; - this.renderedKeys = []; - - this.container = BI.createWidget({ - type: "bi.absolute", - width: 60, - scrollable: false - }); - - this.scrollContainer = BI.createWidget({ - type: "bi.vertical", - scrollable: false, - scrolly: false, - items: [this.container] - }); - - this.headerContainer = BI.createWidget({ - type: "bi.absolute", - cls: "bi-border", - width: 58, - scrollable: false - }); - - this.layout = BI.createWidget({ - type: "bi.vtape", - element: this, - items: [{ - el: this.headerContainer, - height: o.headerRowSize * o.header.length - 2 - }, { - el: {type: "bi.layout"}, - height: 2 - }, { - el: this.scrollContainer - }] - }); - this._populate(); - }, - - _layout: function () { - var self = this, o = this.options; - var headerHeight = o.headerRowSize * o.header.length - 2; - var items = this.layout.attr("items"); - if (o.isNeedFreeze === false) { - items[0].height = 0; - items[1].height = 0; - } else if (o.isNeedFreeze === true) { - items[0].height = headerHeight; - items[1].height = 2; - } - this.layout.attr("items", items); - this.layout.resize(); - this.container.setHeight(o.items.length * o.rowSize); - try { - this.scrollContainer.element.scrollTop(o.scrollTop); - } catch (e) { - - } - }, - - _createHeader: function () { - var o = this.options; - BI.createWidget({ - type: "bi.absolute", - element: this.headerContainer, - items: [{ - el: o.sequenceHeaderCreator || { - type: "bi.table_style_cell", - cls: "sequence-table-title-cell", - styleGetter: o.headerCellStyleGetter, - text: BI.i18nText("BI-Number_Index") - }, - left: 0, - top: 0, - right: 0, - bottom: 0 - }] - }); - }, - - _calculateChildrenToRender: function () { - var self = this, o = this.options; - var scrollTop = BI.clamp(o.scrollTop, 0, o.rowSize * o.items.length - (o.height - o.header.length * o.headerRowSize) + BI.DOM.getScrollWidth()); - var start = Math.floor(scrollTop / o.rowSize); - var end = start + Math.floor((o.height - o.header.length * o.headerRowSize) / o.rowSize); - var renderedCells = [], renderedKeys = []; - for (var i = start, cnt = 0; i <= end && i < o.items.length; i++, cnt++) { - var index = BI.deepIndexOf(this.renderedKeys, this.start + i); - var top = i * o.rowSize; - if (index > -1) { - if (o.rowSize !== this.renderedCells[index]._height) { - this.renderedCells[index]._height = o.rowSize; - this.renderedCells[index].el.setHeight(o.rowSize); - } - if (this.renderedCells[index].top !== top) { - this.renderedCells[index].top = top; - this.renderedCells[index].el.element.css("top", top + "px"); - } - renderedCells.push(this.renderedCells[index]); - } else { - var child = BI.createWidget(BI.extend({ - type: "bi.table_style_cell", - cls: "sequence-table-number-cell bi-border-left bi-border-right bi-border-bottom", - width: 60, - height: o.rowSize, - text: this.start + i, - styleGetter: function (index) { - return function () { - return o.sequenceCellStyleGetter(self.start + i - 1); - } - }(cnt) - })); - renderedCells.push({ - el: child, - left: 0, - top: top, - _height: o.rowSize - }); - } - renderedKeys.push(this.start + i); - } - - //已存在的, 需要添加的和需要删除的 - var existSet = {}, addSet = {}, deleteArray = []; - BI.each(renderedKeys, function (i, key) { - if (BI.deepContains(self.renderedKeys, key)) { - existSet[i] = key; - } else { - addSet[i] = key; - } - }); - BI.each(this.renderedKeys, function (i, key) { - if (BI.deepContains(existSet, key)) { - return; - } - if (BI.deepContains(addSet, key)) { - return; - } - deleteArray.push(i); - }); - BI.each(deleteArray, function (i, index) { - self.renderedCells[index].el.destroy(); - }); - var addedItems = []; - BI.each(addSet, function (index) { - addedItems.push(renderedCells[index]) - }); - BI.createWidget({ - type: "bi.absolute", - element: this.container, - items: addedItems - }); - this.renderedCells = renderedCells; - this.renderedKeys = renderedKeys; - }, - - _populate: function () { - this.headerContainer.empty(); - this._createHeader(); - this._layout(); - this._calculateChildrenToRender(); - }, - - setVerticalScroll: function (scrollTop) { - if (this.options.scrollTop !== scrollTop) { - this.options.scrollTop = scrollTop; - try { - this.scrollContainer.element.scrollTop(scrollTop); - } catch (e) { - - } - } - }, - - getVerticalScroll: function () { - return this.options.scrollTop; - }, - - setVPage: function (v) { - v = v < 1 ? 1 : v; - var o = this.options; - this.start = (v - 1) * o.pageSize + 1; - }, - - _restore: function () { - var o = this.options; - BI.each(this.renderedCells, function (i, cell) { - cell.el.destroy(); - }); - this.renderedCells = []; - this.renderedKeys = []; - }, - - restore: function () { - this._restore(); - }, - - populate: function (items, header) { - var o = this.options; - if (items && items !== this.options.items) { - o.items = items; - this._restore(); - } - if (header && header !== this.options.header) { - o.header = header; - } - this._populate(); - } -}); -BI.shortcut('bi.sequence_table_list_number', BI.SequenceTableListNumber); \ No newline at end of file diff --git a/src/widget/sequencetable/sequencetable.js b/src/widget/sequencetable/sequencetable.js deleted file mode 100644 index 1b63800426..0000000000 --- a/src/widget/sequencetable/sequencetable.js +++ /dev/null @@ -1,253 +0,0 @@ -/** - * 带有序号的表格 - * - * Created by GUY on 2016/5/26. - * @class BI.SequenceTable - * @extends BI.Widget - */ -BI.SequenceTable = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SequenceTable.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-sequence-table", - el: { - type: "bi.adaptive_table" - }, - - sequence: {}, - - isNeedResize: true, - isResizeAdapt: false, - - isNeedFreeze: false,//是否需要冻结单元格 - freezeCols: [], //冻结的列号,从0开始,isNeedFreeze为true时生效 - - isNeedMerge: false,//是否需要合并单元格 - mergeCols: [], //合并的单元格列号 - mergeRule: BI.emptyFn, - - columnSize: [], - minColumnSize: [], - maxColumnSize: [], - headerRowSize: 25, - rowSize: 25, - - regionColumnSize: [], - - headerCellStyleGetter: BI.emptyFn, - summaryCellStyleGetter: BI.emptyFn, - sequenceCellStyleGetter: BI.emptyFn, - - header: [], - items: [], //二维数组 - - //交叉表头 - crossHeader: [], - crossItems: [], - - showSequence: false, - startSequence: 1//开始的序号 - }); - }, - - _init: function () { - BI.SequenceTable.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.sequence = BI.createWidget(o.sequence, { - type: "bi.sequence_table_list_number", - invisible: o.showSequence === false, - startSequence: o.startSequence, - isNeedFreeze: o.isNeedFreeze, - header: o.header, - items: o.items, - crossHeader: o.crossHeader, - crossItems: o.crossItems, - headerRowSize: o.headerRowSize, - rowSize: o.rowSize, - width: 60, - height: o.height && o.height - BI.GridTableScrollbar.SIZE, - - headerCellStyleGetter: o.headerCellStyleGetter, - summaryCellStyleGetter: o.summaryCellStyleGetter, - sequenceCellStyleGetter: o.sequenceCellStyleGetter - }); - this.table = BI.createWidget(o.el, { - type: "bi.adaptive_table", - width: o.showSequence === true ? o.width - 60 : o.width, - height: o.height, - isNeedResize: o.isNeedResize, - isResizeAdapt: o.isResizeAdapt, - - isNeedFreeze: o.isNeedFreeze, - freezeCols: o.freezeCols, - - isNeedMerge: o.isNeedMerge, - mergeCols: o.mergeCols, - mergeRule: o.mergeRule, - - columnSize: o.columnSize, - minColumnSize: o.minColumnSize, - maxColumnSize: o.maxColumnSize, - headerRowSize: o.headerRowSize, - rowSize: o.rowSize, - - regionColumnSize: o.regionColumnSize, - - headerCellStyleGetter: o.headerCellStyleGetter, - summaryCellStyleGetter: o.summaryCellStyleGetter, - sequenceCellStyleGetter: o.sequenceCellStyleGetter, - - header: o.header, - items: o.items, - //交叉表头 - crossHeader: o.crossHeader, - crossItems: o.crossItems - }); - - this.table.on(BI.Table.EVENT_TABLE_SCROLL, function (scroll) { - if (self.sequence.getVerticalScroll() !== this.getVerticalScroll()) { - self.sequence.setVerticalScroll(this.getVerticalScroll()); - self.sequence.populate(); - } - self.fireEvent(BI.Table.EVENT_TABLE_SCROLL, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - o.columnSize = this.getColumnSize(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_REGION_RESIZE, arguments); - }); - this.table.on(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, function () { - o.regionColumnSize = this.getRegionColumnSize(); - o.columnSize = this.getColumnSize(); - self.fireEvent(BI.Table.EVENT_TABLE_AFTER_COLUMN_RESIZE, arguments); - }); - - this.htape = BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.sequence, - left: 0, - top: 0 - }, { - el: this.table, - top: 0, - left: o.showSequence === true ? 60 : 0 - }] - }); - this._populate(); - }, - - _populate: function () { - var o = this.options; - if (o.showSequence === true) { - this.sequence.setVisible(true); - this.table.element.css("left", "60px"); - this.table.setWidth(o.width - 60); - } else { - this.sequence.setVisible(false); - this.table.element.css("left", "0px"); - this.table.setWidth(o.width); - } - }, - - setWidth: function (width) { - BI.PageTable.superclass.setWidth.apply(this, arguments); - this.table.setWidth(this.options.showSequence ? width - 60 : width); - }, - - setHeight: function (height) { - BI.PageTable.superclass.setHeight.apply(this, arguments); - this.table.setHeight(height); - this.sequence.setHeight(height - BI.GridTableScrollbar.SIZE); - }, - - setColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - this.table.setColumnSize(columnSize); - }, - - getColumnSize: function () { - return this.table.getColumnSize(); - }, - - setRegionColumnSize: function (columnSize) { - this.options.columnSize = columnSize; - this.table.setRegionColumnSize(columnSize); - }, - - getRegionColumnSize: function () { - return this.table.getRegionColumnSize(); - }, - - hasLeftHorizontalScroll: function () { - return this.table.hasLeftHorizontalScroll(); - }, - - hasRightHorizontalScroll: function () { - return this.table.hasRightHorizontalScroll(); - }, - - setLeftHorizontalScroll: function (scrollLeft) { - this.table.setLeftHorizontalScroll(scrollLeft); - }, - - setRightHorizontalScroll: function (scrollLeft) { - this.table.setRightHorizontalScroll(scrollLeft); - }, - - setVerticalScroll: function (scrollTop) { - this.table.setVerticalScroll(scrollTop); - this.sequence.setVerticalScroll(scrollTop); - }, - - getVerticalScroll: function () { - return this.table.getVerticalScroll(); - }, - - setVPage: function (page) { - this.sequence.setVPage && this.sequence.setVPage(page); - }, - - setHPage: function (page) { - this.sequence.setHPage && this.sequence.setHPage(page); - }, - - attr: function () { - BI.SequenceTable.superclass.attr.apply(this, arguments); - this.table.attr.apply(this.table, arguments); - this.sequence.attr.apply(this.sequence, arguments); - }, - - restore: function () { - this.table.restore(); - this.sequence.restore(); - }, - - populate: function (items, header, crossItems, crossHeader) { - var o = this.options; - if (items) { - o.items = items; - } - if (header) { - o.header = header; - } - if (crossItems) { - o.crossItems = crossItems; - } - if (crossHeader) { - o.crossHeader = crossHeader; - } - this._populate(); - this.table.populate.apply(this.table, arguments); - this.sequence.populate.apply(this.sequence, arguments); - this.sequence.setVerticalScroll(this.table.getVerticalScroll()); - }, - - destroy: function () { - this.table.destroy(); - BI.SequenceTable.superclass.destroy.apply(this, arguments); - } -}); -BI.shortcut('bi.sequence_table', BI.SequenceTable); \ No newline at end of file diff --git a/src/widget/sequencetable/treenumber.sequencetable.js b/src/widget/sequencetable/treenumber.sequencetable.js deleted file mode 100644 index 057a5e6c2a..0000000000 --- a/src/widget/sequencetable/treenumber.sequencetable.js +++ /dev/null @@ -1,420 +0,0 @@ -/** - * - * Created by GUY on 2016/5/26. - * @class BI.SequenceTableTreeNumber - * @extends BI.Widget - */ -BI.SequenceTableTreeNumber = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SequenceTableTreeNumber.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-sequence-table-tree-number", - isNeedFreeze: false, - startSequence: 1,//开始的序号 - scrollTop: 0, - headerRowSize: 25, - rowSize: 25, - - sequenceHeaderCreator: null, - - header: [], - items: [], //二维数组 - - //交叉表头 - crossHeader: [], - crossItems: [] - }); - }, - - _init: function () { - BI.SequenceTableTreeNumber.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.vCurr = 1; - this.hCurr = 1; - this.tasks = []; - this.renderedCells = []; - this.renderedKeys = []; - - this.container = BI.createWidget({ - type: "bi.absolute", - width: 60, - scrollable: false - }); - - this.scrollContainer = BI.createWidget({ - type: "bi.vertical", - scrollable: false, - scrolly: false, - items: [this.container] - }); - - this.headerContainer = BI.createWidget({ - type: "bi.absolute", - cls: "bi-border", - width: 58, - scrollable: false - }); - - this.layout = BI.createWidget({ - type: "bi.vtape", - element: this, - items: [{ - el: this.headerContainer, - height: this._getHeaderHeight() - 2 - }, {el: {type: "bi.layout"}, height: 2}, { - el: this.scrollContainer - }] - }); - //缓存第一行对应的序号 - this.start = this.options.startSequence; - this.cache = {}; - this._nextState(); - - this._populate(); - }, - - _getNextSequence: function (nodes) { - var self = this; - var start = this.start; - var cnt = this.start; - - function track(node) { - //如果已经有缓存了就不改计数了,复杂表会出现这种情况 - self.cache[node.text || node.value] || (self.cache[node.text || node.value] = cnt); - cnt++; - } - - BI.each(nodes, function (i, node) { - if (BI.isNotEmptyArray(node.children)) { - BI.each(node.children, function (index, child) { - if (index === 0) { - if (self.cache[child.text || child.value]) { - start = cnt = self.cache[child.text || child.value]; - } - } - track(child) - }); - } - }); - this.start = cnt; - return start; - }, - - _getStart: function (nodes) { - var self = this; - var start = this.start; - BI.some(nodes, function (i, node) { - if (BI.isNotEmptyArray(node.children)) { - return BI.some(node.children, function (index, child) { - if (index === 0) { - if (self.cache[child.text || child.value]) { - start = self.cache[child.text || child.value]; - return true; - } - } - }); - } - }); - return start; - }, - - _formatNumber: function (nodes) { - var self = this, o = this.options; - var result = []; - var count = this._getStart(nodes); - - function getLeafCount(node) { - var cnt = 0; - if (BI.isNotEmptyArray(node.children)) { - BI.each(node.children, function (index, child) { - cnt += getLeafCount(child); - }); - if (/**node.children.length > 1 && **/BI.isNotEmptyArray(node.values)) { - cnt++; - } - } else { - cnt++; - } - return cnt; - } - - var start = 0, top = 0; - BI.each(nodes, function (i, node) { - if (BI.isArray(node.children)) { - BI.each(node.children, function (index, child) { - var cnt = getLeafCount(child); - result.push({ - text: count++, - start: start, - top: top, - cnt: cnt, - index: index, - height: cnt * o.rowSize - }); - start += cnt; - top += cnt * o.rowSize; - }); - if (BI.isNotEmptyArray(node.values)) { - result.push({ - text: BI.i18nText("BI-Summary_Values"), - start: start++, - top: top, - cnt: 1, - isSummary: true, - height: o.rowSize - }); - top += o.rowSize; - } - } - }); - return result; - }, - - _layout: function () { - var self = this, o = this.options; - var headerHeight = this._getHeaderHeight() - 2; - var items = this.layout.attr("items"); - if (o.isNeedFreeze === false) { - items[0].height = 0; - items[1].height = 0; - } else if (o.isNeedFreeze === true) { - items[0].height = headerHeight; - items[1].height = 2; - } - this.layout.attr("items", items); - this.layout.resize(); - try { - this.scrollContainer.element.scrollTop(o.scrollTop); - } catch (e) { - - } - }, - - _getHeaderHeight: function () { - var o = this.options; - return o.headerRowSize * (o.crossHeader.length + (o.header.length > 0 ? 1 : 0)); - }, - - _nextState: function () { - var o = this.options; - this._getNextSequence(o.items); - }, - - _prevState: function () { - var self = this, o = this.options; - var firstChild; - BI.some(o.items, function (i, node) { - if (BI.isNotEmptyArray(node.children)) { - return BI.some(node.children, function (j, child) { - firstChild = child; - return true; - }); - } - }); - if (firstChild && BI.isNotEmptyObject(this.cache)) { - this.start = this.cache[firstChild.text || firstChild.value]; - } else { - this.start = 1; - } - this._nextState(); - }, - - _getMaxScrollTop: function (numbers) { - var cnt = 0; - BI.each(numbers, function (i, number) { - cnt += number.cnt; - }); - return Math.max(0, cnt * this.options.rowSize - (this.options.height - this._getHeaderHeight()) + BI.DOM.getScrollWidth()); - }, - - _createHeader: function () { - var o = this.options; - BI.createWidget({ - type: "bi.absolute", - element: this.headerContainer, - items: [{ - el: o.sequenceHeaderCreator || { - type: "bi.table_style_cell", - cls: "sequence-table-title-cell", - styleGetter: o.headerCellStyleGetter, - text: BI.i18nText("BI-Number_Index") - }, - left: 0, - top: 0, - right: 0, - bottom: 0 - }] - }); - }, - - _calculateChildrenToRender: function () { - var self = this, o = this.options; - - var renderedCells = [], renderedKeys = []; - var numbers = this._formatNumber(o.items); - var intervalTree = BI.PrefixIntervalTree.uniform(numbers.length, 0); - BI.each(numbers, function (i, number) { - intervalTree.set(i, number.height); - }); - var scrollTop = BI.clamp(o.scrollTop, 0, this._getMaxScrollTop(numbers)); - var index = intervalTree.greatestLowerBound(scrollTop); - var offsetTop = -(scrollTop - (index > 0 ? intervalTree.sumTo(index - 1) : 0)); - var height = offsetTop; - var bodyHeight = o.height - this._getHeaderHeight(); - while (height < bodyHeight && index < numbers.length) { - renderedKeys.push(index); - offsetTop += numbers[index].height; - height += numbers[index].height; - index++; - } - - BI.each(renderedKeys, function (i, key) { - var index = BI.deepIndexOf(self.renderedKeys, key); - if (index > -1) { - if (numbers[key].height !== self.renderedCells[index]._height) { - self.renderedCells[index]._height = numbers[key].height; - self.renderedCells[index].el.setHeight(numbers[key].height); - } - if (numbers[key].top !== self.renderedCells[index].top) { - self.renderedCells[index].top = numbers[key].top; - self.renderedCells[index].el.element.css("top", numbers[key].top + "px"); - } - renderedCells.push(self.renderedCells[index]); - } else { - var child = BI.createWidget(BI.extend({ - type: "bi.table_style_cell", - cls: "sequence-table-number-cell bi-border-left bi-border-right bi-border-bottom", - width: 60, - styleGetter: numbers[key].isSummary === true ? function () { - return o.summaryCellStyleGetter(true); - } : function (key) { - return function () { - return o.sequenceCellStyleGetter(key); - } - }(numbers[key].index) - }, numbers[key])); - renderedCells.push({ - el: child, - left: 0, - top: numbers[key].top, - _height: numbers[key].height - }); - } - }); - - //已存在的, 需要添加的和需要删除的 - var existSet = {}, addSet = {}, deleteArray = []; - BI.each(renderedKeys, function (i, key) { - if (BI.deepContains(self.renderedKeys, key)) { - existSet[i] = key; - } else { - addSet[i] = key; - } - }); - BI.each(this.renderedKeys, function (i, key) { - if (BI.deepContains(existSet, key)) { - return; - } - if (BI.deepContains(addSet, key)) { - return; - } - deleteArray.push(i); - }); - BI.each(deleteArray, function (i, index) { - self.renderedCells[index].el.destroy(); - }); - var addedItems = []; - BI.each(addSet, function (index) { - addedItems.push(renderedCells[index]) - }); - BI.createWidget({ - type: "bi.absolute", - element: this.container, - items: addedItems - }); - this.renderedCells = renderedCells; - this.renderedKeys = renderedKeys; - - this.container.setHeight(intervalTree.sumUntil(numbers.length)); - }, - - _restore: function () { - BI.each(this.renderedCells, function (i, cell) { - cell.el.destroy(); - }); - this.renderedCells = []; - this.renderedKeys = []; - }, - - _populate: function () { - var self = this; - BI.each(this.tasks, function (i, task) { - task.apply(self); - }); - this.tasks = []; - this.headerContainer.empty(); - this._createHeader(); - this._layout(); - this._calculateChildrenToRender(); - }, - - setVerticalScroll: function (scrollTop) { - if (this.options.scrollTop !== scrollTop) { - this.options.scrollTop = scrollTop; - try { - this.scrollContainer.element.scrollTop(scrollTop); - } catch (e) { - - } - } - }, - - getVerticalScroll: function () { - return this.options.scrollTop; - }, - - setVPage: function (v) { - if (v <= 1) { - this.cache = {}; - this.start = this.options.startSequence; - this._restore(); - this.tasks.push(this._nextState); - } else if (v === this.vCurr + 1) { - this.tasks.push(this._nextState); - } else if (v === this.vCurr - 1) { - this.tasks.push(this._prevState); - } - this.vCurr = v; - }, - - setHPage: function (v) { - if (v !== this.hCurr) { - this.tasks.push(this._prevState); - } - this.hCurr = v; - }, - - restore: function () { - this._restore(); - }, - - populate: function (items, header, crossItems, crossHeader) { - var o = this.options; - if (items && items !== this.options.items) { - o.items = items; - this._restore(); - this.tasks.push(this._prevState); - } - if (header && header !== this.options.header) { - o.header = header; - } - if (crossItems && crossItems !== this.options.crossItems) { - o.crossItems = crossItems; - } - if (crossHeader && crossHeader !== this.options.crossHeader) { - o.crossHeader = crossHeader; - } - this._populate(); - } -}); -BI.shortcut('bi.sequence_table_tree_number', BI.SequenceTableTreeNumber); \ No newline at end of file diff --git a/src/widget/singleslider/button/iconbutton.slider.js b/src/widget/singleslider/button/iconbutton.slider.js deleted file mode 100644 index 62cd1a8438..0000000000 --- a/src/widget/singleslider/button/iconbutton.slider.js +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Created by zcf on 2016/9/22. - */ -BI.SliderIconButton = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.SliderIconButton.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-single-slider-button" - }); - }, - _init: function () { - BI.extend(BI.SliderIconButton.superclass._init.apply(this, arguments)); - this.slider = BI.createWidget({ - type: "bi.icon_button", - cls: "slider-icon slider-button", - iconWidth: 14, - iconHeight: 14, - height: 14, - width: 14 - }); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: this.slider, - top: 7, - left: -7 - }], - width: 0, - height: 14 - }); - } -}); -BI.shortcut("bi.single_slider_button", BI.SliderIconButton); \ No newline at end of file diff --git a/src/widget/singleslider/singleslider.js b/src/widget/singleslider/singleslider.js deleted file mode 100644 index 2a1c18e447..0000000000 --- a/src/widget/singleslider/singleslider.js +++ /dev/null @@ -1,321 +0,0 @@ -/** - * Created by zcf on 2016/9/22. - */ -BI.SingleSlider = BI.inherit(BI.Widget, { - _constant: { - EDITOR_WIDTH: 90, - EDITOR_HEIGHT: 30, - SLIDER_WIDTH_HALF: 15, - SLIDER_WIDTH: 30, - SLIDER_HEIGHT: 30, - TRACK_HEIGHT: 24 - }, - _defaultConfig: function () { - return BI.extend(BI.SingleSlider.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-single-slider bi-slider-track", - digit: false - }); - }, - _init: function () { - BI.SingleSlider.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - var c = this._constant; - this.enable = false; - this.value = ""; - - this.grayTrack = BI.createWidget({ - type: "bi.layout", - cls: "gray-track", - height: 6 - }); - this.blueTrack = BI.createWidget({ - type: "bi.layout", - cls: "blue-track bi-high-light-background", - height: 6 - }); - this.track = this._createTrackWrapper(); - - this.slider = BI.createWidget({ - type: "bi.single_slider_button" - }); - this._draggable(this.slider); - var sliderVertical = BI.createWidget({ - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [this.slider] - }], - hgap: c.SLIDER_WIDTH_HALF, - height: c.SLIDER_HEIGHT - }); - sliderVertical.element.click(function (e) { - if (self.enable) { - var offset = e.clientX - self.element.offset().left - c.SLIDER_WIDTH_HALF; - var trackLength = self.track.element[0].scrollWidth; - var percent = 0; - if (offset < 0) { - percent = 0 - } - if (offset > 0 && offset < (trackLength - c.SLIDER_WIDTH)) { - percent = offset * 100 / self._getGrayTrackLength(); - } - if (offset > (trackLength - c.SLIDER_WIDTH)) { - percent = 100 - } - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setAllPosition(significantPercent); - var v = self._getValueByPercent(significantPercent); - v = o.digit === false ? v : v.toFixed(o.digit); - self.label.setValue(v); - self.value = v; - self.fireEvent(BI.SingleSlider.EVENT_CHANGE); - } - }); - this.label = BI.createWidget({ - type: "bi.sign_editor", - cls: "slider-editor-button", - errorText: "", - width: c.EDITOR_WIDTH - 2, - allowBlank: false, - validationChecker: function (v) { - return self._checkValidation(v); - }, - quitChecker: function (v) { - return self._checkValidation(v); - } - }); - this.label.element.hover(function () { - self.label.element.removeClass("bi-border").addClass("bi-border"); - }, function () { - self.label.element.removeClass("bi-border"); - }); - this.label.on(BI.SignEditor.EVENT_CONFIRM, function () { - var v = BI.parseFloat(this.getValue()); - var percent = self._getPercentByValue(v); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setAllPosition(significantPercent); - this.setValue(v); - self.value = v; - self.fireEvent(BI.SingleSlider.EVENT_CHANGE); - }); - this._setVisible(false); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.track, - width: "100%", - height: c.TRACK_HEIGHT - }] - }], - hgap: 7, - height: c.TRACK_HEIGHT - }, - top: 23, - left: 0, - width: "100%" - }, { - el: sliderVertical, - top: 20, - left: 0, - width: "100%" - }, { - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [this.label] - }], - rgap: c.EDITOR_WIDTH, - height: c.EDITOR_HEIGHT - }, - top: 0, - left: 0, - width: "100%" - }] - }) - }, - - _draggable: function (widget) { - var self = this, o = this.options; - var startDrag = false; - var size = 0, offset = 0, defaultSize = 0; - var mouseMoveTracker = new BI.MouseMoveTracker(function (deltaX) { - if (mouseMoveTracker.isDragging()) { - startDrag = true; - offset += deltaX; - size = optimizeSize(defaultSize + offset); - widget.element.addClass("dragging"); - var percent = size * 100 / (self._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1));//直接对计算出来的百分数保留到小数点后一位,相当于分成了1000份。 - self._setBlueTrack(significantPercent); - self._setLabelPosition(significantPercent); - self._setSliderPosition(significantPercent); - var v = self._getValueByPercent(significantPercent); - v = o.digit === false ? v : v.toFixed(o.digit); - self.label.setValue(v); - self.value = v; - self.fireEvent(BI.SingleSlider.EVENT_CHANGE); - } - }, function () { - if (startDrag === true) { - size = optimizeSize(size); - var percent = size * 100 / (self._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setSliderPosition(significantPercent); - size = 0; - offset = 0; - defaultSize = size; - startDrag = false; - } - widget.element.removeClass("dragging"); - mouseMoveTracker.releaseMouseMoves(); - self.fireEvent(BI.SingleSlider.EVENT_CHANGE); - }, document); - widget.element.on("mousedown", function (event) { - if(!widget.isEnabled()){ - return; - } - defaultSize = this.offsetLeft; - optimizeSize(defaultSize); - mouseMoveTracker.captureMouseMoves(event); - }); - - function optimizeSize(s) { - return BI.clamp(s, 0, o.width); - } - }, - - _createTrackWrapper: function () { - return BI.createWidget({ - type: "bi.absolute", - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.grayTrack, - top: 0, - left: 0, - width: "100%" - }, { - el: this.blueTrack, - top: 0, - left: 0, - width: "0%" - }] - }], - hgap: 8, - height: 8 - }, - top: 8, - left: 0, - width: "100%" - }] - }) - }, - - _checkValidation: function (v) { - return BI.isNumeric(v) && !(BI.isNull(v) || v < this.min || v > this.max) - }, - - _setBlueTrack: function (percent) { - this.blueTrack.element.css({"width": percent + "%"}); - }, - - _setLabelPosition: function (percent) { - this.label.element.css({"left": percent + "%"}); - }, - - _setSliderPosition: function (percent) { - this.slider.element.css({"left": percent + "%"}); - }, - - _setAllPosition: function (percent) { - this._setSliderPosition(percent); - this._setLabelPosition(percent); - this._setBlueTrack(percent); - }, - - _setVisible: function (visible) { - this.slider.setVisible(visible); - this.label.setVisible(visible); - }, - - _getGrayTrackLength: function () { - return this.grayTrack.element[0].scrollWidth - }, - - _getValueByPercent: function (percent) { - var thousandth = BI.parseInt(percent * 10); - return (((this.max - this.min) * thousandth) / 1000 + this.min); - }, - - _getPercentByValue: function (v) { - return (v - this.min) * 100 / (this.max - this.min); - }, - - getValue: function () { - return this.value; - }, - - setValue: function (v) { - var o = this.options; - v = BI.parseFloat(v); - v = o.digit === false ? v : v.toFixed(o.digit); - if ((!isNaN(v))) { - if (this._checkValidation(v)) { - this.value = v; - } - if (v > this.max) { - this.value = this.max; - } - if (v < this.min) { - this.value = this.min; - } - } - }, - - setMinAndMax: function (v) { - var minNumber = BI.parseFloat(v.min); - var maxNumber = BI.parseFloat(v.max); - if ((!isNaN(minNumber)) && (!isNaN(maxNumber)) && (maxNumber > minNumber )) { - this.min = minNumber; - this.max = maxNumber; - } - }, - - reset: function () { - this._setVisible(false); - this.enable = false; - this.value = ""; - this.min = 0; - this.max = 0; - this._setBlueTrack(0); - - }, - - populate: function () { - if (!isNaN(this.min) && !isNaN(this.max)) { - this._setVisible(true); - this.enable = true; - this.label.setErrorText(BI.i18nText("BI-Please_Enter") + this.min + "-" + this.max + BI.i18nText("BI-Basic_De") + BI.i18nText("BI-Basic_Number")); - if (BI.isNumeric(this.value) || BI.isNotEmptyString(this.value)) { - this.label.setValue(this.value); - this._setAllPosition(this._getPercentByValue(this.value)); - } else { - this.label.setValue(this.max); - this._setAllPosition(100); - } - } - } -}); -BI.SingleSlider.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.single_slider", BI.SingleSlider); \ No newline at end of file diff --git a/src/widget/singleslider/singleslider.label.js b/src/widget/singleslider/singleslider.label.js deleted file mode 100644 index 26fed84ed2..0000000000 --- a/src/widget/singleslider/singleslider.label.js +++ /dev/null @@ -1,301 +0,0 @@ -/** - * Created by Urthur on 2017/9/12. - */ -BI.SingleSliderLabel = BI.inherit(BI.Widget, { - _constant: { - EDITOR_WIDTH: 90, - EDITOR_HEIGHT: 20, - HEIGHT: 20, - SLIDER_WIDTH_HALF: 15, - SLIDER_WIDTH: 30, - SLIDER_HEIGHT: 30, - TRACK_HEIGHT: 24 - }, - _defaultConfig: function () { - return BI.extend(BI.SingleSliderLabel.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-single-slider-label bi-slider-track", - digit: false, - unit: "" - }); - }, - _init: function () { - BI.SingleSliderLabel.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - var c = this._constant; - this.enable = false; - this.value = ""; - - this.grayTrack = BI.createWidget({ - type: "bi.layout", - cls: "gray-track", - height: 6 - }); - this.blueTrack = BI.createWidget({ - type: "bi.layout", - cls: "blue-track bi-high-light-background", - height: 6 - }); - this.track = this._createTrackWrapper(); - - this.slider = BI.createWidget({ - type: "bi.single_slider_button" - }); - this._draggable(this.slider); - var sliderVertical = BI.createWidget({ - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [this.slider] - }], - hgap: c.SLIDER_WIDTH_HALF, - height: c.SLIDER_HEIGHT - }); - sliderVertical.element.click(function (e) { - if (self.enable) { - var offset = e.clientX - self.element.offset().left - c.SLIDER_WIDTH_HALF; - var trackLength = self.track.element[0].scrollWidth; - var percent = 0; - if (offset < 0) { - percent = 0 - } - if (offset > 0 && offset < (trackLength - c.SLIDER_WIDTH)) { - percent = offset * 100 / self._getGrayTrackLength(); - } - if (offset > (trackLength - c.SLIDER_WIDTH)) { - percent = 100 - } - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setAllPosition(significantPercent); - var v = self._getValueByPercent(significantPercent); - v = o.digit === false ? v : v.toFixed(o.digit); - self.label.setText(v + o.unit); - self.value = v; - self.fireEvent(BI.SingleSliderLabel.EVENT_CHANGE); - } - }); - this.label = BI.createWidget({ - type: "bi.label", - height: c.HEIGHT, - width: c.EDITOR_WIDTH - 2 - }); - - this._setVisible(false); - BI.createWidget({ - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.track, - width: "100%", - height: c.TRACK_HEIGHT - }] - }], - hgap: 7, - height: c.TRACK_HEIGHT - }, - top: 13, - left: 0, - width: "100%" - }, { - el: sliderVertical, - top: 10, - left: 0, - width: "100%" - }, { - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [this.label] - }], - rgap: c.EDITOR_WIDTH, - height: c.EDITOR_HEIGHT - }, - top: 0, - left: 0, - width: "100%" - }] - }) - }, - - _draggable: function (widget) { - var self = this, o = this.options; - var startDrag = false; - var size = 0, offset = 0, defaultSize = 0; - var mouseMoveTracker = new BI.MouseMoveTracker(function (deltaX) { - if (mouseMoveTracker.isDragging()) { - startDrag = true; - offset += deltaX; - size = optimizeSize(defaultSize + offset); - widget.element.addClass("dragging"); - var percent = size * 100 / (self._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1));//直接对计算出来的百分数保留到小数点后一位,相当于分成了1000份。 - self._setBlueTrack(significantPercent); - self._setLabelPosition(significantPercent); - self._setSliderPosition(significantPercent); - var v = self._getValueByPercent(significantPercent); - v = o.digit === false ? v : v.toFixed(o.digit); - self.label.setValue(v); - self.value = v; - self.fireEvent(BI.SingleSliderLabel.EVENT_CHANGE); - } - }, function () { - if (startDrag === true) { - size = optimizeSize(size); - var percent = size * 100 / (self._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setSliderPosition(significantPercent); - size = 0; - offset = 0; - defaultSize = size; - startDrag = false; - } - widget.element.removeClass("dragging"); - mouseMoveTracker.releaseMouseMoves(); - self.fireEvent(BI.SingleSliderLabel.EVENT_CHANGE); - }, document); - widget.element.on("mousedown", function (event) { - if(!widget.isEnabled()){ - return; - } - defaultSize = this.offsetLeft; - optimizeSize(defaultSize); - mouseMoveTracker.captureMouseMoves(event); - }); - - function optimizeSize(s) { - return BI.clamp(s, 0, o.width); - } - }, - - _createTrackWrapper: function () { - return BI.createWidget({ - type: "bi.absolute", - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.grayTrack, - top: 0, - left: 0, - width: "100%" - }, { - el: this.blueTrack, - top: 0, - left: 0, - width: "0%" - }] - }], - hgap: 8, - height: 8 - }, - top: 8, - left: 0, - width: "100%" - }] - }) - }, - - _checkValidation: function (v) { - return BI.isNumeric(v) && !(BI.isNull(v) || v < this.min || v > this.max) - }, - - _setBlueTrack: function (percent) { - this.blueTrack.element.css({"width": percent + "%"}); - }, - - _setLabelPosition: function (percent) { - this.label.element.css({"left": percent + "%"}); - }, - - _setSliderPosition: function (percent) { - this.slider.element.css({"left": percent + "%"}); - }, - - _setAllPosition: function (percent) { - this._setSliderPosition(percent); - this._setLabelPosition(percent); - this._setBlueTrack(percent); - }, - - _setVisible: function (visible) { - this.slider.setVisible(visible); - this.label.setVisible(visible); - }, - - _getGrayTrackLength: function () { - return this.grayTrack.element[0].scrollWidth - }, - - _getValueByPercent: function (percent) { - var thousandth = BI.parseInt(percent * 10); - return (((this.max - this.min) * thousandth) / 1000 + this.min); - }, - - _getPercentByValue: function (v) { - return (v - this.min) * 100 / (this.max - this.min); - }, - - getValue: function () { - return this.value; - }, - - setValue: function (v) { - var o = this.options; - v = BI.parseFloat(v); - v = o.digit === false ? v : v.toFixed(o.digit); - if ((!isNaN(v))) { - if (this._checkValidation(v)) { - this.value = v; - } - if (v > this.max) { - this.value = this.max; - } - if (v < this.min) { - this.value = this.min; - } - } - }, - - setMinAndMax: function (v) { - var minNumber = BI.parseFloat(v.min); - var maxNumber = BI.parseFloat(v.max); - if ((!isNaN(minNumber)) && (!isNaN(maxNumber)) && (maxNumber > minNumber )) { - this.min = minNumber; - this.max = maxNumber; - } - }, - - reset: function () { - this._setVisible(false); - this.enable = false; - this.value = ""; - this.min = 0; - this.max = 0; - this._setBlueTrack(0); - }, - - populate: function () { - var o = this.options; - if (!isNaN(this.min) && !isNaN(this.max)) { - this._setVisible(true); - this.enable = true; - if (BI.isNumeric(this.value) || BI.isNotEmptyString(this.value)) { - this.label.setValue(this.value + o.unit); - this._setAllPosition(this._getPercentByValue(this.value)); - } else { - this.label.setValue(this.max + o.unit); - this._setAllPosition(100); - } - } - } -}); -BI.SingleSliderLabel.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.single_slider_label", BI.SingleSliderLabel); \ No newline at end of file diff --git a/src/widget/singleslider/singleslider.normal.js b/src/widget/singleslider/singleslider.normal.js deleted file mode 100644 index 0d03af4cce..0000000000 --- a/src/widget/singleslider/singleslider.normal.js +++ /dev/null @@ -1,274 +0,0 @@ -/** - * normal single slider - * Created by Young on 2017/6/21. - */ -BI.SingleSliderNormal = BI.inherit(BI.Widget, { - - _constant: { - HEIGHT: 28, - SLIDER_WIDTH_HALF: 15, - SLIDER_WIDTH: 30, - SLIDER_HEIGHT: 30, - TRACK_HEIGHT: 24 - }, - - props: { - baseCls: "bi-single-slider-normal bi-slider-track", - minMax: { - min: 0, - max: 100 - }, - // color: "#3f8ce8" - }, - - render: function () { - var self = this; - var c = this._constant; - var track = this._createTrack(); - this.slider = BI.createWidget({ - type: "bi.single_slider_button" - }); - this._draggable(this.slider); - - var sliderVertical = BI.createWidget({ - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [this.slider] - }], - hgap: c.SLIDER_WIDTH_HALF, - height: c.SLIDER_HEIGHT - }); - sliderVertical.element.click(function (e) { - if (self.enable) { - var offset = e.clientX - self.element.offset().left - c.SLIDER_WIDTH_HALF; - var trackLength = self.track.element[0].scrollWidth; - var percent = 0; - if (offset < 0) { - percent = 0 - } - if (offset > 0 && offset < (trackLength - c.SLIDER_WIDTH)) { - percent = offset * 100 / self._getGrayTrackLength(); - } - if (offset > (trackLength - c.SLIDER_WIDTH)) { - percent = 100 - } - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setAllPosition(significantPercent); - var v = self._getValueByPercent(significantPercent); - self.value = v; - self.fireEvent(BI.SingleSlider.EVENT_CHANGE); - } - }); - - return { - type: "bi.absolute", - element: this, - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: track, - width: "100%", - height: c.TRACK_HEIGHT - }] - }], - hgap: 7, - height: c.TRACK_HEIGHT - }, - top: 3, - left: 0, - width: "100%" - }, { - el: sliderVertical, - top: 0, - left: 0, - width: "100%" - }] - } - }, - - _draggable: function (widget) { - var self = this, o = this.options; - var startDrag = false; - var size = 0, offset = 0, defaultSize = 0; - var mouseMoveTracker = new BI.MouseMoveTracker(function (deltaX) { - if (mouseMoveTracker.isDragging()) { - startDrag = true; - offset += deltaX; - size = optimizeSize(defaultSize + offset); - widget.element.addClass("dragging"); - var percent = size * 100 / (self._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1));//直接对计算出来的百分数保留到小数点后一位,相当于分成了1000份。 - self._setBlueTrack(significantPercent); - self._setSliderPosition(significantPercent); - var v = self._getValueByPercent(significantPercent); - v = o.digit === false ? v : v.toFixed(o.digit); - self.value = v; - self.fireEvent(BI.SingleSliderNormal.EVENT_DRAG, v); - } - }, function () { - if (startDrag === true) { - size = optimizeSize(size); - var percent = size * 100 / (self._getGrayTrackLength()); - var significantPercent = BI.parseFloat(percent.toFixed(1)); - self._setSliderPosition(significantPercent); - size = 0; - offset = 0; - defaultSize = size; - startDrag = false; - } - widget.element.removeClass("dragging"); - mouseMoveTracker.releaseMouseMoves(); - self.fireEvent(BI.SingleSlider.EVENT_CHANGE); - }, document); - widget.element.on("mousedown", function (event) { - if(!widget.isEnabled()){ - return; - } - defaultSize = this.offsetLeft; - optimizeSize(defaultSize); - mouseMoveTracker.captureMouseMoves(event); - }); - - function optimizeSize(s) { - return BI.clamp(s, 0, o.width); - } - }, - - _createTrack: function () { - var self = this; - var c = this._constant; - this.grayTrack = BI.createWidget({ - type: "bi.layout", - cls: "gray-track", - height: 6 - }); - this.blueTrack = BI.createWidget({ - type: "bi.layout", - cls: "blue-track bi-high-light-background", - height: 6 - }); - if (this.options.color) { - this.blueTrack.element.css({"background-color": this.options.color}); - } - - return { - type: "bi.absolute", - items: [{ - el: { - type: "bi.vertical", - items: [{ - type: "bi.absolute", - items: [{ - el: this.grayTrack, - top: 0, - left: 0, - width: "100%" - }, { - el: this.blueTrack, - top: 0, - left: 0, - width: "0%" - }] - }], - hgap: 8, - height: 8 - }, - top: 8, - left: 0, - width: "100%" - }], - ref: function (ref) { - self.track = ref; - } - } - }, - - _checkValidation: function (v) { - return !(BI.isNull(v) || v < this.min || v > this.max) - }, - - _setBlueTrack: function (percent) { - this.blueTrack.element.css({"width": percent + "%"}); - }, - - _setSliderPosition: function (percent) { - this.slider.element.css({"left": percent + "%"}); - }, - - _setAllPosition: function (percent) { - this._setSliderPosition(percent); - this._setBlueTrack(percent); - }, - - _setVisible: function (visible) { - this.slider.setVisible(visible); - }, - - _getGrayTrackLength: function () { - return this.grayTrack.element[0].scrollWidth - }, - - _getValueByPercent: function (percent) { - var thousandth = BI.parseInt(percent * 10); - return (((this.max - this.min) * thousandth) / 1000 + this.min); - }, - - _getPercentByValue: function (v) { - return (v - this.min) * 100 / (this.max - this.min); - }, - - getValue: function () { - return this.value; - }, - - setValue: function (v) { - var value = BI.parseFloat(v); - if ((!isNaN(value))) { - if (this._checkValidation(value)) { - this.value = value; - } - if (value > this.max) { - this.value = this.max; - } - if (value < this.min) { - this.value = this.min; - } - } - }, - - setMinAndMax: function (v) { - var minNumber = BI.parseFloat(v.min); - var maxNumber = BI.parseFloat(v.max); - if ((!isNaN(minNumber)) && (!isNaN(maxNumber)) && (maxNumber > minNumber )) { - this.min = minNumber; - this.max = maxNumber; - } - }, - - reset: function () { - this._setVisible(false); - this.enable = false; - this.value = ""; - this.min = 0; - this.max = 0; - this._setBlueTrack(0); - }, - - populate: function () { - if (!isNaN(this.min) && !isNaN(this.max)) { - this._setVisible(true); - this.enable = true; - if (BI.isNumeric(this.value) || BI.isNotEmptyString(this.value)) { - this._setAllPosition(this._getPercentByValue(this.value)); - } else { - this._setAllPosition(100); - } - } - } -}); -BI.SingleSliderNormal.EVENT_DRAG = "EVENT_DRAG"; -BI.shortcut("bi.single_slider_normal", BI.SingleSliderNormal); \ No newline at end of file diff --git a/src/widget/singletree/singletree.combo.js b/src/widget/singletree/singletree.combo.js deleted file mode 100644 index afe83ed61f..0000000000 --- a/src/widget/singletree/singletree.combo.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * @class BI.SingleTreeCombo - * @extends BI.Widget - */ -BI.SingleTreeCombo = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SingleTreeCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-single-tree-combo", - trigger: {}, - height: 24, - text: "", - items: [] - }); - }, - - _init: function () { - BI.SingleTreeCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.trigger = BI.createWidget(BI.extend({ - type: "bi.single_tree_trigger", - text: o.text, - height: o.height, - items: o.items - }, o.trigger)); - - this.popup = BI.createWidget({ - type: "bi.single_level_tree", - items: o.items - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - adjustLength: 2, - el: this.trigger, - popup: { - el: this.popup - } - }); - - this.combo.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.SingleTreeCombo.EVENT_BEFORE_POPUPVIEW, arguments); - }); - - this.popup.on(BI.SingleTreePopup.EVENT_CHANGE, function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.SingleTreeCombo.EVENT_CHANGE); - }); - }, - - populate: function (items) { - this.combo.populate(items); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.trigger.setValue(v); - this.popup.setValue(v); - }, - - getValue: function () { - return this.popup.getValue(); - } -}); - -BI.SingleTreeCombo.EVENT_CHANGE = "SingleTreeCombo.EVENT_CHANGE"; -BI.SingleTreeCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.shortcut("bi.single_tree_combo", BI.SingleTreeCombo); \ No newline at end of file diff --git a/src/widget/singletree/singletree.popup.js b/src/widget/singletree/singletree.popup.js deleted file mode 100644 index 00ac75322a..0000000000 --- a/src/widget/singletree/singletree.popup.js +++ /dev/null @@ -1,63 +0,0 @@ -/** - * @class BI.SingleTreePopup - * @extends BI.Pane - */ - -BI.SingleTreePopup = BI.inherit(BI.Pane, { - - _defaultConfig: function () { - return BI.extend(BI.SingleTreePopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-single-level-tree", - tipText: BI.i18nText("BI-No_Selected_Item"), - items: [] - }); - }, - - _init: function () { - BI.SingleTreePopup.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - - this.tree = BI.createWidget({ - type: 'bi.level_tree', - expander: { - isDefaultInit: true - }, - items: o.items, - chooseType: BI.Selection.Single - }); - - BI.createWidget({ - type: "bi.vertical", - element: this, - items: [this.tree] - }); - - this.tree.on(BI.Controller.EVENT_CHANGE, function () { - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - }); - - this.tree.on(BI.LevelTree.EVENT_CHANGE, function () { - self.fireEvent(BI.SingleTreePopup.EVENT_CHANGE); - }); - - this.check(); - }, - - getValue: function () { - return this.tree.getValue(); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.tree.setValue(v); - }, - - populate: function (items) { - BI.SingleTreePopup.superclass.populate.apply(this, arguments); - this.tree.populate(items); - } -}); - -BI.SingleTreePopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.single_level_tree", BI.SingleTreePopup); \ No newline at end of file diff --git a/src/widget/singletree/singletree.trigger.js b/src/widget/singletree/singletree.trigger.js deleted file mode 100644 index 33af21c90d..0000000000 --- a/src/widget/singletree/singletree.trigger.js +++ /dev/null @@ -1,59 +0,0 @@ -/** - * @class BI.SingleTreeTrigger - * @extends BI.Trigger - */ - -BI.SingleTreeTrigger = BI.inherit(BI.Trigger, { - - _defaultConfig: function () { - return BI.extend(BI.SingleTreeTrigger.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-single-tree-trigger", - height: 24, - text: "", - items: [] - }); - }, - - _init: function () { - BI.SingleTreeTrigger.superclass._init.apply(this, arguments); - - var self = this, o = this.options; - - this.trigger = BI.createWidget({ - type: "bi.select_text_trigger", - element: this, - text: o.text, - items: o.items, - height: o.height - }); - }, - - _checkTitle: function () { - var self = this, val = this.getValue(); - BI.any(this.options.items, function (i, item) { - if (val.contains(item.value)) { - self.trigger.setTitle(item.text || item.value); - return true; - } - }); - }, - - setValue: function (v) { - v = BI.isArray(v) ? v : [v]; - this.options.value = v; - this.trigger.setValue(v); - this._checkTitle(); - }, - - getValue: function () { - return this.options.value || []; - }, - - populate: function (items) { - BI.SingleTreeTrigger.superclass.populate.apply(this, arguments); - this.trigger.populate(items); - } - -}); - -BI.shortcut("bi.single_tree_trigger", BI.SingleTreeTrigger); \ No newline at end of file diff --git a/src/widget/switchtree/switchtree.js b/src/widget/switchtree/switchtree.js deleted file mode 100644 index 34a816700b..0000000000 --- a/src/widget/switchtree/switchtree.js +++ /dev/null @@ -1,111 +0,0 @@ -/** - * 可以单选多选切换的树 - * - * Created by GUY on 2015/12/21. - * @class BI.SwitchTree - * @extends BI.Widget - */ -BI.SwitchTree = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.SwitchTree.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-switch-tree", - items: [] - }); - }, - - _init: function () { - BI.SwitchTree.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.tab = BI.createWidget({ - type: "bi.tab", - element: this, - tab: null, - defaultShowIndex: BI.SwitchTree.SelectType.SingleSelect, - cardCreator: BI.bind(this._createTree, this) - }); - }, - - _createTree: function (type) { - var self = this, o = this.options; - switch (type) { - case BI.SwitchTree.SelectType.SingleSelect: - this.levelTree = BI.createWidget({ - type: "bi.multilayer_single_level_tree", - isDefaultInit: true, - items: BI.deepClone(o.items) - }); - this.levelTree.on(BI.LevelTree.EVENT_CHANGE, function () { - self.fireEvent(BI.SwitchTree.EVENT_CHANGE, arguments); - }); - return this.levelTree; - case BI.SwitchTree.SelectType.MultiSelect: - this.tree = BI.createWidget({ - type: "bi.simple_tree", - items: this._removeIsParent(BI.deepClone(o.items)) - }); - this.tree.on(BI.SimpleTreeView.EVENT_CHANGE, function () { - self.fireEvent(BI.SwitchTree.EVENT_CHANGE, arguments); - }); - return this.tree; - } - }, - - _removeIsParent: function(items) { - BI.each(items, function(i, item) { - BI.isNotNull(item.isParent) && delete item.isParent; - }); - return items; - }, - - switchSelect: function () { - switch (this.getSelect()) { - case BI.SwitchTree.SelectType.SingleSelect: - this.setSelect(BI.SwitchTree.SelectType.MultiSelect); - break; - case BI.SwitchTree.SelectType.MultiSelect: - this.setSelect(BI.SwitchTree.SelectType.SingleSelect); - break; - } - }, - - setSelect: function (v) { - this.tab.setSelect(v); - }, - - getSelect: function () { - return this.tab.getSelect(); - }, - - setValue: function (v) { - this.storeValue = v; - switch (this.getSelect()) { - case BI.SwitchTree.SelectType.SingleSelect: - this.levelTree.setValue(v); - break; - case BI.SwitchTree.SelectType.MultiSelect: - this.tree.setValue(v); - break; - } - }, - - getValue: function () { - return this.tab.getValue(); - }, - - populate: function (items) { - this.options.items = items; - if (BI.isNotNull(this.levelTree)) { - this.levelTree.populate(BI.deepClone(items)); - } - if (BI.isNotNull(this.tree)) { - this.tree.populate(this._removeIsParent(BI.deepClone(items))); - } - } -}); -BI.SwitchTree.EVENT_CHANGE = "SwitchTree.EVENT_CHANGE"; -BI.SwitchTree.SelectType = { - SingleSelect: BI.Selection.Single, - MultiSelect: BI.Selection.Multi -}; -BI.shortcut('bi.switch_tree', BI.SwitchTree); diff --git a/src/widget/timeinterval/timeinterval.js b/src/widget/timeinterval/timeinterval.js deleted file mode 100644 index e79fe3cbd3..0000000000 --- a/src/widget/timeinterval/timeinterval.js +++ /dev/null @@ -1,189 +0,0 @@ -/** - * Created by Baron on 2015/10/19. - */ -BI.TimeInterval = BI.inherit(BI.Single, { - constants: { - height: 25, - width: 25, - lgap: 15, - offset: -15, - timeErrorCls: "time-error", - DATE_MIN_VALUE: "1900-01-01", - DATE_MAX_VALUE: "2099-12-31" - }, - _defaultConfig: function () { - var conf = BI.TimeInterval.superclass._defaultConfig.apply(this, arguments); - return BI.extend(conf, { - extraCls: "bi-time-interval" - }) - }, - _init: function () { - var self = this; - BI.TimeInterval.superclass._init.apply(this, arguments); - - this.left = this._createCombo(); - this.right = this._createCombo(); - this.label = BI.createWidget({ - type: 'bi.label', - height: this.constants.height, - width: this.constants.width, - text: "-" - }); - BI.createWidget({ - element: self, - type: "bi.center", - hgap: 15, - height: this.constants.height, - items: [{ - type: "bi.absolute", - items: [{ - el: self.left, - left: this.constants.offset, - right: 0, - top: 0, - bottom: 0 - }] - }, { - type: "bi.absolute", - items: [{ - el: self.right, - left: 0, - right: this.constants.offset, - top: 0, - bottom: 0 - }] - }] - }); - BI.createWidget({ - type: "bi.horizontal_auto", - element: this, - items: [ - self.label - ] - }); - }, - - _createCombo: function () { - var self = this; - var combo = BI.createWidget({ - type: 'bi.multidate_combo' - }); - combo.on(BI.MultiDateCombo.EVENT_ERROR, function () { - self._clearTitle(); - self.element.removeClass(self.constants.timeErrorCls); - self.fireEvent(BI.TimeInterval.EVENT_ERROR); - }); - - combo.on(BI.MultiDateCombo.EVENT_VALID, function(){ - BI.Bubbles.hide("error"); - var smallDate = self.left.getKey(), bigDate = self.right.getKey(); - if (self._check(smallDate, bigDate) && self._compare(smallDate, bigDate)) { - self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")); - self.element.addClass(self.constants.timeErrorCls); - BI.Bubbles.show("error", BI.i18nText("BI-Time_Interval_Error_Text"), self, { - offsetStyle: "center" - }); - self.fireEvent(BI.TimeInterval.EVENT_ERROR); - } else { - self._clearTitle(); - self.element.removeClass(self.constants.timeErrorCls); - } - }); - - combo.on(BI.MultiDateCombo.EVENT_FOCUS, function(){ - BI.Bubbles.hide("error"); - var smallDate = self.left.getKey(), bigDate = self.right.getKey(); - if (self._check(smallDate, bigDate) && self._compare(smallDate, bigDate)) { - self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")); - self.element.addClass(self.constants.timeErrorCls); - BI.Bubbles.show("error", BI.i18nText("BI-Time_Interval_Error_Text"), self, { - offsetStyle: "center" - }); - self.fireEvent(BI.TimeInterval.EVENT_ERROR); - } else { - self._clearTitle(); - self.element.removeClass(self.constants.timeErrorCls); - } - }); - - combo.on(BI.MultiDateCombo.EVENT_BEFORE_POPUPVIEW, function () { - self.left.hidePopupView(); - self.right.hidePopupView(); - }); - //combo.on(BI.MultiDateCombo.EVENT_CHANGE, function () { - // BI.Bubbles.hide("error"); - // var smallDate = self.left.getKey(), bigDate = self.right.getKey(); - // if (self._check(smallDate, bigDate) && self._compare(smallDate, bigDate)) { - // self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")); - // self.element.addClass(self.constants.timeErrorCls); - // BI.Bubbles.show("error", BI.i18nText("BI-Time_Interval_Error_Text"), self, { - // offsetStyle: "center" - // }); - // self.fireEvent(BI.TimeInterval.EVENT_ERROR); - // } else { - // self._clearTitle(); - // self.element.removeClass(self.constants.timeErrorCls); - // } - //}); - - combo.on(BI.MultiDateCombo.EVENT_CONFIRM, function(){ - BI.Bubbles.hide("error"); - var smallDate = self.left.getKey(), bigDate = self.right.getKey(); - if (self._check(smallDate, bigDate) && self._compare(smallDate, bigDate)) { - self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")); - self.element.addClass(self.constants.timeErrorCls); - self.fireEvent(BI.TimeInterval.EVENT_ERROR); - }else{ - self._clearTitle(); - self.element.removeClass(self.constants.timeErrorCls); - self.fireEvent(BI.TimeInterval.EVENT_CHANGE); - } - }); - return combo; - }, - _dateCheck: function (date) { - return Date.parseDateTime(date, "%Y-%x-%d").print("%Y-%x-%d") == date || Date.parseDateTime(date, "%Y-%X-%d").print("%Y-%X-%d") == date || Date.parseDateTime(date, "%Y-%x-%e").print("%Y-%x-%e") == date || Date.parseDateTime(date, "%Y-%X-%e").print("%Y-%X-%e") == date; - }, - _checkVoid: function (obj) { - return !Date.checkVoid(obj.year, obj.month, obj.day, this.constants.DATE_MIN_VALUE, this.constants.DATE_MAX_VALUE)[0]; - }, - _check: function (smallDate, bigDate) { - var smallObj = smallDate.match(/\d+/g), bigObj = bigDate.match(/\d+/g); - return this._dateCheck(smallDate) && Date.checkLegal(smallDate) && this._checkVoid({ - year: smallObj[0], - month: smallObj[1], - day: smallObj[2] - }) && this._dateCheck(bigDate) && Date.checkLegal(bigDate) && this._checkVoid({ - year: bigObj[0], - month: bigObj[1], - day: bigObj[2] - }); - }, - _compare: function (smallDate, bigDate) { - smallDate = Date.parseDateTime(smallDate, "%Y-%X-%d").print("%Y-%X-%d"); - bigDate = Date.parseDateTime(bigDate, "%Y-%X-%d").print("%Y-%X-%d"); - return BI.isNotNull(smallDate) && BI.isNotNull(bigDate) && smallDate > bigDate; - }, - _setTitle: function (v) { - this.left.setTitle(v); - this.right.setTitle(v); - this.label.setTitle(v); - }, - _clearTitle: function () { - this.left.setTitle(""); - this.right.setTitle(""); - this.label.setTitle(""); - }, - setValue: function (date) { - date = date || {}; - this.left.setValue(date.start); - this.right.setValue(date.end); - }, - getValue: function () { - return {start: this.left.getValue(), end: this.right.getValue()}; - } -}); -BI.TimeInterval.EVENT_VALID = "EVENT_VALID"; -BI.TimeInterval.EVENT_ERROR = "EVENT_ERROR"; -BI.TimeInterval.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.time_interval", BI.TimeInterval); \ No newline at end of file diff --git a/src/widget/year/combo.year.js b/src/widget/year/combo.year.js deleted file mode 100644 index 61d3253345..0000000000 --- a/src/widget/year/combo.year.js +++ /dev/null @@ -1,103 +0,0 @@ -/** - * 年份下拉框 - * - * Created by GUY on 2015/8/28. - * @class BI.YearCombo - * @extends BI.Widget - */ -BI.YearCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.YearCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-year-combo", - behaviors: {}, - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - height: 25 - }); - }, - _init: function () { - BI.YearCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - this.storeValue = ""; - this.trigger = BI.createWidget({ - type: "bi.year_trigger", - min: o.min, - max: o.max - }); - this.trigger.on(BI.YearTrigger.EVENT_FOCUS, function () { - self.storeValue = this.getKey(); - }); - this.trigger.on(BI.YearTrigger.EVENT_START, function () { - self.combo.isViewVisible() && self.combo.hideView(); - }); - this.trigger.on(BI.YearTrigger.EVENT_STOP, function () { - self.combo.showView(); - }); - this.trigger.on(BI.YearTrigger.EVENT_ERROR, function () { - self.combo.isViewVisible() && self.combo.hideView(); - }); - this.trigger.on(BI.YearTrigger.EVENT_CONFIRM, function () { - if (self.combo.isViewVisible()) { - return; - } - if (this.getKey() && this.getKey() !== self.storeValue) { - self.setValue(this.getKey()); - } else if (!this.getKey()) { - self.setValue(); - } - self.fireEvent(BI.YearCombo.EVENT_CONFIRM); - }); - - this.combo = BI.createWidget({ - type: "bi.combo", - element: this, - destroyWhenHide: true, - isNeedAdjustHeight: false, - isNeedAdjustWidth: false, - el: this.trigger, - popup: { - minWidth: 85, - stopPropagation: false, - el: { - type: "bi.year_popup", - ref: function () { - self.popup = this; - }, - listeners: [{ - eventName: BI.YearPopup.EVENT_CHANGE, - action: function () { - self.setValue(self.popup.getValue()); - self.combo.hideView(); - self.fireEvent(BI.YearCombo.EVENT_CONFIRM); - } - }], - behaviors: o.behaviors, - min: o.min, - max: o.max - } - } - }); - this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW, function () { - var value = self.trigger.getKey(); - if (BI.isNotNull(value)) { - self.popup.setValue(value); - } else if (!value && value !== self.storeValue) { - self.popup.setValue(self.storeValue); - } else { - self.setValue(); - } - self.fireEvent(BI.YearCombo.EVENT_BEFORE_POPUPVIEW); - }); - }, - - setValue: function (v) { - this.combo.setValue(v || ""); - }, - - getValue: function () { - return this.popup.getValue(); - } -}); -BI.YearCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.YearCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.shortcut('bi.year_combo', BI.YearCombo); \ No newline at end of file diff --git a/src/widget/year/popup.year.js b/src/widget/year/popup.year.js deleted file mode 100644 index bbee27655f..0000000000 --- a/src/widget/year/popup.year.js +++ /dev/null @@ -1,106 +0,0 @@ -/** - * 年份展示面板 - * - * Created by GUY on 2015/9/2. - * @class BI.YearPopup - * @extends BI.Trigger - */ -BI.YearPopup = BI.inherit(BI.Widget, { - - _defaultConfig: function () { - return BI.extend(BI.YearPopup.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-year-popup", - behaviors: {}, - min: '1900-01-01', //最小日期 - max: '2099-12-31' //最大日期 - }); - }, - - _createYearCalendar: function (v) { - var o = this.options, y = this._year; - - var calendar = BI.createWidget({ - type: "bi.year_calendar", - behaviors: o.behaviors, - min: o.min, - max: o.max, - logic: { - dynamic: true - }, - year: y + v * 12 - }); - calendar.setValue(this._year); - return calendar; - }, - - _init: function () { - BI.YearPopup.superclass._init.apply(this, arguments); - var self = this; - - this.selectedYear = this._year = new Date().getFullYear(); - - var backBtn = BI.createWidget({ - type: "bi.icon_button", - cls: "pre-page-h-font", - width: 25, - height: 25, - value: -1 - }); - - var preBtn = BI.createWidget({ - type: "bi.icon_button", - cls: "next-page-h-font", - width: 25, - height: 25, - value: 1 - }); - - this.navigation = BI.createWidget({ - type: "bi.navigation", - element: this, - single: true, - logic: { - dynamic: true - }, - tab: { - cls: "year-popup-navigation bi-high-light bi-border-top", - height: 25, - items: [backBtn, preBtn] - }, - cardCreator: BI.bind(this._createYearCalendar, this), - - afterCardShow: function () { - this.setValue(self.selectedYear); - var calendar = this.getSelectedCard(); - backBtn.setEnable(!calendar.isFrontYear()); - preBtn.setEnable(!calendar.isFinalYear()); - } - }); - - this.navigation.on(BI.Navigation.EVENT_CHANGE, function () { - self.selectedYear = this.getValue(); - self.fireEvent(BI.Controller.EVENT_CHANGE, arguments); - self.fireEvent(BI.YearPopup.EVENT_CHANGE, self.selectedYear); - }); - }, - - getValue: function () { - return this.selectedYear; - }, - - setValue: function (v) { - var o = this.options; - if (Date.checkVoid(v, 1, 1, o.min, o.max)[0]) { - v = new Date().getFullYear(); - this.selectedYear = ""; - this.navigation.setSelect(BI.YearCalendar.getPageByYear(v)); - this.navigation.setValue(""); - } else { - this.selectedYear = v; - this.navigation.setSelect(BI.YearCalendar.getPageByYear(v)); - this.navigation.setValue(v); - } - } -}); -BI.YearPopup.EVENT_CHANGE = "EVENT_CHANGE"; -BI.shortcut("bi.year_popup", BI.YearPopup); \ No newline at end of file diff --git a/src/widget/year/trigger.year.js b/src/widget/year/trigger.year.js deleted file mode 100644 index a337964c03..0000000000 --- a/src/widget/year/trigger.year.js +++ /dev/null @@ -1,105 +0,0 @@ -/** - * 年份trigger - * - * Created by GUY on 2015/8/21. - * @class BI.YearTrigger - * @extends BI.Trigger - */ -BI.YearTrigger = BI.inherit(BI.Trigger, { - _const: { - hgap: 4, - vgap: 2, - errorText: BI.i18nText("BI-Please_Input_Positive_Integer"), - errorTextInvalid: BI.i18nText("BI-Year_Trigger_Invalid_Text") - }, - - _defaultConfig: function () { - return BI.extend(BI.YearTrigger.superclass._defaultConfig.apply(this, arguments), { - extraCls: "bi-year-trigger bi-border", - min: '1900-01-01', //最小日期 - max: '2099-12-31', //最大日期 - height: 24 - }); - }, - _init: function () { - BI.YearTrigger.superclass._init.apply(this, arguments); - var self = this, o = this.options, c = this._const; - this.editor = BI.createWidget({ - type: "bi.sign_editor", - height: o.height, - validationChecker: function (v) { - self.editor.setErrorText(!BI.isPositiveInteger(v) ? c.errorText : c.errorTextInvalid); - return v === "" || (BI.isPositiveInteger(v) && !Date.checkVoid(v, 1, 1, o.min, o.max)[0]); - }, - quitChecker: function (v) { - return false; - }, - hgap: c.hgap, - vgap: c.vgap, - allowBlank: true, - errorText: c.errorText - }) - this.editor.on(BI.SignEditor.EVENT_FOCUS, function () { - self.fireEvent(BI.YearTrigger.EVENT_FOCUS); - }); - this.editor.on(BI.SignEditor.EVENT_STOP, function () { - self.fireEvent(BI.YearTrigger.EVENT_STOP); - }); - this.editor.on(BI.SignEditor.EVENT_CONFIRM, function () { - var value = self.editor.getValue(); - if (BI.isNotNull(value)) { - self.editor.setValue(value); - self.editor.setTitle(value); - } - self.fireEvent(BI.YearTrigger.EVENT_CONFIRM); - }); - this.editor.on(BI.SignEditor.EVENT_SPACE, function () { - if (self.editor.isValid()) { - self.editor.blur(); - } - }); - this.editor.on(BI.SignEditor.EVENT_START, function () { - self.fireEvent(BI.YearTrigger.EVENT_START); - }); - this.editor.on(BI.SignEditor.EVENT_ERROR, function () { - self.fireEvent(BI.YearTrigger.EVENT_ERROR); - }); - BI.createWidget({ - element: this, - type: 'bi.htape', - items: [ - { - el: this.editor - }, { - el: { - type: "bi.text_button", - baseCls: "bi-trigger-year-text", - text: BI.i18nText("BI-Multi_Date_Year"), - width: o.height - }, - width: o.height - }, { - el: { - type: "bi.trigger_icon_button", - width: o.height - }, - width: o.height - } - ] - }); - }, - setValue: function (v) { - this.editor.setState(v); - this.editor.setValue(v); - this.editor.setTitle(v); - }, - getKey: function () { - return this.editor.getValue() | 0; - } -}); -BI.YearTrigger.EVENT_FOCUS = "EVENT_FOCUS"; -BI.YearTrigger.EVENT_ERROR = "EVENT_ERROR"; -BI.YearTrigger.EVENT_START = "EVENT_START"; -BI.YearTrigger.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.YearTrigger.EVENT_STOP = "EVENT_STOP"; -BI.shortcut("bi.year_trigger", BI.YearTrigger); \ No newline at end of file diff --git a/src/widget/yearmonth/combo.yearmonth.js b/src/widget/yearmonth/combo.yearmonth.js deleted file mode 100644 index 5780cc57d0..0000000000 --- a/src/widget/yearmonth/combo.yearmonth.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 年份 + 月份下拉框 - * - * @class BI.YearMonthCombo - * @extends BI.Widget - */ -BI.YearMonthCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.YearMonthCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-year-month-combo", - yearBehaviors: {}, - monthBehaviors: {}, - height: 25 - }); - }, - _init: function () { - BI.YearMonthCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.year = BI.createWidget({ - type: "bi.year_combo", - behaviors: o.yearBehaviors - }); - - this.month = BI.createWidget({ - type: "bi.month_combo", - behaviors: o.monthBehaviors - }); - - this.year.on(BI.YearCombo.EVENT_CONFIRM, function () { - self.fireEvent(BI.YearMonthCombo.EVENT_CONFIRM); - }); - this.year.on(BI.YearCombo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.YearMonthCombo.EVENT_BEFORE_POPUPVIEW); - }); - - this.month.on(BI.MonthCombo.EVENT_CONFIRM, function () { - self.fireEvent(BI.YearMonthCombo.EVENT_CONFIRM); - }); - this.month.on(BI.MonthCombo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.YearMonthCombo.EVENT_BEFORE_POPUPVIEW); - }); - - BI.createWidget({ - type: "bi.center", - element: this, - hgap: 5, - items: [this.year, this.month] - }); - - }, - - setValue: function (v) { - v = v || {}; - this.month.setValue(v.month); - this.year.setValue(v.year); - }, - - getValue: function () { - return { - year: this.year.getValue(), - month: this.month.getValue() - }; - } -}); -BI.YearMonthCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.YearMonthCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.shortcut('bi.year_month_combo', BI.YearMonthCombo); \ No newline at end of file diff --git a/src/widget/yearquarter/combo.yearquarter.js b/src/widget/yearquarter/combo.yearquarter.js deleted file mode 100644 index 4671edb1c8..0000000000 --- a/src/widget/yearquarter/combo.yearquarter.js +++ /dev/null @@ -1,68 +0,0 @@ -/** - * 年份 + 月份下拉框 - * - * @class BI.YearQuarterCombo - * @extends BI.Widget - */ -BI.YearQuarterCombo = BI.inherit(BI.Widget, { - _defaultConfig: function () { - return BI.extend(BI.YearQuarterCombo.superclass._defaultConfig.apply(this, arguments), { - baseCls: "bi-year-quarter-combo", - yearBehaviors: {}, - quarterBehaviors: {}, - height: 25 - }); - }, - _init: function () { - BI.YearQuarterCombo.superclass._init.apply(this, arguments); - var self = this, o = this.options; - - this.year = BI.createWidget({ - type: "bi.year_combo", - behaviors: o.yearBehaviors - }); - - this.quarter = BI.createWidget({ - type: "bi.quarter_combo", - behaviors: o.quarterBehaviors - }); - - this.year.on(BI.YearCombo.EVENT_CONFIRM, function () { - self.fireEvent(BI.YearQuarterCombo.EVENT_CONFIRM); - }); - this.year.on(BI.YearCombo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.YearQuarterCombo.EVENT_BEFORE_POPUPVIEW); - }); - - this.quarter.on(BI.QuarterCombo.EVENT_CONFIRM, function () { - self.fireEvent(BI.YearQuarterCombo.EVENT_CONFIRM); - }); - this.quarter.on(BI.QuarterCombo.EVENT_BEFORE_POPUPVIEW, function () { - self.fireEvent(BI.YearQuarterCombo.EVENT_BEFORE_POPUPVIEW); - }); - - BI.createWidget({ - type: "bi.center", - element: this, - hgap: 5, - items: [this.year, this.quarter] - }); - - }, - - setValue: function (v) { - v = v || {}; - this.quarter.setValue(v.quarter); - this.year.setValue(v.year); - }, - - getValue: function () { - return { - year: this.year.getValue(), - quarter: this.quarter.getValue() - }; - } -}); -BI.YearQuarterCombo.EVENT_CONFIRM = "EVENT_CONFIRM"; -BI.YearQuarterCombo.EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; -BI.shortcut('bi.year_quarter_combo', BI.YearQuarterCombo); \ No newline at end of file